diff --git a/APT.BaseData.Services/Services/PF/PFApproveCallBackService.cs b/APT.BaseData.Services/Services/PF/PFApproveCallBackService.cs index 221b00f..f578f43 100644 --- a/APT.BaseData.Services/Services/PF/PFApproveCallBackService.cs +++ b/APT.BaseData.Services/Services/PF/PFApproveCallBackService.cs @@ -13852,7 +13852,10 @@ namespace APT.BaseData.Services.DomainServices //List details = this.GetOrderEntities(expression2, new BaseFilter(entity.ORG_ID), new string[] { "Nav_DetailMeasures", "Nav_DetailDeparts", "Nav_DetailPosts" }).ToList(); var details = GetEntities(i => resultIds.Contains(i.RISK_IDENTIFY_RESULT_ID) && i.ENABLE_STATUS == 0, new BaseFilter(entity.ORG_ID)); var resultDetailIds = details.Select(t => t.ID).ToList(); - var resultDetailMes = GetEntities(i => resultDetailIds.Contains(i.RISK_IDENTIFY_RESULT_DETAIL_ID), new BaseFilter(filter.OrgId)).ToList(); + var resultDetailMes = GetEntities(i => resultDetailIds.Contains(i.RISK_IDENTIFY_RESULT_DETAIL_ID), new BaseFilter(filter.OrgId)).ToList(); + 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.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()); if (detailList.Any()) { @@ -13911,8 +13914,8 @@ namespace APT.BaseData.Services.DomainServices // } //} //辨识部门 - var departIdss = results.Where(t => resultIds.Contains(t.ID)).Select(m => m.APPLY_DEPARTMENT_ID).Distinct().ToList(); - var userIdss = results.Where(t => resultIds.Contains(t.ID)).Select(m => m.APPLY_USER_ID).Distinct().ToList(); + var departIdss = resultDetailDepts.Where(t => ids.Contains(t.RISK_IDENTIFY_RESULT_DETAIL_ID)).Select(m => m.DEPARTMENT_ID).Distinct().ToList(); + //var userIdss = results.Where(t => resultIds.Contains(t.ID)).Select(m => m.APPLY_USER_ID).Distinct().ToList(); if (departIdss.Any()) { var departTemps = departs.Where(t => departIdss.Contains(t.ID)).OrderBy(m => m.DEPARTMENT_TYPE).ToList(); @@ -13928,7 +13931,8 @@ namespace APT.BaseData.Services.DomainServices depart.DEPARTMENT_TYPE = (SKDepartmentTypeEnum)ite.DEPARTMENT_TYPE; depart.NUM = i; summaryPosts.Add(depart); - var postIds = users.Where(t => t.DEPARTMENT_ID != null && t.DEPARTMENT_ID == ite.ID && userIdss.Contains(t.ID) && t.Nav_Person != null && t.Nav_Person.POST_ID != null).Select(m => m.Nav_Person?.POST_ID).ToList(); + var departTepIds = resultDetailDepts.Where(t => ids.Contains(t.RISK_IDENTIFY_RESULT_DETAIL_ID) && t.DEPARTMENT_ID != null && t.DEPARTMENT_ID == ite.ID).Select(m => m.ID).ToList(); + var postIds = resultDetailDeptPosts.Where(t => departTepIds.Contains(t.RISK_IDENTIFY_DETAIL_RESULT_POST_ID) && t.POST_ID != null).Select(m => m.POST_ID).Distinct().ToList(); if (postIds.Any()) { foreach (var poId in postIds)