From 876b889505ef3c847c8794425f0f3dd6eeeeccf8 Mon Sep 17 00:00:00 2001 From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com> Date: 星期二, 24 十二月 2024 16:43:59 +0800 Subject: [PATCH] WCS下一步 --- Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs | 76 ++++++++++++++++++++++++++++++++++++-- 1 files changed, 72 insertions(+), 4 deletions(-) diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs index d630db8..5b06bf3 100644 --- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs +++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs @@ -25,6 +25,7 @@ using WIDESEAWCS_QuartzJob.Models; using WIDESEAWCS_QuartzJob.Repository; using WIDESEAWCS_QuartzJob.Service; +using WIDESEAWCS_TaskInfoRepository; namespace WIDESEAWCS_TaskInfoService { @@ -503,15 +504,82 @@ BaseDal.DeleteData(task); _taskHtyRepository.AddData(task_Hty); } + + if (task.TaskState == (int)TaskOutStatusEnum.SC_OutFinish) { - Dt_Task? tasks = UpdatePosition(task.TaskNum, task.CurrentAddress); - if (tasks != null) + #region WMS鍚屾浠诲姟瀹屾垚 + + var keys = new Dictionary<string, object>() { - task.CurrentAddress = tasks.CurrentAddress; - task.NextAddress = tasks.NextAddress; + {"taskNum", task.TaskNum} + }; + // 鑾峰彇WMSip鍦板潃 + var configs = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress); + var wmsBasex = configs.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE)?.ConfigValue; + var completeTask = configs.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.CompleteTask)?.ConfigValue; + if (wmsBasex == null || completeTask == null) + { + throw new InvalidOperationException("WMS IP 鏈厤缃�"); + } + var wmsIpAddressx = wmsBasex + completeTask; + + var results = HttpHelper.GetAsync(wmsIpAddressx, keys).Result; + content = JsonConvert.DeserializeObject<WebResponseContent>(results); + if (!content.Data.IsNullOrEmpty()) + { + if (content.Data.ToString() == "NG") + { + task.Remark = "NG"; + } + } + task.ExceptionMessage += " " + content.Message; + + #endregion WMS鍚屾浠诲姟瀹屾垚 + + + if (!task.Roadway.Contains("GW")) + { + var routers = _routerService.QueryNextRoutes(task.NextAddress, task.TargetAddress); + if (!routers.Any()) return WebResponseContent.Instance.Error($"鏈壘鍒拌澶囪矾鐢变俊鎭�"); + task.CurrentAddress = task.NextAddress; + task.NextAddress = routers.FirstOrDefault().ChildPosi; + task.ModifyDate = DateTime.Now; + task.Modifier = "System"; + BaseDal.UpdateData(task); + _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"鍫嗗灈鏈哄嚭搴撳畬鎴�"); + } + else + { + task.TaskState = (int)TaskOutStatusEnum.OutFinish; + //濡傞珮娓╁嚭搴撳悗 NG 鍒欏皢浠诲姟鏍囪涓篘G 骞跺湪鍑哄簱鐢宠鍚庡皢浠诲姟鍑鸿嚦NG鍙� + if (task.Remark == "NG") + { + BaseDal.UpdateData(task); + } + else + { + BaseDal.DeleteData(task); + ConsoleHelper.WriteWarningLine($"楂樻俯鍑哄簱鐩殑鍦板潃{task.TargetAddress}"); + } + + var taskHty = task.Adapt<Dt_Task_Hty>(); + _taskHtyRepository.AddData(taskHty); + _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"鍫嗗灈鏈哄嚭搴撳畬鎴�"); + } + + //鏆備笉鑰冭檻澶氫釜鍑哄簱鍙� + + if (task.Roadway.Contains("CH") && task.TaskType == (int)TaskOutboundTypeEnum.Outbound) + { + Dt_Task? newTask = UpdatePosition(task.TaskNum, task.CurrentAddress); + if (newTask != null) + { + task = newTask; + } } } + } else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup) { -- Gitblit v1.9.3