This commit is contained in:
何美荣 2026-05-22 17:27:37 +08:00
parent ef9915f0ad
commit 29ac1b070b
2 changed files with 31 additions and 2 deletions

View File

@ -13,6 +13,7 @@ using APT.MS.Domain.Enums;
using APT.MS.Domain.Enums.SK; using APT.MS.Domain.Enums.SK;
using APT.Utility; using APT.Utility;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using NPOI.SS.Formula.Functions;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
@ -54,7 +55,16 @@ namespace APT.FO.WebApi.Controllers
if (entity != null) if (entity != null)
{ {
var details = this.GetEntities<T_FO_FIRE_JOB_DETAIL>(t => t.FIRE_JOB_ID == entity.ID, new BaseFilter(entity.ORG_ID), "Nav_DetailFiles.Nav_ImgFile.Nav_File").ToList(); var details = this.GetEntities<T_FO_FIRE_JOB_DETAIL>(t => t.FIRE_JOB_ID == entity.ID, new BaseFilter(entity.ORG_ID), "Nav_DetailFiles.Nav_ImgFile.Nav_File").ToList();
entity.Nav_Details = details.OrderBy(t => t.JOB_STEP).ThenBy(m => m.NUM).ToList(); entity.Nav_Details = details.OrderBy(t => t.JOB_STEP).ThenBy(m => m.NUM).ToList();
if (entity.FIRE_STATUS.GetInt() <= 15)
{
entity.Nav_Details = entity.Nav_Details.Where(t => t.JOB_STEP == FOJobStepEnum.Pre).OrderBy(m => m.NUM).ToList();
}
else if (entity.FIRE_STATUS.GetInt() <= 21)
{
entity.Nav_Details = entity.Nav_Details.Where(t => t.JOB_STEP != FOJobStepEnum.Pre).OrderBy(t => t.JOB_STEP).ThenBy(m => m.NUM).ToList();
}
var users = this.GetEntities<T_FO_FIRE_JOB_USER>(t => t.FIRE_JOB_ID == entity.ID, new BaseFilter(entity.ORG_ID), "Nav_UserType", "Nav_Train", "Nav_UserFiles.Nav_ImgFile", "Nav_User").ToList(); var users = this.GetEntities<T_FO_FIRE_JOB_USER>(t => t.FIRE_JOB_ID == entity.ID, new BaseFilter(entity.ORG_ID), "Nav_UserType", "Nav_Train", "Nav_UserFiles.Nav_ImgFile", "Nav_User").ToList();
entity.Nav_Users = users.ToList(); entity.Nav_Users = users.ToList();
} }
@ -137,8 +147,10 @@ namespace APT.FO.WebApi.Controllers
details = details.Where(t => !t.IS_DELETED).ToList(); details = details.Where(t => !t.IS_DELETED).ToList();
} }
entity.Nav_Details = null; entity.Nav_Details = null;
var detailIds = this.GetEntities<T_FO_FIRE_JOB_DETAIL>(t => t.FIRE_JOB_ID == entity.ID, new BaseFilter(entity.ORG_ID)).Select(m => m.ID).ToList(); var detailInfos = this.GetEntities<T_FO_FIRE_JOB_DETAIL>(t => t.FIRE_JOB_ID == entity.ID, new BaseFilter(entity.ORG_ID)).ToList();
var detailFileIds = this.GetEntities<T_FO_FIRE_JOB_DETAIL_FILE>(t => detailIds.Contains(t.FIRE_JOB_DETAIL_ID), new BaseFilter(entity.ORG_ID)).Select(m => m.ID).ToList(); var detailIds = detailInfos.Select(m => m.ID).ToList();
var detailFileInfos = this.GetEntities<T_FO_FIRE_JOB_DETAIL_FILE>(t => detailIds.Contains(t.FIRE_JOB_DETAIL_ID), new BaseFilter(entity.ORG_ID)).ToList();
var detailFileIds = detailFileInfos.Select(m => m.ID).ToList();
var detailList = new List<T_FO_FIRE_JOB_DETAIL>(); var detailList = new List<T_FO_FIRE_JOB_DETAIL>();
var detailFileList = new List<T_FO_FIRE_JOB_DETAIL_FILE>(); var detailFileList = new List<T_FO_FIRE_JOB_DETAIL_FILE>();
if (details != null && details.Any()) if (details != null && details.Any())
@ -343,6 +355,11 @@ namespace APT.FO.WebApi.Controllers
var detailNeed = detailList.FirstOrDefault(t => (t.JOB_STEP == FOJobStepEnum.Ing && t.IS_CONFIRM_NEW == false) || (t.JOB_STEP == FOJobStepEnum.After && t.IS_CONFIRM_NEW == false)); var detailNeed = detailList.FirstOrDefault(t => (t.JOB_STEP == FOJobStepEnum.Ing && t.IS_CONFIRM_NEW == false) || (t.JOB_STEP == FOJobStepEnum.After && t.IS_CONFIRM_NEW == false));
if (detailNeed != null) if (detailNeed != null)
throw new Exception("作业中或作业后未全部确认!"); throw new Exception("作业中或作业后未全部确认!");
//作业前不删
var noDeleteIds = detailInfos.Where(t => t.JOB_STEP == FOJobStepEnum.Pre).Select(t => t.ID).ToList();
detailIds = detailIds.Where(t => !noDeleteIds.Contains(t)).ToList();
var noDeleteFileIds = detailFileInfos.Where(t => noDeleteIds.Contains(t.FIRE_JOB_DETAIL_ID)).Select(t => t.ID).ToList();
detailFileIds = detailFileIds.Where(t => !noDeleteFileIds.Contains(t)).ToList();
//触发给动火部门负责人、安全管理人员审阅 //触发给动火部门负责人、安全管理人员审阅
var sendUser = this.GetEntities<T_FM_USER>(t => t.ID == entity.FIRE_USER_ID || t.ID == entity.SAFE_USER_ID, new BaseFilter(entity.ORG_ID)).ToList(); var sendUser = this.GetEntities<T_FM_USER>(t => t.ID == entity.FIRE_USER_ID || t.ID == entity.SAFE_USER_ID, new BaseFilter(entity.ORG_ID)).ToList();
if (sendUser != null && sendUser.Any()) if (sendUser != null && sendUser.Any())
@ -375,6 +392,11 @@ namespace APT.FO.WebApi.Controllers
var detailNeed = detailList.FirstOrDefault(t => t.JOB_STEP == FOJobStepEnum.Pre && t.IS_CONFIRM_NEW == false); var detailNeed = detailList.FirstOrDefault(t => t.JOB_STEP == FOJobStepEnum.Pre && t.IS_CONFIRM_NEW == false);
if (detailNeed != null) if (detailNeed != null)
throw new Exception("作业前未全部确认!"); throw new Exception("作业前未全部确认!");
//作业中后不删
var noDeleteIds = detailInfos.Where(t => t.JOB_STEP != FOJobStepEnum.Pre).Select(t => t.ID).ToList();
detailIds = detailIds.Where(t => !noDeleteIds.Contains(t)).ToList();
var noDeleteFileIds = detailFileInfos.Where(t => noDeleteIds.Contains(t.FIRE_JOB_DETAIL_ID)).Select(t => t.ID).ToList();
detailFileIds = detailFileIds.Where(t => !noDeleteFileIds.Contains(t)).ToList();
//触发给动火部门负责人、安全管理人员、矿调度人员审阅 //触发给动火部门负责人、安全管理人员、矿调度人员审阅
var sendUser = this.GetEntities<T_FM_USER>(t => t.ID == entity.FIRE_USER_ID || t.ID == entity.SAFE_USER_ID || t.ID == entity.DISPATCH_USER_ID, new BaseFilter(entity.ORG_ID)).ToList(); var sendUser = this.GetEntities<T_FM_USER>(t => t.ID == entity.FIRE_USER_ID || t.ID == entity.SAFE_USER_ID || t.ID == entity.DISPATCH_USER_ID, new BaseFilter(entity.ORG_ID)).ToList();
if (sendUser != null && sendUser.Any()) if (sendUser != null && sendUser.Any())
@ -403,6 +425,11 @@ namespace APT.FO.WebApi.Controllers
} }
else else
{ {
//作业中后不删
var noDeleteIds = detailInfos.Where(t => t.JOB_STEP != FOJobStepEnum.Pre).Select(t => t.ID).ToList();
detailIds = detailIds.Where(t => !noDeleteIds.Contains(t)).ToList();
var noDeleteFileIds = detailFileInfos.Where(t => noDeleteIds.Contains(t.FIRE_JOB_DETAIL_ID)).Select(t => t.ID).ToList();
detailFileIds = detailFileIds.Where(t => !noDeleteFileIds.Contains(t)).ToList();
//触发审批 //触发审批
entity.STATUS = BaseData.Domain.Enums.PF.PFStandardStatus.Approving; entity.STATUS = BaseData.Domain.Enums.PF.PFStandardStatus.Approving;
entity.FIRE_STATUS = FOFireStatus.Approving; entity.FIRE_STATUS = FOFireStatus.Approving;
@ -519,6 +546,7 @@ namespace APT.FO.WebApi.Controllers
return SafeExecute(() => return SafeExecute(() =>
{ {
var fire = this.GetEntity<T_FO_FIRE_JOB>(entity.ID); var fire = this.GetEntity<T_FO_FIRE_JOB>(entity.ID);
var detailList = new List<T_FO_FIRE_JOB_DETAIL>();
var userId = APT.Infrastructure.Api.AppContext.CurrentSession.UserID; var userId = APT.Infrastructure.Api.AppContext.CurrentSession.UserID;
if (entity.TaskID != Guid.Empty) if (entity.TaskID != Guid.Empty)
{ {

View File

@ -102,6 +102,7 @@ namespace APT.FO.WebApi.Controllers
if (files != null && files.Any()) if (files != null && files.Any())
{ {
files = files.Where(t => !t.IS_DELETED).ToList(); files = files.Where(t => !t.IS_DELETED).ToList();
files.ForEach(t => t.TECH_DISCLOSURE_FROM_ID = entity.ID);
} }
entity.Nav_Files = null; entity.Nav_Files = null;
List<T_FM_NOTIFICATION_TASK> notices = new List<T_FM_NOTIFICATION_TASK>(); List<T_FM_NOTIFICATION_TASK> notices = new List<T_FM_NOTIFICATION_TASK>();