From b93cc1ec51d198b9a87efb6dbf08862d06bacb6c Mon Sep 17 00:00:00 2001 From: chenbowen Date: Wed, 21 Jan 2026 10:46:00 +0800 Subject: [PATCH] =?UTF-8?q?1.=20=E4=BF=AE=E5=A4=8D=E9=94=99=E8=AF=AF?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E5=85=AC=E5=8F=B8=E7=BC=96=E7=A0=81=E4=BB=A5?= =?UTF-8?q?=E5=8F=8A=E9=83=A8=E9=97=A8=E7=BC=96=E7=A0=81=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/util/BusinessDeptHandleUtil.java | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/zt-framework/zt-spring-boot-starter-biz-business/src/main/java/com/zt/plat/framework/business/core/util/BusinessDeptHandleUtil.java b/zt-framework/zt-spring-boot-starter-biz-business/src/main/java/com/zt/plat/framework/business/core/util/BusinessDeptHandleUtil.java index 0f18c4bb..12478437 100644 --- a/zt-framework/zt-spring-boot-starter-biz-business/src/main/java/com/zt/plat/framework/business/core/util/BusinessDeptHandleUtil.java +++ b/zt-framework/zt-spring-boot-starter-biz-business/src/main/java/com/zt/plat/framework/business/core/util/BusinessDeptHandleUtil.java @@ -59,13 +59,15 @@ public class BusinessDeptHandleUtil { } // 如果有 deptId,校验其是否属于该 companyId if (deptIdHeader != null) { - boolean valid = companyDeptSetByCompanyId.stream().anyMatch(info -> String.valueOf(info.getDeptId()).equals(deptIdHeader)); - if (!valid) { + Optional matched = companyDeptSetByCompanyId.stream() + .filter(info -> String.valueOf(info.getDeptId()).equals(deptIdHeader)) + .findFirst(); + if (matched.isEmpty()) { return null; - } else { - // 部门存在,放行 - return new HashSet<>(); } + // 部门存在,先设置登录信息再放行 + applyAutoSelection(currentLoginUser, request, matched.get()); + return Collections.emptySet(); } if (companyDeptSetByCompanyId.size() == 1) { CompanyDeptInfo singleCompanyDept = companyDeptSetByCompanyId.iterator().next(); @@ -183,10 +185,10 @@ public class BusinessDeptHandleUtil { if (loginUser != null) { loginUser.setVisitCompanyId(Long.valueOf(info.getCompanyId())); loginUser.setVisitCompanyName(info.getCompanyName()); - loginUser.setVisitCompanyCode(info.getCompanyName()); + loginUser.setVisitCompanyCode(info.getCompanyCode()); loginUser.setVisitDeptId(Long.valueOf(info.getDeptId())); loginUser.setVisitDeptName(info.getDeptName()); - loginUser.setVisitDeptCode(info.getDeptName()); + loginUser.setVisitDeptCode(info.getDeptCode()); } request.setAttribute(WebFrameworkUtils.HEADER_VISIT_COMPANY_ID, info.getCompanyId()); if (info.getCompanyName() != null) {