From 66517edf1de22c8203daa256abffddae43bae704 Mon Sep 17 00:00:00 2001
From: liu <2021943741@qq.com>
Date: 星期五, 16 十月 2026 17:58:28 +0800
Subject: [PATCH] feat(mes): 袋码绑定托盘免先录生产批次

---
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/pallet/MesProPalletService.java |   48 +++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 43 insertions(+), 5 deletions(-)

diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/pallet/MesProPalletService.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/pallet/MesProPalletService.java
index 9407667..8aea7bb 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/pallet/MesProPalletService.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/pallet/MesProPalletService.java
@@ -1,12 +1,14 @@
 package cn.iocoder.yudao.module.mes.service.pro.pallet;
 
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
-import cn.iocoder.yudao.module.mes.controller.admin.pro.pallet.vo.MesProPalletAutoPrintRespVO;
 import cn.iocoder.yudao.module.mes.controller.admin.pro.pallet.vo.MesProPalletBatchCreateReqVO;
+import cn.iocoder.yudao.module.mes.controller.admin.pro.pallet.vo.MesProPalletBindBatchReqVO;
 import cn.iocoder.yudao.module.mes.controller.admin.pro.pallet.vo.MesProPalletPageReqVO;
+import cn.iocoder.yudao.module.mes.controller.admin.pro.pallet.vo.MesProPalletPreGenerateReqVO;
 import cn.iocoder.yudao.module.mes.dal.dataobject.pro.pallet.MesProPalletDO;
 import jakarta.validation.Valid;
 
+import java.util.Collection;
 import java.util.List;
 
 /**
@@ -25,12 +27,20 @@
     List<Long> batchCreatePallet(@Valid MesProPalletBatchCreateReqVO createReqVO);
 
     /**
-     * 鎸夋壒娆℃湁鏁堣鐮佹暟閲忚嚜鍔ㄧ敓鎴愬苟缁戝畾鏁存墭琚嬬爜
+     * 棰勭敓鎴愭墭鐩樼爜浜岀淮鐮侊細涓嶇粦瀹氱敓浜ф壒娆★紝浠呭垱寤烘惡甯︿复鏃舵墭鐩樼爜鐨勮褰�
      *
-     * @param batchId 鎵规缂栧彿
-     * @return 鏈鏂扮敓鎴愮殑鎵樼洏鎵撳嵃鏁版嵁
+     * @param reqVO 棰勭敓鎴愪俊鎭�
+     * @return 鏂板缓鐨勬墭鐩樼爜璁板綍锛堝惈涓存椂鎵樼洏鐮侊級
      */
-    List<MesProPalletAutoPrintRespVO> autoCreatePallets(Long batchId);
+    List<MesProPalletDO> preGeneratePallet(@Valid MesProPalletPreGenerateReqVO reqVO);
+
+    /**
+     * 鎵樼洏鐮佺粦瀹氱敓浜ф壒娆★細鐢熸垚姝e紡鎵樼洏鐮侊紙鎵规鍙�-P+鎵樼洏搴忓彿锛夛紝骞跺洖鍐欐壒娆℃墭鐩樻暟閲�
+     *
+     * @param bindReqVO 缁戝畾淇℃伅
+     * @return 鏈缁戝畾鐨勬墭鐩樻暟閲�
+     */
+    int bindBatch(@Valid MesProPalletBindBatchReqVO bindReqVO);
 
     /**
      * 鍒犻櫎鎵樼洏鐮侊紙鏈粦瀹氳鐮佹墠鍏佽鍒犻櫎锛�
@@ -63,6 +73,11 @@
      */
     MesProPalletDO getPalletByCode(String code);
 
+    /** 鍐呴儴鎵爜璇嗗埆涓氬姟鐮佸強鍘嗗彶姝e紡/涓存椂鐮併�� */
+    MesProPalletDO getPalletByScanCode(String code);
+
+    int generateBusinessCodes(java.util.List<Long> ids);
+
     /**
      * 鑾峰緱鎵樼洏鐮佸垎椤�
      *
@@ -80,6 +95,29 @@
     List<MesProPalletDO> getPalletListByBatchId(Long batchId);
 
     /**
+     * 鑾峰緱鏈粦瀹氱敓浜ф壒娆$殑涓存椂鎵樼洏鍒楄〃锛堜緵鎵规鏂板/琛ュ綍缁戝畾鎵樼洏涓嬫媺浣跨敤锛�
+     *
+     * @return 鎵樼洏鐮佸垪琛�
+     */
+    List<MesProPalletDO> getUnboundPalletList();
+
+    /**
+     * 鑾峰緱琚嬬爜缁戝畾鎵樼洏鏃跺彲閫夌殑鐩爣鎵樼洏鍒楄〃锛堜复鏃舵墭鐩� + 姝e紡鎵樼洏锛屾帓闄ゅ凡浣滃簾锛�
+     *
+     * @param itemId 琚嬬爜鍝佺缂栧彿锛岀敤浜庤繃婊ら潪鍚屽搧绉嶆墭鐩橈紱鍙负绌�
+     * @return 鎵樼洏鐮佸垪琛�
+     */
+    List<MesProPalletDO> getBindablePalletList(Long itemId);
+
+    /**
+     * 鑾峰緱鎵樼洏鐮佸垪琛紙鎸夌紪鍙峰垪琛級
+     *
+     * @param ids 缂栧彿鍒楄〃
+     * @return 鎵樼洏鐮佸垪琛�
+     */
+    List<MesProPalletDO> getPalletListByIds(Collection<Long> ids);
+
+    /**
      * 鏇存柊鎵樼洏宸茬粦瀹氳鐮佹暟閲�
      *
      * @param palletId 鎵樼洏缂栧彿

--
Gitblit v1.9.3