diff --git a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskEvaluationController.cs b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskEvaluationController.cs index 6be1a06..8cfe098 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskEvaluationController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskEvaluationController.cs @@ -367,7 +367,40 @@ namespace APT.SK.WebApi.Controllers.Api var departTemps = departs.Where(t => t.RISK_EVALUATION_DETAIL_ID == detail.ID).ToList(); detail.Nav_DetailDeparts = departTemps.OrderBy(t => t.DEPARTMENT_TYPE).ThenBy(m => m.Nav_Department.NUM).ToList(); var postTemps = posts.Where(t => t.RISK_EVALUATION_DETAIL_ID == detail.ID).ToList(); - detail.Nav_DetailPosts = postTemps.OrderBy(t => t.DEPARTMENT_ID).ToList(); + detail.Nav_DetailPosts = postTemps.OrderBy(t => t.DEPARTMENT_ID).ToList(); + if (detail.Nav_DetailDeparts != null && detail.Nav_DetailDeparts.Any()) + { + var departTypes = detail.Nav_DetailDeparts.OrderBy(m => m.DEPARTMENT_TYPE).Select(t => t.DEPARTMENT_TYPE).Distinct().ToList(); + var j = 1; + foreach (var p in departTypes) + { + if (!string.IsNullOrEmpty(p.GetDescription())) + { + var temp = j + "、" + p.GetDescription() + ";"; + detail.DEPARTMENT_TYPE = detail.DEPARTMENT_TYPE + temp; + var dds = detail.Nav_DetailDeparts.Where(x => x.DEPARTMENT_TYPE == p).Select(t => t.Nav_Department?.NAME).Distinct().ToList(); + if (dds.Count() != 0) + { + var temp2 = j + "、" + string.Join(",", dds) + ";"; + detail.IDENTIFY_DEPARTMENT = detail.IDENTIFY_DEPARTMENT + temp2; + } + var uus = detail.Nav_DetailDeparts.Where(x => x.DEPARTMENT_TYPE == p).Select(t => t.Nav_Department?.Nav_User?.NAME).Distinct().ToList(); + if (uus.Count() != 0) + { + var temp3 = j + "、" + string.Join(",", uus) + ";"; + detail.IDENTIFY_USER = detail.IDENTIFY_USER + temp3; + } + var ddIds = detail.Nav_DetailDeparts.Where(x => x.DEPARTMENT_TYPE == p).Select(t => t.DEPARTMENT_ID).Distinct().ToList(); + var pps = detail.Nav_DetailPosts.Where(x => ddIds.Contains(x.DEPARTMENT_ID)).SelectMany(x => x.Nav_PostDetails).Select(t => t.Nav_Post?.NAME).Distinct().ToList(); + if (pps.Count() != 0) + { + var temp4 = j + "、" + string.Join(",", pps) + ";"; + detail.IDENTIFY_POST = detail.IDENTIFY_POST + temp4; + } + j++; + } + } + } } } result.Nav_Details = details.OrderBy(m => m.MineType).ThenBy(m => m.AREA_ID).ThenBy(n => n.TYPE_ID).ToList(); diff --git a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskEvaluationSummaryController.cs b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskEvaluationSummaryController.cs index 46761df..6b5a58d 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskEvaluationSummaryController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskEvaluationSummaryController.cs @@ -274,7 +274,40 @@ namespace APT.SK.WebApi.Controllers.Api //temps.AddRange(tempy); detail.Nav_DetailDeparts = departTemps.OrderBy(t => t.DEPARTMENT_TYPE).ThenBy(m => m.Nav_Department.NUM).ToList(); var postTemps = posts.Where(t => t.RISK_EVALUATION_SUMMARY_DETAIL_ID == detail.ID).ToList(); - detail.Nav_DetailPosts = postTemps.OrderBy(t => t.DEPARTMENT_ID).ToList(); + detail.Nav_DetailPosts = postTemps.OrderBy(t => t.DEPARTMENT_ID).ToList(); + if (detail.Nav_DetailDeparts != null && detail.Nav_DetailDeparts.Any()) + { + var departTypes = detail.Nav_DetailDeparts.OrderBy(m => m.DEPARTMENT_TYPE).Select(t => t.DEPARTMENT_TYPE).Distinct().ToList(); + var j = 1; + foreach (var p in departTypes) + { + if (!string.IsNullOrEmpty(p.GetDescription())) + { + var temp = j + "、" + p.GetDescription() + ";"; + detail.DEPARTMENT_TYPE = detail.DEPARTMENT_TYPE + temp; + var dds = detail.Nav_DetailDeparts.Where(x => x.DEPARTMENT_TYPE == p).Select(t => t.Nav_Department?.NAME).Distinct().ToList(); + if (dds.Count() != 0) + { + var temp2 = j + "、" + string.Join(",", dds) + ";"; + detail.IDENTIFY_DEPARTMENT = detail.IDENTIFY_DEPARTMENT + temp2; + } + var uus = detail.Nav_DetailDeparts.Where(x => x.DEPARTMENT_TYPE == p).Select(t => t.Nav_Department?.Nav_User?.NAME).Distinct().ToList(); + if (uus.Count() != 0) + { + var temp3 = j + "、" + string.Join(",", uus) + ";"; + detail.IDENTIFY_USER = detail.IDENTIFY_USER + temp3; + } + var ddIds = detail.Nav_DetailDeparts.Where(x => x.DEPARTMENT_TYPE == p).Select(t => t.DEPARTMENT_ID).Distinct().ToList(); + var pps = detail.Nav_DetailPosts.Where(x => ddIds.Contains(x.DEPARTMENT_ID)).SelectMany(x => x.Nav_PostDetails).Select(t => t.Nav_Post?.NAME).Distinct().ToList(); + if (pps.Count() != 0) + { + var temp4 = j + "、" + string.Join(",", pps) + ";"; + detail.IDENTIFY_POST = detail.IDENTIFY_POST + temp4; + } + j++; + } + } + } } } result.Nav_Details = details.OrderBy(m => m.MineType).ThenBy(m => m.AREA_ID).ThenBy(n => n.TYPE_ID).ToList(); diff --git a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskIdentifyResultController.cs b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskIdentifyResultController.cs index 3f4357e..91fe30d 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskIdentifyResultController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskIdentifyResultController.cs @@ -326,18 +326,28 @@ namespace APT.SK.WebApi.Controllers.Api //} if (d.Nav_DetailPosts != null && d.Nav_DetailPosts.Any()) { - var departTypes = d.Nav_DetailPosts.Select(t => t.DEPARTMENT_TYPE).Distinct().ToList(); + var departTypes = d.Nav_DetailPosts.OrderBy(m=>m.DEPARTMENT_TYPE).Select(t => t.DEPARTMENT_TYPE).Distinct().ToList(); var j = 1; foreach (var p in departTypes) { - var temp = j + "、" + p.GetDescription() + ";"; - d.DEPARTMENT_TYPE = d.DEPARTMENT_TYPE + temp; - var departs = d.Nav_DetailPosts.Where(x => x.DEPARTMENT_TYPE == p).Select(t => t.Nav_Department?.NAME).Distinct().ToList(); - var temp2 = j + "、" + string.Join(",", departs) + ";"; - d.IDENTIFY_DEPARTMENT = d.IDENTIFY_DEPARTMENT + temp2; - var posts = d.Nav_DetailPosts.Where(x => x.DEPARTMENT_TYPE == p).SelectMany(x => x.Nav_ResultPostDets).Select(t => t.Nav_Post?.NAME).Distinct().ToList(); - var temp3 = j + "、" + string.Join(",", posts) + ";"; - d.IDENTIFY_POST = d.IDENTIFY_POST + temp3; + if (!string.IsNullOrEmpty(p.GetDescription())) + { + var temp = j + "、" + p.GetDescription() + ";"; + d.DEPARTMENT_TYPE = d.DEPARTMENT_TYPE + temp; + var departs = d.Nav_DetailPosts.Where(x => x.DEPARTMENT_TYPE == p).Select(t => t.Nav_Department?.NAME).Distinct().ToList(); + if (departs.Count() != 0) + { + var temp2 = j + "、" + string.Join(",", departs) + ";"; + d.IDENTIFY_DEPARTMENT = d.IDENTIFY_DEPARTMENT + temp2; + } + var posts = d.Nav_DetailPosts.Where(x => x.DEPARTMENT_TYPE == p).SelectMany(x => x.Nav_ResultPostDets).Select(t => t.Nav_Post?.NAME).Distinct().ToList(); + if (posts.Count() != 0) + { + var temp3 = j + "、" + string.Join(",", posts) + ";"; + d.IDENTIFY_POST = d.IDENTIFY_POST + temp3; + } + j++; + } } } diff --git a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskIdentifyResultSummaryController.cs b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskIdentifyResultSummaryController.cs index c5815f8..b60298c 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskIdentifyResultSummaryController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskIdentifyResultSummaryController.cs @@ -1,17 +1,18 @@ -using APT.BaseData.Domain.Entities.FM; -using APT.BaseData.Domain.Entities; -using APT.BaseData.Domain.Enums.PF; +using APT.BaseData.Domain.Entities; +using APT.BaseData.Domain.Entities.FM; using APT.BaseData.Domain.Enums; -using APT.BaseData.Domain.IServices.FM; +using APT.BaseData.Domain.Enums.PF; using APT.BaseData.Domain.IServices; +using APT.BaseData.Domain.IServices.FM; using APT.Infrastructure.Core; using APT.MS.Domain.Entities.SK; using APT.MS.Domain.Enums; using APT.Utility; using Microsoft.AspNetCore.Mvc; -using System.Collections.Generic; using System; +using System.Collections.Generic; using System.Linq; +using System.Net; namespace APT.SK.WebApi.Controllers.Api { @@ -262,20 +263,29 @@ namespace APT.SK.WebApi.Controllers.Api //} if (d.Nav_DetailPosts != null && d.Nav_DetailPosts.Any()) { - var departTypes = d.Nav_DetailPosts.Select(t => t.DEPARTMENT_TYPE).Distinct().ToList(); + var departTypes = d.Nav_DetailPosts.OrderBy(m => m.DEPARTMENT_TYPE).Select(t => t.DEPARTMENT_TYPE).Distinct().ToList(); var j = 1; foreach (var p in departTypes) { - var temp = j + "、" + p.GetDescription() + ";"; - d.DEPARTMENT_TYPE = d.DEPARTMENT_TYPE + temp; - var departs = d.Nav_DetailPosts.Where(x => x.DEPARTMENT_TYPE == p).Select(t => t.Nav_Department?.NAME).Distinct().ToList(); - var temp2 = j + "、" + string.Join(",", departs) + ";"; - d.IDENTIFY_DEPARTMENT = d.IDENTIFY_DEPARTMENT + temp2; - var posts = d.Nav_DetailPosts.Where(x => x.DEPARTMENT_TYPE == p).SelectMany(x => x.Nav_SumPostDets).Select(t => t.Nav_Post?.NAME).Distinct().ToList(); - var temp3 = j + "、" + string.Join(",", posts) + ";"; - d.IDENTIFY_POST = d.IDENTIFY_POST + temp3; + if (!string.IsNullOrEmpty(p.GetDescription())) + { + var temp = j + "、" + p.GetDescription() + ";"; + d.DEPARTMENT_TYPE = d.DEPARTMENT_TYPE + temp; + var departs = d.Nav_DetailPosts.Where(x => x.DEPARTMENT_TYPE == p).Select(t => t.Nav_Department?.NAME).Distinct().ToList(); + if (departs.Count() != 0) + { + var temp2 = j + "、" + string.Join(",", departs) + ";"; + d.IDENTIFY_DEPARTMENT = d.IDENTIFY_DEPARTMENT + temp2; + } + var posts = d.Nav_DetailPosts.Where(x => x.DEPARTMENT_TYPE == p).SelectMany(x => x.Nav_SumPostDets).Select(t => t.Nav_Post?.NAME).Distinct().ToList(); + if (posts.Count() != 0) + { + var temp3 = j + "、" + string.Join(",", posts) + ";"; + d.IDENTIFY_POST = d.IDENTIFY_POST + temp3; + } + j++; + } } - } //d.Nav_DetailPosts = d.Nav_DetailPosts.OrderBy(t => t.DEPARTMENT_TYPE).ToList(); //var departTypes = d.Nav_DetailPosts.Select(t => t.DEPARTMENT_TYPE.GetDescription()).Distinct().ToList();