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/stocktaking/task/MesWmStockTakingTaskServiceImpl.java |   11 +++++++----
 1 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/stocktaking/task/MesWmStockTakingTaskServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/stocktaking/task/MesWmStockTakingTaskServiceImpl.java
index f1e8aa1..a0baeac 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/stocktaking/task/MesWmStockTakingTaskServiceImpl.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/stocktaking/task/MesWmStockTakingTaskServiceImpl.java
@@ -23,6 +23,7 @@
 import cn.iocoder.yudao.module.mes.enums.MesBizTypeConstants;
 import cn.iocoder.yudao.module.mes.enums.wm.MesWmStockTakingTaskStatusEnum;
 import cn.iocoder.yudao.module.mes.enums.wm.MesWmTransactionTypeEnum;
+import cn.iocoder.yudao.module.mes.framework.qrcode.MesTraceCodeUtils;
 import cn.iocoder.yudao.module.mes.service.pro.batch.MesProBatchService;
 import cn.iocoder.yudao.module.mes.service.wm.batch.MesWmBatchService;
 import cn.iocoder.yudao.module.mes.service.wm.materialstock.MesWmMaterialStockService;
@@ -285,22 +286,24 @@
     /**
      * 瑙f瀽杩芥函鐮佸畾浣嶄粨搴撴壒娆★細渚濇鍖归厤鎵规鍙枫�佽鐮併�佹墭鐩樼爜锛岀敓浜ф壒娆$粡妗ユ帴杩斿洖浠撳簱鎵规
      */
-    private MesWmBatchDO resolveWmBatchByScanCode(String scanCode) {
-        if (StrUtil.isBlank(scanCode)) {
+    private MesWmBatchDO resolveWmBatchByScanCode(String rawCode) {
+        if (StrUtil.isBlank(rawCode)) {
             return null;
         }
+        // 杩芥函浜岀淮鐮佸唴瀹逛负銆岃拷婧綉鍧�?code=鐮佸�笺�嶏紝鍏堢粺涓�鎻愬彇鐮佸�煎啀鍖归厤
+        String scanCode = MesTraceCodeUtils.extractCode(rawCode);
         // 1. 鐩存帴鍛戒腑浠撳簱鎵规鍙�
         MesWmBatchDO wmBatch = mesWmBatchService.getBatchByCode(scanCode);
         if (wmBatch != null) {
             return wmBatch;
         }
         // 2. 鍛戒腑琚嬬爜
-        MesProBagCodeDO bag = bagCodeMapper.selectByCode(scanCode);
+        MesProBagCodeDO bag = bagCodeMapper.selectByScanCode(scanCode);
         if (bag != null && bag.getBatchId() != null) {
             return bridgeProBatch(bag.getBatchId());
         }
         // 3. 鍛戒腑鎵樼洏鐮�
-        MesProPalletDO pallet = palletMapper.selectByCode(scanCode);
+        MesProPalletDO pallet = palletMapper.selectByScanCode(scanCode);
         if (pallet != null && pallet.getBatchId() != null) {
             return bridgeProBatch(pallet.getBatchId());
         }

--
Gitblit v1.9.3