From 251be431ad12399fe4ebce599c353d05dcec7888 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期四, 29 十月 2026 12:28:34 +0800
Subject: [PATCH] feat(mes): 支持追溯二维码解析功能

---
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productsales/MesWmProductSalesServiceImpl.java |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productsales/MesWmProductSalesServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productsales/MesWmProductSalesServiceImpl.java
index 9ea5427..1b67a0c 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productsales/MesWmProductSalesServiceImpl.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productsales/MesWmProductSalesServiceImpl.java
@@ -32,6 +32,7 @@
 import cn.iocoder.yudao.module.mes.enums.wm.MesWmSalesNoticeStatusEnum;
 import cn.iocoder.yudao.module.mes.enums.wm.MesWmStockReserveBizTypeEnum;
 import cn.iocoder.yudao.module.mes.enums.wm.MesWmTransactionTypeEnum;
+import cn.iocoder.yudao.module.mes.framework.qrcode.MesTraceCodeUtils;
 import cn.iocoder.yudao.module.crm.api.customer.CrmCustomerApi;
 import cn.iocoder.yudao.module.crm.api.customer.dto.CrmCustomerRespDTO;
 import cn.iocoder.yudao.module.mes.service.wm.materialstock.MesWmMaterialStockService;
@@ -254,7 +255,7 @@
     /** 鍙璇嗗埆锛屽苟杩斿洖姣忚鐨勫彲閫夌姸鎬侊紝涓嶅垱寤哄簱瀛樻壒娆℃垨鎷h揣璁板綍銆� */
     @Override
     public MesWmProductSalesScanRespVO previewScan(String code, String scanType, Long salesId) {
-        PickingScope scope = pickingScope(code, scanType, false);
+        PickingScope scope = pickingScope(MesTraceCodeUtils.extractCode(code), scanType, false);
         if (salesId != null) {
             MesWmProductSalesDO sales = validateProductSalesExists(salesId);
             if (!Integer.valueOf(2).equals(sales.getStatus())) throw exception(WM_PRODUCT_SALES_CANNOT_PICK);
@@ -284,7 +285,7 @@
         MesWmProductSalesDO sales = productSalesMapper.selectByIdForUpdate(reqVO.getSalesId());
         if (sales == null) throw exception(WM_PRODUCT_SALES_NOT_EXISTS);
         if (!Integer.valueOf(2).equals(sales.getStatus())) throw exception(WM_PRODUCT_SALES_CANNOT_PICK);
-        PickingScope scope = pickingScope(reqVO.getScanContent(), reqVO.getScanType(), true);
+        PickingScope scope = pickingScope(MesTraceCodeUtils.extractCode(reqVO.getScanContent()), reqVO.getScanType(), true);
         List<Long> ids = reqVO.getBagIds();
         if (ids == null && "BAG".equals(scope.type())) ids = List.of(scope.id());
         if (ids == null || ids.isEmpty() || new HashSet<>(ids).size() != ids.size())

--
Gitblit v1.9.3