增加隐患整改记录

This commit is contained in:
何美荣 2025-11-19 12:59:27 +08:00
parent bc8ed95284
commit 6144d0a50f

View File

@ -1653,6 +1653,7 @@ namespace APT.SK.WebApi.Controllers.Api
{
return SafeExecute<List<OperateLog>>(() =>
{
filter.IgnoreDataRule = true;
var result = new List<OperateLog>();
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<Guid> rectifyRecordIds = new List<Guid>();
List<Guid> hidRectifyRecordIds = new List<Guid>();
Guid Keyword = new Guid(filter.Keyword);
var check = GetEntity<T_SK_SECURITY_INSPECTION_NOTICE>(Keyword);
@ -1678,10 +1680,10 @@ namespace APT.SK.WebApi.Controllers.Api
var sourceIds = new List<Guid>();
safeNoticeId = check.ID;
sourceIds.Add(check.ID);
T_SK_HIDDEN_DANGER_REPORT dangerReport = null;
var recordIds = GetEntities<T_SK_SECURITY_INSPECTION_RECORD>(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<T_SK_HIDDEN_DANGER_RECTIFY_RECORD> rectifyRecords = new List<T_SK_HIDDEN_DANGER_RECTIFY_RECORD>(); ;
safeRecordIds = GetEntities<T_SK_SECURITY_INSPECTION_RECORD>(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<T_SK_SECURITY_INSPECTION_RECORD_SUMMARY>(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<T_SK_HIDDEN_DANGER_RECTIFY_RECORD>(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<T_SK_HIDDEN_DANGER_RECTIFY_RECORD>(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<T_SK_HIDDEN_DANGER_RECTIFY_RECORD>(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<T_SK_HIDDEN_DANGER_RECTIFY_RECORD>(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<T_FM_USER>(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<T_FM_DEPARTMENT>(e => e.ENABLE_STATUS == 0, new BaseFilter(check.ORG_ID), null).ToList();
List<string>formCodes=new List<string> { "SK006","SK014","SK018","SK022"};
List<string>formCodes=new List<string> { "SK006","SK014","SK022"};
var approveTemps = GetEntities<T_PF_APPROVE_TEMP>(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<OperateLogList>();
@ -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<OperateLogList>();
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>();
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>();
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>();
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;
}