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/service/pro/bagcode/MesProBagCodeService.java |   53 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 53 insertions(+), 0 deletions(-)

diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/bagcode/MesProBagCodeService.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/bagcode/MesProBagCodeService.java
index 1769303..d21ea84 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/bagcode/MesProBagCodeService.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/bagcode/MesProBagCodeService.java
@@ -1,10 +1,12 @@
 package cn.iocoder.yudao.module.mes.service.pro.bagcode;
 
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.module.mes.controller.admin.pro.bagcode.vo.MesProBagCodeBindBatchReqVO;
 import cn.iocoder.yudao.module.mes.controller.admin.pro.bagcode.vo.MesProBagCodeBindReqVO;
 import cn.iocoder.yudao.module.mes.controller.admin.pro.bagcode.vo.MesProBagCodeGenerateReqVO;
 import cn.iocoder.yudao.module.mes.controller.admin.pro.bagcode.vo.MesProBagCodeGenerateRespVO;
 import cn.iocoder.yudao.module.mes.controller.admin.pro.bagcode.vo.MesProBagCodePageReqVO;
+import cn.iocoder.yudao.module.mes.controller.admin.pro.bagcode.vo.MesProBagCodeRawGenerateReqVO;
 import cn.iocoder.yudao.module.mes.controller.admin.pro.bagcode.vo.MesProBagCodeReplaceReqVO;
 import cn.iocoder.yudao.module.mes.controller.admin.pro.bagcode.vo.MesProBagCodeReplaceRespVO;
 import cn.iocoder.yudao.module.mes.dal.dataobject.pro.bagcode.MesProBagCodeDO;
@@ -29,6 +31,17 @@
      * @return 鐢熸垚缁� UUID锛堟爣璁板悓涓�娆$敓鎴愮殑鏁版嵁鍖咃級
      */
     MesProBagCodeGenerateRespVO generateBagCodes(@Valid MesProBagCodeGenerateReqVO generateReqVO);
+
+    /**
+     * 鐢熸垚鍘熷琚嬬爜锛氫粎閫夊搧绉�+琚嬬爜鏁伴噺锛屼笉鏍¢獙璁¢噺鍗曚綅绫诲瀷銆佷笉鐢熸垚鎵樼洏锛�
+     * 琚嬬爜甯﹀搧绉嶅啑浣欙紝鍚庣画鍙甯稿綍鍏ユ壒娆�/缁戝畾鎵樼洏
+     *
+     * @param rawGenerateReqVO 鐢熸垚淇℃伅
+     * @return 鐢熸垚缁� UUID 涓庢暟閲忥紙type/perPallet/palletIds 涓虹┖锛�
+     */
+    MesProBagCodeGenerateRespVO generateRawBagCodes(@Valid MesProBagCodeRawGenerateReqVO rawGenerateReqVO);
+
+    void bindBatch(@Valid MesProBagCodeBindBatchReqVO bindReqVO);
 
     /**
      * 浣滃簾鐮存崯琚嬬爜骞跺湪鍘熸壒娆$敓鎴愮瓑閲忔浛鎹㈣鐮�
@@ -87,6 +100,12 @@
      */
     MesProBagCodeDO getBagCodeByCode(String code);
 
+    /** 鍐呴儴鏌ヨ璇嗗埆涓氬姟鐮佸強鍘嗗彶杩芥函鐮侊紝涓嶇敤浜庡叕浼楄拷婧叆鍙c�� */
+    MesProBagCodeDO getBagCodeByScanCode(String code);
+
+    /** 琛ョ敓鎴愬巻鍙茶鐮佷笟鍔$爜锛涘凡鏈夌爜淇濇寔涓嶅彉锛岃繑鍥炴柊鐢熸垚鏁伴噺銆� */
+    int generateBusinessCodes(List<Long> ids);
+
     /**
      * 鏌ヨ琚嬬爜鏇挎崲璁板綍
      */
@@ -126,4 +145,38 @@
      */
     List<MesProBagCodeDO> getBagCodeListByBatchId(Long batchId);
 
+    /**
+     * 鑾峰緱鏌愭壒娆′笅鍙嵃鍒风殑琚嬬爜鍒楄〃锛堟帓闄ゅ凡浣滃簾琚嬬爜锛屾寜琚嬪簭鍙峰崌搴忥級锛岀敤浜庢壒閲忓鍑轰簩缁寸爜鏍囩
+     * <p>
+     * 宸蹭綔搴熺殑琚嬬爜锛堢牬鎹熸浛鎹㈠悗浣滃簾锛変笉寰楀啀鍗板埛锛氬叾鏍囩鑻ヨ创鍒颁骇鍝佷笂锛屾秷璐硅�呮壂鐮佷細琚彁绀�
+     * 銆岃杩芥函鐮佸凡浣滃簾锛岃皑闃插亣鍐掋�嶏紝瀵艰嚧鐪熷搧琚鍒や负鍋囪揣銆�
+     *
+     * @param batchId 鎵规缂栧彿
+     * @return 鍙嵃鍒风殑琚嬬爜鍒楄〃
+     */
+    List<MesProBagCodeDO> getPrintableBagCodeListByBatchId(Long batchId);
+
+    /**
+     * 鑾峰緱鏌愮敓鎴愮粍涓嬪彲鍗板埛鐨勮鐮佸垪琛紙鎺掗櫎宸蹭綔搴熻鐮侊級锛岀敤浜庢壒閲忓鍑轰簩缁寸爜鏍囩
+     *
+     * @param uuid 鐢熸垚缁� UUID
+     * @return 鍙嵃鍒风殑琚嬬爜鍒楄〃
+     */
+    List<MesProBagCodeDO> getPrintableBagCodeListByUuid(String uuid);
+
+    /**
+     * 鏍囪琚嬬爜涓哄凡鍑哄簱锛堣褰曢攢鍞嚭搴撳崟缂栧彿鍜屽嚭搴撴椂闂达級
+     *
+     * @param id      琚嬬爜缂栧彿
+     * @param salesId 閿�鍞嚭搴撳崟缂栧彿
+     */
+    void markOutbound(Long id, Long salesId);
+
+    /**
+     * 娓呴櫎琚嬬爜鐨勫嚭搴撴爣璁帮紙鍙栨秷鍑哄簱鍗曟椂浣跨敤锛�
+     *
+     * @param id 琚嬬爜缂栧彿
+     */
+    void clearOutbound(Long id);
+
 }

--
Gitblit v1.9.3