云
20 小时以前 fec1341c1cb8e11cfbe3fa7dfabe447edb72b630
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dv/meteringcheck/MesDvMeteringCheckController.java
@@ -76,7 +76,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得计量检测记录")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:dv-metering-check:query')")
    public CommonResult<MesDvMeteringCheckRespVO> getMeteringCheck(@RequestParam("id") Long id) {
        MesDvMeteringCheckDO check = meteringCheckService.getMeteringCheck(id);
        if (check == null) {
@@ -87,7 +86,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得计量检测记录分页")
    @PreAuthorize("@ss.hasPermission('mes:dv-metering-check:query')")
    public CommonResult<PageResult<MesDvMeteringCheckRespVO>> getMeteringCheckPage(
            @Valid MesDvMeteringCheckPageReqVO pageReqVO) {
        PageResult<MesDvMeteringCheckDO> pageResult = meteringCheckService.getMeteringCheckPage(pageReqVO);
@@ -116,14 +114,21 @@
        // 1. 批量获取关联数据
        Map<Long, MesDvMeteringDO> meteringMap = meteringService.getMeteringMap(
                convertSet(list, MesDvMeteringCheckDO::getMeteringId));
        Map<Long, AdminUserRespDTO> userMap = CollUtil.isNotEmpty(convertSet(list, MesDvMeteringCheckDO::getCheckUserId))
                ? adminUserApi.getUserMap(convertSet(list, MesDvMeteringCheckDO::getCheckUserId)) : Collections.emptyMap();
        var legacyUserIds = list.stream()
                .filter(check -> cn.hutool.core.util.StrUtil.isBlank(check.getCheckUserName()))
                .map(MesDvMeteringCheckDO::getCheckUserId).filter(java.util.Objects::nonNull)
                .collect(java.util.stream.Collectors.toSet());
        Map<Long, AdminUserRespDTO> userMap = legacyUserIds.isEmpty()
                ? Collections.emptyMap() : adminUserApi.getUserMap(legacyUserIds);
        // 2. 拼接 VO
        return BeanUtils.toBean(list, MesDvMeteringCheckRespVO.class, vo -> {
            MapUtils.findAndThen(meteringMap, vo.getMeteringId(),
                    metering -> vo.setMeteringCode(metering.getCode()).setMeteringName(metering.getName()));
            MapUtils.findAndThen(userMap, vo.getCheckUserId(),
                    user -> vo.setCheckUserNickname(user.getNickname()));
            if (cn.hutool.core.util.StrUtil.isBlank(vo.getCheckUserName())) {
                MapUtils.findAndThen(userMap, vo.getCheckUserId(),
                        user -> vo.setCheckUserName(user.getNickname()));
            }
            vo.setCheckUserNickname(vo.getCheckUserName());
        });
    }