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.Utility;
using Microsoft.AspNetCore.Mvc;
using NPOI.SS.Formula.Functions;
using System;
using System.Collections.Generic;
using System.Linq;
@ -54,7 +55,16 @@ namespace APT.FO.WebApi.Controllers
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();
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();
entity.Nav_Users = users.ToList();
}
@ -137,8 +147,10 @@ namespace APT.FO.WebApi.Controllers
details = details.Where(t => !t.IS_DELETED).ToList();
}
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 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 detailInfos = this.GetEntities<T_FO_FIRE_JOB_DETAIL>(t => t.FIRE_JOB_ID == entity.ID, new BaseFilter(entity.ORG_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 detailFileList = new List<T_FO_FIRE_JOB_DETAIL_FILE>();
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));
if (detailNeed != null)
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();
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);
if (detailNeed != null)
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();
if (sendUser != null && sendUser.Any())
@ -403,6 +425,11 @@ namespace APT.FO.WebApi.Controllers
}
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.FIRE_STATUS = FOFireStatus.Approving;
@ -519,6 +546,7 @@ namespace APT.FO.WebApi.Controllers
return SafeExecute(() =>
{
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;
if (entity.TaskID != Guid.Empty)
{

View File

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