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/controller/admin/pro/trace/MesProTraceResolveController.java |   10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/trace/MesProTraceResolveController.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/trace/MesProTraceResolveController.java
index 0061b4b..9060081 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/trace/MesProTraceResolveController.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/trace/MesProTraceResolveController.java
@@ -1,6 +1,7 @@
 package cn.iocoder.yudao.module.mes.controller.admin.pro.trace;
 
 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
+import cn.iocoder.yudao.module.mes.framework.qrcode.MesTraceCodeUtils;
 import cn.iocoder.yudao.module.mes.service.pro.bagcode.MesProBagCodeService;
 import cn.iocoder.yudao.module.mes.service.pro.batch.MesProBatchService;
 import cn.iocoder.yudao.module.mes.service.pro.pallet.MesProPalletService;
@@ -36,15 +37,16 @@
     @GetMapping("/resolve-type")
     @Operation(summary = "鏍规嵁缂栫爜瑙f瀽婧簮绫诲瀷锛歜ag / pallet / batch锛涘潎涓嶅尮閰嶈繑鍥炵┖")
     @Parameter(name = "code", description = "缂栫爜锛堜簩缁寸爜鍐呭锛�", required = true)
-    @PreAuthorize("@ss.hasPermission('mes:pro-bag-code:query')")
+    @PreAuthorize("@ss.hasAnyPermissions('mes:pro-bag-code:query', 'mes:pro-pallet:query', 'mes:pro-batch:query')")
     public CommonResult<String> resolveType(@RequestParam("code") String code) {
-        if (bagCodeService.getBagCodeByCode(code) != null) {
+        String scanCode = MesTraceCodeUtils.extractCode(code);
+        if (bagCodeService.getBagCodeByScanCode(scanCode) != null) {
             return success("bag");
         }
-        if (palletService.getPalletByCode(code) != null) {
+        if (palletService.getPalletByScanCode(scanCode) != null) {
             return success("pallet");
         }
-        if (batchService.getBatchByCode(code) != null) {
+        if (batchService.getBatchByScanCode(scanCode) != null) {
             return success("batch");
         }
         return success(null);

--
Gitblit v1.9.3