From 83c2c0e08de3b98c881dbc6fd87a06c165dcf63d 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: Tue, 11 Nov 2025 17:55:19 +0800 Subject: [PATCH] 1 --- .../Api/SecurityInspectionNoticeController.cs | 61 +++++++++++++++++++ 1 file changed, 61 insertions(+) diff --git a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/SecurityInspectionNoticeController.cs b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/SecurityInspectionNoticeController.cs index 9aab17a..192e363 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/SecurityInspectionNoticeController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/SecurityInspectionNoticeController.cs @@ -1553,6 +1553,67 @@ namespace APT.SK.WebApi.Controllers.Api return result; } }); + } + + /// + /// 根据检查类型,检查层级,当前人所在生产单元及其岗位自动带出所有区域下的检查内容 + /// + /// + /// + [HttpPost, Route("GetCheckContentsNew")] + public JsonActionResult> GetCheckContentsNew([FromBody] T_SK_SECURITY_INSPECTION_NOTICE entity) + { + + var result = new JsonActionResult>(); + var dataList = new List(); + if (entity.PRODUCTION_UNIT_ID == null || entity.CHECK_TYPE_ID == null || entity.DEPARTMENT_TYPE == null || entity.PLANCHECKFREQUENCY == null) + { + throw new Exception("生产单元,检查层级,检查类型,检查周期都不能为空"); + } + var loginUserId = APT.Infrastructure.Api.AppContext.CurrentSession.UserID; + var departId = APT.Infrastructure.Api.AppContext.CurrentSession.DepartmentID; + var postId = this.GetEntity(t => t.ID == loginUserId && t.Nav_Person != null, "Nav_Person")?.Nav_Person?.POST_ID; + if (postId == null) + { + throw new Exception("发起人岗位未配置,请到用户列表确认岗位"); + } + var checkSet = this.GetEntity(t => t.PRODUCTION_UNIT_ID == entity.PRODUCTION_UNIT_ID && t.CHECK_CYCLE == entity.PLANCHECKFREQUENCY && t.CHECK_TYPE == entity.DEPARTMENT_TYPE && t.DEPARTMENT_ID == Guid.Parse(departId.ToString()) && t.POST_ID == postId); + if (checkSet == null) + { + throw new Exception("未找到对应的检查清单,请手动添加检查内容"); + } + var details = this.GetEntities(t => t.CHECK_SET_ID == checkSet.ID, new BaseFilter(entity.ORG_ID), "Nav_Area", "Nav_Contents", "Nav_ContentsBasics"); + if (details != null && details.Any()) + { + foreach (var item in details) + { + T_SK_SECURITY_INSPECTION_NOTICE_DETAIL detail = new T_SK_SECURITY_INSPECTION_NOTICE_DETAIL(); + detail.ORG_ID = entity.ORG_ID; + detail.RISK_AREA_ID = item.AREA_ID; + detail.Nav_RiskArea = item.Nav_Area; + detail.CHECK_CONTENTS_ID = item.CHECK_CONTENTS_ID; + detail.Nav_Contents = item.Nav_Contents; + detail.CHECKCONTENT = item.CHECK_CONTENT; + detail.CHECKSTANDARD = item.CHECK_STANDARD; + detail.Nav_CheckNoticeDetailUsers = null; + List basics = new List(); + if (item.Nav_ContentsBasics != null && item.Nav_ContentsBasics.Any()) + { + foreach (var item2 in item.Nav_ContentsBasics) + { + T_SK_SECURITY_INSPECTION_NOTICE_DETAIL_BASIC bas = new T_SK_SECURITY_INSPECTION_NOTICE_DETAIL_BASIC(); + bas.ORG_ID = item2.ORG_ID; + bas.SECURITY_INSPECTION_NOTICE_DETAIL_ID = detail.ID; + bas.LAW_ID = item2.LAW_ID; + basics.Add(bas); + } + } + detail.Nav_CheckNoticeDetailBasics = basics; + dataList.Add(detail); + } + result.Data = dataList; + } + return result; } } }