云
18 小时以前 fec1341c1cb8e11cfbe3fa7dfabe447edb72b630
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pd/project/MesPdProjectController.java
@@ -76,7 +76,6 @@
    @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) {
@@ -87,7 +86,6 @@
    @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()));
@@ -160,12 +158,16 @@
        // 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));
        });
    }