1. 修复错误设置公司编码以及部门编码的bug

This commit is contained in:
chenbowen
2026-01-21 10:46:00 +08:00
parent 95d156940f
commit b93cc1ec51

View File

@@ -59,13 +59,15 @@ public class BusinessDeptHandleUtil {
} }
// 如果有 deptId校验其是否属于该 companyId // 如果有 deptId校验其是否属于该 companyId
if (deptIdHeader != null) { if (deptIdHeader != null) {
boolean valid = companyDeptSetByCompanyId.stream().anyMatch(info -> String.valueOf(info.getDeptId()).equals(deptIdHeader)); Optional<CompanyDeptInfo> matched = companyDeptSetByCompanyId.stream()
if (!valid) { .filter(info -> String.valueOf(info.getDeptId()).equals(deptIdHeader))
.findFirst();
if (matched.isEmpty()) {
return null; return null;
} else {
// 部门存在,放行
return new HashSet<>();
} }
// 部门存在,先设置登录信息再放行
applyAutoSelection(currentLoginUser, request, matched.get());
return Collections.emptySet();
} }
if (companyDeptSetByCompanyId.size() == 1) { if (companyDeptSetByCompanyId.size() == 1) {
CompanyDeptInfo singleCompanyDept = companyDeptSetByCompanyId.iterator().next(); CompanyDeptInfo singleCompanyDept = companyDeptSetByCompanyId.iterator().next();
@@ -183,10 +185,10 @@ public class BusinessDeptHandleUtil {
if (loginUser != null) { if (loginUser != null) {
loginUser.setVisitCompanyId(Long.valueOf(info.getCompanyId())); loginUser.setVisitCompanyId(Long.valueOf(info.getCompanyId()));
loginUser.setVisitCompanyName(info.getCompanyName()); loginUser.setVisitCompanyName(info.getCompanyName());
loginUser.setVisitCompanyCode(info.getCompanyName()); loginUser.setVisitCompanyCode(info.getCompanyCode());
loginUser.setVisitDeptId(Long.valueOf(info.getDeptId())); loginUser.setVisitDeptId(Long.valueOf(info.getDeptId()));
loginUser.setVisitDeptName(info.getDeptName()); loginUser.setVisitDeptName(info.getDeptName());
loginUser.setVisitDeptCode(info.getDeptName()); loginUser.setVisitDeptCode(info.getDeptCode());
} }
request.setAttribute(WebFrameworkUtils.HEADER_VISIT_COMPANY_ID, info.getCompanyId()); request.setAttribute(WebFrameworkUtils.HEADER_VISIT_COMPANY_ID, info.getCompanyId());
if (info.getCompanyName() != null) { if (info.getCompanyName() != null) {