diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/mapper/SysUserMapper.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/mapper/SysUserMapper.java index 66fd84e..1e2a865 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/mapper/SysUserMapper.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/mapper/SysUserMapper.java @@ -158,4 +158,13 @@ public interface SysUserMapper { int systemUpdateUser(SysUser user); List getRoleList(int type); + + /** + * 查询用户角色所属分公司 + * @param user + * @return Long + * @author cwchen + * @date 2025/8/18 16:15 + */ + Long getAffCompany(SysUser user); } 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 7b14fff..fe59bb4 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 @@ -332,6 +332,8 @@ public class SysUserServiceImpl implements ISysUserService { @Override @Transactional(rollbackFor = Exception.class) public int insertUser(SysUser user) { + // 绑定分公司 + user.setAffCompany(getAffCompany(user)); // 新增用户信息 int rows = userMapper.insertUser(user); // 新增用户岗位关联 @@ -341,6 +343,36 @@ public class SysUserServiceImpl implements ISysUserService { return rows; } + /** + * 查询用户角色所属分公司 + * @param user + * @return Long + * @author cwchen + * @date 2025/8/18 16:15 + */ + public Long getAffCompany(SysUser user) { + Long affCompany = 0L; + try { + switch (user.getPermissionType()) { + case "1": // 公司 + case "4": // 分包商 + break; + case "2": // 分公司 + affCompany = user.getBandId(); + break; + case "3": // 项目部 + case "5": // 施工人员 + affCompany = userMapper.getAffCompany(user); + break; + default: + break; + } + } catch (Exception e) { + log.error(e.toString(),e); + } + return affCompany; + } + /** * 注册用户信息 * @@ -361,6 +393,7 @@ public class SysUserServiceImpl implements ISysUserService { @Override @Transactional(rollbackFor = Exception.class) public int updateUser(SysUser user) { + user.setAffCompany(getAffCompany(user)); Long userId = user.getUserId(); // 删除用户与角色关联 userRoleMapper.deleteUserRoleByUserId(userId); 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 e019bcc..5f0d85c 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 @@ -31,9 +31,10 @@ - + + @@ -101,7 +102,8 @@ u.role_level, u.band_id, u.permission_type, - u.permission_range + u.permission_range, + u.aff_company from sys_user u left join sys_dept d on u.dept_id = d.dept_id left join sys_user_role ur on u.user_id = ur.user_id @@ -122,7 +124,8 @@ u.band_id, u.permission_type, u.permission_range, - IFNULL(u.create_time,u.update_time) AS update_time + IFNULL(u.create_time,u.update_time) AS update_time, + u.aff_company from sys_user u left join sys_user_role ur on u.user_id = ur.user_id left join sys_role r on r.role_id = ur.role_id @@ -195,7 +198,8 @@ + + insert into sys_user( @@ -314,7 +328,8 @@ role_name, band_id, permission_type, - permission_range + permission_range, + aff_company )values( #{userId}, #{deptId}, @@ -338,7 +353,8 @@ #{roleName}, #{bandId}, #{permissionType}, - #{permissionRange} + #{permissionRange}, + #{affCompany} ) @@ -367,7 +383,8 @@ role_name = #{roleName}, band_id = #{bandId}, permission_type = #{permissionType}, - permission_range = #{permissionRange} + permission_range = #{permissionRange}, + aff_company = #{affCompany} where user_id = #{userId}