From dcf4793c9cb6501a6327e2cfc18aef77506600db 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: Wed, 17 Dec 2025 11:39:43 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=A1=E6=89=B9=E6=89=BE=E5=88=86=E7=AE=A1?= =?UTF-8?q?=E9=A2=86=E5=AF=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Services/FM/FMFlowPermitService.cs | 32 ++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/APT.BaseData.Services/Services/FM/FMFlowPermitService.cs b/APT.BaseData.Services/Services/FM/FMFlowPermitService.cs index d6dd698..a7231f0 100644 --- a/APT.BaseData.Services/Services/FM/FMFlowPermitService.cs +++ b/APT.BaseData.Services/Services/FM/FMFlowPermitService.cs @@ -1625,7 +1625,37 @@ namespace APT.BaseData.Services.Services.FM private Guid? GetApproveUser(T_PF_APPROVE_TEMP_DETAIL approveTempDetail, List users, Guid loginUserId) { Guid? approveId = null; - if (approveTempDetail.DEPARTMENT_TYPE == (int)FMDepartmentType.Company) + var approveRole = this.GetEntity(t => t.ID == approveTempDetail.APPROVE_ROLE_ID); + if (approveRole != null && approveRole.NAME == "分管领导") + { + var user = users.FirstOrDefault(t => t.ID == loginUserId); + if (user.DEPARTMENT_ID != null) + { + List departmentIds = new List(); + GetDepartmentId((Guid)user.DEPARTMENT_ID, ref departmentIds); + if (departmentIds.Any()) + { + var dep = GetEntity(t => departmentIds.Contains(t.ID) && t.DEPARTMENT_TYPE == approveRole.DEPARTMENT_TYPE); + if (dep != null && dep.CHARGEUSER_ID != null) + { + approveId = dep.CHARGEUSER_ID; + } + else + { + return approveId; + } + } + else + { + return approveId; + } + } + else + { + return approveId; + } + } + else if (approveTempDetail.DEPARTMENT_TYPE == (int)FMDepartmentType.Company) { var approveIds = users.Where(x => x.APPROVE_ROLE_ID == approveTempDetail.APPROVE_ROLE_ID).Select(t => t.ID).ToList(); if (approveIds.Count() == 0)