From 1f338f3f149735523101d55f9c782836f30c1ff1 Mon Sep 17 00:00:00 2001
From: 肖洋 <cathay_xy@163.com>
Date: 星期一, 02 十二月 2024 14:26:14 +0800
Subject: [PATCH] 12

---
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs |   49 +++++++++++++++++++++++++++++++++++++------------
 1 files changed, 37 insertions(+), 12 deletions(-)

diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
index d72a5da..0091885 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
@@ -5,6 +5,8 @@
 using SqlSugar;
 using System.Diagnostics.CodeAnalysis;
 using System.Threading.Tasks;
+using WIDESEAWCS_BasicInfoRepository;
+using WIDESEAWCS_BasicInfoService;
 using WIDESEAWCS_Common;
 using WIDESEAWCS_Common.TaskEnum;
 using WIDESEAWCS_Core;
@@ -28,6 +30,8 @@
         private readonly ITaskExecuteDetailRepository _taskExecuteDetailRepository;
         private readonly ISys_ConfigService _sys_ConfigService;
         private readonly IMapper _mapper;
+        private readonly IDt_StationManagerService _stationManagerService;
+        private readonly IDt_StationManagerRepository _stationManagerRepository;
 
         private Dictionary<string, OrderByType> _taskOrderBy = new()
         {
@@ -42,13 +46,15 @@
 
         public List<int> TaskOutboundTypes => typeof(TaskOutboundTypeEnum).GetEnumIndexList();
 
-        public TaskService(ITaskRepository BaseDal, IRouterService routerService, ITaskExecuteDetailService taskExecuteDetailService, ITaskExecuteDetailRepository taskExecuteDetailRepository, IMapper mapper, ISys_ConfigService sys_ConfigService) : base(BaseDal)
+        public TaskService(ITaskRepository BaseDal, IRouterService routerService, ITaskExecuteDetailService taskExecuteDetailService, ITaskExecuteDetailRepository taskExecuteDetailRepository, IMapper mapper, ISys_ConfigService sys_ConfigService, IDt_StationManagerService stationManagerService, IDt_StationManagerRepository stationManagerRepository) : base(BaseDal)
         {
             _routerService = routerService;
             _taskExecuteDetailService = taskExecuteDetailService;
             _taskExecuteDetailRepository = taskExecuteDetailRepository;
             _mapper = mapper;
             _sys_ConfigService = sys_ConfigService;
+            _stationManagerService = stationManagerService;
+            _stationManagerRepository = stationManagerRepository;
         }
 
         /// <summary>
@@ -524,18 +530,28 @@
 
                 if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup && task.TaskState == (int)TaskOutStatusEnum.SC_OutExecuting)
                 {
-                    var routers = _routerService.QueryNextRoutes(task.NextAddress, task.TargetAddress);
-                    if (!routers.Any()) return WebResponseContent.Instance.Error($"鏈壘鍒拌澶囪矾鐢变俊鎭�");
+                    if (!task.Roadway.Contains("GW"))
+                    {
+                        var routers = _routerService.QueryNextRoutes(task.NextAddress, task.TargetAddress);
+                        if (!routers.Any()) return WebResponseContent.Instance.Error($"鏈壘鍒拌澶囪矾鐢变俊鎭�");
 
-                    int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskOutStatusEnum>();
-                    task.TaskState = nextStatus;
-                    task.CurrentAddress = task.NextAddress;
-                    task.NextAddress = routers.FirstOrDefault().ChildPosi;
-                    task.ModifyDate = DateTime.Now;
-                    task.Modifier = "System";
-                    BaseDal.UpdateData(task);
+                        int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskOutStatusEnum>();
+                        task.TaskState = nextStatus;
+                        task.CurrentAddress = task.NextAddress;
+                        task.NextAddress = routers.FirstOrDefault().ChildPosi;
+                        task.ModifyDate = DateTime.Now;
+                        task.Modifier = "System";
+                        BaseDal.UpdateData(task);
 
-                    _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"鍫嗗灈鏈哄嚭搴撳畬鎴�");
+                        _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"鍫嗗灈鏈哄嚭搴撳畬鎴�");
+                    }
+                    else
+                    {
+                        task.TaskState = (int)TaskOutStatusEnum.OutFinish;
+                        BaseDal.UpdateData(task);
+
+                        _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"鍫嗗灈鏈哄嚭搴撳畬鎴�");
+                    }
 
 
                     //鏆備笉鑰冭檻澶氫釜鍑哄簱鍙�
@@ -580,12 +596,21 @@
 
                 var result = HttpHelper.GetAsync(wmsIpAddress, keys).Result;
                 content = JsonConvert.DeserializeObject<WebResponseContent>(result);
+                if (!content.Data.IsNullOrEmpty())
+                {
+                    if (content.Data.ToString() == "NG")
+                    {
+                        task.Remark = "NG";
+                        BaseDal.UpdateData(task);
+                        _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"鍫嗗灈鏈哄嚭搴撳畬鎴愶紝MOM杩斿洖NG");
+                    }
+                }
                 #endregion
 
 
                 #region  鏇存柊浠诲姟鐘舵��
 
-                var updateTask = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.CompleteTask)?.ConfigValue;
+                var updateTask = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.UpdateTask)?.ConfigValue;
                 if (wmsBase == null || updateTask == null)
                 {
                     throw new InvalidOperationException("WMS IP 鏈厤缃�");

--
Gitblit v1.9.3