From 1dbbb013949c7bd1df37d42714102b5605f606e7 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: Mon, 16 Mar 2026 14:29:28 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A3=80=E6=9F=A5=E8=AE=B0=E5=BD=95=E6=B1=87?= =?UTF-8?q?=E6=80=BB=E8=B7=91=E6=89=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/Api/SKController.cs | 36 ++++++++++++------- 1 file changed, 23 insertions(+), 13 deletions(-) diff --git a/APT.MicroApi/APT.PP.WebApi/Controllers/Api/SKController.cs b/APT.MicroApi/APT.PP.WebApi/Controllers/Api/SKController.cs index 8952199..c25ec21 100644 --- a/APT.MicroApi/APT.PP.WebApi/Controllers/Api/SKController.cs +++ b/APT.MicroApi/APT.PP.WebApi/Controllers/Api/SKController.cs @@ -798,20 +798,25 @@ namespace APT.PP.WebApi.Controllers.Api // "Nav_CheckRecordDetails.Nav_CheckRecordDetailBasics.LAW_ID" }; //指定字段,包括导航属性 var notices = GetEntities(i => i.CHECK_TIME.Value.AddDays(1).Date == dtNow.Date && i.CHECK_TIME.Value.AddDays(1).Hour == dtNow.Hour && i.Nav_CheckType != null && !i.Nav_CheckType.NAME.Contains("岗位排查"), baseFilter); var noticeIds = notices.Select(t => t.ID).ToList(); - var sumRecords = GetEntities(t => t.SECURITY_INSPECTION_NOTICE_ID != null && noticeIds.Contains((Guid)t.SECURITY_INSPECTION_NOTICE_ID), baseFilter); - var sumNoticeIds = sumRecords.Select(m => m.SECURITY_INSPECTION_NOTICE_ID).Distinct().ToList(); + var sumNoticeIds = GetEntities(t => t.SECURITY_INSPECTION_NOTICE_ID != null && noticeIds.Contains((Guid)t.SECURITY_INSPECTION_NOTICE_ID), baseFilter).Select(m => m.SECURITY_INSPECTION_NOTICE_ID).Distinct().ToList(); var needDealIds = noticeIds.Where(t => !sumNoticeIds.Contains(t)).ToList(); - var records = GetEntities(i => i.SECURITY_INSPECTION_NOTICE_ID != null && needDealIds.Contains((Guid)i.SECURITY_INSPECTION_NOTICE_ID), baseFilter, "Nav_CheckRecordFiles", "Nav_CheckRecordDetails.Nav_CheckRecordDetailUsers", "Nav_CheckRecordDetails.Nav_CheckRecordDetailFiles").ToList(); + var records = GetEntities(i => i.SECURITY_INSPECTION_NOTICE_ID != null && needDealIds.Contains((Guid)i.SECURITY_INSPECTION_NOTICE_ID), baseFilter).ToList(); if (records != null && records.Any()) { var recordIds = records.Select(i => i.ID).ToList(); //处理未提交的待办 - tasks = this.GetEntities(t => recordIds.Contains((Guid)t.SOURCE_DATA_ID) && t.NOTICE_STATUS == 0, null).ToList(); + tasks = this.GetEntities(t => recordIds.Contains((Guid)t.SOURCE_DATA_ID) && t.NOTICE_STATUS == 0, baseFilter).ToList(); tasks.ForEach(t => t.NOTICE_STATUS = 4); - var users = this.GetEntities(t => t.ENABLE_STATUS == 0 && !t.CODE.Contains("admin"), null, "Nav_Department"); //处理记录表状态 var sourceIds = tasks.Select(i => i.SOURCE_DATA_ID).ToList(); records.Where(t => sourceIds.Contains(t.ID)).ForEach(m => m.STATUS = PFStandardStatus.Close); + var users = this.GetEntities(t => t.ENABLE_STATUS == 0 && !t.CODE.Contains("admin"), baseFilter, "Nav_Department"); + var recordFiles = this.GetEntities(t => recordIds.Contains(t.SECURITY_INSPECTION_RECORD_ID), baseFilter); + var recordDetails = this.GetEntities(t => recordIds.Contains(t.SECURITY_INSPECTION_RECORD_ID), baseFilter); + var recordDetailIds = recordDetails.Select(m => m.ID).ToList(); + var recordDetailUsers = this.GetEntities(t => recordDetailIds.Contains(t.SECURITY_INSPECTION_RECORD_DETAIL_ID), baseFilter); + var recordDetailFiles = this.GetEntities(t => recordDetailIds.Contains(t.SECURITY_INSPECTION_RECORD_DETAIL_ID), baseFilter); + var recordDetailBasics = this.GetEntities(t => recordDetailIds.Contains(t.SECURITY_INSPECTION_RECORD_DETAIL_ID), baseFilter); //触发汇总表 foreach (var id in needDealIds) { @@ -834,7 +839,8 @@ namespace APT.PP.WebApi.Controllers.Api sum.STATUS = PFStandardStatus.Draft; sum.NOTICE_CODE = noticeFirst.NOTICE_CODE; summarys.Add(sum); - var files = records.Where(t => t.SECURITY_INSPECTION_NOTICE_ID == id).SelectMany(m => m.Nav_CheckRecordFiles).ToList(); + var recordTempIds = records.Where(t => t.SECURITY_INSPECTION_NOTICE_ID == id).Select(m => m.ID).ToList(); + var files = recordFiles.Where(t => recordTempIds.Contains(t.SECURITY_INSPECTION_RECORD_ID)).ToList(); if (files != null && files.Any()) { var fileNews = files.GroupBy(t => t.IMG_FILE_ID).Select(g => g.FirstOrDefault()).ToList(); @@ -847,9 +853,10 @@ namespace APT.PP.WebApi.Controllers.Api summaryFiles.Add(fi); } } - var details = records.Where(t => t.SECURITY_INSPECTION_NOTICE_ID == id).SelectMany(m => m.Nav_CheckRecordDetails).ToList(); + var details = recordDetails.Where(t => recordTempIds.Contains(t.SECURITY_INSPECTION_RECORD_ID)).ToList(); if (details != null && details.Any()) { + var detailTempIds = details.Select(t => t.ID).ToList(); var detailTempNews = details.Where(t => t.CHECK_RESULT == SKCheckResultEnum.Yes).ToList(); var detailTemps = details.Where(t => t.CHECK_RESULT != SKCheckResultEnum.Yes).GroupBy(m => new { m.RISK_AREA_ID, m.CHECK_CONTENTS_ID }).Select(g => g.FirstOrDefault()).ToList(); foreach (var itemDetail in detailTemps) @@ -877,9 +884,10 @@ namespace APT.PP.WebApi.Controllers.Api summaryDetail.HIDDEN_PLACE = itemDetail.HIDDEN_PLACE; summaryDetail.MARK = itemDetail.MARK; summaryDetails.Add(summaryDetail); - if (itemDetail.Nav_CheckRecordDetailUsers != null && itemDetail.Nav_CheckRecordDetailUsers.Any()) + var detailUsers = recordDetailUsers.Where(t => t.SECURITY_INSPECTION_RECORD_DETAIL_ID == itemDetail.ID).ToList(); + if (detailUsers != null && detailUsers.Any()) { - foreach (var itemUser in itemDetail.Nav_CheckRecordDetailUsers) + foreach (var itemUser in detailUsers) { T_SK_SECURITY_INSPECTION_RECORD_SUMMARY_DETAIL_USER summaryUser = new T_SK_SECURITY_INSPECTION_RECORD_SUMMARY_DETAIL_USER(); summaryUser.ORG_ID = sum.ORG_ID; @@ -889,9 +897,10 @@ namespace APT.PP.WebApi.Controllers.Api summaryDetailUsers.Add(summaryUser); } } - if (itemDetail.Nav_CheckRecordDetailBasics != null && itemDetail.Nav_CheckRecordDetailBasics.Any()) + var detailBasics = recordDetailBasics.Where(t => t.SECURITY_INSPECTION_RECORD_DETAIL_ID == itemDetail.ID).ToList(); + if (detailBasics != null && detailBasics.Any()) { - foreach (var itemBasic in itemDetail.Nav_CheckRecordDetailBasics) + foreach (var itemBasic in detailBasics) { T_SK_SECURITY_INSPECTION_RECORD_SUMMARY_DETAIL_BASIC summaryBasic = new T_SK_SECURITY_INSPECTION_RECORD_SUMMARY_DETAIL_BASIC(); summaryBasic.ORG_ID = sum.ORG_ID; @@ -901,9 +910,10 @@ namespace APT.PP.WebApi.Controllers.Api summaryDetailBasics.Add(summaryBasic); } } - if (itemDetail.Nav_CheckRecordDetailFiles != null && itemDetail.Nav_CheckRecordDetailFiles.Any()) + var detailFiles = recordDetailFiles.Where(t => t.SECURITY_INSPECTION_RECORD_DETAIL_ID == itemDetail.ID).ToList(); + if (detailFiles != null && detailFiles.Any()) { - foreach (var itemFile in itemDetail.Nav_CheckRecordDetailFiles) + foreach (var itemFile in detailFiles) { T_SK_SECURITY_INSPECTION_RECORD_SUMMARY_DETAIL_FILE summaryFile = new T_SK_SECURITY_INSPECTION_RECORD_SUMMARY_DETAIL_FILE(); summaryFile.ORG_ID = sum.ORG_ID;