diff --git a/APT.BaseData.Services/Services/PF/PFApproveCallBackService.cs b/APT.BaseData.Services/Services/PF/PFApproveCallBackService.cs index 736cf20..6999f6a 100644 --- a/APT.BaseData.Services/Services/PF/PFApproveCallBackService.cs +++ b/APT.BaseData.Services/Services/PF/PFApproveCallBackService.cs @@ -12848,7 +12848,8 @@ namespace APT.BaseData.Services.DomainServices List departIds = new List(); List resultDetail = new List(); List resultRequires = new List(); - //List resultDetailMes = new List(); + List resultDetailMes = new List(); + List resultDetailPosts = new List(); var departs = this.GetEntities(t => t.ENABLE_STATUS == 0, new BaseFilter(entity.ORG_ID)); var posts = this.GetEntities(t => !t.IS_DELETED, new BaseFilter(entity.ORG_ID)); var librarys = this.GetEntities(t => t.ENABLE_STATUS == 0, new BaseFilter(entity.ORG_ID)); @@ -13033,8 +13034,8 @@ namespace APT.BaseData.Services.DomainServices filter.IgnoreDataRule = true; Expression> expression = i => i.IS_DELETED == false && i.IDENTIFY_EVALUATION_PLAN_ID == entity.IDENTIFY_EVALUATION_PLAN_ID && departIds.Contains((Guid)i.APPLY_DEPARTMENT_ID); List identitys = this.GetOrderEntities(expression, filter).ToList(); - var identityTempIds = identitys.Select(t => t.ID).ToList(); - var details = GetEntities(i => identityTempIds.Contains(i.RISK_IDENTIFY_ID), new BaseFilter(filter.OrgId)).ToList(); + var identityIds = identitys.Select(t => t.ID).ToList(); + 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 identitys = this.GetEntities(t => t.IDENTIFY_EVALUATION_PLAN_ID == entity.IDENTIFY_EVALUATION_PLAN_ID && departIds.Contains((Guid)t.APPLY_DEPARTMENT_ID)); @@ -13065,20 +13066,14 @@ namespace APT.BaseData.Services.DomainServices re.REQUIRE_ID = itemReq.REQUIRE_ID; resultRequires.Add(re); } - } - var identityIds = identitys.Select(t => t.ID).ToList(); - //Expression> expression2 = i => i.IS_DELETED == false && identityIds.Contains(i.RISK_IDENTIFY_ID); - //List list = this.GetOrderEntities(expression2, new BaseFilter(entity.ORG_ID)).ToList(); - var list = this.GetEntities(t => identityIds.Contains(t.RISK_IDENTIFY_ID), new BaseFilter(entity.ORG_ID)); - var detailList = list.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.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()) { foreach (var item in detailList) { - var temp = list.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 identifyIds = temp.Select(t => t.RISK_IDENTIFY_ID).ToList(); - var departIdss = identitys.Where(t => identifyIds.Contains(t.ID)).Select(m => m.APPLY_DEPARTMENT_ID).Distinct().ToList(); - var userIdss = identitys.Where(t => identifyIds.Contains(t.ID)).Select(m => m.APPLY_USER_ID).Distinct().ToList(); + var departIdss = identitys.Where(t => identityIds.Contains(t.ID)).Select(m => m.APPLY_DEPARTMENT_ID).Distinct().ToList(); + var userIdss = identitys.Where(t => identityIds.Contains(t.ID)).Select(m => m.APPLY_USER_ID).Distinct().ToList(); T_SK_RISK_IDENTIFY_RESULT_DETAIL ideDetail = new T_SK_RISK_IDENTIFY_RESULT_DETAIL(); ideDetail.ORG_ID = entity.ORG_ID; ideDetail.RISK_IDENTIFY_RESULT_ID = result.ID; @@ -13090,31 +13085,28 @@ namespace APT.BaseData.Services.DomainServices ideDetail.RISK_NAME_ID = item.RISK_NAME_ID; ideDetail.RISK_DESCRIPTION = item.RISK_DESCRIPTION; ideDetail.TYPE_ID = item.TYPE_ID; - //ideDetail.MEASURE = item.MEASURE; - //ideDetail.EMERGENCY = item.EMERGENCY; ideDetail.ENABLE_STATUS = item.ENABLE_STATUS; ideDetail.MARK = item.MARK; //管控措施 - var identifyDetailIds = temp.Select(t => t.ID).ToList(); - var mesTemps = identityDetailMes.Where(t => identifyDetailIds.Contains(t.RISK_IDENTIFY_DETAIL_ID)).OrderBy(n => n.NUM).Select(m => m.MEASURE).Distinct().ToList(); + var mesTemps = identityDetailMes.Select(m => m.MEASURE).Distinct().ToList(); if (mesTemps != null && mesTemps.Any()) { var i = 1; foreach (var mm in mesTemps) { - //T_SK_RISK_IDENTIFY_DETAIL_RESULT_MEASURE mes = new T_SK_RISK_IDENTIFY_DETAIL_RESULT_MEASURE(); - //mes.ORG_ID = filter.OrgId; - //mes.RISK_IDENTIFY_RESULT_DETAIL_ID = ideDetail.ID; - //mes.NUM = i; - //mes.MEASURE = mm; - //resultDetailMes.Add(mes); + T_SK_RISK_IDENTIFY_DETAIL_RESULT_MEASURE mes = new T_SK_RISK_IDENTIFY_DETAIL_RESULT_MEASURE(); + mes.ORG_ID = filter.OrgId; + mes.RISK_IDENTIFY_RESULT_DETAIL_ID = ideDetail.ID; + mes.NUM = i; + mes.MEASURE = mm; + resultDetailMes.Add(mes); var mtemp = i + "、" + mm + ";"; ideDetail.MEASURE = ideDetail.MEASURE + mtemp; i++; } } //应急处置 - var emergeTemps = temp.OrderBy(t => t.NUM).Select(m => m.EMERGENCY).Distinct().ToList(); + var emergeTemps = details.Select(m => m.EMERGENCY).Distinct().ToList(); if (emergeTemps != null && emergeTemps.Any()) { var i = 1; @@ -13194,7 +13186,9 @@ namespace APT.BaseData.Services.DomainServices if (resultDetail != null && resultDetail.Count > 0) BantchSaveEntityNoCommit(resultDetail); if (resultRequires != null && resultRequires.Count > 0) - BantchSaveEntityNoCommit(resultRequires); + BantchSaveEntityNoCommit(resultRequires); + if (resultDetailMes != null && resultDetailMes.Count > 0) + BantchSaveEntityNoCommit(resultDetailMes); }); //待办同步 NotificationTaskService.TaskToHead(listAppDetail, null, null, taskFinish); @@ -13550,7 +13544,7 @@ namespace APT.BaseData.Services.DomainServices if (c.Contains("、")) { var co = c.Split(new[] { '、' }, StringSplitOptions.RemoveEmptyEntries); - if (co.Length > 0) + if (co.Length > 2) { emeList.Add(co[1]); } @@ -13596,7 +13590,7 @@ namespace APT.BaseData.Services.DomainServices if (c.Contains("、")) { var co = c.Split(new[] { '、' }, StringSplitOptions.RemoveEmptyEntries); - if (co.Length > 0) + if (co.Length > 2) { typeList.Add(co[1]); } @@ -13642,7 +13636,7 @@ namespace APT.BaseData.Services.DomainServices if (c.Contains("、")) { var co = c.Split(new[] { '、' }, StringSplitOptions.RemoveEmptyEntries); - if (co.Length > 0) + if (co.Length > 2) { departList.Add(co[1]); } @@ -13688,7 +13682,7 @@ namespace APT.BaseData.Services.DomainServices if (c.Contains("、")) { var co = c.Split(new[] { '、' }, StringSplitOptions.RemoveEmptyEntries); - if (co.Length > 0) + if (co.Length > 2) { postList.Add(co[1]); } @@ -14435,7 +14429,7 @@ namespace APT.BaseData.Services.DomainServices if (c.Contains("、")) { var co = c.Split(new[] { '、' }, StringSplitOptions.RemoveEmptyEntries); - if (co.Length > 0) + if (co.Length > 2) { mesList.Add(co[1]); } @@ -14481,7 +14475,7 @@ namespace APT.BaseData.Services.DomainServices if (c.Contains("、")) { var co = c.Split(new[] { '、' }, StringSplitOptions.RemoveEmptyEntries); - if (co.Length > 0) + if (co.Length > 2) { emeList.Add(co[1]); } @@ -14527,7 +14521,7 @@ namespace APT.BaseData.Services.DomainServices if (c.Contains("、")) { var co = c.Split(new[] { '、' }, StringSplitOptions.RemoveEmptyEntries); - if (co.Length > 0) + if (co.Length > 2) { typeList.Add(co[1]); } @@ -14574,7 +14568,7 @@ namespace APT.BaseData.Services.DomainServices if (c.Contains("、")) { var co = c.Split(new[] { '、' }, StringSplitOptions.RemoveEmptyEntries); - if (co.Length > 0) + if (co.Length > 2) { departList.Add(co[1]); } @@ -14621,7 +14615,7 @@ namespace APT.BaseData.Services.DomainServices if (c.Contains("、")) { var co = c.Split(new[] { '、' }, StringSplitOptions.RemoveEmptyEntries); - if (co.Length > 0) + if (co.Length > 2) { postList.Add(co[1]); } @@ -15270,7 +15264,8 @@ namespace APT.BaseData.Services.DomainServices } notice = NotificationTaskService.InsertUserNoticeTaskModel("风险检查关联表", dou.ID, entity.ORG_ID, user.ID, user.NAME, DateTime.Now, DateTime.Now.AddHours(24), (int)FMNoticeTypeEnum.消息, "SK026"); - } + } + entity.Nav_Details = null; UnifiedCommit(() => { if (modelApp != null) diff --git a/APT.MicroApi/APT.FO.WebApi/Controllers/FireJobController.cs b/APT.MicroApi/APT.FO.WebApi/Controllers/FireJobController.cs index ca4fce2..cf63aae 100644 --- a/APT.MicroApi/APT.FO.WebApi/Controllers/FireJobController.cs +++ b/APT.MicroApi/APT.FO.WebApi/Controllers/FireJobController.cs @@ -48,7 +48,7 @@ namespace APT.FO.WebApi.Controllers var id = filter.FilterGroup.Rules.FirstOrDefault(t => t.Field == "ID").Value.ToString(); if (string.IsNullOrEmpty(id)) this.ThrowError("060010"); - var entity = this.GetEntity(id, "Nav_ApplyUser", "Nav_Company", "Nav_ApplyDepartment", "Nav_OperationStep", "Nav_ProductionUnit", "Nav_FireUser.Nav_UserSignFiles.Nav_ImgFile", "Nav_FireDepartment", + var entity = this.GetEntity(id, "Nav_ApplyUser", "Nav_Company", "Nav_ApplyDepartment", "Nav_OperationStep", "Nav_ProductionUnit", "Nav_FireUser.Nav_UserSignFiles.Nav_ImgFile", "Nav_FireDepartment", "Nav_Users.Nav_User", "Nav_SafeUser.Nav_UserSignFiles.Nav_ImgFile", "Nav_Area", "Nav_Type", "Nav_MonitorUser.Nav_UserSignFiles.Nav_ImgFile", "Nav_Risks", "Nav_Files.Nav_ImgFile", "Nav_Users.Nav_UserType", "Nav_Users.Nav_Train", "Nav_Users.Nav_UserFiles.Nav_ImgFile", "Nav_FireFiles.Nav_ImgFile", "Nav_MonitorFiles.Nav_ImgFile", "Nav_DispatchUser.Nav_UserSignFiles.Nav_ImgFile"); if (entity != null) diff --git a/APT.MicroApi/APT.PP.WebApi/Controllers/Api/SKController.cs b/APT.MicroApi/APT.PP.WebApi/Controllers/Api/SKController.cs index 5b561af..3c44277 100644 --- a/APT.MicroApi/APT.PP.WebApi/Controllers/Api/SKController.cs +++ b/APT.MicroApi/APT.PP.WebApi/Controllers/Api/SKController.cs @@ -1213,7 +1213,7 @@ namespace APT.PP.WebApi.Controllers.Api List identitys = new List(); List details = new List(); List requires = new List(); - //List mesList = new List(); + List mesList = new List(); filter.IgnoreDataRule = true; Expression> expression = t => t.IS_DELETED == false && t.ISSEND == false && t.START_DATE.Value.Date == dtNow.Date && t.STATUS == PFStandardStatus.Archived; List plans = this.GetOrderEntities(expression, filter, new string[] { "Nav_Details.Nav_DetailUsers", "Nav_Requires" }).ToList(); @@ -1383,12 +1383,12 @@ namespace APT.PP.WebApi.Controllers.Api { foreach (var detais in detailList) { - //T_SK_RISK_IDENTIFY_DETAIL_MEASURE mes = new T_SK_RISK_IDENTIFY_DETAIL_MEASURE(); - //mes.ORG_ID = library.ORG_ID; - //mes.RISK_IDENTIFY_DETAIL_ID = ideDetail.ID; - //mes.NUM = detais.NUM; - //mes.MEASURE = detais.MEASURES_NAME; - //mesList.Add(mes); + T_SK_RISK_IDENTIFY_DETAIL_MEASURE mes = new T_SK_RISK_IDENTIFY_DETAIL_MEASURE(); + mes.ORG_ID = library.ORG_ID; + mes.RISK_IDENTIFY_DETAIL_ID = ideDetail.ID; + mes.NUM = detais.NUM; + mes.MEASURE = detais.MEASURES_NAME; + mesList.Add(mes); var temp = (detais.NUM == null || detais.NUM == 0) ? "1" : detais.NUM + "、" + detais.MEASURES_NAME +";"; ideDetail.MEASURE = ideDetail.MEASURE + temp; } @@ -1426,8 +1426,8 @@ namespace APT.PP.WebApi.Controllers.Api BantchSaveEntityNoCommit(requires); if (details != null && details.Any()) BantchSaveEntityNoCommit(details); - //if (mesList != null && mesList.Any()) - // BantchSaveEntityNoCommit(mesList); + if (mesList != null && mesList.Any()) + BantchSaveEntityNoCommit(mesList); }); } catch (Exception ex) diff --git a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskEvaluationController.cs b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskEvaluationController.cs index bee03f9..c69d39e 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskEvaluationController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskEvaluationController.cs @@ -200,10 +200,10 @@ namespace APT.SK.WebApi.Controllers.Api List notices = new List(); if (entity.PUBLISH != null && entity.PUBLISH.Equals("SaveAndNotify")) { - if (departList.Where(t => t.IS_DELETED == false).Count() == 0) - { - throw new Exception("管控层级不能为空"); - } + //if (departList.Where(t => t.IS_DELETED == false).Count() == 0) + //{ + // throw new Exception("管控层级不能为空"); + //} var departmentType = this.GetEntity(t => t.ID == entity.APPLY_DEPARTMENT_ID && t.ENABLE_STATUS == 0)?.DEPARTMENT_TYPE; var param = Enum.GetName(typeof(SKDepartmentTypeEnum), departmentType); entity.STATUS = PFStandardStatus.Approving; diff --git a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskIdentifyController.cs b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskIdentifyController.cs index abc3b58..9454a73 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskIdentifyController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskIdentifyController.cs @@ -64,7 +64,8 @@ namespace APT.SK.WebApi.Controllers.Api if (record != null && record.Nav_Details != null && record.Nav_Details.Any() && details != null && details.Any()) { deleteDetailIds = record.Nav_Details.Select(t => t.ID).ToList(); - deleteMeasureIds = this.GetEntities(t => deleteDetailIds.Contains(t.RISK_IDENTIFY_DETAIL_ID), new BaseFilter(entity.ORG_ID)).Select(t => t.ID).ToList(); + var detailMes = this.GetEntities(t => deleteDetailIds.Contains(t.RISK_IDENTIFY_DETAIL_ID), new BaseFilter(entity.ORG_ID)).ToList(); + 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.MEASURE == item.MEASURE @@ -73,6 +74,17 @@ namespace APT.SK.WebApi.Controllers.Api { 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); + if (newMes == null && item.MARK != SKMarkEnum.Add) + { + item.MARK = SKMarkEnum.Update; + } + } + } } } if (details != null && details.Any()) @@ -83,10 +95,13 @@ namespace APT.SK.WebApi.Controllers.Api item.RISK_IDENTIFY_ID = entity.ID; if (item.Nav_DetailMeasures != null && item.Nav_DetailMeasures.Any()) { - foreach (var item2 in item.Nav_DetailMeasures) + foreach (var mm in item.Nav_DetailMeasures) { + T_SK_RISK_IDENTIFY_DETAIL_MEASURE item2 = new T_SK_RISK_IDENTIFY_DETAIL_MEASURE(); item2.ORG_ID = entity.ORG_ID; - item2.RISK_IDENTIFY_DETAIL_ID = item.ID; + item2.RISK_IDENTIFY_DETAIL_ID = item.ID; + item2.MEASURE = mm.MEASURE; + item2.NUM = mm.NUM; measureList.Add(item2); var temp = (item2.NUM == null || item2.NUM == 0) ? "1" : item2.NUM + "、" + item2.MEASURE + Environment.NewLine; item.MEASURE = item.MEASURE + temp;