diff --git a/APT.BaseData.Services/Services/FM/FMFlowPermitService.cs b/APT.BaseData.Services/Services/FM/FMFlowPermitService.cs
index a7af507..d6dd698 100644
--- a/APT.BaseData.Services/Services/FM/FMFlowPermitService.cs
+++ b/APT.BaseData.Services/Services/FM/FMFlowPermitService.cs
@@ -1572,7 +1572,50 @@ namespace APT.BaseData.Services.Services.FM
}
}
}
-
+ ///
+ /// 根据部门树查找审核人(新)去除层级
+ ///
+ ///
+ ///
+ ///
+ private Guid? GetApproveUserNew(T_PF_APPROVE_TEMP_DETAIL approveTempDetail, List users, List 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 departmentIds = new List();
+ 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;
+ }
///
/// 根据部门树查找审核人
///