wanshenmean
2026-03-30 e4f68445aabdbbbf38845ba1af6f15348b00af02
feat(TaskService): CompleteTaskAsync添加任务历史保存逻辑

- 添加string operateType参数以区分操作类型
- 调用_task_HtyService.AddData保存任务历史记录
- InboundFinishTaskAsync传入"Inbound"
- OutboundFinishTaskAsync传入"Outbound"
- RelocationFinishTaskAsync传入"Relocation"

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
已修改1个文件
12 ■■■■■ 文件已修改
Code/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs
@@ -254,7 +254,7 @@
                    {
                        return content.Error($"任务完成失败:MES进站失败: {inboundResult?.Data?.Msg ?? inboundResult?.ErrorMessage ?? "未知错误"}");
                    }
                    return await CompleteTaskAsync(task);
                    return await CompleteTaskAsync(task, "Inbound");
                });
            }
            catch (Exception ex)
@@ -308,7 +308,7 @@
                        return content.Error($"任务完成失败:MES出站失败: {outboundResult?.Data?.Msg ?? outboundResult?.ErrorMessage ?? "未知错误"}");
                    }
                    return await CompleteTaskAsync(task);
                    return await CompleteTaskAsync(task, "Outbound");
                });
            }
            catch (Exception ex)
@@ -354,7 +354,7 @@
                    if (!updateSourceResult || !updateTargetResult || !updateStockResult)
                        return WebResponseContent.Instance.Error("移库任务完成失败");
                    return await CompleteTaskAsync(task);
                    return await CompleteTaskAsync(task, "Relocation");
                });
            }
            catch (Exception ex)
@@ -565,14 +565,16 @@
        /// <summary>
        /// 完成任务后统一处理(删除任务数据)
        /// </summary>
        private async Task<WebResponseContent> CompleteTaskAsync(Dt_Task task)
        private async Task<WebResponseContent> CompleteTaskAsync(Dt_Task task, string operateType)
        {
            var deleteTaskResult = await BaseDal.DeleteDataAsync(task);
            if (!deleteTaskResult) return WebResponseContent.Instance.Error("任务完成失败");
            // 保留历史对象构建逻辑,后续可接入历史表落库
            var historyTask = _mapper.Map<Dt_Task_Hty>(task);
            historyTask.InsertTime = DateTime.Now;
            historyTask.OperateType = operateType;
            var saveResult = _task_HtyService.AddData(historyTask);
            if (!saveResult.Status) return WebResponseContent.Instance.Error("任务历史保存失败");
            return WebResponseContent.Instance.OK("任务完成");
        }