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