检查任务制定 取消 功能

延期整改  获取状态 添加 保存草稿
整改驳回、审批驳回  附件(整改后) 移至 整改前
履职情况 接口修改 入参为ID 接口判断是什么ID 返回所有相关操作信息
This commit is contained in:
wyw 2024-07-12 14:18:50 +08:00
parent 774b6fc01c
commit 605812c471
4 changed files with 333 additions and 25 deletions

View File

@ -33,42 +33,293 @@ namespace APT.BS.WebApi.Controllers.Api
/// <returns></returns>
[HttpPost, Route("OrderEntities")]
public JsonActionResult<IEnumerable<T_BS_OPERATE_LOG>> OrderEntities([FromBody] KeywordFilter filter)
public JsonActionResult<IEnumerable<List<T_BS_OPERATE_LOG>>> OrderEntities([FromBody] KeywordFilter filter)
{
return SafeExecute<IEnumerable<T_BS_OPERATE_LOG>>(() =>
return SafeExecute<IEnumerable<List<T_BS_OPERATE_LOG>>>(() =>
{
if (string.IsNullOrEmpty(filter.Keyword))
{
return new List<T_BS_OPERATE_LOG>();
return new List<List<T_BS_OPERATE_LOG>>();
}
else
{
string Keyword = filter.Keyword;
var ids = Keyword.Split("_");
Guid Keyword = new Guid(filter.Keyword);
Guid? CheckID = null;
Guid? SubmitID = null;
for (int i = 0; i < ids.Length; i++)
Guid? SubmitContentID = null;
var check = GetEntity<T_BS_SAFE_CHECK>(Keyword);
T_BS_RISK_SUBMIT_CONTENT riskContent = null;
T_BS_RISK_SUBMIT risk = null;
if (check != null)
{
if (!string.IsNullOrEmpty(ids[i]))
CheckID = check.ID;
risk = GetEntity<T_BS_RISK_SUBMIT>(e => e.CHECK_ID.HasValue && e.CHECK_ID.Value == CheckID);
if (risk != null)
{
if (i == 0)
CheckID = new Guid(ids[i]);
else
SubmitID = new Guid(ids[i]);
SubmitID = risk.ID;
}
}
List<T_BS_OPERATE_LOG> result = new List<T_BS_OPERATE_LOG>();
else
{
risk = GetEntity<T_BS_RISK_SUBMIT>(Keyword);
if (risk != null)
{
SubmitID = risk.ID;
if (risk.CHECK_ID.HasValue)
{
CheckID = risk.CHECK_ID.Value;
}
}
else
{
riskContent = GetEntity<T_BS_RISK_SUBMIT_CONTENT>(Keyword);
if (riskContent != null)
{
SubmitContentID = riskContent.ID;
SubmitID = riskContent.RISK_SUBMIT_ID;
risk = GetEntity<T_BS_RISK_SUBMIT>(SubmitID.Value);
if (risk != null && risk.CHECK_ID.HasValue)
{
CheckID = risk.CHECK_ID.Value;
}
}
}
}
List<List<T_BS_OPERATE_LOG>> result = new List<List<T_BS_OPERATE_LOG>>();
if (CheckID == null && SubmitID == null && SubmitContentID == null)
{
return result;
}
List<T_BS_OPERATE_LOG> resultCheck1 = new List<T_BS_OPERATE_LOG>();//检查任务
List<T_BS_OPERATE_LOG> resultCheck2 = new List<T_BS_OPERATE_LOG>();//检查记录
List<T_BS_OPERATE_LOG> resultRisk1 = new List<T_BS_OPERATE_LOG>();//隐患上报
List<T_BS_OPERATE_LOG> resultRiskDeal = new List<T_BS_OPERATE_LOG>();//隐患整改
List<T_BS_OPERATE_LOG> resultRiskEnd = new List<T_BS_OPERATE_LOG>();//隐患上报
if (CheckID != null)
{
result.AddRange(GetEntities<T_BS_OPERATE_LOG>(e => e.DATA_ID == CheckID.Value, null, null).OrderBy(e => e.OPERATEPOINT).ToList());
var resultT = GetEntities<T_BS_OPERATE_LOG>(e => e.DATA_ID == CheckID.Value, null, null).OrderBy(e => e.OPERATEPOINT).ToList();
resultCheck1 = resultT.Where(e => e.OPERATEPOINT == OPERATEPOINT_Enums.GotCheck || e.OPERATEPOINT == OPERATEPOINT_Enums.CheckForm || e.OPERATEPOINT == OPERATEPOINT_Enums.CheckAudit || e.OPERATEPOINT == OPERATEPOINT_Enums.CheckerCheck).OrderBy(e => e.OPERATEPOINT).ToList();
resultCheck2 = resultT.Where(e => e.OPERATEPOINT == OPERATEPOINT_Enums.CheckRegisterRun || e.OPERATEPOINT == OPERATEPOINT_Enums.CheckRegister || e.OPERATEPOINT == OPERATEPOINT_Enums.CheckAgree || e.OPERATEPOINT == OPERATEPOINT_Enums.CheckResultAudit || e.OPERATEPOINT == OPERATEPOINT_Enums.CheckEnd).OrderBy(e => e.OPERATEPOINT).ToList();
}
result.Add(resultCheck1);
result.Add(resultCheck2);
int RiskContentCount = 0;//隐患数
if (SubmitID != null)
{
result.AddRange(GetEntities<T_BS_OPERATE_LOG>(e => e.DATA_ID == SubmitID.Value, null, null).OrderBy(e => e.DATA_ID_SUB).ThenBy(e => e.OPERATEPOINT).ToList());
Expression<Func<T_BS_OPERATE_LOG, bool>> expression = e => e.DATA_ID == SubmitID.Value;
if (SubmitContentID != null)
{
expression = e => e.DATA_ID == SubmitID.Value && (!e.DATA_ID_SUB.HasValue || e.DATA_ID_SUB.Value == SubmitContentID);
}
var resultT = GetEntities(expression, null, null).OrderBy(e => e.DATA_ID_SUB).ThenBy(e => e.OPERATEPOINT).ToList();
resultRisk1 = resultT.Where(e => (!e.DATA_ID_SUB.HasValue && e.OPERATEPOINT != OPERATEPOINT_Enums.RiskEnd) || (e.OPERATEPOINT == OPERATEPOINT_Enums.RiskNoticeSD || e.OPERATEPOINT == OPERATEPOINT_Enums.RiskUpSD || e.OPERATEPOINT == OPERATEPOINT_Enums.RiskInfoCompleteSD)).OrderBy(e => e.OPERATEPOINT).ToList();
result.Add(resultRisk1);
//多个上报 多组信息
var listSubID = resultT.Where(e => e.DATA_ID_SUB.HasValue && e.OPERATEPOINT != OPERATEPOINT_Enums.RiskUpSD && e.OPERATEPOINT != OPERATEPOINT_Enums.RiskInfoCompleteSD).Select(e => e.DATA_ID_SUB).Distinct().ToList();
if (listSubID != null && listSubID.Count > 0)
{
foreach (var item in listSubID)
{
RiskContentCount++;
if (RiskContentCount == 1)
{
resultRiskDeal = resultT.Where(e => e.DATA_ID_SUB.HasValue && e.DATA_ID_SUB.Value == item && e.OPERATEPOINT != OPERATEPOINT_Enums.RiskNoticeSD && e.OPERATEPOINT != OPERATEPOINT_Enums.RiskUpSD && e.OPERATEPOINT != OPERATEPOINT_Enums.RiskInfoCompleteSD && e.OPERATEPOINT != OPERATEPOINT_Enums.RiskGet).OrderBy(e => e.CREATE_TIME).ThenBy(e => e.OPERATEPOINT).ThenBy(e => e.ORDERNO).ToList();
result.Add(resultRiskDeal);
}
else
{
result.Add(resultT.Where(e => e.DATA_ID_SUB.HasValue && e.DATA_ID_SUB.Value == item && e.OPERATEPOINT != OPERATEPOINT_Enums.RiskNoticeSD && e.OPERATEPOINT != OPERATEPOINT_Enums.RiskUpSD && e.OPERATEPOINT != OPERATEPOINT_Enums.RiskInfoCompleteSD && e.OPERATEPOINT != OPERATEPOINT_Enums.RiskGet).OrderBy(e => e.CREATE_TIME).ThenBy(e => e.OPERATEPOINT).ThenBy(e => e.ORDERNO).ToList());
}
}
}
else
{
result.Add(resultRiskDeal);
}
var resultRiskEndT = resultT.FirstOrDefault(e => !e.DATA_ID_SUB.HasValue && e.OPERATEPOINT == OPERATEPOINT_Enums.RiskEnd);
if (resultRiskEndT != null)
{
resultRiskEnd.Add(resultRiskEndT);
result.Add(resultRiskEnd);
}
}
#region OPERATEPOINT
List<EnumsResult> listEnums = DataHelper.GetEnum("OPERATEPOINT_Enums");
//检查任务
//检查记录
//隐患上报
/*
*
*
*
*/
//结束
T_BS_OPERATE_LOG ModelLog = null;
if (CheckID != null)
{
//安全检查
if (resultCheck1.Count > 0)
{
ModelLog = resultCheck1[resultCheck1.Count - 1];
if (ModelLog.OPERATEPOINT != OPERATEPOINT_Enums.CheckerCheck)
{
resultCheck1.AddRange(GetListLog((int)ModelLog.OPERATEPOINT, (int)OPERATEPOINT_Enums.CheckerCheck, listEnums));
result[1] = resultCheck1;
}
}
else
{
resultCheck1.AddRange(GetListLog((int)OPERATEPOINT_Enums.GotCheck, (int)OPERATEPOINT_Enums.CheckerCheck, listEnums));
result[1] = resultCheck1;
}
if (resultCheck2.Count > 0)
{
ModelLog = resultCheck2[resultCheck2.Count - 1];
if (ModelLog.OPERATEPOINT != OPERATEPOINT_Enums.CheckEnd)
{
resultCheck2.AddRange(GetListLog((int)ModelLog.OPERATEPOINT, (int)OPERATEPOINT_Enums.CheckEnd, listEnums));
result[1] = resultCheck2;
}
}
else
{
resultCheck2.AddRange(GetListLog((int)OPERATEPOINT_Enums.CheckRegisterRun, (int)OPERATEPOINT_Enums.CheckEnd, listEnums));
result[1] = resultCheck2;
}
}
bool isAddApplyDely = false;
if (SubmitID.HasValue)
{
if (resultRisk1 != null && resultRisk1.Count > 0)
{
if (resultRisk1[0].OPERATEPOINT != OPERATEPOINT_Enums.RiskGet) //检查上报 如果有 一定有值 不需要补
{
ModelLog = resultRisk1[resultRisk1.Count - 1];
if (ModelLog.OPERATEPOINT != OPERATEPOINT_Enums.RiskInfoCompleteSD)
{
resultRisk1.AddRange(GetListLog((int)OPERATEPOINT_Enums.RiskUpSD, (int)OPERATEPOINT_Enums.RiskInfoCompleteSD, listEnums, isAddApplyDely, true));
result[2] = resultRisk1;
}
}
}
else if (risk != null)
{
if (risk.SUBMIT_TYPE == 20)
{
result[2] = GetListLog((int)OPERATEPOINT_Enums.RiskNoticeSD, (int)OPERATEPOINT_Enums.RiskInfoCompleteSD, listEnums, isAddApplyDely, true);
}
else if (risk.SUBMIT_TYPE == 10)
{
result[2] = new List<T_BS_OPERATE_LOG>() { new T_BS_OPERATE_LOG() {
OPERATEPOINT = OPERATEPOINT_Enums.RiskGet
} };
}
}
//隐患整改
if (RiskContentCount == 0)
{
resultRiskDeal = GetListLog((int)OPERATEPOINT_Enums.RiskSendAudit, (int)OPERATEPOINT_Enums.RiskDealAudit, listEnums);//, false, false
if (resultRiskDeal != null && resultRiskDeal.Count > 0)
result[3].AddRange(resultRiskDeal);
}
else
{
List<T_BS_OPERATE_LOG> listLogT = null;
for (int i = 0; i < RiskContentCount; i++)
{
listLogT = result[i + 3];
if (listLogT.Count > 0)
{
//第4个开始 下标 3
ModelLog = listLogT[listLogT.Count - 1];
if (ModelLog.OPERATEPOINT != OPERATEPOINT_Enums.RiskDealAudit)
{
var appCheck = listLogT.FirstOrDefault(e => e.OPERATEPOINT == OPERATEPOINT_Enums.RiskDelayApply);
if (appCheck != null && appCheck.ID != Guid.Empty)
isAddApplyDely = true;
result[i + 3].AddRange(GetListLog((int)ModelLog.OPERATEPOINT, (int)OPERATEPOINT_Enums.RiskDealAudit, listEnums, isAddApplyDely));
}
}
else
{
result[i + 3] = GetListLog((int)OPERATEPOINT_Enums.RiskSendAudit, (int)OPERATEPOINT_Enums.RiskDealAudit, listEnums);
}
}
}
//结束
if (resultRiskEnd.Count == 0)
{
resultRiskEnd.Add(new T_BS_OPERATE_LOG()
{
OPERATEPOINT = OPERATEPOINT_Enums.RiskEnd
});
result.Add(resultRiskEnd);
}
}
#endregion
return result;
}
});
}
/// <summary>
/// 添加固定项 Start 不添加 end 添加
/// </summary>
/// <param name="Start"></param>
/// <param name="End"></param>
/// <param name="listEnums"></param>
/// <param name="isAddApplyDely"></param>
/// <param name="isRiskSD"></param>
/// <returns></returns>
public List<T_BS_OPERATE_LOG> GetListLog(int Start, int End, List<EnumsResult> listEnums, bool isAddApplyDely = false, bool isRiskSD = false)
{
List<T_BS_OPERATE_LOG> listResult = new List<T_BS_OPERATE_LOG>();
if (Start >= End)
return listResult;
foreach (var item in listEnums)
{
if (Start < item.ID && item.ID <= End)
{
if (!isAddApplyDely && (item.ID == 165 || item.ID == 170 || item.ID == 175))
continue;
if (isRiskSD)
{
if (item.ID == 120)
continue;//手动隐患上报 非手动隐患上报的信息 返回
}
else
{
if (item.ID == 90 || item.ID == 100 || item.ID == 110)
continue;//非手动隐患上报 手动隐患上报的信息 返回
}
listResult.Add(new T_BS_OPERATE_LOG()
{
OPERATEPOINT = (OPERATEPOINT_Enums)item.ID
});
}
}
return listResult;
}
}
}

View File

@ -3961,6 +3961,27 @@ namespace APT.BS.WebApi.Controllers.Api
}
else
{
#region //整改责任人 驳回 附件整改后 移到整改前
var listFilesAfter = GetEntities<T_BS_RISK_SUBMIT_CONTENT_DEAL_AFTER_FILE>(e => e.RISK_SUBMIT_CONTENT_DEAL_ID == entity.ID, null, null);
List<Guid> ids = listFilesAfter.Select(e => e.ID).ToList();
List<T_BS_RISK_SUBMIT_CONTENT_DEAL_FILE> listFiles = new List<T_BS_RISK_SUBMIT_CONTENT_DEAL_FILE>();
if (listFilesAfter != null && listFilesAfter.Any())
{
foreach (var item in listFilesAfter)
{
listFiles.Add(new T_BS_RISK_SUBMIT_CONTENT_DEAL_FILE()
{
ID = item.ID,//ID不变 别的不变
ORG_ID = item.ORG_ID,
RISK_SUBMIT_CONTENT_DEAL_ID = item.RISK_SUBMIT_CONTENT_DEAL_ID,
IMG_FILE_ID = item.IMG_FILE_ID,
CREATER_ID = APT.Infrastructure.Api.AppContext.CurrentSession.UserID,
CREATE_TIME = DateTime.Now
});
}
}
#endregion
#region
@ -3988,6 +4009,10 @@ namespace APT.BS.WebApi.Controllers.Api
UpdateEntityNoCommit(noticeActualDeal);//整改单通知
if (task != null)//代办消息 清除
UpdateEntityNoCommit(task, "NOTICE_STATUS", "TASK_DT", "MODIFIER_ID");
if (listFilesAfter != null && listFilesAfter.Any())
BantchDeleteEntityNoCommit<T_BS_RISK_SUBMIT_CONTENT_DEAL_AFTER_FILE>(ids);
if (listFiles != null && listFiles.Any())
BantchSaveEntityNoCommit(listFiles);
});
#endregion
@ -4997,6 +5022,28 @@ namespace APT.BS.WebApi.Controllers.Api
T_FM_NOTIFICATION_TASK noticeBack = NotificationTaskService.InsertUserNoticeTaskModel(title, contentDeal.ID, contentDeal.ORG_ID, contentDeal.ACTUAL_DEAL_USER_ID.Value, contentDeal.Nav_UserActualDeal.NAME, DateTime.Now, DateTime.Now.AddDays(1), 0, "BS044");
#region //整改责任人 驳回 附件整改后 移到整改前
var listFilesAfter = GetEntities<T_BS_RISK_SUBMIT_CONTENT_DEAL_AFTER_FILE>(e => e.RISK_SUBMIT_CONTENT_DEAL_ID == contentDeal.ID, null, null);
List<Guid> ids = listFilesAfter.Select(e => e.ID).ToList();
List<T_BS_RISK_SUBMIT_CONTENT_DEAL_FILE> listFiles = new List<T_BS_RISK_SUBMIT_CONTENT_DEAL_FILE>();
if (listFilesAfter != null && listFilesAfter.Any())
{
foreach (var item in listFilesAfter)
{
listFiles.Add(new T_BS_RISK_SUBMIT_CONTENT_DEAL_FILE()
{
ID = item.ID,//ID不变 别的不变
ORG_ID = item.ORG_ID,
RISK_SUBMIT_CONTENT_DEAL_ID = item.RISK_SUBMIT_CONTENT_DEAL_ID,
IMG_FILE_ID = item.IMG_FILE_ID,
CREATER_ID = APT.Infrastructure.Api.AppContext.CurrentSession.UserID,
CREATE_TIME = DateTime.Now
});
}
}
#endregion
UnifiedCommit(() =>
{
if (modelApp != null)
@ -5011,6 +5058,10 @@ namespace APT.BS.WebApi.Controllers.Api
UpdateEntityNoCommit(noticeBack);
if (taskFinish != null)
UpdateEntityNoCommit(taskFinish);
if (listFilesAfter != null && listFilesAfter.Any())
BantchDeleteEntityNoCommit<T_BS_RISK_SUBMIT_CONTENT_DEAL_AFTER_FILE>(ids);
if (listFiles != null && listFiles.Any())
BantchSaveEntityNoCommit(listFiles);
});
return true;
});

View File

@ -99,7 +99,7 @@ namespace APT.BS.WebApi.Controllers.Api
//&& (((!e.ISBACK.HasValue || !e.ISBACK.Value) && e.RiskContentState == (int)RiskContentState.ActualDealCheck) || (e.ISBACK.HasValue && e.ISBACK.Value && e.RiskContentState == (int)RiskContentState.OKNotBack)
//);
pageFilter.IgnoreDataRule = true;
var info = GetEntities<T_BS_RISK_SUBMIT_NOTICE_PERSON>(e => e.Nav_ListRiskSubmitContent.FirstOrDefault(e => e.ACTUAL_DEAL_USER_ID.HasValue && e.ACTUAL_DEAL_USER_ID.Value == LoginID && !e.IS_DELETED && e.LastDateUser.HasValue && e.LastDateUser.Value >= dtNowDate && (e.RiskContentState == (int)RiskContentState.ActualDealCheck || e.RiskContentState == (int)RiskContentState.OKNotBack)) != null, pageFilter, new string[] { "Nav_ListRiskSubmitContent" }).Distinct();
var info = GetEntities<T_BS_RISK_SUBMIT_NOTICE_PERSON>(e => e.Nav_ListRiskSubmitContent.FirstOrDefault(e => e.ACTUAL_DEAL_USER_ID.HasValue && e.ACTUAL_DEAL_USER_ID.Value == LoginID && !e.IS_DELETED && e.LastDateUser.HasValue && e.LastDateUser.Value >= dtNowDate && (e.RiskContentState == (int)RiskContentState.ActualDealCheck || e.RiskContentState == (int)RiskContentState.DealTemp || e.RiskContentState == (int)RiskContentState.OKNotBack)) != null, pageFilter, new string[] { "Nav_ListRiskSubmitContent" }).Distinct();
result.TotalCount = info.Count();
result.Data = info.Skip((pageFilter.PageIndex - 1) * pageFilter.Limit).Take(pageFilter.Limit).OrderByDescending(e => e.CODE).ToList<T_BS_RISK_SUBMIT_NOTICE_PERSON>();

View File

@ -8574,19 +8574,25 @@ namespace APT.BS.WebApi.Controllers.Api
Check.MODIFIER_ID = APT.Infrastructure.Api.AppContext.CurrentSession.UserID;
Check.MODIFY_TIME = DateTime.Now;
T_FM_NOTIFICATION_TASK task = null;
MS.Domain.Entities.SC.BI.T_BI_NOTIFICATION_TASK_NEW taskBI = null;
if (TaskID != Guid.Empty)
{
task = NotificationTaskService.GetEntityTask(TaskID, "BS032_SHOWPRINT");
if (task != null)
{
task.ISCANCEL = true;
task.MODIFIER_ID = APT.Infrastructure.Api.AppContext.CurrentSession.UserID;
task.MODIFY_TIME = DateTime.Now;
}
taskBI = GetEntity<MS.Domain.Entities.SC.BI.T_BI_NOTIFICATION_TASK_NEW>(e => e.SOURCE_DATA_ID == CheckID && e.NOTICE_STATUS == 0 && e.SOURCE_FORMCODE == "BS032");
task = GetEntity<T_FM_NOTIFICATION_TASK>(TaskID);
}
else
{
task = GetEntity<T_FM_NOTIFICATION_TASK>(e => e.SOURCE_DATA_ID == CheckID && e.SOURCE_FORMCODE == "BS032");
}
MS.Domain.Entities.SC.BI.T_BI_NOTIFICATION_TASK_NEW taskBI = null;
if (task != null)
{
task.SOURCE_FORMCODE = "BS032_SHOWPRINT";
task.ISCANCEL = true;
task.MODIFIER_ID = APT.Infrastructure.Api.AppContext.CurrentSession.UserID;
task.MODIFY_TIME = DateTime.Now;
task.NOTICE_STATUS = 1;
taskBI = GetEntity<MS.Domain.Entities.SC.BI.T_BI_NOTIFICATION_TASK_NEW>(e => e.TASK_ID == task.ID);
if (taskBI != null)
{
taskBI.MODIFIER_ID = task.MODIFIER_ID;