From d8909ed78a60bc1b6f2f31fcea6afd6172504bb3 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: Mon, 10 Nov 2025 23:23:15 +0800
Subject: [PATCH] 1
---
.../Controllers/FireJobController.cs | 224 ++++++++++++++++++
.../Controllers/LeaderWellRecordController.cs | 173 ++++++++++++++
2 files changed, 397 insertions(+)
create mode 100644 APT.MicroApi/APT.FO.WebApi/Controllers/FireJobController.cs
create mode 100644 APT.MicroApi/APT.FO.WebApi/Controllers/LeaderWellRecordController.cs
diff --git a/APT.MicroApi/APT.FO.WebApi/Controllers/FireJobController.cs b/APT.MicroApi/APT.FO.WebApi/Controllers/FireJobController.cs
new file mode 100644
index 0000000..9a599e5
--- /dev/null
+++ b/APT.MicroApi/APT.FO.WebApi/Controllers/FireJobController.cs
@@ -0,0 +1,224 @@
+using APT.Infrastructure.Core;
+using APT.MS.Domain.Entities.FO;
+using APT.Utility;
+using Microsoft.AspNetCore.Mvc;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+
+namespace APT.FO.WebApi.Controllers
+{
+ ///
+ /// 动火作业
+ ///
+ [Route("api/FO/FOFireJob")]
+ public partial class FireJobController : AuthorizeApiController
+ {
+ [HttpPost, Route("GetEdit")]
+ public JsonActionResult GetEdit([FromBody] KeywordFilter filter)
+ {
+ return SafeExecute(() =>
+ {
+ var id = filter.FilterGroup.Rules.FirstOrDefault(t => t.Field == "ID").Value.ToString();
+ if (string.IsNullOrEmpty(id))
+ this.ThrowError("060010");
+ var entity = this.GetEntity(id, "Nav_ApplyUser", "Nav_Company", "Nav_ApplyDepartment", "Nav_OperationStep", "Nav_ProductionUnit", "Nav_FireUser.Nav_ImgFile.Nav_File", "Nav_FireDepartment",
+ "Nav_SafeUser.Nav_ImgFile.Nav_File", "Nav_Area", "Nav_Type", "Nav_MonitorUser", "Nav_Risks", "Nav_Files.Nav_ImgFile.Nav_File", "Nav_Users.Nav_UserType", "Nav_Users.Nav_UserType", "Nav_Users.Nav_UserFiles.Nav_ImgFile.Nav_File",
+ "Nav_FireFiles.Nav_ImgFile.Nav_File", "Nav_MonitorFiles.Nav_ImgFile.Nav_File", "Nav_DispatchUser");
+ if (entity != null)
+ {
+ var details = this.GetEntities(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).ToList();
+ }
+ return entity;
+ });
+ }
+ ///
+ /// 新增修改
+ ///
+ ///
+ ///
+ [HttpPost, Route("FullUpdate")]
+ public JsonActionResult FullUpdate([FromBody] T_FO_FIRE_JOB entity)
+ {
+ return SafeExecute(() =>
+ {
+ var loginUserId = APT.Infrastructure.Api.AppContext.CurrentSession.UserID;
+ var departmentId = APT.Infrastructure.Api.AppContext.CurrentSession.DepartmentID;
+ entity.APPLY_USER_ID = loginUserId;
+ entity.APPLY_DEPARTMENT_ID = departmentId;
+ var details = entity.Nav_Details;
+ if (details != null && details.Any())
+ {
+ details = details.Where(t => !t.IS_DELETED).ToList();
+ }
+ entity.Nav_Details = null;
+ var detailIds = this.GetEntities(t => t.FIRE_JOB_ID == entity.ID, new BaseFilter(entity.ORG_ID)).Select(m => m.ID).ToList();
+ var detailFileIds = this.GetEntities(t => detailIds.Contains(t.FIRE_JOB_DETAIL_ID), new BaseFilter(entity.ORG_ID)).Select(m => m.ID).ToList();
+ var detailList = new List();
+ var detailFileList = new List();
+ if (details != null && details.Any())
+ {
+ foreach (var item in details)
+ {
+ if (item.Nav_DetailFiles != null && item.Nav_DetailFiles.Any())
+ {
+ foreach (var item2 in item.Nav_DetailFiles)
+ {
+ item2.ORG_ID = entity.ORG_ID;
+ item2.FIRE_JOB_DETAIL_ID = item.ID;
+ item2.Nav_ImgFile = null;
+ detailFileList.Add(item2);
+ }
+ }
+ item.ORG_ID = entity.ORG_ID;
+ item.FIRE_JOB_ID = entity.ID;
+ item.Nav_DetailFiles = null;
+ detailList.Add(item);
+ }
+ }
+ var files = entity.Nav_Files;
+ if (files != null && files.Any())
+ {
+ files = files.Where(t => !t.IS_DELETED).ToList();
+ }
+ entity.Nav_Files = null;
+ var fileIds = this.GetEntities(t => t.FIRE_JOB_ID == entity.ID, new BaseFilter(entity.ORG_ID)).Select(m => m.ID).ToList();
+ var fileList = new List();
+ if (files != null && files.Any())
+ {
+ foreach (var item in files)
+ {
+ item.ORG_ID = entity.ORG_ID;
+ item.FIRE_JOB_ID = entity.ID;
+ item.Nav_ImgFile = null;
+ fileList.Add(item);
+ }
+ }
+ var risks = entity.Nav_Risks;
+ if (risks != null && risks.Any())
+ {
+ risks = risks.Where(t => !t.IS_DELETED).ToList();
+ }
+ entity.Nav_Risks = null;
+ var riskIds = this.GetEntities(t => t.FIRE_JOB_ID == entity.ID, new BaseFilter(entity.ORG_ID)).Select(m => m.ID).ToList();
+ var riskList = new List();
+ if (risks != null && risks.Any())
+ {
+ foreach (var item in risks)
+ {
+ item.ORG_ID = entity.ORG_ID;
+ item.FIRE_JOB_ID = entity.ID;
+ riskList.Add(item);
+ }
+ }
+ var users = entity.Nav_Users;
+ if (users != null && users.Any())
+ {
+ users = users.Where(t => !t.IS_DELETED).ToList();
+ }
+ entity.Nav_Users = null;
+ var userIds = this.GetEntities(t => t.FIRE_JOB_ID == entity.ID, new BaseFilter(entity.ORG_ID)).Select(m => m.ID).ToList();
+ var userFileIds = this.GetEntities(t => userIds.Contains(t.FIRE_JOB_USER_ID), new BaseFilter(entity.ORG_ID)).Select(m => m.ID).ToList();
+ var userFileList = new List();
+ var userList = new List();
+ if (users != null && users.Any())
+ {
+ foreach (var item in users)
+ {
+ item.ORG_ID = entity.ORG_ID;
+ item.FIRE_JOB_ID = entity.ID;
+ item.Nav_User = null;
+ item.Nav_UserType = null;
+ if (item.Nav_UserFiles != null && item.Nav_UserFiles.Any())
+ {
+ foreach (var item2 in item.Nav_UserFiles)
+ {
+ item2.ORG_ID = entity.ORG_ID;
+ item2.FIRE_JOB_USER_ID = item.ID;
+ item2.Nav_ImgFile = null;
+ userFileList.Add(item2);
+ }
+ }
+ item.Nav_UserFiles = null;
+ userList.Add(item);
+ }
+ }
+ var fireFiles = entity.Nav_FireFiles;
+ if (fireFiles != null && fireFiles.Any())
+ {
+ fireFiles = fireFiles.Where(t => !t.IS_DELETED).ToList();
+ }
+ entity.Nav_FireFiles = null;
+ var fireFileIds = this.GetEntities(t => t.FIRE_JOB_JOB_ID == entity.ID, new BaseFilter(entity.ORG_ID)).Select(m => m.ID).ToList();
+ var fireFileList = new List();
+ if (fireFiles != null && fireFiles.Any())
+ {
+ foreach (var item in fireFiles)
+ {
+ item.ORG_ID = entity.ORG_ID;
+ item.FIRE_JOB_JOB_ID = entity.ID;
+ item.Nav_ImgFile = null;
+ fireFileList.Add(item);
+ }
+ }
+ var monitorFiles = entity.Nav_MonitorFiles;
+ if (monitorFiles != null && monitorFiles.Any())
+ {
+ monitorFiles = monitorFiles.Where(t => !t.IS_DELETED).ToList();
+ }
+ entity.Nav_MonitorFiles = null;
+ var monitorFileIds = this.GetEntities(t => t.FIRE_JOB_ID == entity.ID, new BaseFilter(entity.ORG_ID)).Select(m => m.ID).ToList();
+ var monitorFileList = new List();
+ if (monitorFiles != null && monitorFiles.Any())
+ {
+ foreach (var item in monitorFiles)
+ {
+ item.ORG_ID = entity.ORG_ID;
+ item.FIRE_JOB_ID = entity.ID;
+ item.Nav_ImgFile = null;
+ monitorFileList.Add(item);
+ }
+ }
+ this.UnifiedCommit(() =>
+ {
+ if (detailFileIds != null && detailFileIds.Any())
+ this.BantchDeleteEntityNoCommit(detailFileIds);
+ if (detailIds != null && detailIds.Any())
+ this.BantchDeleteEntityNoCommit(detailIds);
+ if (userFileIds != null && userFileIds.Any())
+ this.BantchDeleteEntityNoCommit(userFileIds);
+ if (userIds != null && userIds.Any())
+ this.BantchDeleteEntityNoCommit(userIds);
+ if (fileIds != null && fileIds.Any())
+ this.BantchDeleteEntityNoCommit(fileIds);
+ if (fireFileIds != null && fireFileIds.Any())
+ this.BantchDeleteEntityNoCommit(fireFileIds);
+ if (monitorFileIds != null && monitorFileIds.Any())
+ this.BantchDeleteEntityNoCommit(monitorFileIds);
+ if (riskIds != null && riskIds.Any())
+ this.BantchDeleteEntityNoCommit(riskIds);
+ if (entity != null)
+ UpdateEntityNoCommit(entity);
+ if (detailList != null && detailList.Any())
+ this.BantchSaveEntityNoCommit(detailList);
+ if (detailFileList != null && detailFileList.Any())
+ this.BantchSaveEntityNoCommit(detailFileList);
+ if (userList != null && userList.Any())
+ this.BantchSaveEntityNoCommit(userList);
+ if (userFileList != null && userFileList.Any())
+ this.BantchSaveEntityNoCommit(userFileList);
+ if (riskList != null && riskList.Any())
+ this.BantchSaveEntityNoCommit(riskList);
+ if (monitorFileList != null && monitorFileList.Any())
+ this.BantchSaveEntityNoCommit(monitorFileList);
+ if (fireFileList != null && fireFileList.Any())
+ this.BantchSaveEntityNoCommit(fireFileList);
+ if (fileList != null && fileList.Any())
+ this.BantchSaveEntityNoCommit(fileList);
+ });
+ return true;
+ });
+ }
+ }
+}
diff --git a/APT.MicroApi/APT.FO.WebApi/Controllers/LeaderWellRecordController.cs b/APT.MicroApi/APT.FO.WebApi/Controllers/LeaderWellRecordController.cs
new file mode 100644
index 0000000..07234bd
--- /dev/null
+++ b/APT.MicroApi/APT.FO.WebApi/Controllers/LeaderWellRecordController.cs
@@ -0,0 +1,173 @@
+using APT.Infrastructure.Core;
+using APT.MS.Domain.Entities.FO;
+using APT.Utility;
+using Google.Protobuf.Collections;
+using Microsoft.AspNetCore.Mvc;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+
+namespace APT.FO.WebApi.Controllers
+{
+ ///
+ /// 领导带班下井记录
+ ///
+ [Route("api/FO/FOLeaderWellRecord")]
+ public partial class LeaderWellRecordController : AuthorizeApiController
+ {
+
+ [HttpPost, Route("GetEdit")]
+ public JsonActionResult GetEdit([FromBody] KeywordFilter filter)
+ {
+ return SafeExecute(() =>
+ {
+ var id = filter.FilterGroup.Rules.FirstOrDefault(t => t.Field == "ID").Value.ToString();
+ if (string.IsNullOrEmpty(id))
+ this.ThrowError("060010");
+ var entity = this.GetEntity(id, "Nav_ApplyUser", "Nav_Company", "Nav_ApplyDepartment", "Nav_ProductionUnit", "Nav_Class", "Nav_Users.Nav_User",
+ "Nav_Files.Nav_ImgFile.Nav_File");
+ if (entity != null)
+ {
+ var details = this.GetEntities(t => t.LEADER_WELL_RECORD_ID == entity.ID, new BaseFilter(entity.ORG_ID), "Nav_DetailFiles.Nav_ImgFile.Nav_File", "Nav_User", "Nav_PreUser", "Nav_AfterUser", "Nav_DetailAreas.Nav_Area").ToList();
+ entity.Nav_Details = details.OrderByDescending(t => t.START_DATE).ToList();
+ }
+ return entity;
+ });
+ }
+ ///
+ /// 新增修改
+ ///
+ ///
+ ///
+ [HttpPost, Route("FullUpdate")]
+ public JsonActionResult FullUpdate([FromBody] T_FO_LEADER_WELL_RECORD entity)
+ {
+ return SafeExecute(() =>
+ {
+ var loginUserId = APT.Infrastructure.Api.AppContext.CurrentSession.UserID;
+ var departmentId = APT.Infrastructure.Api.AppContext.CurrentSession.DepartmentID;
+ entity.APPLY_USER_ID = loginUserId;
+ entity.APPLY_DEPARTMENT_ID = departmentId;
+ var details = entity.Nav_Details;
+ if (details != null && details.Any())
+ {
+ details = details.Where(t => !t.IS_DELETED).ToList();
+ }
+ entity.Nav_Details = null;
+ var userIds = this.GetEntities(t => t.LEADER_WELL_RECORD_ID == entity.ID, new BaseFilter(entity.ORG_ID)).Select(m => m.ID).ToList();
+ var fileIds = this.GetEntities(t => t.LEADER_WELL_RECORD_ID == entity.ID, new BaseFilter(entity.ORG_ID)).Select(m => m.ID).ToList();
+ var detailIds = this.GetEntities(t => t.LEADER_WELL_RECORD_ID == entity.ID, new BaseFilter(entity.ORG_ID)).Select(m => m.ID).ToList();
+ var detailFileIds = this.GetEntities(t => detailIds.Contains(t.LEADER_WELL_RECORD_DETAIL_ID), new BaseFilter(entity.ORG_ID)).Select(m => m.ID).ToList();
+ var detailAreaIds = this.GetEntities(t => detailIds.Contains(t.LEADER_WELL_RECORD_DETAIL_ID), new BaseFilter(entity.ORG_ID)).Select(m => m.ID).ToList();
+ var userList = new List();
+ var fileList = new List();
+ var detailList = new List();
+ var detailFileList = new List();
+ var detailAreaList = new List();
+ if (details != null && details.Any())
+ {
+ foreach (var item in details)
+ {
+ if (item.Nav_DetailFiles != null && item.Nav_DetailFiles.Any())
+ {
+ foreach (var item2 in item.Nav_DetailFiles)
+ {
+ item2.ORG_ID = entity.ORG_ID;
+ item2.LEADER_WELL_RECORD_DETAIL_ID = item.ID;
+ item2.Nav_ImgFile = null;
+ detailFileList.Add(item2);
+ }
+ }
+ if (item.Nav_DetailAreas != null && item.Nav_DetailAreas.Any())
+ {
+ foreach (var item2 in item.Nav_DetailAreas)
+ {
+ item2.ORG_ID = entity.ORG_ID;
+ item2.LEADER_WELL_RECORD_DETAIL_ID = item.ID;
+ item2.Nav_Area = null;
+ detailAreaList.Add(item2);
+ }
+ }
+ item.ORG_ID = entity.ORG_ID;
+ item.LEADER_WELL_RECORD_ID = entity.ID;
+ item.Nav_DetailFiles = null;
+ detailList.Add(item);
+ }
+ }
+ var files = entity.Nav_Files;
+ if (files != null && files.Any())
+ {
+ files = files.Where(t => !t.IS_DELETED).ToList();
+ }
+ entity.Nav_Files = null;
+ if (files != null && files.Any())
+ {
+ foreach (var item in files)
+ {
+ item.ORG_ID = entity.ORG_ID;
+ item.LEADER_WELL_RECORD_ID = entity.ID;
+ item.Nav_ImgFile = null;
+ fileList.Add(item);
+ }
+ }
+ var users = entity.Nav_Users;
+ if (users != null && users.Any())
+ {
+ users = users.Where(t => !t.IS_DELETED).ToList();
+ }
+ entity.Nav_Users = null;
+ if (users != null && users.Any())
+ {
+ foreach (var item in users)
+ {
+ item.ORG_ID = entity.ORG_ID;
+ item.LEADER_WELL_RECORD_ID = entity.ID;
+ item.Nav_User = null;
+ userList.Add(item);
+ }
+ }
+ if (entity.PUBLISH != null && entity.PUBLISH.Equals("SaveAndNotify"))
+ {
+ if (entity.STATUS == MS.Domain.Enums.FOStatusEnum.Draft)
+ {
+ foreach (var user in users)
+ {
+ if (user.USER_ID == loginUserId)
+ {
+ user.DEAL_STATUS = MS.Domain.Enums.FOUserShiftStatusEnum.已处理;
+ }
+ }
+ var sendUserIds= users.Where(t=>t.USER_ID != loginUserId && t.USER_ID!=null).Select(m=>m.USER_ID).Distinct().ToList();
+
+ }
+ }
+ this.UnifiedCommit(() =>
+ {
+ if (detailFileIds != null && detailFileIds.Any())
+ this.BantchDeleteEntityNoCommit(detailFileIds);
+ if (detailAreaIds != null && detailAreaIds.Any())
+ this.BantchDeleteEntityNoCommit(detailAreaIds);
+ if (detailIds != null && detailIds.Any())
+ this.BantchDeleteEntityNoCommit(detailIds);
+ if (fileIds != null && fileIds.Any())
+ this.BantchDeleteEntityNoCommit(fileIds);
+ if (userIds != null && userIds.Any())
+ this.BantchDeleteEntityNoCommit(userIds);
+ if (entity != null)
+ UpdateEntityNoCommit(entity);
+ if (detailList != null && detailList.Any())
+ this.BantchSaveEntityNoCommit(detailList);
+ if (detailFileList != null && detailFileList.Any())
+ this.BantchSaveEntityNoCommit(detailFileList);
+ if (detailAreaList != null && detailAreaList.Any())
+ this.BantchSaveEntityNoCommit(detailAreaList);
+ if (userList != null && userList.Any())
+ this.BantchSaveEntityNoCommit(userList);
+ if (fileList != null && fileList.Any())
+ this.BantchSaveEntityNoCommit(fileList);
+ });
+ return true;
+ });
+ }
+ }
+}