审批找人新方法

This commit is contained in:
何美荣 2025-12-16 17:35:06 +08:00
parent c4a9c13623
commit 76efd0535e

View File

@ -1572,7 +1572,50 @@ namespace APT.BaseData.Services.Services.FM
}
}
}
/// <summary>
/// 根据部门树查找审核人(新)去除层级
/// </summary>
/// <param name="approveDetails"></param>
/// <param name="approveNode"></param>
/// <returns></returns>
private Guid? GetApproveUserNew(T_PF_APPROVE_TEMP_DETAIL approveTempDetail, List<T_FM_USER> users, List<T_FM_DEPARTMENT> departs, Guid loginUserId)
{
Guid? approveId = null;
var user = users.FirstOrDefault(t => t.ID == loginUserId);
var approveIds = users.Where(x => x.APPROVE_ROLE_ID == approveTempDetail.APPROVE_ROLE_ID).Select(t => t.ID).ToList();
if (approveIds.Count() == 0)
{
//当前审批节点未配人员返回Null
return approveId;
}
else if (approveIds.Count() == 1)
{
//当前节点只有一个人
approveId = approveIds.FirstOrDefault();
}
else
{
//当前节点很多人,按当前登录人的层级及上级组织,只会取到一个
if (user.DEPARTMENT_ID != null)
{
List<Guid> departmentIds = new List<Guid>();
GetDepartmentId((Guid)user.DEPARTMENT_ID, ref departmentIds);
if (departmentIds.Any())
{
var userTemp = users.FirstOrDefault(x => x.DEPARTMENT_ID!=null && x.APPROVE_ROLE_ID == approveTempDetail.APPROVE_ROLE_ID && departmentIds.Contains((Guid)x.DEPARTMENT_ID) && approveIds.Contains(x.ID));
if (userTemp != null)
{
approveId = userTemp.ID;
}
else
{
return approveId;
}
}
}
}
return approveId;
}
/// <summary>
/// 根据部门树查找审核人
/// </summary>