10 小时以前 8655501ffb8dbdaf2508e575933063e6731be714
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/framework/qrcode/MesProQrLabelBuilder.java
@@ -26,16 +26,24 @@
    public static QrLabelInfo buildBatchLabel(MesProBatchDO batch,
                                              Map<Long, MesMdmItemDO> itemMap,
                                              Map<Long, AdminUserRespDTO> userMap) {
        // 未补录业务信息时用临时批次码作为二维码内容,并明确提示状态;品种/产线等信息缺失时不拼接空文本
        String code = StrUtil.blankToDefault(batch.getCode(), batch.getTempCode());
        LinkedHashMap<String, String> keyValues = new LinkedHashMap<>();
        keyValues.put("批次号", batch.getCode());
        keyValues.put("批次号", code);
        if (StrUtil.isEmpty(batch.getCode())) {
            keyValues.put("状态", "待补录");
        }
        MesMdmItemDO item = itemMap.get(batch.getItemId());
        if (item != null) {
            keyValues.put("品种", item.getName());
            keyValues.put("规格", item.getSpecification());
        }
        keyValues.put("产线", StrUtil.join(" / ", batch.getLineName(), batch.getLineCode()));
        keyValues.put("生产日期", batch.getProduceDate() == null ? ""
                : LocalDateTimeUtil.format(batch.getProduceDate(), "yyyy-MM-dd HH:mm"));
        if (StrUtil.isNotEmpty(batch.getLineName()) || StrUtil.isNotEmpty(batch.getLineCode())) {
            keyValues.put("产线", StrUtil.join(" / ", batch.getLineName(), batch.getLineCode()));
        }
        if (batch.getProduceDate() != null) {
            keyValues.put("生产日期", LocalDateTimeUtil.format(batch.getProduceDate(), "yyyy-MM-dd HH:mm"));
        }
        if (batch.getPlanQuantity() != null) {
            keyValues.put("计划数量", String.valueOf(batch.getPlanQuantity()));
        }
@@ -43,7 +51,7 @@
        if (user != null) {
            keyValues.put("责任人", user.getNickname());
        }
        return QrLabelInfo.builder().fileName(batch.getCode()).code(batch.getCode()).keyValues(keyValues).build();
        return QrLabelInfo.builder().fileName(code).code(code).keyValues(keyValues).build();
    }
    /**
@@ -53,17 +61,24 @@
                                               MesProBatchDO batch,
                                               Map<Long, MesMdmItemDO> itemMap,
                                               Map<Long, AdminUserRespDTO> userMap) {
        // 未绑定批次(临时托盘码)时用临时码作为二维码内容并明确提示状态
        String code = StrUtil.blankToDefault(pallet.getCode(), pallet.getTempCode());
        LinkedHashMap<String, String> keyValues = new LinkedHashMap<>();
        keyValues.put("托盘码", pallet.getCode());
        keyValues.put("托盘码", code);
        if (StrUtil.isEmpty(pallet.getCode())) {
            keyValues.put("状态", "未绑定批次");
        }
        keyValues.put("托盘序号", pallet.getPalletNo() == null ? "" : String.valueOf(pallet.getPalletNo()));
        keyValues.put("批次号", pallet.getBatchCode());
        if (StrUtil.isNotEmpty(pallet.getBatchCode())) {
            keyValues.put("批次号", pallet.getBatchCode());
        }
        if (pallet.getBagCount() != null) {
            keyValues.put("已装袋数", String.valueOf(pallet.getBagCount()));
        }
        if (batch != null) {
            fillBatchKeyValues(keyValues, batch, itemMap, userMap);
        }
        return QrLabelInfo.builder().fileName(pallet.getCode()).code(pallet.getCode()).keyValues(keyValues).build();
        return QrLabelInfo.builder().fileName(code).code(code).keyValues(keyValues).build();
    }
    /**