gaoluyang
12 小时以前 cea8396d93b31fe6037a0558febcabb2169363a8
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productissue/MesWmProductIssueController.java
@@ -1,6 +1,7 @@
package cn.iocoder.yudao.module.mes.controller.admin.wm.productissue;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
@@ -176,15 +177,25 @@
                convertSet(workOrderMap.values(), MesProWorkOrderDO::getClientId));
        // 2. 构建结果
        return BeanUtils.toBean(list, MesWmProductIssueRespVO.class, vo -> {
            // 工作站名称以单据上的文本为准(支持手工填写);为空时才按编号反查,兼容历史数据
            if (StrUtil.isEmpty(vo.getWorkstationName())) {
            MapUtils.findAndThen(workstationMap, vo.getWorkstationId(),
                    workstation -> vo.setWorkstationName(workstation.getName()));
            }
            // 生产任务编码同理;taskName 不落库,仍按编号反查
            if (StrUtil.isEmpty(vo.getTaskCode())) {
            MapUtils.findAndThen(taskMap, vo.getTaskId(), task ->
                    vo.setTaskCode(task.getCode()).setTaskName(task.getName()));
            MapUtils.findAndThen(workOrderMap, vo.getWorkOrderId(), workOrder -> {
                vo.setWorkOrderCode(workOrder.getCode());
            }
            // 生产工单编号同理
            if (StrUtil.isEmpty(vo.getWorkOrderCode())) {
                MapUtils.findAndThen(workOrderMap, vo.getWorkOrderId(), workOrder ->
                        vo.setWorkOrderCode(workOrder.getCode()));
            }
            // 客户名称:仍按 workOrderId → workOrder.clientId 反查;手填单没有工单编号时保持为空
            MapUtils.findAndThen(workOrderMap, vo.getWorkOrderId(), workOrder ->
                MapUtils.findAndThen(clientMap, workOrder.getClientId(), client ->
                        vo.setClientName(client.getName()));
            });
                            vo.setClientName(client.getName())));
        });
    }