From 5fbc2143bbc408cab50bbb0deb2b36e81f8d8f4c Mon Sep 17 00:00:00 2001
From: wanshenmean <cathay_xy@163.com>
Date: 星期一, 30 三月 2026 12:37:22 +0800
Subject: [PATCH] docs: 添加任务库存历史记录设计
---
Code/WMS/docs/superpowers/specs/2026-03-30-任务库存历史记录设计.md | 83 +++++++++++++++++++++++++++++++++++++++++
1 files changed, 83 insertions(+), 0 deletions(-)
diff --git "a/Code/WMS/docs/superpowers/specs/2026-03-30-\344\273\273\345\212\241\345\272\223\345\255\230\345\216\206\345\217\262\350\256\260\345\275\225\350\256\276\350\256\241.md" "b/Code/WMS/docs/superpowers/specs/2026-03-30-\344\273\273\345\212\241\345\272\223\345\255\230\345\216\206\345\217\262\350\256\260\345\275\225\350\256\276\350\256\241.md"
new file mode 100644
index 0000000..7c55221
--- /dev/null
+++ "b/Code/WMS/docs/superpowers/specs/2026-03-30-\344\273\273\345\212\241\345\272\223\345\255\230\345\216\206\345\217\262\350\256\260\345\275\225\350\256\276\350\256\241.md"
@@ -0,0 +1,83 @@
+# 浠诲姟搴撳瓨鍘嗗彶璁板綍璁捐
+
+## 姒傝堪
+
+鍦� `TaskService` 涓敞鍏ヤ换鍔″巻鍙插拰搴撳瓨鍘嗗彶鏈嶅姟锛屽湪鎵�鏈変换鍔″畬鎴愭柟娉曚腑淇濆瓨鍘嗗彶璁板綍銆�
+
+## 娑夊強鏂囦欢
+
+- `WIDESEA_TaskInfoService/TaskService.cs`
+
+## 璇︾粏璁捐
+
+### 1. 娉ㄥ叆鏈嶅姟
+
+鍦� `TaskService` 涓坊鍔狅細
+```csharp
+private readonly ITask_HtyService _task_HtyService;
+private readonly IStockInfo_HtyService _stockInfo_HtyService;
+```
+
+鏋勯�犲嚱鏁版坊鍔犲弬鏁板苟璧嬪�笺��
+
+### 2. 淇敼 CompleteTaskAsync
+
+`InboundFinishTaskAsync`銆乣OutboundFinishTaskAsync`銆乣RelocationFinishTaskAsync` 閮借皟鐢ㄤ簡 `CompleteTaskAsync`锛屽洜姝ゅ彧闇�淇敼 `CompleteTaskAsync` 鍗冲彲銆�
+
+鐢变簬 `Dt_Task` 娌℃湁 `OperateType` 瀛楁锛岄渶瑕佺粰 `CompleteTaskAsync` 娣诲姞鍙傛暟锛�
+
+**淇敼鏂规硶绛惧悕锛�**
+```csharp
+private async Task<WebResponseContent> CompleteTaskAsync(Dt_Task task, string operateType)
+```
+
+**淇敼鍚庝唬鐮侊細**
+```csharp
+var historyTask = _mapper.Map<Dt_Task_Hty>(task);
+historyTask.InsertTime = DateTime.Now;
+historyTask.OperateType = operateType;
+var saveResult = await _task_HtyService.Repository.AddDataAsync(historyTask) > 0;
+if (!saveResult) return WebResponseContent.Instance.Error("浠诲姟鍘嗗彶淇濆瓨澶辫触");
+return WebResponseContent.Instance.OK("浠诲姟瀹屾垚");
+```
+
+**璋冪敤鏂逛慨鏀癸紙3澶勶級锛�**
+- `InboundFinishTaskAsync`锛氳皟鐢� `await CompleteTaskAsync(task, "鍏ュ簱瀹屾垚")`
+- `OutboundFinishTaskAsync`锛氳皟鐢� `await CompleteTaskAsync(task, "鍑哄簱瀹屾垚")`
+- `RelocationFinishTaskAsync`锛氳皟鐢� `await CompleteTaskAsync(task, "绉诲簱瀹屾垚")`
+
+### 3. InboundFinishTaskTrayAsync 鍜� OutboundFinishTaskTrayAsync
+
+杩欎袱涓柟娉�**涓嶈皟鐢�** `CompleteTaskAsync`锛岄渶瑕佸湪浜嬪姟鍐呫�佸垹闄や换鍔″墠娣诲姞浠诲姟鍘嗗彶鍜屽簱瀛樺巻鍙蹭繚瀛橈細
+
+```csharp
+// 浠诲姟鍘嗗彶
+var historyTask = _mapper.Map<Dt_Task_Hty>(task);
+historyTask.InsertTime = DateTime.Now;
+historyTask.OperateType = "绌烘墭鐩樺叆搴撳畬鎴�"; // 鎴�"绌烘墭鐩樺嚭搴撳畬鎴�"
+if (await _task_HtyService.Repository.AddDataAsync(historyTask) <= 0)
+ return content.Error("浠诲姟鍘嗗彶淇濆瓨澶辫触");
+
+// 搴撳瓨鍘嗗彶
+var historyStock = _mapper.Map<Dt_StockInfo_Hty>(stockInfo);
+historyStock.InsertTime = DateTime.Now;
+historyStock.OperateType = "绌烘墭鐩樺叆搴撳畬鎴�"; // 鎴�"绌烘墭鐩樺嚭搴撳畬鎴�"
+if (await _stockInfo_HtyService.Repository.AddDataAsync(historyStock) <= 0)
+ return content.Error("搴撳瓨鍘嗗彶淇濆瓨澶辫触");
+```
+
+### 4. 鎿嶄綔绫诲瀷鏋氫妇
+
+| 鏂规硶 | OperateType |
+|------|-------------|
+| `InboundFinishTaskAsync` | "鍏ュ簱瀹屾垚" |
+| `OutboundFinishTaskAsync` | "鍑哄簱瀹屾垚" |
+| `RelocationFinishTaskAsync` | "绉诲簱瀹屾垚" |
+| `InboundFinishTaskTrayAsync` | "绌烘墭鐩樺叆搴撳畬鎴�" |
+| `OutboundFinishTaskTrayAsync` | "绌烘墭鐩樺嚭搴撳畬鎴�" |
+
+## 鍏抽敭鐐�
+
+- `Dt_Task_Hty` 缁ф壙鑷� `Dt_Task`锛屽寘鍚� `SourceId`锛堝師琛ㄤ富閿級銆乣OperateType`锛堟搷浣滅被鍨嬶級銆乣InsertTime`锛堟彃鍏ユ椂闂达級
+- 浣跨敤 `MapsterMapper` 鐨� `_mapper.Map<T>()` 杩涜瀵硅薄鏄犲皠
+- 鍘嗗彶淇濆瓨蹇呴』鍦ㄥ垹闄ゅ師璁板綍**涔嬪墠**鎵ц
--
Gitblit v1.9.3