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