From 76efd0535e0592b32d843a6f56abe7e5e1f5da43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=95=E7=BE=8E=E8=8D=A3?= <10755671+mei-rong-he@user.noreply.gitee.com> Date: Tue, 16 Dec 2025 17:35:06 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=A1=E6=89=B9=E6=89=BE=E4=BA=BA=E6=96=B0?= =?UTF-8?q?=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Services/FM/FMFlowPermitService.cs | 45 ++++++++++++++++++- 1 file changed, 44 insertions(+), 1 deletion(-) 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; + } /// /// 根据部门树查找审核人 ///