From 6144d0a50f82c9b74d7f97e3d56363521c970fa1 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: Wed, 19 Nov 2025 12:59:27 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E9=9A=90=E6=82=A3=E6=95=B4?= =?UTF-8?q?=E6=94=B9=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Api/SecurityInspectionNoticeController.cs | 246 +++++++++++++----- 1 file changed, 188 insertions(+), 58 deletions(-) diff --git a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/SecurityInspectionNoticeController.cs b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/SecurityInspectionNoticeController.cs index 39cfa24..751176a 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/SecurityInspectionNoticeController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/SecurityInspectionNoticeController.cs @@ -1653,6 +1653,7 @@ namespace APT.SK.WebApi.Controllers.Api { return SafeExecute>(() => { + filter.IgnoreDataRule = true; var result = new List(); if (string.IsNullOrEmpty(filter.Keyword)) { @@ -1665,6 +1666,7 @@ namespace APT.SK.WebApi.Controllers.Api Guid? safeRecordSumId = null; Guid? dangerReportId = null; Guid? rectifyNoticeId = null; + List rectifyRecordIds = new List(); List hidRectifyRecordIds = new List(); Guid Keyword = new Guid(filter.Keyword); var check = GetEntity(Keyword); @@ -1678,10 +1680,10 @@ namespace APT.SK.WebApi.Controllers.Api var sourceIds = new List(); safeNoticeId = check.ID; sourceIds.Add(check.ID); - T_SK_HIDDEN_DANGER_REPORT dangerReport = null; - var recordIds = GetEntities(e => e.SECURITY_INSPECTION_NOTICE_ID != null && e.SECURITY_INSPECTION_NOTICE_ID == check.ID,new BaseFilter(check.ORG_ID)).Select(m=>m.ID).ToList(); - sourceIds.AddRange(recordIds); - safeRecordIds.AddRange(recordIds); + T_SK_HIDDEN_DANGER_REPORT dangerReport = null; + List rectifyRecords = new List(); ; + safeRecordIds = GetEntities(e => e.SECURITY_INSPECTION_NOTICE_ID != null && e.SECURITY_INSPECTION_NOTICE_ID == check.ID, filter).Select(m=>m.ID).ToList(); + sourceIds.AddRange(safeRecordIds); var recordSum= GetEntity(e => e.SECURITY_INSPECTION_NOTICE_ID != null && e.SECURITY_INSPECTION_NOTICE_ID == check.ID); if (recordSum != null) { @@ -1697,15 +1699,15 @@ namespace APT.SK.WebApi.Controllers.Api { rectifyNoticeId = rectifyNotice.ID; sourceIds.Add(rectifyNotice.ID); - var rectifyRecordIds = GetEntities(e => e.HIDDEN_DANGER_RECTIFY_NOTICE_ID != null && e.HIDDEN_DANGER_RECTIFY_NOTICE_ID == rectifyNotice.ID,new BaseFilter(dangerReport.ORG_ID)).Select(m => m.ID).ToList(); - rectifyRecordIds.AddRange(rectifyRecordIds); + rectifyRecords = GetEntities(e => e.HIDDEN_DANGER_RECTIFY_NOTICE_ID != null && e.HIDDEN_DANGER_RECTIFY_NOTICE_ID == rectifyNotice.ID, filter).ToList(); + rectifyRecordIds = rectifyRecords.Select(m => m.ID).ToList(); sourceIds.AddRange(rectifyRecordIds); } else { - var rectifyRecordIds = GetEntities(e => e.HIDDEN_DANGER_REPORT_ID != null && e.HIDDEN_DANGER_REPORT_ID == dangerReport.ID,new BaseFilter(dangerReport.ORG_ID)).Select(m=>m.ID).ToList(); + rectifyRecords = GetEntities(e => e.HIDDEN_DANGER_REPORT_ID != null && e.HIDDEN_DANGER_REPORT_ID == dangerReport.ID, filter).ToList(); + rectifyRecordIds = rectifyRecords.Select(m => m.ID).ToList(); sourceIds.AddRange(rectifyRecordIds); - rectifyRecordIds.AddRange(rectifyRecordIds); } } } @@ -1725,7 +1727,7 @@ namespace APT.SK.WebApi.Controllers.Api var users = GetEntities(e => e.ENABLE_STATUS == 0, new BaseFilter(check.ORG_ID), null).ToList(); var checkUser = users.FirstOrDefault(t => t.ID == check.APPLY_USER_ID); var departs = GetEntities(e => e.ENABLE_STATUS == 0, new BaseFilter(check.ORG_ID), null).ToList(); - ListformCodes=new List { "SK006","SK014","SK018","SK022"}; + ListformCodes=new List { "SK006","SK014","SK022"}; var approveTemps = GetEntities(e => formCodes.Contains(e.FORM_CODE), new BaseFilter(check.ORG_ID), "Nav_ApproveTempDetails.Nav_ApproveRole").ToList(); #region 安全检查通知 OperateLog noticeLog = new OperateLog(); @@ -1747,16 +1749,17 @@ namespace APT.SK.WebApi.Controllers.Api } else { + //手动发起的检查通知 OperateLogList start = new OperateLogList(); start.USER_NAME = checkUser.NAME; start.NAME = "安全检查通知"; - start.DEAL_DATE = check.MODIFY_TIME; + start.DEAL_DATE = check.STATUS == PFStandardStatus.Draft ? null:check.MODIFY_TIME; start.CREATE_TIME = check.CREATE_TIME; - start.STATUS = 10; + start.STATUS = check.STATUS == PFStandardStatus.Draft? 0 : 10; noticeLog.logList.Add(start); } - //审批 - var approveTemp = approves.FirstOrDefault(t => t.DATA_ID == safeNoticeId); + //审批 + var approveTemp = approves.FirstOrDefault(t => t.DATA_ID == safeNoticeId); if (approveTemp == null) { //判断发起人层级,取审批模板 @@ -1793,14 +1796,14 @@ namespace APT.SK.WebApi.Controllers.Api } else { - var tempApprove = tasks.Where(t => t.SOURCE_DATA_ID == approveTemp?.ID).OrderBy(t => t.CREATE_TIME).ThenBy(m=>m.MODIFY_TIME).ToList(); + var tempApprove = tasks.Where(t => t.SOURCE_DATA_ID == approveTemp.ID).OrderBy(t => t.CREATE_TIME).ThenBy(m=>m.MODIFY_TIME).ToList(); if (tempApprove != null && tempApprove.Any()) { foreach (var item in tempApprove) { OperateLogList start1 = new OperateLogList(); start1.USER_NAME = item.USER_NAME; - start1.NAME = item.NOTICE_TITLE.Contains("驳回") ? "安全检查通知已被驳回" : item.SOURCE_FORMCODE == "PF119" ? "安全检查通知审批" : item.NOTICE_TITLE.Contains("确认") ? "安全检查通知确认" : "安全检查通知"; + start1.NAME = item.NOTICE_TITLE.Contains("驳回") ? "安全检查通知已被驳回" : "安全检查通知审批"; start1.DEAL_DATE = item.TASK_DT; start1.CREATE_TIME = item.CREATE_TIME; start1.STATUS = item.NOTICE_STATUS == 1 ? 5 : item.NOTICE_STATUS == 2 ? 10 : item.NOTICE_STATUS == 4 ? 15 : 0; @@ -1960,13 +1963,12 @@ namespace APT.SK.WebApi.Controllers.Api } else { - var reportUser = users.FirstOrDefault(t => t.ID == dangerReport.APPLY_USER_ID); OperateLogList start = new OperateLogList(); - start.USER_NAME = reportUser.NAME; + start.USER_NAME = "上报人"; start.NAME = "隐患上报"; - start.DEAL_DATE = dangerReport.MODIFY_TIME; - start.CREATE_TIME = dangerReport.CREATE_TIME; - start.STATUS = 10; + start.DEAL_DATE = null; + start.CREATE_TIME = null; + start.STATUS = 0; hiddenReportLog.logList.Add(start); } //审批 @@ -2007,14 +2009,14 @@ namespace APT.SK.WebApi.Controllers.Api } else { - var tempApprove = tasks.Where(t => t.SOURCE_DATA_ID == approveTemp?.ID).OrderBy(t => t.CREATE_TIME).ThenBy(m => m.MODIFY_TIME).ToList(); + var tempApprove = tasks.Where(t => t.SOURCE_DATA_ID == approveTemp.ID).OrderBy(t => t.CREATE_TIME).ThenBy(m => m.MODIFY_TIME).ToList(); if (tempApprove != null && tempApprove.Any()) { foreach (var item in tempApprove) { OperateLogList start1 = new OperateLogList(); start1.USER_NAME = item.USER_NAME; - start1.NAME = item.NOTICE_TITLE.Contains("驳回") ? "隐患上报已被驳回" : item.SOURCE_FORMCODE == "PF119" ? "隐患上报审批" : item.NOTICE_TITLE.Contains("确认") ? "隐患上报确认" : "隐患上报"; + start1.NAME = item.NOTICE_TITLE.Contains("驳回") ? "隐患上报已被驳回" : "隐患上报审批"; start1.DEAL_DATE = item.TASK_DT; start1.CREATE_TIME = item.CREATE_TIME; start1.STATUS = item.NOTICE_STATUS == 1 ? 5 : item.NOTICE_STATUS == 2 ? 10 : item.NOTICE_STATUS == 4 ? 15 : 0; @@ -2022,7 +2024,7 @@ namespace APT.SK.WebApi.Controllers.Api } } } - var temp2 = tasks.Where(t => t.SOURCE_DATA_ID == dangerReportId && t.NOTICE_TITLE.Contains("确认")); + var temp2 = tasks.Where(t => t.SOURCE_DATA_ID == dangerReportId && t.NOTICE_TITLE.Contains("确认")).OrderBy(m=>m.CREATE_TIME).ThenBy(n=>n.MODIFY_TIME).ToList(); if (temp2 != null && temp2.Any()) { noticeLog.logList = new List(); @@ -2051,43 +2053,19 @@ namespace APT.SK.WebApi.Controllers.Api else { OperateLogList start = new OperateLogList(); - start.USER_NAME = checkUser != null ? checkUser.NAME : "上报人"; + start.USER_NAME = "上报人"; start.NAME = "隐患上报"; start.DEAL_DATE = null; start.CREATE_TIME = null; start.STATUS = 0; hiddenReportLog.logList.Add(start); - //判断发起人层级,取审批模板 - var departFirst = departs.FirstOrDefault(t => t.ID == check.APPLY_DEPARTMENT_ID); - var param = Enum.GetName(typeof(SKDepartmentTypeEnum), departFirst.DEPARTMENT_TYPE); - if (departFirst.DEPARTMENT_STATUS != 1) - { - param = "公司级"; - } - var approveTempFirst = approveTemps.FirstOrDefault(t => t.PARAM == param && t.FORM_CODE == "SK014"); - if (approveTempFirst != null && approveTempFirst.Nav_ApproveTempDetails != null && approveTempFirst.Nav_ApproveTempDetails.Any()) - { - foreach (var item in approveTempFirst.Nav_ApproveTempDetails.OrderBy(t => t.NUM)) - { - OperateLogList start2 = new OperateLogList(); - start2.USER_NAME = item.Nav_ApproveRole.NAME; - start2.NAME = "隐患上报审批"; - start2.DEAL_DATE = null; - start2.CREATE_TIME = null; - start2.STATUS = 0; - hiddenReportLog.logList.Add(start2); - } - } - else - { - OperateLogList start2 = new OperateLogList(); - start2.USER_NAME = "审批人"; - start2.NAME = "隐患上报审批"; - start2.DEAL_DATE = null; - start2.CREATE_TIME = null; - start2.STATUS = 0; - hiddenReportLog.logList.Add(start2); - } + OperateLogList start2 = new OperateLogList(); + start2.USER_NAME = "审批人"; + start2.NAME = "隐患上报审批"; + start2.DEAL_DATE = null; + start2.CREATE_TIME = null; + start2.STATUS = 0; + hiddenReportLog.logList.Add(start2); OperateLogList start1 = new OperateLogList(); start1.USER_NAME = "整改责任人"; start1.NAME = "隐患上报确认"; @@ -2114,9 +2092,10 @@ namespace APT.SK.WebApi.Controllers.Api start.CREATE_TIME = temp1.CREATE_TIME; start.STATUS = temp1.NOTICE_STATUS == 1 ? 5 : temp1.NOTICE_STATUS == 2 ? 10 : temp1.NOTICE_STATUS == 4 ? 15 : 0; rectifyNoticeLog.logList.Add(start); - var temp2 = tasks.Where(t => t.SOURCE_DATA_ID == rectifyNoticeId && t.NOTICE_TITLE.Contains("确认")); + var temp2 = tasks.Where(t => t.SOURCE_DATA_ID == rectifyNoticeId && t.NOTICE_TITLE.Contains("确认")).OrderBy(m => m.CREATE_TIME).ThenBy(n => n.MODIFY_TIME).ToList(); if (temp2 != null && temp2.Any()) { + noticeLog.logList = new List(); foreach (var item in temp2) { OperateLogList start1 = new OperateLogList(); @@ -2141,7 +2120,7 @@ namespace APT.SK.WebApi.Controllers.Api } else { OperateLogList start = new OperateLogList(); - start.USER_NAME = "安全员"; + start.USER_NAME = "安全员/上报人"; start.NAME = "隐患整改通知"; start.DEAL_DATE = null; start.CREATE_TIME = null; @@ -2157,7 +2136,158 @@ namespace APT.SK.WebApi.Controllers.Api } result.Add(rectifyNoticeLog); #endregion - + + #region 隐患整改记录 + if (rectifyRecordIds != null && rectifyRecordIds.Any()) + { + //发起 + var items = tasks.Where(t =>t.SOURCE_DATA_ID!=null && rectifyRecordIds.Contains((Guid)t.SOURCE_DATA_ID) && !t.NOTICE_TITLE.Contains("确认") && !t.NOTICE_TITLE.Contains("验收")).OrderBy(m=>m.CREATE_TIME).ThenBy(n=>n.MODIFY_TIME).ToList(); + if (items != null && items.Any()) + { + foreach (var temp1 in items) + { + OperateLog refRecordLog = new OperateLog(); + refRecordLog.FORM_NAME = "隐患整改记录"; + refRecordLog.logList = new List(); + OperateLogList start = new OperateLogList(); + start.USER_NAME = temp1.USER_NAME; + start.NAME = "隐患整改记录"; + start.DEAL_DATE = temp1.TASK_DT; + start.CREATE_TIME = temp1.CREATE_TIME; + start.STATUS = temp1.NOTICE_STATUS == 1 ? 5 : temp1.NOTICE_STATUS == 2 ? 10 : temp1.NOTICE_STATUS == 4 ? 15 : 0; + refRecordLog.logList.Add(start); + //验收 + var temp2 = tasks.FirstOrDefault(t => t.SOURCE_DATA_ID!=null && t.SOURCE_DATA_ID == temp1.SOURCE_DATA_ID && t.NOTICE_TITLE.Contains("验收")); + if (temp2 != null) + { + OperateLogList start1 = new OperateLogList(); + start1.USER_NAME = temp2.USER_NAME; + start1.NAME = "隐患整改记录验收"; + start1.DEAL_DATE = temp2.TASK_DT; + start1.CREATE_TIME = temp2.CREATE_TIME; + start1.STATUS = temp2.NOTICE_STATUS == 1 ? 5 : temp2.NOTICE_STATUS == 2 ? 10 : temp2.NOTICE_STATUS == 4 ? 15 : 0; + refRecordLog.logList.Add(start1); + } + else + { + OperateLogList start1 = new OperateLogList(); + start1.USER_NAME = "验收人"; + start1.NAME = "隐患整改记录验收"; + start1.DEAL_DATE = null; + start1.CREATE_TIME = null; + start1.STATUS = 0; + refRecordLog.logList.Add(start1); + } + //审批 + var approveTemp = approves.FirstOrDefault(t => t.DATA_ID == temp1.SOURCE_DATA_ID); + if (approveTemp == null) + { + //判断重大还是一般,取审批模板 + var recordFirst = rectifyRecords.FirstOrDefault(t => t.ID == temp1.SOURCE_DATA_ID); + var param = recordFirst.HIDDEN_LEVEL.GetDescription(); + var approveTempFirst = approveTemps.FirstOrDefault(t => t.PARAM == param && t.FORM_CODE == "SK022"); + if (approveTempFirst != null && approveTempFirst.Nav_ApproveTempDetails != null && approveTempFirst.Nav_ApproveTempDetails.Any()) + { + foreach (var item in approveTempFirst.Nav_ApproveTempDetails.OrderBy(t => t.NUM)) + { + OperateLogList start1 = new OperateLogList(); + start1.USER_NAME = item.Nav_ApproveRole.NAME; + start1.NAME = "隐患整改记录审批"; + start1.DEAL_DATE = null; + start1.CREATE_TIME = null; + start1.STATUS = 0; + refRecordLog.logList.Add(start1); + } + } + else + { + OperateLogList start1 = new OperateLogList(); + start1.USER_NAME = "审批人"; + start1.NAME = "隐患整改记录审批"; + start1.DEAL_DATE = null; + start1.CREATE_TIME = null; + start1.STATUS = 0; + refRecordLog.logList.Add(start1); + } + } + else + { + var tempApprove = tasks.Where(t => t.SOURCE_DATA_ID == approveTemp.ID).OrderBy(t => t.CREATE_TIME).ThenBy(m => m.MODIFY_TIME).ToList(); + if (tempApprove != null && tempApprove.Any()) + { + foreach (var item in tempApprove) + { + OperateLogList start1 = new OperateLogList(); + start1.USER_NAME = item.USER_NAME; + start1.NAME = item.NOTICE_TITLE.Contains("驳回") ? "隐患整改记录已被驳回" : "隐患整改记录审批"; + start1.DEAL_DATE = item.TASK_DT; + start1.CREATE_TIME = item.CREATE_TIME; + start1.STATUS = item.NOTICE_STATUS == 1 ? 5 : item.NOTICE_STATUS == 2 ? 10 : item.NOTICE_STATUS == 4 ? 15 : 0; + refRecordLog.logList.Add(start1); + } + } + } + result.Add(refRecordLog); + } + } + else + { + OperateLog refRecordLog = new OperateLog(); + refRecordLog.FORM_NAME = "隐患整改记录"; + refRecordLog.logList = new List(); + OperateLogList start = new OperateLogList(); + start.USER_NAME = "整改落实人"; + start.NAME = "隐患整改记录"; + start.DEAL_DATE = null; + start.CREATE_TIME = null; + start.STATUS = 0; + refRecordLog.logList.Add(start); + OperateLogList start1 = new OperateLogList(); + start1.USER_NAME = "验收人"; + start1.NAME = "隐患整改记录验收"; + start1.DEAL_DATE = null; + start1.CREATE_TIME = null; + start1.STATUS = 0; + refRecordLog.logList.Add(start1); + OperateLogList start2 = new OperateLogList(); + start2.USER_NAME = "审批人"; + start2.NAME = "隐患整改记录审批"; + start2.DEAL_DATE = null; + start2.CREATE_TIME = null; + start2.STATUS = 0; + refRecordLog.logList.Add(start2); + result.Add(refRecordLog); + } + } + else + { + OperateLog refRecordLog = new OperateLog(); + refRecordLog.FORM_NAME = "隐患整改记录"; + refRecordLog.logList = new List(); + OperateLogList start = new OperateLogList(); + start.USER_NAME = "整改落实人"; + start.NAME = "隐患整改记录"; + start.DEAL_DATE = null; + start.CREATE_TIME = null; + start.STATUS = 0; + refRecordLog.logList.Add(start); + OperateLogList start1 = new OperateLogList(); + start1.USER_NAME = "验收人"; + start1.NAME = "隐患整改记录验收"; + start1.DEAL_DATE = null; + start1.CREATE_TIME = null; + start1.STATUS = 0; + refRecordLog.logList.Add(start1); + OperateLogList start2 = new OperateLogList(); + start2.USER_NAME = "审批人"; + start2.NAME = "隐患整改记录审批"; + start2.DEAL_DATE = null; + start2.CREATE_TIME = null; + start2.STATUS = 0; + refRecordLog.logList.Add(start2); + result.Add(refRecordLog); + } + #endregion } return result; }