| | |
| | | @GetMapping("/get") |
| | | @Operation(summary = "获得设计项目") |
| | | @Parameter(name = "id", description = "编号", required = true, example = "1024") |
| | | @PreAuthorize("@ss.hasPermission('mes:pd-project:query')") |
| | | public CommonResult<MesPdProjectRespVO> getProject(@RequestParam("id") Long id) { |
| | | MesPdProjectDO project = projectService.getProject(id); |
| | | if (project == null) { |
| | |
| | | |
| | | @GetMapping("/page") |
| | | @Operation(summary = "获得设计项目分页") |
| | | @PreAuthorize("@ss.hasPermission('mes:pd-project:query')") |
| | | public CommonResult<PageResult<MesPdProjectRespVO>> getProjectPage(@Valid MesPdProjectPageReqVO pageReqVO) { |
| | | PageResult<MesPdProjectDO> pageResult = projectService.getProjectPage(pageReqVO); |
| | | return success(new PageResult<>(buildProjectRespVOList(pageResult.getList()), pageResult.getTotal())); |
| | |
| | | // 1.1 批量获取关联数据(主设计师 + 审核人) |
| | | Map<Long, AdminUserRespDTO> userMap = adminUserApi.getUserMap(convertSetByFlatMap(list, |
| | | project -> Stream.of(project.getChiefDesigner(), project.getReviewer()))); |
| | | // 1.2 批量获取各项目待审核文件数 |
| | | Map<Long, Integer> pendingAuditCountMap = projectService.getPendingAuditCountMap( |
| | | convertSet(list, MesPdProjectDO::getId)); |
| | | // 2. 拼接 VO |
| | | return BeanUtils.toBean(list, MesPdProjectRespVO.class, vo -> { |
| | | MapUtils.findAndThen(userMap, vo.getChiefDesigner(), |
| | | user -> vo.setChiefDesignerNickname(user.getNickname())); |
| | | MapUtils.findAndThen(userMap, vo.getReviewer(), |
| | | user -> vo.setReviewerNickname(user.getNickname())); |
| | | vo.setPendingAuditCount(pendingAuditCountMap.getOrDefault(vo.getId(), 0)); |
| | | }); |
| | | } |
| | | |