zhongrj
2024-02-05 da0e45a47b2b6e05734db2e62ed61987871323d3
用户机构调整绑定警格处理调整
5 files modified
84 ■■■■ changed files
src/main/java/org/springblade/modules/system/mapper/DeptMapper.java 7 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml 8 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/service/IDeptService.java 7 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java 10 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java 52 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/mapper/DeptMapper.java
@@ -98,4 +98,11 @@
     * @return
     */
    List<DeptVO> getGridDeptAndParentList();
    /**
     * 查询对应的派出所
     * @param deptId
     * @return
     */
    Dept getDeptByDeptIds(@Param("deptId") String deptId);
}
src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml
@@ -194,4 +194,12 @@
        where bd.dept_name like '%网格%'
    </select>
    <!--查询对应的派出所-->
    <select id="getDeptByDeptIds" resultType="org.springblade.modules.system.entity.Dept">
        select * from blade_dept
        where is_deleted = 0
        and locate(id,#{deptId})>0
        and dept_name like '%派出所%'
    </select>
</mapper>
src/main/java/org/springblade/modules/system/service/IDeptService.java
@@ -146,4 +146,11 @@
     * 数据处理(社区绑定)-- 处理社区(派出所下)
     */
    Object dataHandleCommunityByPolice();
    /**
     * 查询对应的派出所
     * @param deptId
     * @return
     */
    Dept getDeptByDeptIds(String deptId);
}
src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java
@@ -450,4 +450,14 @@
        }
        return null;
    }
    /**
     * 查询对应的派出所
     * @param deptId
     * @return
     */
    @Override
    public Dept getDeptByDeptIds(String deptId) {
        return baseMapper.getDeptByDeptIds(deptId);
    }
}
src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java
@@ -623,15 +623,15 @@
                // 判断角色
                if (!userInfo.getRoleId().contains("1727864411451359233")){
                    userInfo.setRoleId(userInfo.getRoleId() + ",1727864411451359233");
                    // 更新机构
                    setDeptId(userInfo,userExcel);
                    // 更新
                    updateById(userInfo);
                    // 更新用户机构绑定
                    submitUserDept(userInfo);
                    // 更新社区民警绑定信息
                    updateGridBind(userInfo);
                }
                // 更新机构
                setDeptId(userInfo,userExcel);
                // 更新
                updateById(userInfo);
                // 更新用户机构绑定
                submitUserDept(userInfo);
                // 更新社区民警绑定信息
                updateGridBind(userInfo);
            }else {
                // 插入用户角色
                User user = new User();
@@ -675,12 +675,7 @@
            Dept dept = SpringUtil.getBean(IDeptService.class).getOne(wrapper);
            if (null!=dept){
                if (null!=user.getId()){
                    // 更新设置机构
                    if (!Strings.isBlank(user.getDeptId())){
                        if (!user.getDeptId().contains(dept.getId().toString())){
                            user.setDeptId(user.getDeptId() + "," + dept.getId());
                        }
                    }
                    DeptNotHandle(user, dept);
                }else {
                    user.setDeptId(dept.getId().toString());
                }
@@ -689,6 +684,35 @@
    }
    /**
     * 机构不为空时处理
     * @param user
     * @param dept
     */
    public void DeptNotHandle(User user, Dept dept) {
        // 更新设置机构
        if (!Strings.isBlank(user.getDeptId())){
            // 查询对应的派出所(去掉)
            Dept deptPcs = SpringUtil.getBean(IDeptService.class).getDeptByDeptIds(user.getDeptId());
            if (null!=deptPcs) {
                // 如果存在需要去掉派出所的机构id
                List<String> list = new ArrayList<>(Arrays.asList(user.getDeptId().split(",")));
                // 先删除派出所对应的机构ID
                if (list.contains(deptPcs.getId().toString())){
                    list.remove(deptPcs.getId().toString());
                    user.setDeptId(String.join(",",list));
                }
                if (!user.getDeptId().contains(dept.getId().toString())) {
                    user.setDeptId(user.getDeptId() + "," + dept.getId());
                }
            }else {
                if (!user.getDeptId().contains(dept.getId().toString())) {
                    user.setDeptId(user.getDeptId() + "," + dept.getId());
                }
            }
        }
    }
    /**
     * 更新社区民警绑定信息
     * @param userExcel
     * @param user