From 78ffc0276604991701723dca193131a2754593cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=95=E7=BE=8E=E8=8D=A3?= <10755671+mei-rong-he@user.noreply.gitee.com> Date: Tue, 16 Dec 2025 11:15:48 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A3=8E=E9=99=A9=E7=AE=A1=E7=90=86=E5=88=A4?= =?UTF-8?q?=E6=96=AD=E4=BF=AE=E6=94=B9=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Api/RiskEvaluationController.cs | 18 ++++++++++++++--- .../Controllers/Api/RiskIdentifyController.cs | 4 ++-- .../Api/RiskIdentifyResultController.cs | 20 +++++++++++++++---- 3 files changed, 33 insertions(+), 9 deletions(-) diff --git a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskEvaluationController.cs b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskEvaluationController.cs index 6ea726b..8bd8e16 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskEvaluationController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskEvaluationController.cs @@ -71,19 +71,31 @@ namespace APT.SK.WebApi.Controllers.Api var record = this.GetEntity(t => t.ID == entity.ID, "Nav_Details"); 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_EVALUATION_DETAIL_ID), new BaseFilter(entity.ORG_ID)).Select(t => t.ID).ToList(); + deleteDetailIds = record.Nav_Details.Select(t => t.ID).ToList(); + var detailMes = this.GetEntities(t => deleteDetailIds.Contains(t.RISK_EVALUATION_DETAIL_ID), new BaseFilter(entity.ORG_ID)).ToList(); + deleteMeasureIds = detailMes.Select(t => t.ID).ToList(); deleteDepartIds = this.GetEntities(t => deleteDetailIds.Contains(t.RISK_EVALUATION_DETAIL_ID), new BaseFilter(entity.ORG_ID)).Select(t => t.ID).ToList(); deletePostIds = this.GetEntities(t => deleteDetailIds.Contains(t.RISK_EVALUATION_DETAIL_ID), new BaseFilter(entity.ORG_ID)).Select(t => t.ID).ToList(); 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.MEASURE == item.MEASURE + 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 => //{ diff --git a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskIdentifyController.cs b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskIdentifyController.cs index 800d66e..bb30785 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskIdentifyController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskIdentifyController.cs @@ -69,7 +69,7 @@ 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.MEASURE == item.MEASURE + 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) { @@ -79,7 +79,7 @@ namespace APT.SK.WebApi.Controllers.Api { foreach (var mes in item.Nav_DetailMeasures) { - var newMes = detailMes.FirstOrDefault(t => t.MEASURE == mes.MEASURE); + 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 13f21fd..1fa5a22 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskIdentifyResultController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskIdentifyResultController.cs @@ -71,8 +71,9 @@ namespace APT.SK.WebApi.Controllers.Api var record = this.GetEntity(t => t.ID == entity.ID, "Nav_Details"); 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_RESULT_DETAIL_ID), new BaseFilter(entity.ORG_ID)).Select(t => t.ID).ToList(); + deleteDetailIds = record.Nav_Details.Select(t => t.ID).ToList(); + var detailMes = this.GetEntities(t => deleteDetailIds.Contains(t.RISK_IDENTIFY_RESULT_DETAIL_ID), new BaseFilter(entity.ORG_ID)).ToList(); + deleteMeasureIds = detailMes.Select(t => t.ID).ToList(); deleteDepartIds = this.GetEntities(t => deleteDetailIds.Contains(t.RISK_IDENTIFY_RESULT_DETAIL_ID), new BaseFilter(entity.ORG_ID)).Select(t => t.ID).ToList(); deletePostIds = this.GetEntities(t => deleteDetailIds.Contains(t.RISK_IDENTIFY_RESULT_DETAIL_ID), new BaseFilter(entity.ORG_ID)).Select(t => t.ID).ToList(); deletePostDetailIds = this.GetEntities(t => deletePostIds.Contains(t.RISK_IDENTIFY_DETAIL_RESULT_POST_ID), new BaseFilter(entity.ORG_ID)).Select(t => t.ID).ToList(); @@ -97,11 +98,22 @@ namespace APT.SK.WebApi.Controllers.Api //}); 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 - && t.EMERGENCY == item.EMERGENCY && t.DEPARTMENT_TYPE == item.DEPARTMENT_TYPE && t.IDENTIFY_DEPARTMENT == item.IDENTIFY_DEPARTMENT && t.IDENTIFY_POST == item.IDENTIFY_POST && 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 && 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; + } + } } } }