diff --git a/APT.MicroApi/APT.PP.WebApi/Controllers/Api/SKController.cs b/APT.MicroApi/APT.PP.WebApi/Controllers/Api/SKController.cs index c25ec21..2c7b389 100644 --- a/APT.MicroApi/APT.PP.WebApi/Controllers/Api/SKController.cs +++ b/APT.MicroApi/APT.PP.WebApi/Controllers/Api/SKController.cs @@ -579,8 +579,9 @@ namespace APT.PP.WebApi.Controllers.Api if (filter.Parameter1 != null) { dtNow = DateTime.Parse(filter.Parameter1); - } - //filter.IgnoreDataRule = false; + } + //filter.IgnoreDataRule = false; + List updateNotices = new List(); List tasks = new List(); List noticeTasks = new List(); List records = new List(); @@ -598,7 +599,7 @@ namespace APT.PP.WebApi.Controllers.Api baseFilter.SelectField = new string[] { "ID", "PRODUCTION_UNIT_ID","NOTICE_CODE", "CHECK_TYPE_ID","APPLY_DEPARTMENT_ID","APPLY_USER_ID","PLANCHECKFREQUENCY","DEPARTMENT_TYPE","CHECK_TIME","CHECK_PERSON", "Nav_CheckNoticeDetails.RISK_AREA_ID","Nav_CheckNoticeDetails.CHECK_CONTENTS_ID","Nav_CheckNoticeDetails.CHECKCONTENT","Nav_CheckNoticeDetails.CHECKPROOF","Nav_CheckNoticeDetails.CHECKSTANDARD", "Nav_CheckNoticeFiles.IMG_FILE_ID", "Nav_CheckNoticeDetails.Nav_CheckNoticeDetailUsers.USER_ID", "Nav_CheckNoticeDetails.Nav_CheckNoticeDetailBasics.LAW_ID" }; //指定字段,包括导航属性 - Expression> expression = i => i.IS_DELETED == false && i.CHECK_TIME != null && i.CHECK_TIME.Value.Date == DateTime.Now.Date && i.CHECK_TIME.Value.Hour == dtNow.Hour && i.STATUS == PFStandardStatus.Archived; + Expression> expression = i => i.IS_DELETED == false && i.CHECK_TIME != null && i.CHECK_TIME.Value.Date == dtNow.Date && i.CHECK_TIME <= dtNow && (i.STATUS == PFStandardStatus.Archived || i.STATUS == PFStandardStatus.Sign); List notices = this.GetOrderEntities(expression, baseFilter).ToList(); var noticeExsisIds = notices.Select(t => t.ID).ToList(); baseFilter.SelectField = new string[] { "ID", "SECURITY_INSPECTION_NOTICE_ID" }; //指定字段,包括导航属性 @@ -720,16 +721,29 @@ namespace APT.PP.WebApi.Controllers.Api var noticeIds = notices.Select(i => i.ID).ToList(); tasks = this.GetEntities(t => noticeIds.Contains((Guid)t.SOURCE_DATA_ID) && t.NOTICE_STATUS == 0, new BaseFilter(filter.OrgId)).ToList(); tasks.ForEach(t => t.NOTICE_STATUS = 4); - var sourceIds = tasks.Select(i => i.SOURCE_DATA_ID).ToList(); - notices.ForEach(m => { - m.Nav_CheckNoticeDetails = null; - m.Nav_CheckNoticeFiles = null; - }); + var newFilter = new BaseFilter(filter.GetOrgId()); + newFilter.IgnoreDataRule = true; + updateNotices = this.GetEntities(t => noticeIds.Contains(t.ID) && t.STATUS == PFStandardStatus.Sign, newFilter).ToList(); + updateNotices.ForEach(t => t.STATUS = PFStandardStatus.Close); + //var sourceIds = tasks.Select(i => i.SOURCE_DATA_ID).ToList(); + //notices.ForEach(m => { + // m.Nav_CheckNoticeDetails = null; + // m.Nav_CheckNoticeFiles = null; + //}); //notices.Where(t => sourceIds.Contains(t.ID)).ForEach(m => m.STATUS = PFStandardStatus.Close); //notices.Where(t => !sourceIds.Contains(t.ID)).ForEach(m => m.STATUS = PFStandardStatus.Archived); } + else + { + var newFilter = new BaseFilter(filter.GetOrgId()); + newFilter.IgnoreDataRule = true; + updateNotices = this.GetEntities(t => recordExsisIds.Contains(t.ID) && t.STATUS == PFStandardStatus.Sign, newFilter).ToList(); + updateNotices.ForEach(t => t.STATUS = PFStandardStatus.Close); + } UnifiedCommit(() => - { + { + if (updateNotices != null && updateNotices.Any()) + BantchSaveEntityNoCommit(updateNotices); //if (notices != null && notices.Any()) // BantchSaveEntityNoCommit(notices); if (tasks != null && tasks.Any()) @@ -828,6 +842,7 @@ namespace APT.PP.WebApi.Controllers.Api sum.ORG_ID = noticeFirst.ORG_ID; sum.SECURITY_INSPECTION_NOTICE_ID = id; sum.APPLY_DEPARTMENT_ID = noticeFirst.APPLY_DEPARTMENT_ID; + sum.PRODUCTION_UNIT_ID = noticeFirst.PRODUCTION_UNIT_ID; sum.APPLY_USER_ID = noticeFirst.APPLY_USER_ID; sum.CHECK_PERSON = noticeFirst.CHECK_PERSON; sum.CHECK_TIME = noticeFirst.CHECK_TIME;