From 53db158b8018fba144a937cf1749cce050855c7a Mon Sep 17 00:00:00 2001
From: 刘磊 <1161824510@qq.com>
Date: 星期二, 10 十二月 2024 14:49:32 +0800
Subject: [PATCH] 同步

---
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs |   22 ++++++++++++++++++++--
 1 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
index 0091885..2f9ae1f 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
@@ -19,6 +19,7 @@
 using WIDESEAWCS_ITaskInfoService;
 using WIDESEAWCS_Model.Models;
 using WIDESEAWCS_QuartzJob.Models;
+using WIDESEAWCS_QuartzJob.Repository;
 using WIDESEAWCS_QuartzJob.Service;
 
 namespace WIDESEAWCS_TaskInfoService
@@ -32,6 +33,7 @@
         private readonly IMapper _mapper;
         private readonly IDt_StationManagerService _stationManagerService;
         private readonly IDt_StationManagerRepository _stationManagerRepository;
+        private readonly IRouterRepository _routerRepository;
 
         private Dictionary<string, OrderByType> _taskOrderBy = new()
         {
@@ -46,7 +48,7 @@
 
         public List<int> TaskOutboundTypes => typeof(TaskOutboundTypeEnum).GetEnumIndexList();
 
-        public TaskService(ITaskRepository BaseDal, IRouterService routerService, ITaskExecuteDetailService taskExecuteDetailService, ITaskExecuteDetailRepository taskExecuteDetailRepository, IMapper mapper, ISys_ConfigService sys_ConfigService, IDt_StationManagerService stationManagerService, IDt_StationManagerRepository stationManagerRepository) : base(BaseDal)
+        public TaskService(ITaskRepository BaseDal, IRouterService routerService, ITaskExecuteDetailService taskExecuteDetailService, ITaskExecuteDetailRepository taskExecuteDetailRepository, IMapper mapper, ISys_ConfigService sys_ConfigService, IDt_StationManagerService stationManagerService, IDt_StationManagerRepository stationManagerRepository, IRouterRepository routerRepository) : base(BaseDal)
         {
             _routerService = routerService;
             _taskExecuteDetailService = taskExecuteDetailService;
@@ -55,6 +57,7 @@
             _sys_ConfigService = sys_ConfigService;
             _stationManagerService = stationManagerService;
             _stationManagerRepository = stationManagerRepository;
+            _routerRepository = routerRepository;
         }
 
         /// <summary>
@@ -84,6 +87,16 @@
                             task.TaskState = (int)TaskOutStatusEnum.OutNew;
                             task.CurrentAddress = item.SourceAddress;
                             task.NextAddress = routers.FirstOrDefault().ChildPosi;
+                        }
+                        else
+                        {
+                            routers = _routerService.QueryNextRoutes(item.SourceAddress, item.TargetAddress);
+                            if (routers.Count > 0)
+                            {
+                                task.TaskState = (int)TaskOutStatusEnum.SC_OutFinish;
+                                task.CurrentAddress = item.SourceAddress;
+                                task.NextAddress = routers.FirstOrDefault().ChildPosi;
+                            }
                         }
                     }
                     else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup)
@@ -125,7 +138,7 @@
                 var hasTask = await BaseDal.QueryFirstAsync(x => x.PalletCode == palletCode);
                 if (hasTask != null)
                 {
-                    return content.Error("褰撳墠鎵樼洏瀛樺湪浠诲姟");
+                    return content.OK("褰撳墠鎵樼洏瀛樺湪浠诲姟");
                 }
 
                 var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
@@ -718,5 +731,10 @@
             }
             return content;
         }
+
+        public Dt_Task QueryRelocationTask(string deviceNo)
+        {
+            return BaseDal.QueryFirst(x => x.Roadway == deviceNo && x.TaskType == (int)TaskRelocationTypeEnum.Relocation && x.TaskState == (int)TaskStatus.Created);
+        }
     }
 }
\ No newline at end of file

--
Gitblit v1.9.3