This commit is contained in:
何美荣 2025-11-11 17:55:19 +08:00
parent ee4708a22e
commit 83c2c0e08d

View File

@ -1554,5 +1554,66 @@ namespace APT.SK.WebApi.Controllers.Api
}
});
}
/// <summary>
/// 根据检查类型,检查层级,当前人所在生产单元及其岗位自动带出所有区域下的检查内容
/// </summary>
/// <param name="filter"></param>
/// <returns></returns>
[HttpPost, Route("GetCheckContentsNew")]
public JsonActionResult<List<T_SK_SECURITY_INSPECTION_NOTICE_DETAIL>> GetCheckContentsNew([FromBody] T_SK_SECURITY_INSPECTION_NOTICE entity)
{
var result = new JsonActionResult<List<T_SK_SECURITY_INSPECTION_NOTICE_DETAIL>>();
var dataList = new List<T_SK_SECURITY_INSPECTION_NOTICE_DETAIL>();
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_FM_USER>(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_SK_CHECK_SET>(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_SK_CHECK_SET_CONTENTS>(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<T_SK_SECURITY_INSPECTION_NOTICE_DETAIL_BASIC> basics = new List<T_SK_SECURITY_INSPECTION_NOTICE_DETAIL_BASIC>();
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;
}
}
}