From 01d5cfc65f62fe9d7c5ff00b69af109a1664543a Mon Sep 17 00:00:00 2001
From: wanshenmean <cathay_xy@163.com>
Date: 星期一, 30 三月 2026 10:34:11 +0800
Subject: [PATCH] docs: 添加 MES 托盘进站出站集成设计

---
 Code/WMS/docs/superpowers/specs/2026-03-30-MES托盘进站出站集成设计.md |  103 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 103 insertions(+), 0 deletions(-)

diff --git "a/Code/WMS/docs/superpowers/specs/2026-03-30-MES\346\211\230\347\233\230\350\277\233\347\253\231\345\207\272\347\253\231\351\233\206\346\210\220\350\256\276\350\256\241.md" "b/Code/WMS/docs/superpowers/specs/2026-03-30-MES\346\211\230\347\233\230\350\277\233\347\253\231\345\207\272\347\253\231\351\233\206\346\210\220\350\256\276\350\256\241.md"
new file mode 100644
index 0000000..c46f71f
--- /dev/null
+++ "b/Code/WMS/docs/superpowers/specs/2026-03-30-MES\346\211\230\347\233\230\350\277\233\347\253\231\345\207\272\347\253\231\351\233\206\346\210\220\350\256\276\350\256\241.md"
@@ -0,0 +1,103 @@
+# MES 鎵樼洏杩涚珯鍑虹珯闆嗘垚璁捐
+
+## 姒傝堪
+
+鍦� `TaskService` 鐨勫叆搴撳畬鎴�/鍑哄簱瀹屾垚鏂规硶涓泦鎴� MES 鎵樼洏杩涚珯/鍑虹珯璋冪敤锛屾柊澧炵┖鎵樼洏鍏ュ簱/鍑哄簱瀹屾垚鏂规硶銆�
+
+## 浜嬪姟绛栫暐
+
+MES 璋冪敤绾冲叆 `ExecuteWithinTransactionAsync` 鍐� 鈥� MES 澶辫触鏃朵簨鍔″洖婊氾紝WMS 鏁版嵁涓嶈惤搴撱��
+
+## 鏁版嵁娴�
+
+| 鏂规硶 | 鎿嶄綔 | MES 璋冪敤 |
+|------|------|----------|
+| `InboundFinishTaskAsync` | 鍏ュ簱瀹屾垚 | `InboundInContainer` |
+| `OutboundFinishTaskAsync` | 鍑哄簱瀹屾垚 | `OutboundInContainer` |
+| `InboundFinishTaskTrayAsync`锛堟柊澧烇級 | 绌烘墭鐩樺叆搴撳畬鎴� | 鏃� |
+| `OutboundFinishTaskTrayAsync`锛堟柊澧烇級 | 绌烘墭鐩樺嚭搴撳畬鎴� | 鏃� |
+
+## 娑夊強鏂囦欢
+
+- `WIDESEA_TaskInfoService/TaskService.cs`
+
+## 璇︾粏璁捐
+
+### 1. 鍏ュ簱瀹屾垚 (InboundFinishTaskAsync)
+
+**鐜版湁閫昏緫锛堜簨鍔″唴锛夛細**
+- 鏇存柊搴撳瓨淇℃伅锛圠ocationCode, OutboundDate, StockStatus锛�
+- 鏇存柊璐т綅鐘舵�佷负 InStock
+- 璋冪敤 CompleteTaskAsync 鍒犻櫎浠诲姟
+
+**淇敼鍚庯細**
+- 鍦� `CompleteTaskAsync` 涔嬪墠娣诲姞 MES `InboundInContainer` 璋冪敤
+- 璇锋眰鍙傛暟锛�
+  - `EquipmentCode = "STK-GROUP-001"`
+  - `ResourceCode = "STK-GROUP-001"`
+  - `ContainerCode = taskDto.PalletCode`
+  - `LocalTime = DateTime.Now`
+- MES 澶辫触 鈫� 浜嬪姟鍥炴粴锛岃繑鍥為敊璇�
+
+### 2. 鍑哄簱瀹屾垚 (OutboundFinishTaskAsync)
+
+**鐜版湁閫昏緫锛堜簨鍔″唴锛夛細**
+- 鏇存柊搴撳瓨淇℃伅锛圠ocationId=0, LocationCode=null, OutboundDate锛�
+- 鏇存柊璐т綅鐘舵�佷负 Free
+- 璋冪敤 CompleteTaskAsync 鍒犻櫎浠诲姟
+
+**淇敼鍚庯細**
+- 鍦� `CompleteTaskAsync` 涔嬪墠娣诲姞 MES `OutboundInContainer` 璋冪敤
+- 璇锋眰鍙傛暟锛�
+  - `EquipmentCode = "STK-GROUP-001"`
+  - `ResourceCode = "STK-GROUP-001"`
+  - `ContainerCode = taskDto.PalletCode`
+  - `LocalTime = DateTime.Now`
+- `OutboundInContainerRequest` 鏈� `ParamList` 瀛楁锛岀洰鍓嶄负绌哄垪琛� `new List<ParamItem>()`
+- MES 澶辫触 鈫� 浜嬪姟鍥炴粴锛岃繑鍥為敊璇�
+
+### 3. 鏂板绌烘墭鐩樺叆搴撳畬鎴� (InboundFinishTaskTrayAsync)
+
+**鏂规硶绛惧悕锛�**
+```csharp
+public async Task<WebResponseContent> InboundFinishTaskTrayAsync(CreateTaskDto taskDto)
+```
+
+**閫昏緫锛�**
+1. 鏌ヨ浠诲姟锛堟墭鐩樺彿 = taskDto.PalletCode锛�
+2. 鏌ヨ璐т綅淇℃伅
+3. 鏌ヨ搴撳瓨淇℃伅
+4. 浜嬪姟鍐咃細
+   - 鏇存柊搴撳瓨 LocationCode/LocationId
+   - 鏇存柊璐т綅鐘舵�佷负 InStock
+   - 鏇存柊搴撳瓨鐘舵�佷负绌烘墭鐩樺簱瀛�
+   - 鍒犻櫎浠诲姟锛堜笉璋冪敤 CompleteTaskAsync锛岃嚜宸卞疄鐜帮級
+5. 鏃犻渶 MES 璋冪敤
+
+### 4. 鏂板绌烘墭鐩樺嚭搴撳畬鎴� (OutboundFinishTaskTrayAsync)
+
+**鏂规硶绛惧悕锛�**
+```csharp
+public async Task<WebResponseContent> OutboundFinishTaskTrayAsync(CreateTaskDto taskDto)
+```
+
+**閫昏緫锛�**
+1. 鏌ヨ浠诲姟锛堟墭鐩樺彿 = taskDto.PalletCode锛�
+2. 鏌ヨ璐т綅淇℃伅
+3. 鏌ヨ搴撳瓨淇℃伅
+4. 浜嬪姟鍐咃細
+   - 鏇存柊搴撳瓨 LocationId=0, LocationCode=null
+   - 鏇存柊璐т綅鐘舵�佷负 Free
+   - 鏇存柊搴撳瓨鐘舵�佷负鍑哄簱瀹屾垚
+   - 鍒犻櫎浠诲姟锛堣嚜宸卞疄鐜帮級
+5. 鏃犻渶 MES 璋冪敤
+
+## 閿欒澶勭悊
+
+- MES 璋冪敤妫�鏌� `mesResult.Data?.IsSuccess`锛圡ES 涓氬姟灞傛垚鍔燂級
+- 閿欒杩斿洖锛歚"浠诲姟瀹屾垚澶辫触锛歁ES杩涚珯澶辫触: {mesResult?.Data?.Msg ?? mesResult?.ErrorMessage ?? "鏈煡閿欒"}"`
+- 绌烘墭鐩樻柟娉曟棤 MES 閿欒澶勭悊
+
+## 璁惧缂栫爜
+
+缁熶竴浣跨敤 `STK-GROUP-001`锛屼笌缁勭洏淇濇寔涓�鑷淬��

--
Gitblit v1.9.3