From 704265308b1227dbada5a36b2027b588c062ded2 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期一, 12 十月 2026 09:14:37 +0800
Subject: [PATCH] feat(mes): 新增业务码支持并优化追溯查询功能

---
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/framework/qrcode/MesProQrLabelBuilder.java |   20 ++++++++++++++++++++
 1 files changed, 20 insertions(+), 0 deletions(-)

diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/framework/qrcode/MesProQrLabelBuilder.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/framework/qrcode/MesProQrLabelBuilder.java
index 65b9938..89bb98d 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/framework/qrcode/MesProQrLabelBuilder.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/framework/qrcode/MesProQrLabelBuilder.java
@@ -44,6 +44,26 @@
     private MesProQrLabelBuilder() {
     }
 
+    /** 鍐呴儴涓氬姟鏍囩鐙珛浜庡叕浼楄拷婧爣绛撅紝涓嶆嫾鎺� H5 缃戝潃銆� */
+    public static QrLabelInfo buildBagBusinessCodeLabel(MesProBagCodeDO bag) {
+        return buildBusinessCodeLabel(bag.getBusinessCode());
+    }
+
+    public static QrLabelInfo buildPalletBusinessCodeLabel(MesProPalletDO pallet) {
+        return buildBusinessCodeLabel(pallet.getBusinessCode());
+    }
+
+    public static QrLabelInfo buildBatchBusinessCodeLabel(MesProBatchDO batch) {
+        return buildBusinessCodeLabel(batch.getBusinessCode());
+    }
+
+    private static QrLabelInfo buildBusinessCodeLabel(String code) {
+        if (code == null || !code.matches("^[0-9]{16}$")) {
+            throw new cn.iocoder.yudao.framework.common.exception.ServiceException(400, "缂哄皯鏈夋晥涓氬姟鐮侊紝璇峰厛琛ョ敓鎴愪笟鍔$爜");
+        }
+        return QrLabelInfo.builder().fileName(code).code(code).keyValues(new LinkedHashMap<>()).build();
+    }
+
     /**
      * 鍗曞厓璇嗗埆浠g爜鏍煎紡锛�1~20 浣嶆暟瀛楁垨瀛楁瘝鏁板瓧缁勫悎锛堝浗鏍囪姹傦紝涓嶅惈杩炲瓧绗︾瓑绗﹀彿锛�
      */

--
Gitblit v1.9.3