diff --git a/APT.BaseData.Services/Services/PF/PFApproveCallBackService.cs b/APT.BaseData.Services/Services/PF/PFApproveCallBackService.cs index 1d6caa1..984b80d 100644 --- a/APT.BaseData.Services/Services/PF/PFApproveCallBackService.cs +++ b/APT.BaseData.Services/Services/PF/PFApproveCallBackService.cs @@ -11337,27 +11337,36 @@ namespace APT.BaseData.Services.DomainServices { var entity = this.GetEntity(modelApp != null ? modelApp.DATA_ID : entityInt.DATA_ID); entity.STATUS = PFStandardStatus.Archived; - var reportDetails = this.GetEntities(t => t.HIDDEN_DANGER_REPORT_ID == entity.ID, new BaseFilter(entity.ORG_ID), "Nav_ReportDetailFiles", "Nav_ReportDetailBasics"); + var reportDetails = this.GetEntities(t => t.HIDDEN_DANGER_REPORT_ID == entity.ID, new BaseFilter(entity.ORG_ID), "Nav_ReportDetailFiles", "Nav_ReportDetailBasics", "Nav_ReportDetailReasons"); //List reportDetails = new List(); List sendNotices = new List(); List records = new List(); List photoList = new List(); - List basicList = new List(); + List basicList = new List(); + List notices = new List(); List nfileList = new List(); List noticeDetails = new List(); List noticeBasicList = new List(); - List noticeFileList = new List(); - List prevents = new List(); - List fileList = new List(); + List noticeFileList = new List(); + List noticeReasonList = new List(); + List reasonList = new List(); if (entity != null && reportDetails != null && reportDetails.Any()) { - var users = this.GetEntities(t => t.ENABLE_STATUS == 0, new BaseFilter(entity.ORG_ID), "Nav_ApproveRole"); + var users = this.GetEntities(t => t.ENABLE_STATUS == 0, new BaseFilter(entity.ORG_ID), "Nav_ApproveRole"); + var departs = this.GetEntities(t => t.ENABLE_STATUS == 0, new BaseFilter(entity.ORG_ID), "Nav_User"); var random = new Random(); foreach (var detail in reportDetails) - { + { + var departId = users.FirstOrDefault(t => t.ID == detail.RECITIFY_USER_ID).DEPARTMENT_ID; + var departUserId = departs.FirstOrDefault(t => t.ID == departId)?.USER_ID; if (detail.RECITIFY_USER_ID == entity.APPLY_USER_ID) - { + { + var acceptUser = users.FirstOrDefault(t => t.DEPARTMENT_ID == departId && t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("安全员")); + if (acceptUser == null || (acceptUser != null && acceptUser.ID == detail.RECITIFY_USER_ID)) + { + acceptUser = users.FirstOrDefault(t => t.DEPARTMENT_ID == departId && t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("负责人")); + } var user = users.FirstOrDefault(t => t.ID == entity.APPLY_USER_ID); detail.ISCHECK = true; detail.CHECKTIME = DateTime.Now; @@ -11374,9 +11383,11 @@ namespace APT.BaseData.Services.DomainServices record.RISK_AREA_ID = detail.RISK_AREA_ID; record.HIDDEN_PLACE = detail.HIDDEN_PLACE; record.HIDDEN_DESCRIPTION = detail.HIDDEN_DESCRIPTION; - record.HIDDEN_LEVEL = detail.HIDDEN_LEVEL; - record.RECITIFY_TIME = detail.RECITIFY_TIME; - record.RECITIFY_USER_ID = detail.RECITIFY_USER_ID; + record.HIDDEN_LEVEL = detail.HIDDEN_LEVEL; + record.RECITIFY_TIME = detail.RECITIFY_TIME; + record.RECITIFY_USER_ID = detail.RECITIFY_USER_ID; + record.IMPLEMENT_USER_ID = detail.RECITIFY_USER_ID; + record.ACCEPT_USER_ID = acceptUser.ID; record.CHECK_PERSON = entity.CHECK_PERSON; record.CHECK_TYPE_ID = entity.CHECK_TYPE_ID; record.CHECK_QUESTION_ID = detail.CHECK_QUESTION_ID; @@ -11405,6 +11416,17 @@ namespace APT.BaseData.Services.DomainServices basicList.Add(file); } } + if (detail.Nav_ReportDetailReasons != null && detail.Nav_ReportDetailReasons.Any()) + { + foreach (var item in detail.Nav_ReportDetailReasons) + { + T_SK_HIDDEN_DANGER_RECTIFY_RECORD_REASON file = new T_SK_HIDDEN_DANGER_RECTIFY_RECORD_REASON(); + file.ORG_ID = item.ORG_ID; + file.REASON_ID = item.REASON_ID; + file.HIDDEN_DANGER_RECTIFY_RECORD_ID = record.ID; + reasonList.Add(file); + } + } var endtime = DateTime.Now.AddDays(3); if (record.RECITIFY_TIME != null && record.RECITIFY_TIME != DateTime.MinValue) { @@ -11416,6 +11438,84 @@ namespace APT.BaseData.Services.DomainServices detail.Nav_ReportDetailFiles = null; detail.Nav_ReportDetailBasics = null; //reportDetails.Add(detail); + } + else if (departUserId != null && detail.RECITIFY_USER_ID != departUserId) + { + var acceptUser = users.FirstOrDefault(t => t.DEPARTMENT_ID == departId && t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("安全员")); + if (acceptUser == null || (acceptUser != null && acceptUser.ID == detail.RECITIFY_USER_ID)) + { + acceptUser = users.FirstOrDefault(t => t.DEPARTMENT_ID == departId && t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("负责人")); + } + var user = users.FirstOrDefault(t => t.ID == detail.RECITIFY_USER_ID); + detail.ISCHECK = true; + detail.CHECKTIME = DateTime.Now; + T_SK_HIDDEN_DANGER_RECTIFY_RECORD record = new T_SK_HIDDEN_DANGER_RECTIFY_RECORD(); + record.ORG_ID = detail.ORG_ID; + record.APPLY_USER_ID = entity.APPLY_USER_ID; + record.APPLY_DEPARTMENT_ID = entity.APPLY_DEPARTMENT_ID; + record.HIDDEN_DANGER_REPORT_ID = entity.ID; + record.HIDDEN_DANGER_REPORT_DETAIL_ID = detail.ID; + record.HIDDEN_DANGER_CONFIRM_ID = null; + record.CODE = "YHZG" + DateTime.Now.ToShortDateString().Replace("/", "") + random.Next(1, 999); + record.MineType = entity.MineType; + record.RISK_AREA_ID = detail.RISK_AREA_ID; + record.HIDDEN_PLACE = detail.HIDDEN_PLACE; + record.HIDDEN_DESCRIPTION = detail.HIDDEN_DESCRIPTION; + record.HIDDEN_LEVEL = detail.HIDDEN_LEVEL; + record.PRODUCTION_UNIT_ID = entity.PRODUCTION_UNIT_ID; + record.RECITIFY_TIME = detail.RECITIFY_TIME; + record.RECITIFY_USER_ID = detail.RECITIFY_USER_ID; + record.IMPLEMENT_USER_ID = detail.RECITIFY_USER_ID; + record.ACCEPT_USER_ID = acceptUser.ID; + record.CHECK_PERSON = entity.CHECK_PERSON; + record.CHECK_TYPE_ID = entity.CHECK_TYPE_ID; + record.CHECK_QUESTION_ID = detail.CHECK_QUESTION_ID; + record.CHECK_CONTENTS_ID = detail.CHECK_CONTENTS_ID; + record.CHECK_TIME = entity.CHECK_TIME; + records.Add(record); + if (detail.Nav_ReportDetailFiles != null && detail.Nav_ReportDetailFiles.Any()) + { + foreach (var item in detail.Nav_ReportDetailFiles) + { + T_SK_HIDDEN_DANGER_RECTIFY_RECORD_PHOTOA file = new T_SK_HIDDEN_DANGER_RECTIFY_RECORD_PHOTOA(); + file.ORG_ID = item.ORG_ID; + file.IMG_FILE_ID = item.IMG_FILE_ID; + file.HIDDEN_DANGER_RECTIFY_RECORD_ID = record.ID; + photoList.Add(file); + } + } + if (detail.Nav_ReportDetailBasics != null && detail.Nav_ReportDetailBasics.Any()) + { + foreach (var item in detail.Nav_ReportDetailBasics) + { + T_SK_HIDDEN_DANGER_RECTIFY_RECORD_BASIC file = new T_SK_HIDDEN_DANGER_RECTIFY_RECORD_BASIC(); + file.ORG_ID = item.ORG_ID; + file.LAW_ID = item.LAW_ID; + file.HIDDEN_DANGER_RECTIFY_RECORD_ID = record.ID; + basicList.Add(file); + } + } + if (detail.Nav_ReportDetailReasons != null && detail.Nav_ReportDetailReasons.Any()) + { + foreach (var item in detail.Nav_ReportDetailReasons) + { + T_SK_HIDDEN_DANGER_RECTIFY_RECORD_REASON file = new T_SK_HIDDEN_DANGER_RECTIFY_RECORD_REASON(); + file.ORG_ID = item.ORG_ID; + file.REASON_ID = item.REASON_ID; + file.HIDDEN_DANGER_RECTIFY_RECORD_ID = record.ID; + reasonList.Add(file); + } + } + var endtime = DateTime.Now.AddDays(3); + if (record.RECITIFY_TIME != null && record.RECITIFY_TIME != DateTime.MinValue) + { + endtime = DateTime.Parse(record.RECITIFY_TIME.Value.ToShortDateString() + " 23:59:59"); + } + var sendNotice = NotificationTaskService.InsertUserNoticeTaskModel("隐患整改记录表", record.ID, record.ORG_ID, user.ID, user.NAME, DateTime.Now, + endtime, (int)FMNoticeTypeEnum.消息, "SK022"); + sendNotices.Add(sendNotice); + detail.Nav_ReportDetailFiles = null; + detail.Nav_ReportDetailBasics = null; } else { @@ -11481,8 +11581,18 @@ namespace APT.BaseData.Services.DomainServices file.HIDDEN_DANGER_RECTIFY_NOTICE_DETAIL_ID = noticeDetail.ID; noticeBasicList.Add(file); } + } + if (detail.Nav_ReportDetailReasons != null && detail.Nav_ReportDetailReasons.Any()) + { + foreach (var item in detail.Nav_ReportDetailReasons) + { + T_SK_HIDDEN_DANGER_RECTIFY_NOTICE_DETAIL_REASON file = new T_SK_HIDDEN_DANGER_RECTIFY_NOTICE_DETAIL_REASON(); + file.ORG_ID = item.ORG_ID; + file.REASON_ID = item.REASON_ID; + file.HIDDEN_DANGER_RECTIFY_NOTICE_DETAIL_ID = noticeDetail.ID; + noticeReasonList.Add(file); + } } - var departId = users.FirstOrDefault(t => t.ID == detail.RECITIFY_USER_ID).DEPARTMENT_ID; var user = users.FirstOrDefault(t => t.DEPARTMENT_ID == departId && t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("安全员")); if (user == null) { @@ -11497,7 +11607,7 @@ namespace APT.BaseData.Services.DomainServices var checkUser = users.FirstOrDefault(t => t.ID == detail.RECITIFY_USER_ID); if (checkUser != null) { - var sendNotice = NotificationTaskService.InsertUserNoticeTaskModel("隐患上报表(" + DateTime.Now.ToShortDateString().Replace("/", "") + ")-确认", entity.ID, entity.ORG_ID, checkUser.ID, checkUser.NAME, DateTime.Now, + var sendNotice = NotificationTaskService.InsertUserNoticeTaskModel("隐患上报表" + DateTime.Now.Month.PadLeft(2,'0')+ DateTime.Now.Day.PadLeft(2, '0') + "-确认", entity.ID, entity.ORG_ID, checkUser.ID, checkUser.NAME, DateTime.Now, DateTime.Now.AddHours(24), (int)FMNoticeTypeEnum.消息, "SK014_SHOWPRINT"); sendNotices.Add(sendNotice); } @@ -11573,16 +11683,16 @@ namespace APT.BaseData.Services.DomainServices this.BantchSaveEntityNoCommit(photoList); if (basicList != null && basicList.Any()) this.BantchSaveEntityNoCommit(basicList); + if (reasonList != null && reasonList.Any()) + this.BantchSaveEntityNoCommit(reasonList); if (noticeDetails != null && noticeDetails.Any()) this.BantchSaveEntityNoCommit(noticeDetails); if (noticeFileList != null && noticeFileList.Any()) this.BantchSaveEntityNoCommit(noticeFileList); if (noticeBasicList != null && noticeBasicList.Any()) this.BantchSaveEntityNoCommit(noticeBasicList); - if (prevents != null && prevents.Any()) - this.BantchSaveEntityNoCommit(prevents); - if (fileList != null && fileList.Any()) - this.BantchSaveEntityNoCommit(fileList); + if (noticeReasonList != null && noticeReasonList.Any()) + this.BantchSaveEntityNoCommit(noticeReasonList); }); } return true; @@ -11618,7 +11728,7 @@ namespace APT.BaseData.Services.DomainServices } else { - var entity = this.GetEntity(modelApp != null ? modelApp.DATA_ID : entityInt.DATA_ID, "Nav_Report"); + var entity = this.GetEntity(modelApp != null ? modelApp.DATA_ID : entityInt.DATA_ID, "Nav_Report", "Nav_Reasons"); entity.STATUS = PFStandardStatus.Archived; var photos = this.GetEntities(t => t.HIDDEN_DANGER_CONFIRM_ID == entity.ID, new BaseFilter(entity.ORG_ID)); var users = this.GetEntities(t => t.ENABLE_STATUS == 0, new BaseFilter(entity.ORG_ID), "Nav_ApproveRole"); @@ -11629,7 +11739,9 @@ namespace APT.BaseData.Services.DomainServices List photoList = new List(); T_SK_HIDDEN_DANGER_RECTIFY_NOTICE notice = null; List noticeDetails = new List(); - List noticeFileList = new List(); + List noticeFileList = new List(); + List noticeReasonList = new List(); + List reasonList = new List(); //if (entity != null && entity.IS_STORE == SKIsStoreEnum.Yes && entity.RECITIFY_USER_ID != null) //{ // //触发双重预防机制 @@ -11672,9 +11784,16 @@ namespace APT.BaseData.Services.DomainServices // } //} if (entity != null && entity.RECITIFY_USER_ID != null) - { + { + var departId = users.FirstOrDefault(t => t.ID == entity.RECITIFY_USER_ID).DEPARTMENT_ID; + var departUserId = this.GetEntity(t => t.ID == departId)?.USER_ID; if (entity.RECITIFY_USER_ID == entity.APPLY_USER_ID) - { + { + var acceptUser = users.FirstOrDefault(t => t.DEPARTMENT_ID == departId && t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("安全员")); + if (acceptUser == null || (acceptUser != null && acceptUser.ID == entity.RECITIFY_USER_ID)) + { + acceptUser = users.FirstOrDefault(t => t.DEPARTMENT_ID == departId && t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("负责人")); + } var user = users.FirstOrDefault(t => t.ID == entity.APPLY_USER_ID); record = new T_SK_HIDDEN_DANGER_RECTIFY_RECORD(); record.APPLY_DEPARTMENT_ID = entity.APPLY_DEPARTMENT_ID; @@ -11695,7 +11814,9 @@ namespace APT.BaseData.Services.DomainServices record.RECITIFY_USER_ID = entity.RECITIFY_USER_ID; record.CHECK_TYPE_ID = entity.CHECK_TYPE_ID; record.CHECK_TIME = entity.Nav_Report?.CREATE_TIME; - record.CHECK_PERSON = user.NAME; + record.CHECK_PERSON = user.NAME; + record.IMPLEMENT_USER_ID = entity.RECITIFY_USER_ID; + record.ACCEPT_USER_ID = acceptUser.ID; record.RECTIFICATION_MEASURES = entity.RECTIFICATION_MEASURES; if (photos != null && photos.Any()) { @@ -11707,6 +11828,17 @@ namespace APT.BaseData.Services.DomainServices file.HIDDEN_DANGER_RECTIFY_RECORD_ID = record.ID; photoList.Add(file); } + } + if (entity.Nav_Reasons != null && entity.Nav_Reasons.Any()) + { + foreach (var item in entity.Nav_Reasons) + { + T_SK_HIDDEN_DANGER_RECTIFY_RECORD_REASON file = new T_SK_HIDDEN_DANGER_RECTIFY_RECORD_REASON(); + file.ORG_ID = item.ORG_ID; + file.REASON_ID = item.REASON_ID; + file.HIDDEN_DANGER_RECTIFY_RECORD_ID = record.ID; + reasonList.Add(file); + } } var endtime = DateTime.Now.AddDays(3); if (record.RECITIFY_TIME != null && record.RECITIFY_TIME != DateTime.MinValue) @@ -11716,6 +11848,71 @@ namespace APT.BaseData.Services.DomainServices var sendNotice = NotificationTaskService.InsertUserNoticeTaskModel("隐患整改记录表", record.ID, record.ORG_ID, user.ID, user.NAME, DateTime.Now, endtime, (int)FMNoticeTypeEnum.消息, "SK022"); sendNotices.Add(sendNotice); + } + else if (departUserId != null && entity.RECITIFY_USER_ID != departUserId) + { + var user = users.FirstOrDefault(t => t.ID == entity.RECITIFY_USER_ID); + if (user != null) + { + var acceptUser = users.FirstOrDefault(t => t.DEPARTMENT_ID == departId && t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("安全员")); + if (acceptUser == null || (acceptUser != null && acceptUser.ID == entity.RECITIFY_USER_ID)) + { + acceptUser = users.FirstOrDefault(t => t.DEPARTMENT_ID == departId && t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("负责人")); + } + record = new T_SK_HIDDEN_DANGER_RECTIFY_RECORD(); + record.APPLY_DEPARTMENT_ID = entity.APPLY_DEPARTMENT_ID; + record.APPLY_USER_ID = entity.APPLY_USER_ID; + record.ORG_ID = entity.ORG_ID; + record.HIDDEN_DANGER_REPORT_ID = entity.Nav_Report?.ID; + record.HIDDEN_DANGER_CONFIRM_ID = entity.ID; + record.CODE = "YHZG" + DateTime.Now.ToShortDateString().Replace("/", "") + new Random().Next(1, 999); + record.MineType = entity.MineType; + record.PRODUCTION_UNIT_ID = entity.PRODUCTION_UNIT_ID; + record.RISK_AREA_ID = entity.RISK_AREA_ID; + record.HIDDEN_PLACE = entity.HIDDEN_PLACE; + record.CHECK_CONTENTS_ID = entity.CHECK_CONTENTS_ID; + record.CHECK_QUESTION_ID = entity.CHECK_QUESTION_ID; + record.HIDDEN_DESCRIPTION = entity.HIDDEN_DESCRIPTION; + record.HIDDEN_LEVEL = entity.HIDDEN_LEVEL; + record.RECITIFY_TIME = entity.RECITIFY_TIME; + record.RECITIFY_USER_ID = entity.RECITIFY_USER_ID; + record.CHECK_TYPE_ID = entity.CHECK_TYPE_ID; + record.CHECK_TIME = entity.Nav_Report?.CREATE_TIME; + record.CHECK_PERSON = user.NAME; + record.IMPLEMENT_USER_ID = entity.RECITIFY_USER_ID; + record.ACCEPT_USER_ID = acceptUser.ID; + record.RECTIFICATION_MEASURES = entity.RECTIFICATION_MEASURES; + if (photos != null && photos.Any()) + { + foreach (var item in photos) + { + T_SK_HIDDEN_DANGER_RECTIFY_RECORD_PHOTOA file = new T_SK_HIDDEN_DANGER_RECTIFY_RECORD_PHOTOA(); + file.ORG_ID = item.ORG_ID; + file.IMG_FILE_ID = item.IMG_FILE_ID; + file.HIDDEN_DANGER_RECTIFY_RECORD_ID = record.ID; + photoList.Add(file); + } + } + if (entity.Nav_Reasons != null && entity.Nav_Reasons.Any()) + { + foreach (var item in entity.Nav_Reasons) + { + T_SK_HIDDEN_DANGER_RECTIFY_RECORD_REASON file = new T_SK_HIDDEN_DANGER_RECTIFY_RECORD_REASON(); + file.ORG_ID = item.ORG_ID; + file.REASON_ID = item.REASON_ID; + file.HIDDEN_DANGER_RECTIFY_RECORD_ID = record.ID; + reasonList.Add(file); + } + } + var endtime = DateTime.Now.AddDays(3); + if (record.RECITIFY_TIME != null && record.RECITIFY_TIME != DateTime.MinValue) + { + endtime = DateTime.Parse(record.RECITIFY_TIME.Value.ToShortDateString() + " 23:59:59"); + } + var sendNotice = NotificationTaskService.InsertUserNoticeTaskModel("隐患整改记录表", record.ID, record.ORG_ID, user.ID, user.NAME, DateTime.Now, + endtime, (int)FMNoticeTypeEnum.消息, "SK022"); + sendNotices.Add(sendNotice); + } } else { @@ -11759,7 +11956,17 @@ namespace APT.BaseData.Services.DomainServices noticeFileList.Add(file); } } - var departId = users.FirstOrDefault(t => t.ID == entity.RECITIFY_USER_ID).DEPARTMENT_ID; + if (entity.Nav_Reasons != null && entity.Nav_Reasons.Any()) + { + foreach (var item in entity.Nav_Reasons) + { + T_SK_HIDDEN_DANGER_RECTIFY_NOTICE_DETAIL_REASON file = new T_SK_HIDDEN_DANGER_RECTIFY_NOTICE_DETAIL_REASON(); + file.ORG_ID = item.ORG_ID; + file.REASON_ID = item.REASON_ID; + file.HIDDEN_DANGER_RECTIFY_NOTICE_DETAIL_ID = noticeDetail.ID; + noticeReasonList.Add(file); + } + } var user = users.FirstOrDefault(t => t.DEPARTMENT_ID == departId && t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("安全员")); if (user == null) { @@ -11794,13 +12001,17 @@ namespace APT.BaseData.Services.DomainServices if (record != null) this.UpdateEntityNoCommit(record); if (photoList != null && photoList.Any()) - this.BantchSaveEntityNoCommit(photoList); + this.BantchSaveEntityNoCommit(photoList); + if (reasonList != null && reasonList.Any()) + this.BantchSaveEntityNoCommit(reasonList); if (notice != null) this.UpdateEntityNoCommit(notice); if (noticeDetails != null && noticeDetails.Any()) this.BantchSaveEntityNoCommit(noticeDetails); if (noticeFileList != null && noticeFileList.Any()) - this.BantchSaveEntityNoCommit(noticeFileList); + this.BantchSaveEntityNoCommit(noticeFileList); + if (noticeReasonList != null && noticeReasonList.Any()) + this.BantchSaveEntityNoCommit(noticeReasonList); }); } return true; diff --git a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/HiddenDangerRectifyRecordController.cs b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/HiddenDangerRectifyRecordController.cs index 3ac949e..b3c7e11 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/HiddenDangerRectifyRecordController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/HiddenDangerRectifyRecordController.cs @@ -126,7 +126,10 @@ namespace APT.SK.WebApi.Controllers { if (entity.ACCEPT_USER_ID != null) { - entity.STATUS = PFStandardStatus.Sign; + entity.STATUS = PFStandardStatus.Sign; + entity.ACCEPT_OPINION = null; + entity.ACCEPT_RESULTE = SKAcceptResultEnum.Yes; + entity.ACCEPT_DATE = DateTime.Now; var departName = this.GetEntity(t => t.ID == entity.APPLY_DEPARTMENT_ID && t.ENABLE_STATUS == 0)?.NAME; var UserNames = new List(); var user = this.GetEntity(t => t.ENABLE_STATUS == (int)FMEnableStatusEnum.启用 && t.ID == entity.ACCEPT_USER_ID); diff --git a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/SecurityInspectionRecordController.cs b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/SecurityInspectionRecordController.cs index 73b9fd0..5c10f0b 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/SecurityInspectionRecordController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/SecurityInspectionRecordController.cs @@ -469,10 +469,12 @@ namespace APT.SK.WebApi.Controllers.Api List deleteUserIds = new List(); List deleteFileIds = new List(); List deleteBasicIds = new List(); - List deleteDetailIds = new List(); + List deleteDetailIds = new List(); + List deleteReasonIds = new List(); List userList = new List(); List basicList = new List(); - List fileList = new List(); + List fileList = new List(); + List reasonList = new List(); if (details != null && details.Any()) { var evaluationIsExist = this.GetEntity(t => t.ID == entity.ID, new string[] { "Nav_CheckRecordDetails", "Nav_CheckRecordDetails.Nav_CheckRecordDetailUsers", "Nav_CheckRecordDetails.Nav_CheckRecordDetailFiles", "Nav_CheckRecordDetails.Nav_CheckRecordDetailBasics" }); @@ -495,6 +497,11 @@ namespace APT.SK.WebApi.Controllers.Api { var tempIds = t.Nav_CheckRecordDetailBasics.Select(m => m.ID).ToList(); deleteBasicIds.AddRange(tempIds); + } + if (t.Nav_CheckRecordDetailReasons != null && t.Nav_CheckRecordDetailReasons.Any()) + { + var tempIds = t.Nav_CheckRecordDetailReasons.Select(m => m.ID).ToList(); + deleteReasonIds.AddRange(tempIds); } deleteDetailIds.Add(t.ID); }); @@ -562,6 +569,16 @@ namespace APT.SK.WebApi.Controllers.Api item2.Nav_Law = null; basicList.Add(item2); } + } + if (item.Nav_CheckRecordDetailReasons != null && item.Nav_CheckRecordDetailReasons.Any()) + { + foreach (var item2 in item.Nav_CheckRecordDetailReasons) + { + item2.ORG_ID = entity.ORG_ID; + item2.SECURITY_INSPECTION_RECORD_DETAIL_ID = item.ID; + item2.Nav_Reason = null; + reasonList.Add(item2); + } } item.ORG_ID = entity.ORG_ID; item.SECURITY_INSPECTION_RECORD_ID = entity.ID; @@ -608,12 +625,14 @@ namespace APT.SK.WebApi.Controllers.Api List summaryFiles = new List(); List summaryDetails = new List(); List summaryDetailUsers = new List(); - List summaryDetailBasics = new List(); + List summaryDetailBasics = new List(); + List summaryDetailReasons = new List(); List summaryDetailFiles = new List(); T_SK_HIDDEN_DANGER_REPORT report = null; List reportDetails = new List(); List reportDetailFiles = new List(); - List reportDetailBasics = new List(); + List reportDetailBasics = new List(); + List reportDetailReasons = new List(); if (entity.PUBLISH != null && entity.PUBLISH.Equals("SaveAndNotify")) { var checkTypeIds = this.GetEntities(t => t.NAME.Contains("岗位排查"), new BaseFilter(entity.ORG_ID)).Select(t => t.ID).ToList(); @@ -668,7 +687,8 @@ namespace APT.SK.WebApi.Controllers.Api { var tempDetails = new List(); var tempDetailUsers = new List(); - var tempDetailBasics = new List(); + var tempDetailBasics = new List(); + var tempDetailReasons = new List(); var tempDetailFiles = new List(); var recordFileTemps = this.GetEntities(t => recordTempIds.Contains(t.SECURITY_INSPECTION_RECORD_ID), new BaseFilter(entity.ORG_ID)).ToList(); recordFileTemps.AddRange(files); @@ -682,7 +702,7 @@ namespace APT.SK.WebApi.Controllers.Api summaryFiles.Add(summaryFile); } summaryFiles = summaryFiles.Distinct(t => t.IMG_FILE_ID).ToList(); - var recordDetailTemps = this.GetEntities(t => recordTempIds.Contains(t.SECURITY_INSPECTION_RECORD_ID), new BaseFilter(entity.ORG_ID), "Nav_CheckRecordDetailUsers", "Nav_CheckRecordDetailBasics", "Nav_CheckRecordDetailFiles").ToList(); + var recordDetailTemps = this.GetEntities(t => recordTempIds.Contains(t.SECURITY_INSPECTION_RECORD_ID), new BaseFilter(entity.ORG_ID), "Nav_CheckRecordDetailUsers", "Nav_CheckRecordDetailBasics", "Nav_CheckRecordDetailFiles", "Nav_CheckRecordDetailReasons").ToList(); recordDetailTemps.AddRange(details); foreach (var itemDetail in recordDetailTemps) { @@ -737,6 +757,18 @@ namespace APT.SK.WebApi.Controllers.Api summaryFile.IMG_FILE_ID = itemFile.IMG_FILE_ID; tempDetailFiles.Add(summaryFile); } + } + if (itemDetail.Nav_CheckRecordDetailReasons != null && itemDetail.Nav_CheckRecordDetailReasons.Any()) + { + foreach (var itemFile in itemDetail.Nav_CheckRecordDetailReasons) + { + T_SK_SECURITY_INSPECTION_RECORD_SUMMARY_DETAIL_REASON summaryFile = new T_SK_SECURITY_INSPECTION_RECORD_SUMMARY_DETAIL_REASON(); + summaryFile.ORG_ID = entity.ORG_ID; + summaryFile.SECURITY_INSPECTION_RECORD_SUMMARY_DETAIL_ID = summaryDetail.ID; + summaryFile.Nav_Reason = null; + summaryFile.REASON_ID = itemFile.REASON_ID; + tempDetailReasons.Add(summaryFile); + } } } var groupDetails = tempDetails.Where(t => t.CHECK_RESULT == SKCheckResultEnum.Yes).ToList(); @@ -789,6 +821,19 @@ namespace APT.SK.WebApi.Controllers.Api summaryDetailBasics.Add(summaryBasic); } } + var groupReasons = tempDetailReasons.Where(t => ids.Contains(t.SECURITY_INSPECTION_RECORD_SUMMARY_DETAIL_ID)).Select(m => m.REASON_ID).Distinct().ToList(); + if (groupReasons.Any()) + { + foreach (var itemBasic in groupReasons) + { + T_SK_SECURITY_INSPECTION_RECORD_SUMMARY_DETAIL_REASON summaryBasic = new T_SK_SECURITY_INSPECTION_RECORD_SUMMARY_DETAIL_REASON(); + summaryBasic.ORG_ID = entity.ORG_ID; + summaryBasic.SECURITY_INSPECTION_RECORD_SUMMARY_DETAIL_ID = summaryDetail.ID; + summaryBasic.Nav_Reason = null; + summaryBasic.REASON_ID = itemBasic; + summaryDetailReasons.Add(summaryBasic); + } + } var groupFiles = tempDetailFiles.Where(t => ids.Contains(t.SECURITY_INSPECTION_RECORD_SUMMARY_DETAIL_ID)).Select(m => m.IMG_FILE_ID).Distinct().ToList(); if (groupFiles.Any()) { @@ -874,6 +919,18 @@ namespace APT.SK.WebApi.Controllers.Api summaryFile.IMG_FILE_ID = itemFile.IMG_FILE_ID; summaryDetailFiles.Add(summaryFile); } + } + if (itemDetail.Nav_CheckRecordDetailReasons != null && itemDetail.Nav_CheckRecordDetailReasons.Any()) + { + foreach (var itemFile in itemDetail.Nav_CheckRecordDetailReasons) + { + T_SK_SECURITY_INSPECTION_RECORD_SUMMARY_DETAIL_REASON summaryFile = new T_SK_SECURITY_INSPECTION_RECORD_SUMMARY_DETAIL_REASON(); + summaryFile.ORG_ID = entity.ORG_ID; + summaryFile.SECURITY_INSPECTION_RECORD_SUMMARY_DETAIL_ID = summaryDetail.ID; + summaryFile.Nav_Reason = null; + summaryFile.REASON_ID = itemFile.REASON_ID; + summaryDetailReasons.Add(summaryFile); + } } } } @@ -948,6 +1005,18 @@ namespace APT.SK.WebApi.Controllers.Api summaryFile.IMG_FILE_ID = itemFile.IMG_FILE_ID; summaryDetailFiles.Add(summaryFile); } + } + if (itemDetail.Nav_CheckRecordDetailReasons != null && itemDetail.Nav_CheckRecordDetailReasons.Any()) + { + foreach (var itemFile in itemDetail.Nav_CheckRecordDetailReasons) + { + T_SK_SECURITY_INSPECTION_RECORD_SUMMARY_DETAIL_REASON summaryFile = new T_SK_SECURITY_INSPECTION_RECORD_SUMMARY_DETAIL_REASON(); + summaryFile.ORG_ID = entity.ORG_ID; + summaryFile.SECURITY_INSPECTION_RECORD_SUMMARY_DETAIL_ID = summaryDetail.ID; + summaryFile.Nav_Reason = null; + summaryFile.REASON_ID = itemFile.REASON_ID; + summaryDetailReasons.Add(summaryFile); + } } } } @@ -967,6 +1036,7 @@ namespace APT.SK.WebApi.Controllers.Api } var detailIds = summaryDetails.Select(m => m.ID).ToList(); summaryDetailBasics = summaryDetailBasics.Where(t => detailIds.Contains(t.SECURITY_INSPECTION_RECORD_SUMMARY_DETAIL_ID)).ToList(); + summaryDetailReasons = summaryDetailReasons.Where(t => detailIds.Contains(t.SECURITY_INSPECTION_RECORD_SUMMARY_DETAIL_ID)).ToList(); summaryDetailFiles = summaryDetailFiles.Where(t => detailIds.Contains(t.SECURITY_INSPECTION_RECORD_SUMMARY_DETAIL_ID)).ToList(); summaryDetailUsers = summaryDetailUsers.Where(t => detailIds.Contains(t.SECURITY_INSPECTION_RECORD_SUMMARY_DETAIL_ID)).ToList(); } @@ -1047,6 +1117,18 @@ namespace APT.SK.WebApi.Controllers.Api reportDetailBasics.Add(file); } } + if (item.Nav_CheckRecordDetailReasons != null && item.Nav_CheckRecordDetailReasons.Any()) + { + foreach (var item2 in item.Nav_CheckRecordDetailReasons) + { + T_SK_HIDDEN_DANGER_REPORT_DETAIL_REASON file = new T_SK_HIDDEN_DANGER_REPORT_DETAIL_REASON(); + file.ORG_ID = item2.ORG_ID; + file.HIDDEN_DANGER_REPORT_DETAIL_ID = detail.ID; + file.REASON_ID = item2.REASON_ID; + file.Nav_Reason = null; + reportDetailReasons.Add(file); + } + } } //发消息 var notice = NotificationTaskService.InsertUserNoticeTaskModel("岗位排查表-隐患上报", report.ID, report.ORG_ID, (Guid)monitor.USER_ID, monitor.Nav_User?.NAME, DateTime.Now, @@ -1065,6 +1147,7 @@ namespace APT.SK.WebApi.Controllers.Api t.Nav_Question = null; t.Nav_Contents = null; t.Nav_CheckRecordDetailBasics = null; + t.Nav_CheckRecordDetailReasons = null; //t.Nav_CheckRecordDetailFiles = null; t.Nav_CheckRecordDetailUsers = null; }); @@ -1077,7 +1160,9 @@ namespace APT.SK.WebApi.Controllers.Api if (deleteUserIds != null && deleteUserIds.Any()) this.BantchDeleteEntityNoCommit(deleteUserIds); if (deleteBasicIds != null && deleteBasicIds.Any()) - this.BantchDeleteEntityNoCommit(deleteBasicIds); + this.BantchDeleteEntityNoCommit(deleteBasicIds); + if (deleteReasonIds != null && deleteReasonIds.Any()) + this.BantchDeleteEntityNoCommit(deleteReasonIds); if (deleteFileIds != null && deleteFileIds.Any()) this.BantchDeleteEntityNoCommit(deleteFileIds); if (deleteDetailIds != null && deleteDetailIds.Any()) @@ -1088,6 +1173,8 @@ namespace APT.SK.WebApi.Controllers.Api BantchSaveEntityNoCommit(userList); if (basicList != null && basicList.Any()) BantchSaveEntityNoCommit(basicList); + if (reasonList != null && reasonList.Any()) + BantchSaveEntityNoCommit(reasonList); if (fileList != null && fileList.Any()) BantchSaveEntityNoCommit(fileList); if (files != null && files.Any()) @@ -1099,7 +1186,9 @@ namespace APT.SK.WebApi.Controllers.Api if (summaryDetails != null && summaryDetails.Any()) BantchSaveEntityNoCommit(summaryDetails); if (summaryDetailUsers != null && summaryDetailUsers.Any()) - BantchSaveEntityNoCommit(summaryDetailUsers); + BantchSaveEntityNoCommit(summaryDetailUsers); + if (summaryDetailReasons != null && summaryDetailReasons.Any()) + BantchSaveEntityNoCommit(summaryDetailReasons); if (summaryDetailBasics != null && summaryDetailBasics.Any()) BantchSaveEntityNoCommit(summaryDetailBasics); if (summaryFiles != null && summaryFiles.Any()) @@ -1113,7 +1202,9 @@ namespace APT.SK.WebApi.Controllers.Api if (reportDetailFiles != null && reportDetailFiles.Any()) BantchSaveEntityNoCommit(reportDetailFiles); if (reportDetailBasics != null && reportDetailBasics.Any()) - BantchSaveEntityNoCommit(reportDetailBasics); + BantchSaveEntityNoCommit(reportDetailBasics); + if (reportDetailReasons != null && reportDetailReasons.Any()) + BantchSaveEntityNoCommit(reportDetailReasons); }); return true; });