forked from gzzfw/backEnd/gz-dyh

liyj
2024-09-11 b6fa58652c12f0c61409cc44dfd8ad78f821b6c6
dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUserService.java
@@ -603,58 +603,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+")");
                userSelectTerm.setLabel(ctUser.getTrueName());
                    userSelectTerms.add(userSelectTerm);
                }
                List<SelectTermDTO> users = SelectTermUtils.createTreeByRoot(userSelectTerms);
                unitSelectTerm.setChildren(users);
            }
            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);