检查记录汇总跑批
This commit is contained in:
parent
824b206a1e
commit
1dbbb01394
@ -798,20 +798,25 @@ namespace APT.PP.WebApi.Controllers.Api
|
||||
// "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 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 = sumRecords.Select(m => m.SECURITY_INSPECTION_NOTICE_ID).Distinct().ToList();
|
||||
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 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())
|
||||
{
|
||||
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);
|
||||
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();
|
||||
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)
|
||||
{
|
||||
@ -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;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user