liusheng
6 天以前 24166f2d9ae0bb72f061a38b96a113b1b6e44fbc
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
@@ -4,6 +4,7 @@
import com.ruoyi.common.constant.UserConstants;
import com.ruoyi.common.core.domain.entity.*;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.DtoConversionUtils;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.bean.BeanValidators;
@@ -100,9 +101,14 @@
    /**
     * 通过用户名查询用户
     *
     * @param userName 用户名
     * @param phone 用户名
     * @return 用户对象信息
     */
    @Override
    public SysUser selectUserByPhone(String phone) {
        return userMapper.selectUserByPhone(phone);
    }
    @Override
    public SysUser selectUserByUserName(String userName) {
        SysUser sysUser = userMapper.selectUserByUserName(userName);
@@ -128,6 +134,39 @@
            sysUserDept.setDeptType("2");
            sysUserDeptBQs = sysUserDeptMapper.selectSysUserDeptList(sysUserDept);
        }
        if (StringUtils.isNotEmpty(userName) && userName.equals("admin")) {
            //如果是admin,只能去sys_dept去取数据
            SysDept dept = new SysDept();
            dept.setDeptType("1");
            sysDepts = sysDeptMapper.selectDeptList(dept);
            sysUserDeptKSs = DtoConversionUtils.sourceToTarget(sysDepts, SysUserDept.class);
            dept.setDeptType("2");
            sysDepts = sysDeptMapper.selectDeptList(dept);
            sysUserDeptBQs = DtoConversionUtils.sourceToTarget(sysDepts, SysUserDept.class);
            List<SysUserDept> distinctUserDepts = new ArrayList<>();
            Set<String> uniqueDeptCodes = new HashSet<>();
            for (SysUserDept userDept : sysUserDeptKSs) {
                String deptCode = userDept.getDeptCode();
                if (StringUtils.isNotEmpty(deptCode) && !uniqueDeptCodes.contains(deptCode)) {
                    distinctUserDepts.add(userDept);
                    uniqueDeptCodes.add(deptCode);
                }
            }
            List<SysUserDept> distinctUserBQs = new ArrayList<>();
            Set<String> uniqueBQCodes = new HashSet<>();
            for (SysUserDept userDept : sysUserDeptBQs) {
                String deptCode = userDept.getDeptCode();
                if (StringUtils.isNotEmpty(deptCode) && !uniqueBQCodes.contains(deptCode)) {
                    distinctUserBQs.add(userDept);
                    uniqueBQCodes.add(deptCode);
                }
            }
            sysUserDeptKSs = distinctUserDepts;
            sysUserDeptBQs = distinctUserBQs;
        }
        sysUser.setDepts(deptIds);
        if (!CollectionUtils.isEmpty(sysUserDeptBQs)) {
@@ -142,7 +181,7 @@
            }
            sysUser.setBelongWards(list);
        }
        log.error("潘处的科室是:{}",sysUserDeptKSs);
        log.error("潘处的科室是:{}", sysUserDeptKSs);
        if (!CollectionUtils.isEmpty(sysUserDeptKSs)) {
            List<Map<String, Object>> list = new ArrayList<>();
            for (SysUserDept sud : sysUserDeptKSs) {
@@ -302,16 +341,63 @@
        user.setCreateTime(new Date());
        int rows = userMapper.insertUser(user);
        //新增用户与部门关联
        if (!CollectionUtils.isEmpty(user.getDepts())) {
            for (Long deptId : user.getDepts()) {
                SysUserDept sysUserDep = new SysUserDept();
                sysUserDep.setUserId(user.getUserId());
                sysUserDep.setDeptId(deptId);
                sysUserDep.setCreateTime(new Date());
                sysUserDep.setUpdateTime(new Date());
                sysUserDeptMapper.insertSysUserDept(sysUserDep);
//        if (!CollectionUtils.isEmpty(user.getDepts())) {
//            for (Long deptId : user.getDepts()) {
//                SysUserDept sysUserDep = new SysUserDept();
//                sysUserDep.setUserId(user.getUserId());
//                sysUserDep.setDeptId(deptId);
//                sysUserDep.setCreateTime(new Date());
//                sysUserDep.setUpdateTime(new Date());
//                sysUserDeptMapper.insertSysUserDept(sysUserDep);
//            }
//        }
        if (!CollectionUtils.isEmpty(user.getDeptCodes())) {
            for (String deptCode : user.getDeptCodes()) {
                SysDept sysDept = sysDeptMapper.selectDeptByCode(deptCode);
                if (Objects.isNull(sysDept)) {
                    log.error("部门编码不存在");
                    continue;
                }
                SysUserDept sysUserDept = new SysUserDept();
                sysUserDept.setUserId(user.getUserId());
                sysUserDept.setDeptCode(deptCode);
                sysUserDept.setDeptId(sysDept.getDeptId());
                List<SysUserDept> sysUserDepts = sysUserDeptMapper.selectSysUserDeptList(sysUserDept);
                sysUserDept.setDelFlag(0L);
                sysUserDept.setDeptType("1");
                sysUserDept.setDeptName(sysDept.getDeptName());
                sysUserDept.setUpdateTime(new Date());
                if (!CollectionUtils.isEmpty(sysUserDepts)) {
                    sysUserDeptMapper.updateSysUserDept(sysUserDept);
                    continue;
                }
                sysUserDept.setCreateTime(new Date());
                sysUserDeptMapper.insertSysUserDept(sysUserDept);
            }
        }
        if (!CollectionUtils.isEmpty(user.getWardCodes())) {
            for (String wardCode : user.getWardCodes()) {
                SysDept sysDept = sysDeptMapper.selectDeptByCode(wardCode);
                SysUserDept sysUserDept = new SysUserDept();
                sysUserDept.setUserId(user.getUserId());
                sysUserDept.setDeptCode(wardCode);
                List<SysUserDept> sysUserDepts = sysUserDeptMapper.selectSysUserDeptList(sysUserDept);
                sysUserDept.setDelFlag(0L);
                sysUserDept.setDeptType("2");
                sysUserDept.setDeptName(sysDept.getDeptName());
                sysUserDept.setUpdateTime(new Date());
                if (!CollectionUtils.isEmpty(sysUserDepts)) {
                    sysUserDeptMapper.updateSysUserDept(sysUserDept);
                    continue;
                }
                sysUserDept.setCreateTime(new Date());
                sysUserDeptMapper.insertSysUserDept(sysUserDept);
            }
        }
        // 新增用户岗位关联
        insertUserPost(user);
        // 新增用户与角色管理
@@ -375,10 +461,15 @@
        if (!CollectionUtils.isEmpty(user.getDeptCodes())) {
            for (String deptCode : user.getDeptCodes()) {
                SysDept sysDept = sysDeptMapper.selectDeptByCode(deptCode);
                if (Objects.isNull(sysDept)) {
                    log.error("部门编码不存在");
                    continue;
                }
                SysUserDept sysUserDept = new SysUserDept();
                sysUserDept.setUserId(user.getUserId());
                sysUserDept.setDeptCode(deptCode);
                sysUserDept.setDeptId(sysDept.getDeptId());
                List<SysUserDept> sysUserDepts = sysUserDeptMapper.selectSysUserDeptList(sysUserDept);
                sysUserDept.setDelFlag(0L);
                sysUserDept.setDeptType("1");
@@ -400,6 +491,7 @@
                sysUserDept.setUserId(user.getUserId());
                sysUserDept.setDeptCode(wardCode);
                List<SysUserDept> sysUserDepts = sysUserDeptMapper.selectSysUserDeptList(sysUserDept);
                sysUserDept.setDeptId(sysDept.getDeptId());
                sysUserDept.setDelFlag(0L);
                sysUserDept.setDeptType("2");
                sysUserDept.setDeptName(sysDept.getDeptName());