From 46624ce480a3c14da21f39cc4ad5f7eecea2bb1e Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期四, 17 九月 2026 16:24:28 +0800
Subject: [PATCH] feat(mes): 优化生产批次和袋码管理功能

---
 src/api/mes/pro/pallet/index.ts |   47 +++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 43 insertions(+), 4 deletions(-)

diff --git a/src/api/mes/pro/pallet/index.ts b/src/api/mes/pro/pallet/index.ts
index 2fef83b..8fca583 100644
--- a/src/api/mes/pro/pallet/index.ts
+++ b/src/api/mes/pro/pallet/index.ts
@@ -7,11 +7,12 @@
   /** 鎵樼洏鐮� */
   export interface Pallet {
     id?: number; // 缂栧彿
-    code?: string; // 鎵樼洏鐮�
+    code?: string; // 鎵樼洏鐮侊紙缁戝畾鎵规鍚庣敓鎴愶級
+    tempCode?: string; // 涓存椂鎵樼洏鐮侊紙棰勭敓鎴愪簩缁寸爜闃舵浣跨敤锛屾壂鐮佽拷婧吋瀹癸級
     batchId?: number; // 鐢熶骇鎵规缂栧彿
     batchCode?: string; // 鎵规鍙�
     palletNo?: number; // 鎵规鍐呮墭鐩樺簭鍙�
-    capacity?: number; // 鍙琚嬫暟锛堣/鎵樼洏锛�
+    autoGenerated?: boolean; // 鏄惁鑷姩鐢熸垚锛堣鐮佹暟鎹寘鐢熸垚鏃惰嚜鍔ㄥ垱寤猴級
     bagCount?: number; // 宸茬粦瀹氳鐮佹暟閲�
     status?: number; // 鐘舵�侊紙瀛楀吀 mes_pro_pallet_status锛�
     remark?: string; // 澶囨敞
@@ -21,6 +22,7 @@
   /** 鎵樼洏鐮佸垎椤垫煡璇㈠弬鏁� */
   export interface PageParams extends PageParam {
     code?: string;
+    tempCode?: string;
     batchId?: number;
     batchCode?: string;
     status?: number;
@@ -30,7 +32,8 @@
   /** 鎵樼洏鐮佹壂鐮佽拷婧� */
   export interface PalletTrace {
     id?: number; // 缂栧彿
-    code?: string; // 鎵樼洏鐮侊紙浜岀淮鐮佸唴瀹癸級
+    code?: string; // 鎵樼洏鐮侊紙缁戝畾鎵规鍚庣殑姝e紡鎵樼洏鐮侊級
+    tempCode?: string; // 涓存椂鎵樼洏鐮侊紙浜岀淮鐮佸唴瀹癸紱鏈粦瀹氭壒娆℃椂灞曠ず锛�
     palletNo?: number; // 鎵规鍐呮墭鐩樺簭鍙�
     capacity?: number; // 鍙琚嬫暟
     bagCount?: number; // 宸茬粦瀹氳鐮佹暟閲�
@@ -55,14 +58,35 @@
   export interface BatchCreateParams {
     batchId: number; // 鐢熶骇鎵规缂栧彿
     count: number; // 鐢熸垚鏁伴噺
-    capacity?: number; // 鍙琚嬫暟
     remark?: string; // 澶囨敞
+  }
+
+  /** 棰勭敓鎴愭墭鐩樹簩缁寸爜杩斿洖椤� */
+  export interface PreGenerateResult {
+    id: number; // 鎵樼洏鐮佺紪鍙�
+    tempCode: string; // 涓存椂鎵樼洏鐮侊紙浜岀淮鐮佸唴瀹癸級
   }
 }
 
 /** 鎵归噺鐢熸垚鎵樼洏鐮侊紙杩斿洖鐢熸垚鐨勬墭鐩樼紪鍙峰垪琛級 */
 export function batchCreatePallet(data: MesProPalletApi.BatchCreateParams) {
   return requestClient.post<number[]>('/mes/pro/pallet/batch-create', data);
+}
+
+/** 棰勭敓鎴愭墭鐩樹复鏃朵簩缁寸爜锛堜笉缁戝畾鐢熶骇鎵规锛� */
+export function preGeneratePallet(data: {
+  count: number;
+  remark?: string;
+}) {
+  return requestClient.post<MesProPalletApi.PreGenerateResult[]>(
+    '/mes/pro/pallet/pre-generate',
+    data,
+  );
+}
+
+/** 鎵樼洏鐮佺粦瀹氱敓浜ф壒娆★紙鐢熸垚姝e紡鎵樼洏鐮侊級 */
+export function bindPalletBatch(data: { ids: number[]; batchId: number }) {
+  return requestClient.put('/mes/pro/pallet/bind-batch', data);
 }
 
 /** 鍒犻櫎鎵樼洏鐮� */
@@ -92,6 +116,13 @@
   );
 }
 
+/** 鏌ヨ鏈粦瀹氭壒娆$殑涓存椂鎵樼洏鍒楄〃锛堜緵鎵规鏂板/琛ュ綍缁戝畾鎵樼洏涓嬫媺浣跨敤锛� */
+export function getUnboundPalletList() {
+  return requestClient.get<MesProPalletApi.Pallet[]>(
+    '/mes/pro/pallet/unbound-list',
+  );
+}
+
 /** 瀵煎嚭鎵樼洏鐮� Excel */
 export function exportPalletExcel(params: MesProPalletApi.PageParams) {
   return requestClient.download('/mes/pro/pallet/export-excel', { params });
@@ -108,3 +139,11 @@
 export function exportPalletQr(batchId: number) {
   return requestClient.download(`/mes/pro/pallet/export-qr?batchId=${batchId}`);
 }
+
+/** 鎸夋墭鐩樼爜缂栧彿鍒楄〃鎵归噺瀵煎嚭浜岀淮鐮佸浘鐗� ZIP */
+export function exportPalletQrByIds(ids: number[]) {
+  return requestClient.download('/mes/pro/pallet/export-qr-by-ids', {
+    method: 'POST',
+    data: { ids },
+  });
+}

--
Gitblit v1.9.3