forked from gzzfw/backEnd/gz-dyh

huangh
2024-10-29 c1a463b9f1c0a7160dbd0ac1c7490eef13861a5e
dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUserService.java
@@ -215,6 +215,10 @@
        return mapper.selectById(loginUserId);
    }
    public CtUser getByIdCard(String idCard) {
        return mapper.selectByIdCard(idCard);
    }
    /**
     * web端-获取人员信息列表查询条件
     * @param userId 当前登录用户编号
@@ -354,7 +358,11 @@
                ctUser.setJoinWay(UserBaseConsts.JOIN_WAY_1);
                ctUser.setRealStatus(UserBaseConsts.REAL_STATUS_0);
                ctUser.setStatus(UserBaseConsts.USER_STATUS_1);
                ctUser.setCustId(loginUser.getCustId());
                if(loginUser!=null){
                    ctUser.setCustId(loginUser.getCustId());
                }else {
                    ctUser.setCustId("-1");
                }
                mapper.insert(ctUser);
                // 创建账号
@@ -603,58 +611,40 @@
    }
    /**
     * 按条件分页查询
     *
     * @param userId  分页对象
     * @param roleCode 条件
     * @return Page
     * 选择人员
     * @param userId
     * @param roleCode
     * @return
     */
    public SelectTermDTO userChoose(String userId, String roleCode) {
    public List<SelectTermDTO> userChoose(String userId, String roleCode) {
        try {
            // 获取当前登录用户
            CtUserDTO loginUser = clientGetUserAll(userId);
            List<SelectTermDTO> unitSelectTerms = new ArrayList<>();
            List<SelectTermDTO> result = new ArrayList<>();
            // 人员条件
            List<CtUser> ctUsers = null;
            if (StringUtils.isNotEmpty(roleCode)){
                ctUsers = listUserByDeptRoleList(loginUser.getUnitId(), roleCode);
            }else {
                QueryWrapper<CtUser> ctUserQueryWrapper = new QueryWrapper<>();
                ctUserQueryWrapper.in("unit_id", loginUser.getUnitId()).select("id", "true_name", "dept_id");
                ctUserQueryWrapper.in("unit_id", loginUser.getUnitId()).select("id", "true_name");
                ctUsers = this.list(ctUserQueryWrapper);
            }
            List<String> userIdList = ctUsers.stream().map(CtUser::getId).collect(Collectors.toList());
            QueryWrapper<CtUserole> ctUserQueryWrapper = new QueryWrapper<>();
            ctUserQueryWrapper.in("user_id", userIdList).select("user_id", "role_name");
            List<CtUserole> roleList = ctUseroleService.list(ctUserQueryWrapper);
            SelectTermDTO unitSelectTerm = new SelectTermDTO();
            unitSelectTerm.setValue(loginUser.getUnitId());
            unitSelectTerm.setLabel(loginUser.getUnitName());
            unitSelectTerm.setCheckable(false);
            List<SelectTermDTO> deptSelectTerms = new ArrayList<>();
            if (CollectionUtils.isNotEmpty(ctUsers)) {
                List<SelectTermDTO> userSelectTerms = new ArrayList<>();
                for(CtUser ctUser : ctUsers){
                    List<CtUserole> ctUseroleList = new ArrayList<>();
                    for(CtUserole ctUserole: roleList){
                        if(ctUser.getId().equals(ctUserole.getUserId())){
                            ctUseroleList.add(ctUserole);
                        }
                    }
                    SelectTermDTO userSelectTerm = new SelectTermDTO();
                    userSelectTerm.setValue(ctUser.getId());
                    userSelectTerm.setCheckable(true);
                    String roleName = ctUseroleList.stream().map(CtUserole::getRoleName).collect(Collectors.joining(","));
                    userSelectTerm.setLabel(ctUser.getTrueName()+"("+roleName+")");
                    userSelectTerms.add(userSelectTerm);
                }
                List<SelectTermDTO> users = SelectTermUtils.createTreeByRoot(userSelectTerms);
                unitSelectTerm.setChildren(users);
            List<SelectTermDTO> userSelectTerms = new ArrayList<>();
            for(CtUser ctUser : ctUsers){
                SelectTermDTO userSelectTerm = new SelectTermDTO();
                userSelectTerm.setValue(ctUser.getId());
                userSelectTerm.setCheckable(true);
                userSelectTerm.setLabel(ctUser.getTrueName());
                userSelectTerms.add(userSelectTerm);
            }
            return unitSelectTerm;
            unitSelectTerm.setChildren(userSelectTerms);
            result.add(unitSelectTerm);
            return result;
        }catch (Exception e) {
            log.error("[CtUserService.userChoose]调用失败,异常信息:" + e, e);
            throw new ServiceException("CtUserService.userChoose", e);