From dd9f7bef7cb367868270f564284d8bc25b72e30e Mon Sep 17 00:00:00 2001 From: sxu <602087911@qq.com> Date: Tue, 18 Feb 2025 10:50:33 +0800 Subject: [PATCH] firstLevelDeptId --- .../java/com/bonus/system/api/domain/SysUser.java | 14 ++++++++++++++ .../system/service/impl/SysDeptServiceImpl.java | 2 +- .../system/service/impl/SysUserServiceImpl.java | 1 + .../main/resources/mapper/system/SysDeptMapper.xml | 2 +- .../main/resources/mapper/system/SysUserMapper.xml | 7 +++++++ 5 files changed, 24 insertions(+), 2 deletions(-) diff --git a/bonus-api/bonus-api-system/src/main/java/com/bonus/system/api/domain/SysUser.java b/bonus-api/bonus-api-system/src/main/java/com/bonus/system/api/domain/SysUser.java index 2ea9fa5..65cd9a1 100644 --- a/bonus-api/bonus-api-system/src/main/java/com/bonus/system/api/domain/SysUser.java +++ b/bonus-api/bonus-api-system/src/main/java/com/bonus/system/api/domain/SysUser.java @@ -50,6 +50,12 @@ public class SysUser extends BaseEntity { @JsonFormat(shape = JsonFormat.Shape.STRING) private Long companyId; + /** + * 根公司下第一级分公司的deptId + */ + @JsonFormat(shape = JsonFormat.Shape.STRING) + private Long firstLevelDeptId; + /** * 区域id(源自送变电公司下面的管辖区域,可以用来划分数据范围) */ @@ -220,6 +226,14 @@ public class SysUser extends BaseEntity { this.companyId = companyId; } + public Long getFirstLevelDeptId() { + return firstLevelDeptId; + } + + public void setFirstLevelDeptId(Long firstLevelDeptId) { + this.firstLevelDeptId = firstLevelDeptId; + } + public Long getAreaId() { return areaId; } diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/impl/SysDeptServiceImpl.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/impl/SysDeptServiceImpl.java index 9144829..f22c043 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/impl/SysDeptServiceImpl.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/impl/SysDeptServiceImpl.java @@ -88,7 +88,7 @@ public class SysDeptServiceImpl implements ISysDeptService dept.setDeptName(str); } dept.setCompanyId(SecurityUtils.getLoginUser().getSysUser().getCompanyId()); - //dept.setAreaId(SecurityUtils.getLoginUser().getSysUser().getAreaId()); + //dept.setDeptId(SecurityUtils.getLoginUser().getSysUser().getFirstLevelDeptId()); return deptMapper.selectDeptList(dept); } diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/impl/SysUserServiceImpl.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/impl/SysUserServiceImpl.java index f5ea6a9..5e3bd9c 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/impl/SysUserServiceImpl.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/impl/SysUserServiceImpl.java @@ -108,6 +108,7 @@ public class SysUserServiceImpl implements ISysUserService { user.setPhonenumber(phone); } user.setCompanyId(SecurityUtils.getLoginUser().getSysUser().getCompanyId()); + //user.setDeptId(SecurityUtils.getLoginUser().getSysUser().getFirstLevelDeptId()); List sysUsers = userMapper.selectUserList(user); //transferCanteenAdminAndCustInfo(sysUsers); //安徽送变电绿智食堂用户数据转换工具 (一次性工具) for (SysUser sysUser : sysUsers) { diff --git a/bonus-modules/bonus-system/src/main/resources/mapper/system/SysDeptMapper.xml b/bonus-modules/bonus-system/src/main/resources/mapper/system/SysDeptMapper.xml index 409c478..2b14636 100644 --- a/bonus-modules/bonus-system/src/main/resources/mapper/system/SysDeptMapper.xml +++ b/bonus-modules/bonus-system/src/main/resources/mapper/system/SysDeptMapper.xml @@ -81,7 +81,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" AND (find_in_set(#{companyId}, ancestors) or dept_id = #{companyId}) - AND (u.dept_id = #{deptId} OR u.dept_id IN ( SELECT t.dept_id FROM sys_dept t WHERE find_in_set(#{deptId}, + AND (d.dept_id = #{deptId} OR d.dept_id IN ( SELECT t.dept_id FROM sys_dept t WHERE find_in_set(#{deptId}, ancestors) )) diff --git a/bonus-modules/bonus-system/src/main/resources/mapper/system/SysUserMapper.xml b/bonus-modules/bonus-system/src/main/resources/mapper/system/SysUserMapper.xml index be5898d..6d96a04 100644 --- a/bonus-modules/bonus-system/src/main/resources/mapper/system/SysUserMapper.xml +++ b/bonus-modules/bonus-system/src/main/resources/mapper/system/SysUserMapper.xml @@ -8,6 +8,7 @@ + @@ -63,6 +64,12 @@ ELSE SUBSTRING_INDEX(SUBSTRING_INDEX(d.ancestors, ',', 2), ',', -1) END as company_id, + CASE + WHEN (LENGTH(d.ancestors) - LENGTH(REPLACE(d.ancestors, ',', ''))) = 1 THEN + d.dept_id + ELSE + SUBSTRING_INDEX(SUBSTRING_INDEX(d.ancestors, ',', 3), ',', -1) + END as first_level_dept_id, u.area_id, u.user_name, u.nick_name,