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; + }); + } + } +}