For agentic workers: REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (
- [ ]) syntax for tracking.
Goal: 在 TaskService 的任务完成方法中添加任务历史和库存历史保存。
Architecture: 注入 ITask_HtyService 和 IStockInfo_HtyService,修改 CompleteTaskAsync 添加历史保存,两个空托盘方法内联添加历史保存。
Tech Stack: ASP.NET Core 6.0, MapsterMapper, SqlSugar
| 任务 | 内容 |
|---|---|
| Task 1 | 注入服务(ITask_HtyService, IStockInfo_HtyService) |
| Task 2 | 修改 CompleteTaskAsync 添加任务历史保存 |
| Task 3 | 修改 3 个调用方传入 operateType |
| Task 4 | InboundFinishTaskTrayAsync 添加历史保存 |
| Task 5 | OutboundFinishTaskTrayAsync 添加历史保存 |
Files:
- Modify: WIDESEA_TaskInfoService/TaskService.cs
在 _mesService 字段后添加:csharp private readonly ITask_HtyService _task_HtyService; private readonly IStockInfo_HtyService _stockInfo_HtyService;
在构造函数参数中添加:csharp ITask_HtyService task_HtyService, IStockInfo_HtyService stockInfo_HtyService,
在构造函数体内添加:csharp _task_HtyService = task_HtyService; _stockInfo_HtyService = stockInfo_HtyService;
cd WIDESEA_WMSServer && dotnet build WIDESEA_TaskInfoService/WIDESEA_TaskInfoService.csproj
git add WIDESEA_TaskInfoService/TaskService.cs
git commit -m "feat(TaskService): 注入ITask_HtyService和IStockInfo_HtyService"
Files:
- Modify: WIDESEA_TaskInfoService/TaskService.cs(CompleteTaskAsync 方法)
将:csharp private async Task<WebResponseContent> CompleteTaskAsync(Dt_Task task)
修改为:csharp private async Task<WebResponseContent> CompleteTaskAsync(Dt_Task task, string operateType)
将:csharp var historyTask = _mapper.Map<Dt_Task_Hty>(task); historyTask.InsertTime = DateTime.Now;
修改为: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("任务历史保存失败");
cd WIDESEA_WMSServer && dotnet build WIDESEA_TaskInfoService/WIDESEA_TaskInfoService.csproj
git add WIDESEA_TaskInfoService/TaskService.cs
git commit -m "feat(TaskService): CompleteTaskAsync添加任务历史保存逻辑"
Files:
- Modify: WIDESEA_TaskInfoService/TaskService.cs
将:csharp return await CompleteTaskAsync(task);
修改为:csharp return await CompleteTaskAsync(task, "入库完成");
将:csharp return await CompleteTaskAsync(task);
修改为:csharp return await CompleteTaskAsync(task, "出库完成");
将:csharp return await CompleteTaskAsync(task);
修改为:csharp return await CompleteTaskAsync(task, "移库完成");
cd WIDESEA_WMSServer && dotnet build WIDESEA_TaskInfoService/WIDESEA_TaskInfoService.csproj
git add WIDESEA_TaskInfoService/TaskService.cs
git commit -m "feat(TaskService): 任务完成方法传入正确的OperateType"
Files:
- Modify: WIDESEA_TaskInfoService/TaskService.cs(InboundFinishTaskTrayAsync 方法,约第 403 行)
在 var deleteResult = await BaseDal.DeleteDataAsync(task); 之前添加:
// 保存任务历史
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("库存历史保存失败");
cd WIDESEA_WMSServer && dotnet build WIDESEA_TaskInfoService/WIDESEA_TaskInfoService.csproj
git add WIDESEA_TaskInfoService/TaskService.cs
git commit -m "feat(TaskService): InboundFinishTaskTrayAsync添加任务和库存历史保存"
Files:
- Modify: WIDESEA_TaskInfoService/TaskService.cs(OutboundFinishTaskTrayAsync 方法,约第 487 行)
在 var deleteResult = await BaseDal.DeleteDataAsync(task); 之前添加:
// 保存任务历史
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("库存历史保存失败");
cd WIDESEA_WMSServer && dotnet build WIDESEA_TaskInfoService/WIDESEA_TaskInfoService.csproj
git add WIDESEA_TaskInfoService/TaskService.cs
git commit -m "feat(TaskService): OutboundFinishTaskTrayAsync添加任务和库存历史保存"
cd WIDESEA_WMSServer && dotnet build WIDESEA_WMSServer.sln
确认无编译错误。
ITask_HtyService 和 IStockInfo_HtyService 已注入CompleteTaskAsync 签名已修改为带 operateType 参数InboundFinishTaskAsync 传入 "入库完成"OutboundFinishTaskAsync 传入 "出库完成"RelocationFinishTaskAsync 传入 "移库完成"InboundFinishTaskTrayAsync 添加了任务历史和库存历史OutboundFinishTaskTrayAsync 添加了任务历史和库存历史