辨识结果找安全总监,隐患确认触发整改通知找安全总监

This commit is contained in:
何美荣 2026-04-16 09:51:49 +08:00
parent 5cfc45b09b
commit e80f4482c9
3 changed files with 144 additions and 48 deletions

View File

@ -12142,7 +12142,11 @@ namespace APT.BaseData.Services.DomainServices
}
if (user == null)
{
throw new Exception("未找到整改责任人对应组织的安全员和负责人,请确认基础配置已完善");
GetUserInfo(departFist.PARENT_ID, ref user);
}
if (user == null)
{
throw new Exception("未找到整改责任人对应组织的安全员和负责人,也未配置安全总监,请确认基础配置已完善");
}
notice = new T_SK_HIDDEN_DANGER_RECTIFY_NOTICE();
notice.ORG_ID = entity.ORG_ID;
@ -12260,8 +12264,53 @@ namespace APT.BaseData.Services.DomainServices
});
}
return true;
}
/// <summary>
/// 向上逐级找人,部门级负责人找不到直接给安全总监
/// </summary>
/// <param name="departmentId"></param>
/// <param name="chargeId"></param>
private void GetUserInfo(Guid? departmentId, ref T_FM_USER userInfo)
{
var department = GetEntity<T_FM_DEPARTMENT>(t => t.ID == departmentId);
if (department != null)
{
if (department.DEPARTMENT_TYPE != (int)FMDepartmentType.Company)
{
userInfo = GetEntity<T_FM_USER>(t => t.DEPARTMENT_ID == department.ID && t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("安全员"));
if (userInfo == null)
{
if (department.USER_ID != null)
{
userInfo = GetEntity<T_FM_USER>(t => t.ID == department.USER_ID);
}
if (userInfo == null)
{
GetUserInfo(department.PARENT_ID, ref userInfo);
return;
}
else
{
return;
}
}
else
{
return;
}
}
else
{
userInfo = GetEntity<T_FM_USER>(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("安全总监"));
return;
}
}
else
{
userInfo = null;
return;
}
}
private bool BackUpdate_SKHiddenDangerRectifyRecord(T_PF_APPROVE entityInt, T_PF_APPROVE modelApp, List<T_PF_APPROVE_DETAIL> listAppDetail, T_FM_NOTIFICATION_TASK taskFinish, List<T_FM_NOTIFICATION_TASK> listTaskNext, bool isLast = false, bool isApprovel = true)
{
#region
@ -13168,11 +13217,16 @@ namespace APT.BaseData.Services.DomainServices
}
else
{
userId = departs.FirstOrDefault(t => t.ID == departUser.PARENT_ID)?.USER_ID;
if (userId != null)
//安全总监
user = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("安全总监"));
if (user == null)
{
//公司负责人
user = users.FirstOrDefault(t => t.ID == userId);
//总经理
user = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("总经理"));
}
if (user != null)
{
userId = user.ID;
}
}
}
@ -13208,11 +13262,16 @@ namespace APT.BaseData.Services.DomainServices
}
else
{
userId = departs.FirstOrDefault(t => t.ID == departUserUp.PARENT_ID)?.USER_ID;
if (userId != null)
//安全总监
user = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("安全总监"));
if (user == null)
{
//公司负责人
user = users.FirstOrDefault(t => t.ID == userId);
//总经理
user = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("总经理"));
}
if (user != null)
{
userId = user.ID;
}
}
}
@ -13256,11 +13315,16 @@ namespace APT.BaseData.Services.DomainServices
}
else
{
userId = departs.FirstOrDefault(t => t.ID == departUserUp.PARENT_ID)?.USER_ID;
if (userId != null)
//安全总监
user = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("安全总监"));
if (user == null)
{
//公司负责人
user = users.FirstOrDefault(t => t.ID == userId);
//总经理
user = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("总经理"));
}
if (user != null)
{
userId = user.ID;
}
}
}
@ -13559,11 +13623,16 @@ namespace APT.BaseData.Services.DomainServices
}
else
{
userId = departs.FirstOrDefault(t => t.ID == departUser.PARENT_ID)?.USER_ID;
if (userId != null)
//安全总监
user = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("安全总监"));
if (user == null)
{
//公司负责人
user = users.FirstOrDefault(t => t.ID == userId);
//总经理
user = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("总经理"));
}
if (user != null)
{
userId = user.ID;
}
}
}
@ -13598,11 +13667,16 @@ namespace APT.BaseData.Services.DomainServices
}
else
{
userId = departs.FirstOrDefault(t => t.ID == departUser.PARENT_ID)?.USER_ID;
if (userId != null)
//安全总监
user = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("安全总监"));
if (user == null)
{
//公司负责人
user = users.FirstOrDefault(t => t.ID == userId);
//总经理
user = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("总经理"));
}
if (user != null)
{
userId = user.ID;
}
}
}
@ -13640,11 +13714,16 @@ namespace APT.BaseData.Services.DomainServices
}
else
{
userId = departs.FirstOrDefault(t => t.ID == departUser.PARENT_ID)?.USER_ID;
if (userId != null)
//安全总监
user = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("安全总监"));
if (user == null)
{
//公司负责人
user = users.FirstOrDefault(t => t.ID == userId);
//总经理
user = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("总经理"));
}
if (user != null)
{
userId = user.ID;
}
}
}
@ -14292,11 +14371,16 @@ namespace APT.BaseData.Services.DomainServices
}
else
{
userId = departs.FirstOrDefault(t => t.ID == departUser.PARENT_ID)?.USER_ID;
if (userId != null)
//安全总监
user = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("安全总监"));
if (user == null)
{
//公司负责人
user = users.FirstOrDefault(t => t.ID == userId);
//总经理
user = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("总经理"));
}
if (user != null)
{
userId = user.ID;
}
}
}
@ -14331,11 +14415,16 @@ namespace APT.BaseData.Services.DomainServices
}
else
{
userId = departs.FirstOrDefault(t => t.ID == departUser.PARENT_ID)?.USER_ID;
if (userId != null)
//安全总监
user = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("安全总监"));
if (user == null)
{
//公司负责人
user = users.FirstOrDefault(t => t.ID == userId);
//总经理
user = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("总经理"));
}
if (user != null)
{
userId = user.ID;
}
}
}
@ -14375,11 +14464,16 @@ namespace APT.BaseData.Services.DomainServices
}
else
{
userId = departs.FirstOrDefault(t => t.ID == departUser.PARENT_ID)?.USER_ID;
if (userId != null)
//安全总监
user = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("安全总监"));
if (user == null)
{
//公司负责人
user = users.FirstOrDefault(t => t.ID == userId);
//总经理
user = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("总经理"));
}
if (user != null)
{
userId = user.ID;
}
}
}

View File

@ -1854,11 +1854,12 @@ namespace APT.PP.WebApi.Controllers.Api
}
else
{
//找公司
var companyInfo = departs.FirstOrDefault(t => t.ID == departUser?.PARENT_ID);
if (companyInfo != null && companyInfo.USER_ID != null)
//安全总监
user = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("安全总监"));
if (user == null)
{
user = users.FirstOrDefault(t => t.ID == companyInfo.USER_ID);
//找总经理
user = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("总经理"));
}
}
}
@ -2046,11 +2047,12 @@ namespace APT.PP.WebApi.Controllers.Api
}
else
{
//找公司
var companyInfo = departs.FirstOrDefault(t => t.ID == parentId);
if (companyInfo != null && companyInfo.USER_ID != null)
//安全总监
user = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("安全总监"));
if(user == null)
{
user = users.FirstOrDefault(t => t.ID == companyInfo.USER_ID);
//找总经理
user = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME.Contains("总经理"));
}
}
}

View File

@ -56,9 +56,9 @@ namespace APT.SK.WebApi.Controllers.Api
entity.Nav_Evaluations = null;
entity.ApplyDepartmentName = this.GetEntity<T_FM_DEPARTMENT>(t => t.ID == departId).NAME;
entity.ApplyPostName = this.GetEntity<T_FM_USER>(t => t.ID == userId, "Nav_Person.Nav_Post")?.Nav_Person?.Nav_Post?.NAME;
if (entity.START_DATE < DateTime.Now.AddDays(3))
if (entity.START_DATE.Value.Date < DateTime.Now.AddDays(3).Date)
{
throw new Exception("辨识开始时间必须大于"+ DateTime.Now.AddDays(3));
throw new Exception("辨识开始时间必须大于"+ DateTime.Now.AddDays(3).Date.ToString("yyyy-MM-dd"));
}
List<Guid> deleteUserIds = new List<Guid>();
List<Guid> deleteIds = new List<Guid>();