系统管理优化

This commit is contained in:
cwchen 2025-08-18 17:12:21 +08:00
parent 4a484644c4
commit e963e526a5
3 changed files with 67 additions and 8 deletions

View File

@ -158,4 +158,13 @@ public interface SysUserMapper {
int systemUpdateUser(SysUser user);
List<SelectVo> getRoleList(int type);
/**
* 查询用户角色所属分公司
* @param user
* @return Long
* @author cwchen
* @date 2025/8/18 16:15
*/
Long getAffCompany(SysUser user);
}

View File

@ -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);

View File

@ -31,9 +31,10 @@
<result property="roleId" column="role_id"/>
<result property="roleLevel" column="role_level"/>
<result property="roleName" column="role_name"/>
<result property="bandId" column="band_id"/>
<result property="bandId" column="band_id" javaType="java.lang.Long"/>
<result property="permissionType" column="permission_type"/>
<result property="permissionRange" column="permission_range"/>
<result property="affCompany" column="aff_company" javaType="java.lang.Long"/>
<association property="dept" javaType="SysDept" resultMap="deptResult"/>
<collection property="roles" javaType="java.util.List" resultMap="RoleResult"/>
@ -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 @@
<!-- </select>-->
<select id="selectAllocatedList" parameterType="SysUser" resultMap="SysUserResult">
select distinct u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.phonenumber, u.status, u.create_time,u.is_built_in
select distinct u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.phonenumber, u.status, u.create_time,u.is_built_in,
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
@ -212,7 +216,8 @@
</select>
<select id="selectUnallocatedList" parameterType="SysUser" resultMap="SysUserResult">
select distinct u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.phonenumber, u.status, u.create_time,u.is_built_in,
select distinct u.user_id, u.dept_id, u.user_name, u.nick_name, u.email,
u.phonenumber, u.status, u.create_time,u.is_built_in
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
@ -289,6 +294,15 @@
AND del_flag = '0'
</where>
</select>
<!--查询用户角色所属分公司-->
<select id="getAffCompany" resultType="java.lang.Long">
<if test="permissionType == 3">
SELECT sub_com_id FROM pm_org WHERE id = #{bandId} AND sub_com_id IS NOT NULL
</if>
<if test="permissionType == 5">
SELECT sub_com_id FROM pm_project WHERE id = #{bandId} AND sub_com_id IS NOT NULL
</if>
</select>
<insert id="insertUser" parameterType="SysUser" useGeneratedKeys="true" keyProperty="userId">
insert into sys_user(
@ -314,7 +328,8 @@
<if test="roleName != null and roleName!=''">role_name,</if>
<if test="bandId != null">band_id,</if>
<if test="permissionType != null and permissionType!=''">permission_type,</if>
<if test="permissionRange != null and permissionRange!=''">permission_range</if>
<if test="permissionRange != null and permissionRange!=''">permission_range,</if>
<if test="affCompany != null">aff_company</if>
)values(
<if test="userId != null and userId != ''">#{userId},</if>
<if test="deptId != null and deptId != ''">#{deptId},</if>
@ -338,7 +353,8 @@
<if test="roleName != null and roleName!=''">#{roleName},</if>
<if test="bandId != null">#{bandId},</if>
<if test="permissionType != null and permissionType!=''">#{permissionType},</if>
<if test="permissionRange != null and permissionRange!=''">#{permissionRange}</if>
<if test="permissionRange != null and permissionRange!=''">#{permissionRange},</if>
<if test="affCompany != null">#{affCompany}</if>
)
</insert>
@ -367,7 +383,8 @@
<if test="roleName != null and roleName!=''">role_name = #{roleName},</if>
<if test="bandId != null">band_id = #{bandId},</if>
<if test="permissionType != null and permissionType!=''">permission_type = #{permissionType},</if>
<if test="permissionRange != null and permissionRange!=''">permission_range = #{permissionRange}</if>
<if test="permissionRange != null and permissionRange!=''">permission_range = #{permissionRange},</if>
<if test="affCompany != null">aff_company = #{affCompany}</if>
</set>
where user_id = #{userId}
</update>