This commit is contained in:
wyw 2026-03-16 16:04:35 +08:00
commit 74674bd4f1

View File

@ -798,20 +798,25 @@ namespace APT.PP.WebApi.Controllers.Api
// "Nav_CheckRecordDetails.Nav_CheckRecordDetailBasics.LAW_ID" }; //指定字段,包括导航属性 // "Nav_CheckRecordDetails.Nav_CheckRecordDetailBasics.LAW_ID" }; //指定字段,包括导航属性
var notices = GetEntities<T_SK_SECURITY_INSPECTION_NOTICE>(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 notices = GetEntities<T_SK_SECURITY_INSPECTION_NOTICE>(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 noticeIds = notices.Select(t => t.ID).ToList();
var sumRecords = GetEntities<T_SK_SECURITY_INSPECTION_RECORD_SUMMARY>(t => t.SECURITY_INSPECTION_NOTICE_ID != null && noticeIds.Contains((Guid)t.SECURITY_INSPECTION_NOTICE_ID), baseFilter); var sumNoticeIds = GetEntities<T_SK_SECURITY_INSPECTION_RECORD_SUMMARY>(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 sumNoticeIds = sumRecords.Select(m => m.SECURITY_INSPECTION_NOTICE_ID).Distinct().ToList();
var needDealIds = noticeIds.Where(t => !sumNoticeIds.Contains(t)).ToList(); var needDealIds = noticeIds.Where(t => !sumNoticeIds.Contains(t)).ToList();
var records = GetEntities<T_SK_SECURITY_INSPECTION_RECORD>(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<T_SK_SECURITY_INSPECTION_RECORD>(i => i.SECURITY_INSPECTION_NOTICE_ID != null && needDealIds.Contains((Guid)i.SECURITY_INSPECTION_NOTICE_ID), baseFilter).ToList();
if (records != null && records.Any()) if (records != null && records.Any())
{ {
var recordIds = records.Select(i => i.ID).ToList(); var recordIds = records.Select(i => i.ID).ToList();
//处理未提交的待办 //处理未提交的待办
tasks = this.GetEntities<T_FM_NOTIFICATION_TASK>(t => recordIds.Contains((Guid)t.SOURCE_DATA_ID) && t.NOTICE_STATUS == 0, null).ToList(); tasks = this.GetEntities<T_FM_NOTIFICATION_TASK>(t => recordIds.Contains((Guid)t.SOURCE_DATA_ID) && t.NOTICE_STATUS == 0, baseFilter).ToList();
tasks.ForEach(t => t.NOTICE_STATUS = 4); tasks.ForEach(t => t.NOTICE_STATUS = 4);
var users = this.GetEntities<T_FM_USER>(t => t.ENABLE_STATUS == 0 && !t.CODE.Contains("admin"), null, "Nav_Department");
//处理记录表状态 //处理记录表状态
var sourceIds = tasks.Select(i => i.SOURCE_DATA_ID).ToList(); var sourceIds = tasks.Select(i => i.SOURCE_DATA_ID).ToList();
records.Where(t => sourceIds.Contains(t.ID)).ForEach(m => m.STATUS = PFStandardStatus.Close); records.Where(t => sourceIds.Contains(t.ID)).ForEach(m => m.STATUS = PFStandardStatus.Close);
var users = this.GetEntities<T_FM_USER>(t => t.ENABLE_STATUS == 0 && !t.CODE.Contains("admin"), baseFilter, "Nav_Department");
var recordFiles = this.GetEntities<T_SK_SECURITY_INSPECTION_RECORD_FILE>(t => recordIds.Contains(t.SECURITY_INSPECTION_RECORD_ID), baseFilter);
var recordDetails = this.GetEntities<T_SK_SECURITY_INSPECTION_RECORD_DETAIL>(t => recordIds.Contains(t.SECURITY_INSPECTION_RECORD_ID), baseFilter);
var recordDetailIds = recordDetails.Select(m => m.ID).ToList();
var recordDetailUsers = this.GetEntities<T_SK_SECURITY_INSPECTION_RECORD_DETAIL_USER>(t => recordDetailIds.Contains(t.SECURITY_INSPECTION_RECORD_DETAIL_ID), baseFilter);
var recordDetailFiles = this.GetEntities<T_SK_SECURITY_INSPECTION_RECORD_DETAIL_FILE>(t => recordDetailIds.Contains(t.SECURITY_INSPECTION_RECORD_DETAIL_ID), baseFilter);
var recordDetailBasics = this.GetEntities<T_SK_SECURITY_INSPECTION_RECORD_DETAIL_BASIC>(t => recordDetailIds.Contains(t.SECURITY_INSPECTION_RECORD_DETAIL_ID), baseFilter);
//触发汇总表 //触发汇总表
foreach (var id in needDealIds) foreach (var id in needDealIds)
{ {
@ -834,7 +839,8 @@ namespace APT.PP.WebApi.Controllers.Api
sum.STATUS = PFStandardStatus.Draft; sum.STATUS = PFStandardStatus.Draft;
sum.NOTICE_CODE = noticeFirst.NOTICE_CODE; sum.NOTICE_CODE = noticeFirst.NOTICE_CODE;
summarys.Add(sum); 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()) if (files != null && files.Any())
{ {
var fileNews = files.GroupBy(t => t.IMG_FILE_ID).Select(g => g.FirstOrDefault()).ToList(); 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); 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()) 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 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(); 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) foreach (var itemDetail in detailTemps)
@ -877,9 +884,10 @@ namespace APT.PP.WebApi.Controllers.Api
summaryDetail.HIDDEN_PLACE = itemDetail.HIDDEN_PLACE; summaryDetail.HIDDEN_PLACE = itemDetail.HIDDEN_PLACE;
summaryDetail.MARK = itemDetail.MARK; summaryDetail.MARK = itemDetail.MARK;
summaryDetails.Add(summaryDetail); 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(); T_SK_SECURITY_INSPECTION_RECORD_SUMMARY_DETAIL_USER summaryUser = new T_SK_SECURITY_INSPECTION_RECORD_SUMMARY_DETAIL_USER();
summaryUser.ORG_ID = sum.ORG_ID; summaryUser.ORG_ID = sum.ORG_ID;
@ -889,9 +897,10 @@ namespace APT.PP.WebApi.Controllers.Api
summaryDetailUsers.Add(summaryUser); 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(); T_SK_SECURITY_INSPECTION_RECORD_SUMMARY_DETAIL_BASIC summaryBasic = new T_SK_SECURITY_INSPECTION_RECORD_SUMMARY_DETAIL_BASIC();
summaryBasic.ORG_ID = sum.ORG_ID; summaryBasic.ORG_ID = sum.ORG_ID;
@ -901,9 +910,10 @@ namespace APT.PP.WebApi.Controllers.Api
summaryDetailBasics.Add(summaryBasic); 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(); T_SK_SECURITY_INSPECTION_RECORD_SUMMARY_DETAIL_FILE summaryFile = new T_SK_SECURITY_INSPECTION_RECORD_SUMMARY_DETAIL_FILE();
summaryFile.ORG_ID = sum.ORG_ID; summaryFile.ORG_ID = sum.ORG_ID;