diff --git a/APT.BaseData.Services/Services/PF/PFApproveCallBackService.cs b/APT.BaseData.Services/Services/PF/PFApproveCallBackService.cs index f06c578..eed41d5 100644 --- a/APT.BaseData.Services/Services/PF/PFApproveCallBackService.cs +++ b/APT.BaseData.Services/Services/PF/PFApproveCallBackService.cs @@ -13465,7 +13465,7 @@ namespace APT.BaseData.Services.DomainServices var details = GetEntities(i => identityIds.Contains(i.RISK_IDENTIFY_ID), new BaseFilter(filter.OrgId)).ToList(); var identityDetailIds = details.Select(t => t.ID).ToList(); var identityDetailMes = GetEntities(i => identityDetailIds.Contains(i.RISK_IDENTIFY_DETAIL_ID), new BaseFilter(filter.OrgId)).ToList(); - var detailList = details.OrderByDescending(t => t.ENABLE_STATUS).GroupBy(m => new { m.AREA_ID, m.PRODUCTION_UNIT_ID, m.RISK_NAME, m.RISK_DESCRIPTION, m.TYPE_ID, m.ENABLE_STATUS }).Select(g => g.FirstOrDefault()); + var detailList = details.OrderByDescending(t => t.ENABLE_STATUS).GroupBy(m => new { m.AREA_ID, m.PRODUCTION_UNIT_ID, m.RISK_NAME, m.RISK_DESCRIPTION, m.TYPE_ID, m.MARK }).Select(g => g.FirstOrDefault()); if (detailList.Any()) { foreach (var item in detailList) @@ -13484,7 +13484,7 @@ namespace APT.BaseData.Services.DomainServices ideDetail.ENABLE_STATUS = item.ENABLE_STATUS; ideDetail.MARK = item.MARK; //汇总去重 - var temp = details.Where(m => m.AREA_ID == item.AREA_ID && m.PRODUCTION_UNIT_ID == item.PRODUCTION_UNIT_ID && m.RISK_NAME == item.RISK_NAME && m.RISK_DESCRIPTION == item.RISK_DESCRIPTION && m.TYPE_ID == item.TYPE_ID && m.ENABLE_STATUS == item.ENABLE_STATUS).ToList(); + var temp = details.Where(m => m.AREA_ID == item.AREA_ID && m.PRODUCTION_UNIT_ID == item.PRODUCTION_UNIT_ID && m.RISK_NAME == item.RISK_NAME && m.RISK_DESCRIPTION == item.RISK_DESCRIPTION && m.TYPE_ID == item.TYPE_ID && m.MARK == item.MARK).ToList(); //管控措施 var ids = temp.Select(t => t.ID).ToList(); var mesTemps = identityDetailMes.Where(t=>ids.Contains(t.RISK_IDENTIFY_DETAIL_ID)).Select(m => m.MEASURE).Distinct().ToList(); @@ -13880,7 +13880,7 @@ namespace APT.BaseData.Services.DomainServices var resultDetailDepts = GetEntities(i => resultDetailIds.Contains(i.RISK_IDENTIFY_RESULT_DETAIL_ID), new BaseFilter(filter.OrgId)).ToList(); var resultDetailDeptIds = resultDetailDepts.Select(t => t.ID).ToList(); var resultDetailDeptPosts = GetEntities(i => resultDetailDeptIds.Contains(i.RISK_IDENTIFY_DETAIL_RESULT_POST_ID), new BaseFilter(filter.OrgId)).ToList(); - var detailList = details.OrderByDescending(t=>t.ENABLE_STATUS).GroupBy(m => new { m.AREA_ID, m.PRODUCTION_UNIT_ID, m.RISK_NAME, m.RISK_DESCRIPTION, m.TYPE_ID, m.ENABLE_STATUS }).Select(g => g.FirstOrDefault()); + var detailList = details.OrderByDescending(t=>t.ENABLE_STATUS).GroupBy(m => new { m.AREA_ID, m.PRODUCTION_UNIT_ID, m.RISK_NAME, m.RISK_DESCRIPTION, m.TYPE_ID, m.MARK }).Select(g => g.FirstOrDefault()); if (detailList.Any()) { foreach (var de in detailList) @@ -13904,7 +13904,7 @@ namespace APT.BaseData.Services.DomainServices ideDetail.ENTERPRISE_LIBRARY_ID = de.ENTERPRISE_LIBRARY_ID; ideDetail.ENABLE_STATUS = de.ENABLE_STATUS; //汇总去重 - var temp = details.Where(m => m.AREA_ID == de.AREA_ID && m.PRODUCTION_UNIT_ID == de.PRODUCTION_UNIT_ID && m.RISK_NAME == de.RISK_NAME && m.RISK_DESCRIPTION == de.RISK_DESCRIPTION && m.TYPE_ID == de.TYPE_ID && m.ENABLE_STATUS == de.ENABLE_STATUS).ToList(); + var temp = details.Where(m => m.AREA_ID == de.AREA_ID && m.PRODUCTION_UNIT_ID == de.PRODUCTION_UNIT_ID && m.RISK_NAME == de.RISK_NAME && m.RISK_DESCRIPTION == de.RISK_DESCRIPTION && m.TYPE_ID == de.TYPE_ID && m.MARK == de.MARK).ToList(); var ids = temp.Select(t => t.ID).ToList(); //管控措施 var mesTemps = resultDetailMes.Where(t=>ids.Contains(t.RISK_IDENTIFY_RESULT_DETAIL_ID)).Select(m => m.MEASURE).Distinct().ToList(); @@ -14638,7 +14638,7 @@ namespace APT.BaseData.Services.DomainServices var detailMes = this.GetEntities(t => detailIds.Contains(t.RISK_EVALUATION_DETAIL_ID), new BaseFilter(entity.ORG_ID)); //var detailDeparts = this.GetEntities(t => detailIds.Contains(t.RISK_EVALUATION_DETAIL_ID), new BaseFilter(entity.ORG_ID)); var detailPosts = this.GetEntities(t => detailIds.Contains(t.RISK_EVALUATION_DETAIL_ID), new BaseFilter(entity.ORG_ID), "Nav_PostDetails"); - var detailList = details.OrderByDescending(t=>t.ENABLE_STATUS).GroupBy(m => new { m.AREA_ID, m.PRODUCTION_UNIT_ID, m.RISK_NAME, m.RISK_DESCRIPTION, m.TYPE_ID,m.ENABLE_STATUS }).Select(g => g.FirstOrDefault()); + var detailList = details.OrderByDescending(t=>t.ENABLE_STATUS).GroupBy(m => new { m.AREA_ID, m.PRODUCTION_UNIT_ID, m.RISK_NAME, m.RISK_DESCRIPTION, m.TYPE_ID,m.MARK }).Select(g => g.FirstOrDefault()); if (detailList.Any()) { foreach (var de in detailList) @@ -14665,7 +14665,7 @@ namespace APT.BaseData.Services.DomainServices detail.ENTERPRISE_LIBRARY_ID = de.ENTERPRISE_LIBRARY_ID; detail.ENABLE_STATUS = de.ENABLE_STATUS; //汇总去重 - var temp = details.Where(m => m.AREA_ID == de.AREA_ID && m.PRODUCTION_UNIT_ID == de.PRODUCTION_UNIT_ID && m.RISK_NAME == de.RISK_NAME && m.RISK_DESCRIPTION == de.RISK_DESCRIPTION && m.TYPE_ID == de.TYPE_ID && m.ENABLE_STATUS == de.ENABLE_STATUS).ToList(); + var temp = details.Where(m => m.AREA_ID == de.AREA_ID && m.PRODUCTION_UNIT_ID == de.PRODUCTION_UNIT_ID && m.RISK_NAME == de.RISK_NAME && m.RISK_DESCRIPTION == de.RISK_DESCRIPTION && m.TYPE_ID == de.TYPE_ID && m.MARK == de.MARK).ToList(); var ids = temp.Select(m => m.ID).ToList(); //管控措施 var mesTemps = detailMes.Where(t => ids.Contains(t.RISK_EVALUATION_DETAIL_ID)).Select(m => m.MEASURES_NAME).Distinct().ToList(); @@ -15164,7 +15164,7 @@ namespace APT.BaseData.Services.DomainServices { var entity = this.GetEntity(modelApp != null ? modelApp.DATA_ID : entityInt.DATA_ID); entity.STATUS = PFStandardStatus.Archived; - entity.END_DATE = DateTime.Now; + //entity.END_DATE = DateTime.Now; var sumDetails = this.GetEntities(t => t.RISK_EVALUATION_SUMMARY_ID == entity.ID, new BaseFilter(entity.ORG_ID)); //触发风险检查关联表 T_FM_NOTIFICATION_TASK notice = null; diff --git a/APT.MicroApi/APT.PP.WebApi/Controllers/Api/SKController.cs b/APT.MicroApi/APT.PP.WebApi/Controllers/Api/SKController.cs index 26668ce..eb8466b 100644 --- a/APT.MicroApi/APT.PP.WebApi/Controllers/Api/SKController.cs +++ b/APT.MicroApi/APT.PP.WebApi/Controllers/Api/SKController.cs @@ -1707,7 +1707,7 @@ namespace APT.PP.WebApi.Controllers.Api if (planIds != null && planIds.Any() && dtNow.Hour >= 23)//&& dtNow.Hour >= 16 && dtNow.Hour <= 20 { //plans.ForEach(t => t.STATUS = PFStandardStatus.Close); - identitys.ForEach(m => { m.STATUS = PFStandardStatus.Close; m.END_DATE = DateTime.Now; }); + identitys.ForEach(m => { m.STATUS = PFStandardStatus.Close;}); tasks.ForEach(t => { t.NOTICE_STATUS = 4; t.SOURCE_FORMCODE = "SK033_SHOWPRINT"; }); foreach (var plan in planIds) { diff --git a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskEvaluationController.cs b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskEvaluationController.cs index 801dbb5..6be1a06 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskEvaluationController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskEvaluationController.cs @@ -79,23 +79,32 @@ namespace APT.SK.WebApi.Controllers.Api deletePostDetIds = this.GetEntities(t => deletePostIds.Contains(t.RISK_EVALUATION_DETAIL_POST_ID), new BaseFilter(entity.ORG_ID)).Select(t => t.ID).ToList(); foreach (var item in details) { - var temp = record.Nav_Details.FirstOrDefault(t => t.PRODUCTION_UNIT_ID == item.PRODUCTION_UNIT_ID && t.AREA_ID == item.AREA_ID && t.TYPE_ID == item.TYPE_ID && t.RISK_NAME == item.RISK_NAME && t.RISK_DESCRIPTION == item.RISK_DESCRIPTION - && t.EMERGENCY == item.EMERGENCY && t.ENABLE_STATUS == item.ENABLE_STATUS); - if (temp == null && item.MARK != SKMarkEnum.Add) - { - item.MARK = SKMarkEnum.Update; - } - if (item.Nav_DetailMeasures != null && item.Nav_DetailMeasures.Any()) + if (item.MARK == SKMarkEnum.Auto) { - foreach (var mes in item.Nav_DetailMeasures) + //&& t.RISK_DESCRIPTION == item.RISK_DESCRIPTION && t.EMERGENCY == item.EMERGENCY && t.ENABLE_STATUS == item.ENABLE_STATUS + var temp = record.Nav_Details.FirstOrDefault(t => t.PRODUCTION_UNIT_ID == item.PRODUCTION_UNIT_ID && t.AREA_ID == item.AREA_ID && t.TYPE_ID == item.TYPE_ID && t.RISK_NAME == item.RISK_NAME); + if (temp == null) { - var newMes = detailMes.FirstOrDefault(t => t.MEASURES_NAME == mes.MEASURES_NAME && t.RISK_EVALUATION_DETAIL_ID == item.ID); - if (newMes == null && item.MARK != SKMarkEnum.Add) - { - item.MARK = SKMarkEnum.Update; - } - } + item.MARK = SKMarkEnum.Update; + } } + //var temp = record.Nav_Details.FirstOrDefault(t => t.PRODUCTION_UNIT_ID == item.PRODUCTION_UNIT_ID && t.AREA_ID == item.AREA_ID && t.TYPE_ID == item.TYPE_ID && t.RISK_NAME == item.RISK_NAME && t.RISK_DESCRIPTION == item.RISK_DESCRIPTION + // && t.EMERGENCY == item.EMERGENCY && t.ENABLE_STATUS == item.ENABLE_STATUS); + //if (temp == null && item.MARK != SKMarkEnum.Add) + //{ + // item.MARK = SKMarkEnum.Update; + //} + //if (item.Nav_DetailMeasures != null && item.Nav_DetailMeasures.Any()) + //{ + // foreach (var mes in item.Nav_DetailMeasures) + // { + // var newMes = detailMes.FirstOrDefault(t => t.MEASURES_NAME == mes.MEASURES_NAME && t.RISK_EVALUATION_DETAIL_ID == item.ID); + // if (newMes == null && item.MARK != SKMarkEnum.Add) + // { + // item.MARK = SKMarkEnum.Update; + // } + // } + //} } //record.Nav_Details.ForEach(t => //{ @@ -358,7 +367,7 @@ 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(); } } 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/RiskIdentifyController.cs b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskIdentifyController.cs index bb30785..eb8e437 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskIdentifyController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskIdentifyController.cs @@ -69,22 +69,25 @@ namespace APT.SK.WebApi.Controllers.Api deleteMeasureIds = detailMes.Select(t => t.ID).ToList(); foreach (var item in details) { - var temp = record.Nav_Details.FirstOrDefault(t => t.PRODUCTION_UNIT_ID == item.PRODUCTION_UNIT_ID && t.AREA_ID == item.AREA_ID && t.TYPE_ID == item.TYPE_ID && t.RISK_NAME == item.RISK_NAME && t.RISK_DESCRIPTION == item.RISK_DESCRIPTION - && t.EMERGENCY == item.EMERGENCY && t.ENABLE_STATUS == item.ENABLE_STATUS); - if (temp == null && item.MARK != SKMarkEnum.Add) - { - item.MARK = SKMarkEnum.Update; - } - if (item.Nav_DetailMeasures != null && item.Nav_DetailMeasures.Any()) + if (item.MARK == SKMarkEnum.Auto) { - foreach (var mes in item.Nav_DetailMeasures) + //&& t.RISK_DESCRIPTION == item.RISK_DESCRIPTION && t.EMERGENCY == item.EMERGENCY && t.ENABLE_STATUS == item.ENABLE_STATUS + var temp = record.Nav_Details.FirstOrDefault(t => t.PRODUCTION_UNIT_ID == item.PRODUCTION_UNIT_ID && t.AREA_ID == item.AREA_ID && t.TYPE_ID == item.TYPE_ID && t.RISK_NAME == item.RISK_NAME); + if (temp == null) { - var newMes = detailMes.FirstOrDefault(t => t.MEASURE == mes.MEASURE && t.RISK_IDENTIFY_DETAIL_ID == item.ID); - if (newMes == null && item.MARK != SKMarkEnum.Add) - { - item.MARK = SKMarkEnum.Update; - } - } + item.MARK = SKMarkEnum.Update; + } + //if (item.Nav_DetailMeasures != null && item.Nav_DetailMeasures.Any()) + //{ + // foreach (var mes in item.Nav_DetailMeasures) + // { + // var newMes = detailMes.FirstOrDefault(t => t.MEASURE == mes.MEASURE && t.RISK_IDENTIFY_DETAIL_ID == item.ID); + // if (newMes == null && item.MARK != SKMarkEnum.Add) + // { + // item.MARK = SKMarkEnum.Update; + // } + // } + //} } } } diff --git a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskIdentifyResultController.cs b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskIdentifyResultController.cs index 1fa5a22..3f4357e 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskIdentifyResultController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskIdentifyResultController.cs @@ -97,24 +97,33 @@ namespace APT.SK.WebApi.Controllers.Api // deleteDetailIds.Add(t.ID); //}); foreach (var item in details) - { - var temp = record.Nav_Details.FirstOrDefault(t => t.PRODUCTION_UNIT_ID == item.PRODUCTION_UNIT_ID && t.AREA_ID == item.AREA_ID && t.TYPE_ID == item.TYPE_ID && t.RISK_NAME == item.RISK_NAME && t.RISK_DESCRIPTION == item.RISK_DESCRIPTION - && t.EMERGENCY == item.EMERGENCY && t.ENABLE_STATUS == item.ENABLE_STATUS); - if (temp == null && item.MARK != SKMarkEnum.Add) - { - item.MARK = SKMarkEnum.Update; - } - if (item.Nav_DetailMeasures != null && item.Nav_DetailMeasures.Any()) + { + if (item.MARK == SKMarkEnum.Auto) { - foreach (var mes in item.Nav_DetailMeasures) + //&& t.RISK_DESCRIPTION == item.RISK_DESCRIPTION && t.EMERGENCY == item.EMERGENCY && t.ENABLE_STATUS == item.ENABLE_STATUS + var temp = record.Nav_Details.FirstOrDefault(t => t.PRODUCTION_UNIT_ID == item.PRODUCTION_UNIT_ID && t.AREA_ID == item.AREA_ID && t.TYPE_ID == item.TYPE_ID && t.RISK_NAME == item.RISK_NAME); + if (temp == null) { - var newMes = detailMes.FirstOrDefault(t => t.MEASURE == mes.MEASURE && t.RISK_IDENTIFY_RESULT_DETAIL_ID == item.ID); - if (newMes == null && item.MARK != SKMarkEnum.Add) - { - item.MARK = SKMarkEnum.Update; - } - } + item.MARK = SKMarkEnum.Update; + } } + //var temp = record.Nav_Details.FirstOrDefault(t => t.PRODUCTION_UNIT_ID == item.PRODUCTION_UNIT_ID && t.AREA_ID == item.AREA_ID && t.TYPE_ID == item.TYPE_ID && t.RISK_NAME == item.RISK_NAME && t.RISK_DESCRIPTION == item.RISK_DESCRIPTION + // && t.EMERGENCY == item.EMERGENCY && t.ENABLE_STATUS == item.ENABLE_STATUS); + //if (temp == null && item.MARK != SKMarkEnum.Add) + //{ + // item.MARK = SKMarkEnum.Update; + //} + //if (item.Nav_DetailMeasures != null && item.Nav_DetailMeasures.Any()) + //{ + // foreach (var mes in item.Nav_DetailMeasures) + // { + // var newMes = detailMes.FirstOrDefault(t => t.MEASURE == mes.MEASURE && t.RISK_IDENTIFY_RESULT_DETAIL_ID == item.ID); + // if (newMes == null && item.MARK != SKMarkEnum.Add) + // { + // item.MARK = SKMarkEnum.Update; + // } + // } + //} } } if (details != null && details.Any()) @@ -315,13 +324,30 @@ namespace APT.SK.WebApi.Controllers.Api // var temp = (m.NUM == null || m.NUM == 0) ? "1" : m.NUM + "、" + m.MEASURE + ";"; // d.MEASURE = d.MEASURE + temp; //} - 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(); - d.DEPARTMENT_TYPE = string.Join(",", departTypes); - var departs = d.Nav_DetailPosts.Select(t => t.Nav_Department?.NAME).Distinct().ToList(); - d.IDENTIFY_DEPARTMENT = string.Join(",", departs); - var posts = d.Nav_DetailPosts.SelectMany(x=>x.Nav_ResultPostDets).Select(t => t.Nav_Post?.NAME).Distinct().ToList(); - d.IDENTIFY_POST = string.Join(",", posts); + if (d.Nav_DetailPosts != null && d.Nav_DetailPosts.Any()) + { + var departTypes = d.Nav_DetailPosts.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; + } + + } + //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(); + //d.DEPARTMENT_TYPE = string.Join(",", departTypes); + //var departs = d.Nav_DetailPosts.Select(t => t.Nav_Department?.NAME).Distinct().ToList(); + //d.IDENTIFY_DEPARTMENT = string.Join(",", departs); + //var posts = d.Nav_DetailPosts.SelectMany(x=>x.Nav_ResultPostDets).Select(t => t.Nav_Post?.NAME).Distinct().ToList(); + //d.IDENTIFY_POST = string.Join(",", posts); } if (result.STATUS == PFStandardStatus.Rejected) { diff --git a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskIdentifyResultSummaryController.cs b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskIdentifyResultSummaryController.cs index 1fc763c..c5815f8 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskIdentifyResultSummaryController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskIdentifyResultSummaryController.cs @@ -260,13 +260,30 @@ namespace APT.SK.WebApi.Controllers.Api // var temp = (m.NUM == null || m.NUM == 0) ? "1" : m.NUM + "、" + m.MEASURE + ";"; // d.MEASURE = d.MEASURE + temp; //} - 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(); - d.DEPARTMENT_TYPE = string.Join(",", departTypes); - var departs = d.Nav_DetailPosts.Select(t => t.Nav_Department?.NAME).Distinct().ToList(); - d.IDENTIFY_DEPARTMENT = string.Join(",", departs); - var posts = d.Nav_DetailPosts.SelectMany(x => x.Nav_SumPostDets).Select(t => t.Nav_Post?.NAME).Distinct().ToList(); - d.IDENTIFY_POST = string.Join(",", posts); + if (d.Nav_DetailPosts != null && d.Nav_DetailPosts.Any()) + { + var departTypes = d.Nav_DetailPosts.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; + } + + } + //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(); + //d.DEPARTMENT_TYPE = string.Join(",", departTypes); + //var departs = d.Nav_DetailPosts.Select(t => t.Nav_Department?.NAME).Distinct().ToList(); + //d.IDENTIFY_DEPARTMENT = string.Join(",", departs); + //var posts = d.Nav_DetailPosts.SelectMany(x => x.Nav_SumPostDets).Select(t => t.Nav_Post?.NAME).Distinct().ToList(); + //d.IDENTIFY_POST = string.Join(",", posts); } if (result.STATUS == PFStandardStatus.Rejected) {