From 022571167c1db99de6727ac17d9739a96001a0f2 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, 24 Nov 2025 12:13:41 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/Api/SKController.cs | 129 ++++++++++++++++++ .../Api/EnterpriseLibraryController.cs | 2 +- 2 files changed, 130 insertions(+), 1 deletion(-) diff --git a/APT.MicroApi/APT.PP.WebApi/Controllers/Api/SKController.cs b/APT.MicroApi/APT.PP.WebApi/Controllers/Api/SKController.cs index 97cf3f3..4365320 100644 --- a/APT.MicroApi/APT.PP.WebApi/Controllers/Api/SKController.cs +++ b/APT.MicroApi/APT.PP.WebApi/Controllers/Api/SKController.cs @@ -5491,6 +5491,135 @@ namespace APT.PP.WebApi.Controllers.Api } return true; }); + } + /// + /// 检查类型更新 + /// + /// + /// + [HttpPost, Route("BasicLibraryNewSync")] + public JsonActionResult BasicLibraryNewSync([FromBody] KeywordFilter filter) + { + return SafeExecute(() => + { + try + { + var oldUnit = ""; + var newUnit = ""; + if (filter.Parameter1 != null && filter.Parameter1.Contains("|")) + { + var param = filter.Parameter1.Split("|"); + oldUnit = param[0]; + newUnit = param[1]; + } + else + throw new Exception("参数必须填写,例如:地下矿|选矿厂"); + var oldUnitId = this.GetEntity(t => t.NAME == oldUnit)?.ID; + var newUnitId = this.GetEntity(t => t.NAME == newUnit)?.ID; + List libs = new List(); + List measures = new List(); + List contents = new List(); + List hiddens = new List(); + + var librarys = GetEntities(i => i.IS_DELETED == false && i.PRODUCTION_UNIT_ID == oldUnitId, new BaseFilter(filter.OrgId)).ToList(); + var libraryIds = librarys.Select(t => t.ID).ToList(); + var libraryDetails = GetEntities(i => i.IS_DELETED == false && libraryIds.Contains(i.BASIC_LIBRARY_ID), new BaseFilter(filter.OrgId)).ToList(); + var libraryDetailIds = libraryDetails.Select(t => t.ID).ToList(); + var libraryContents = GetEntities(i => i.IS_DELETED == false && libraryDetailIds.Contains(i.BASIC_LIBRARY_DETAIL_ID), new BaseFilter(filter.OrgId)).ToList(); + var libraryContentIds = libraryContents.Select(t => t.ID).ToList(); + var libraryHiddens = GetEntities(i => i.IS_DELETED == false && libraryContentIds.Contains(i.BASIC_LIBRARY_DETAIL_CONTENT_ID), new BaseFilter(filter.OrgId)).ToList(); + if (librarys != null && librarys.Any()) + { + foreach (var entity in librarys) + { + T_SK_BASIC_LIBRARY enterpriseLib = new T_SK_BASIC_LIBRARY(); + enterpriseLib.ORG_ID = entity.ORG_ID; + enterpriseLib.PRODUCTION_UNIT_ID = newUnitId; + enterpriseLib.ENABLE_STATUS = entity.ENABLE_STATUS; + enterpriseLib.MineType = entity.MineType; + enterpriseLib.MINE_NAME = entity.MINE_NAME; + enterpriseLib.AREA_ID = entity.AREA_ID; + enterpriseLib.AREA_NAME = entity.AREA_NAME; + enterpriseLib.RISK_NAME = entity.RISK_NAME; + enterpriseLib.RISK_DESCRIPTION = entity.RISK_DESCRIPTION; + enterpriseLib.TYPE_ID = entity.TYPE_ID; + enterpriseLib.TYPE_NAME = entity.TYPE_NAME; + enterpriseLib.EVALUATE_L = entity.EVALUATE_L; + enterpriseLib.EVALUATE_E = entity.EVALUATE_E; + enterpriseLib.EVALUATE_C = entity.EVALUATE_C; + enterpriseLib.EVALUATE_SCORE = entity.EVALUATE_SCORE; + enterpriseLib.EVALUATE_LEVEL = entity.EVALUATE_LEVEL; + enterpriseLib.DEPARTMENT_TYPE = entity.DEPARTMENT_TYPE; + enterpriseLib.NUM = entity.NUM; + libs.Add(enterpriseLib); + var measureTemps = libraryDetails.Where(t=>t.BASIC_LIBRARY_ID == entity.ID).ToList(); + if (measureTemps.Any()) + { + foreach (var temp in measureTemps) + { + T_SK_BASIC_LIBRARY_DETAIL measure = new T_SK_BASIC_LIBRARY_DETAIL(); + measure.ORG_ID = filter.OrgId; + measure.BASIC_LIBRARY_ID = enterpriseLib.ID; + measure.MEASURES_NAME = temp.MEASURES_NAME; + measure.NUM = temp.NUM; + measures.Add(measure); + var contentTemps = libraryContents.Where(t => t.BASIC_LIBRARY_DETAIL_ID == temp.ID).ToList(); + if (contentTemps.Any()) + { + foreach (var ctemp in contentTemps) + { + T_SK_BASIC_LIBRARY_DETAIL_CONTENT content = new T_SK_BASIC_LIBRARY_DETAIL_CONTENT(); + content.ORG_ID = filter.OrgId; + content.BASIC_LIBRARY_DETAIL_ID = measure.ID; + content.CHECK_CONTENT = ctemp.CHECK_CONTENT; + content.CHECK_CONTENTS_ID = ctemp.CHECK_CONTENTS_ID; + content.NUM = ctemp.NUM; + contents.Add(content); + var hiddenTemps = libraryHiddens.Where(t => t.BASIC_LIBRARY_DETAIL_CONTENT_ID == ctemp.ID).ToList(); + if (hiddenTemps.Any()) + { + foreach (var htemp in hiddenTemps) + { + T_SK_BASIC_LIBRARY_DETAIL_CONTENT_HIDDEN hidden = new T_SK_BASIC_LIBRARY_DETAIL_CONTENT_HIDDEN(); + hidden.ORG_ID = filter.OrgId; + hidden.BASIC_LIBRARY_DETAIL_CONTENT_ID = content.ID; + hidden.CHECK_QUESTION_ID = htemp.CHECK_QUESTION_ID; + hidden.HIDDEN_LEVEL = htemp.HIDDEN_LEVEL; + hidden.HIDDEN_DESCRIPTION = htemp.HIDDEN_DESCRIPTION; + hidden.RECTIFICATION_MEASURES = htemp.RECTIFICATION_MEASURES; + hidden.NUM = htemp.NUM; + hiddens.Add(hidden); + + } + } + } + } + } + } + + } + } + UnifiedCommit(() => + { + if (libs != null && libs.Any()) + BantchSaveEntityNoCommit(libs); + if (measures != null && measures.Any()) + BantchSaveEntityNoCommit(measures); + if (contents != null && contents.Any()) + BantchSaveEntityNoCommit(contents); + if (hiddens != null && hiddens.Any()) + BantchSaveEntityNoCommit(hiddens); + }); + } + catch (Exception ex) + { + if (!string.IsNullOrEmpty(ex.StackTrace)) + throw new Exception("错误日志:[StackTrace]" + ex.StackTrace); + else + throw new Exception("【" + HttpContext.Request.Path + "】错误日志:[Message]" + ex.Message); + } + return true; + }); } } } diff --git a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/EnterpriseLibraryController.cs b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/EnterpriseLibraryController.cs index fc02826..505bc22 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/EnterpriseLibraryController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/EnterpriseLibraryController.cs @@ -1838,7 +1838,7 @@ namespace APT.SK.WebApi.Controllers.Api if (checkList.Data != null && checkList.Data.Any()) { var libraryIds = postLists.Select(m => m.ENTERPRISE_LIBRARY_ID).Distinct().ToList(); - var librarys = this.GetEntities(t => libraryIds.Contains(t.ID), new BaseFilter(filter.OrgId), "Nav_Area", "Nav_Type", "Nav_RiskName", "Nav_Details", "Nav_Photo.Nav_ImgFile"); + var librarys = this.GetEntities(t => libraryIds.Contains(t.ID), new BaseFilter(filter.OrgId), "Nav_Area", "Nav_Type", "Nav_RiskName", "Nav_Details"); foreach (var item in checkList.Data) { var tempIds = postLists.Where(t => t.DEPARTMENT_ID == item.DEPARTMENT_ID && t.POST_NAME == item.POST_NAME).Select(m => m.ENTERPRISE_LIBRARY_ID).Distinct().ToList();