| | |
| | | import cn.iocoder.yudao.module.hrm.controller.admin.employee.vo.HrmEmployeeSaveReqVO; |
| | | import cn.iocoder.yudao.module.hrm.controller.admin.employee.vo.HrmEmployeeSimpleRespVO; |
| | | import cn.iocoder.yudao.module.hrm.dal.dataobject.employee.HrmEmployeeDO; |
| | | import cn.iocoder.yudao.module.hrm.enums.HrmEmploymentTypeEnum; |
| | | import cn.iocoder.yudao.module.hrm.service.employee.HrmEmployeeService; |
| | | import cn.iocoder.yudao.module.mes.api.cal.MesCalTeamApi; |
| | | import cn.iocoder.yudao.module.mes.api.cal.dto.MesCalTeamRespDTO; |
| | | import cn.iocoder.yudao.module.system.api.dept.DeptApi; |
| | | import cn.iocoder.yudao.module.system.api.dept.PostApi; |
| | | import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO; |
| | |
| | | private PostApi postApi; |
| | | @Resource |
| | | private RoleApi roleApi; |
| | | @Resource |
| | | private MesCalTeamApi mesCalTeamApi; |
| | | |
| | | @PostMapping("/create") |
| | | @Operation(summary = "创建员工") |
| | |
| | | .collect(Collectors.toSet()); |
| | | Map<Long, PostRespDTO> postMap = CollUtil.isEmpty(postIds) ? Collections.emptyMap() : postApi.getPostMap(postIds); |
| | | |
| | | // 3. 收集所有角色ID |
| | | // 3. 批量获取班组信息(所属班组) |
| | | Set<Long> teamIds = employeeList.stream() |
| | | .map(HrmEmployeeDO::getTeamId) |
| | | .filter(Objects::nonNull) |
| | | .collect(Collectors.toSet()); |
| | | Map<Long, String> teamNameMap = CollUtil.isEmpty(teamIds) ? Collections.emptyMap() : mesCalTeamApi |
| | | .getTeamList(teamIds).stream() |
| | | .collect(Collectors.toMap(MesCalTeamRespDTO::getId, MesCalTeamRespDTO::getName, (v1, v2) -> v1)); |
| | | |
| | | // 4. 收集所有角色ID |
| | | Set<Long> allRoleIds = new HashSet<>(); |
| | | for (HrmEmployeeDO employee : employeeList) { |
| | | if (StrUtil.isNotBlank(employee.getRoleIds())) { |
| | |
| | | respVO.setPostName(postMap.get(employee.getPostId()).getName()); |
| | | } |
| | | |
| | | // 填充用工性质名称 |
| | | if (employee.getEmploymentType() != null) { |
| | | respVO.setEmploymentTypeName(HrmEmploymentTypeEnum.getNameByType(employee.getEmploymentType())); |
| | | } |
| | | |
| | | // 填充所属班组名称 |
| | | if (employee.getTeamId() != null && teamNameMap.containsKey(employee.getTeamId())) { |
| | | respVO.setTeamName(teamNameMap.get(employee.getTeamId())); |
| | | } |
| | | |
| | | // 解析 roleIds 并填充角色名称 |
| | | if (StrUtil.isNotBlank(employee.getRoleIds())) { |
| | | List<Long> roleIds = JSONUtil.toList(employee.getRoleIds(), Long.class); |