wanshenmean
3 天以前 ff006f77f6267fc0d2c4ee810d897a85165f5b8f
Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/Flows/OutboundTaskFlowService.cs
@@ -1,4 +1,5 @@
using Newtonsoft.Json;
using Masuit.Tools.Hardware;
using Newtonsoft.Json;
using Serilog;
using System.Diagnostics.CodeAnalysis;
using WIDESEA_Core;
@@ -257,10 +258,36 @@
        /// <param name="task">任务实体。</param>
        /// <returns>同步结果。</returns>
        private WebResponseContent UpdateWMSTaskStatus(Dt_Task task)
        {
        {
            DateTime startTime = DateTime.Now;
            // 处理出库完成状态的特殊同步
            if (task.TaskStatus == (int)TaskOutStatusEnum.SC_OutFinish)
            {
                string OutboundFinishKey = nameof(ConfigKey.OutboundFinishTaskAsync);
                var requestDto = new CreateTaskDto()
                {
                    PalletCode = task.PalletCode,
                    SourceAddress = task.SourceAddress,
                    TargetAddress = task.TargetAddress,
                    Roadway = task.Roadway,
                    TaskType = task.TaskType,
                }.ToJson();
                var resultFinish = _httpClientHelper.Post<WebResponseContent>(OutboundFinishKey, requestDto);
                if (!resultFinish.IsSuccess || !resultFinish.Data.Status)
                {
                    QuartzLogHelper.LogError(_logger, $"调用WMS接口失败,接口:【{resultFinish}】,请求参数:【{requestDto}】,错误信息:【{resultFinish.Data?.Message}】", "OutboundTaskFlowService");
                    return WebResponseContent.Instance.Error($"调用WMS接口更新任务状态失败,任务号:【{task.TaskNum}】,错误信息:【{resultFinish.Data?.Message}】");
                }
                QuartzLogHelper.LogInfo(_logger, $"调用WMS接口成功,接口:【{OutboundFinishKey}】,响应数据:【{resultFinish.Data?.Data}】,耗时:{(DateTime.Now - startTime).TotalMilliseconds}ms", "OutboundTaskFlowService");
                return WebResponseContent.Instance.OK();
            }
            string configKey = nameof(ConfigKey.UpdateTaskByStatus);
            string requestParam = new UpdateTaskDto { Id = task.TaskNum, NewStatus = task.TaskStatus, NextAddress = task.NextAddress, CurrentAddress = task.CurrentAddress }.ToJson();
            DateTime startTime = DateTime.Now;
            var result = _httpClientHelper.Post<WebResponseContent>(
                configKey,