From b5fe109b08ce6e1e78696bb7cf41f415dc6a4587 Mon Sep 17 00:00:00 2001
From: 肖洋 <cathay_xy@163.com>
Date: 星期四, 05 十二月 2024 13:33:35 +0800
Subject: [PATCH] 添加任务历史

---
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs |   34 ++++++++++++++++++++++++++++++++--
 1 files changed, 32 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..10c5329 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
@@ -15,10 +15,12 @@
 using WIDESEAWCS_DTO.TaskInfo;
 using WIDESEAWCS_DTO.WMS;
 using WIDESEAWCS_ISystemServices;
+using WIDESEAWCS_ITaskInfo_HtyRepository;
 using WIDESEAWCS_ITaskInfoRepository;
 using WIDESEAWCS_ITaskInfoService;
 using WIDESEAWCS_Model.Models;
 using WIDESEAWCS_QuartzJob.Models;
+using WIDESEAWCS_QuartzJob.Repository;
 using WIDESEAWCS_QuartzJob.Service;
 
 namespace WIDESEAWCS_TaskInfoService
@@ -32,6 +34,8 @@
         private readonly IMapper _mapper;
         private readonly IDt_StationManagerService _stationManagerService;
         private readonly IDt_StationManagerRepository _stationManagerRepository;
+        private readonly IRouterRepository _routerRepository;
+        private readonly ITask_HtyRepository _taskHtyRepository;
 
         private Dictionary<string, OrderByType> _taskOrderBy = new()
         {
@@ -46,7 +50,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, ITask_HtyRepository htyRepository) : base(BaseDal)
         {
             _routerService = routerService;
             _taskExecuteDetailService = taskExecuteDetailService;
@@ -55,6 +59,8 @@
             _sys_ConfigService = sys_ConfigService;
             _stationManagerService = stationManagerService;
             _stationManagerRepository = stationManagerRepository;
+            _routerRepository = routerRepository;
+            _taskHtyRepository = htyRepository;
         }
 
         /// <summary>
@@ -84,6 +90,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 +141,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);
@@ -381,7 +397,12 @@
                     {
                         task.ModifyDate = DateTime.Now;
                         task.Modifier = "System";
+
+                        Dt_Task_Hty task_Hty = _mapper.Map<Dt_Task_Hty>(task);
+                        task_Hty.TaskId = 0;
+
                         BaseDal.DeleteData(task);
+                        _taskHtyRepository.AddData(task_Hty);
                     }
                 }
                 else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup)
@@ -437,7 +458,11 @@
                         task.ModifyDate = DateTime.Now;
                         task.Modifier = "System";
 
+                        Dt_Task_Hty task_Hty = _mapper.Map<Dt_Task_Hty>(task);
+                        task_Hty.TaskId = 0;
+
                         BaseDal.DeleteData(task);
+                        _taskHtyRepository.AddData(task_Hty);
                     }
                 }
                 else
@@ -563,7 +588,12 @@
                     task.TaskState = nextStatus;
                     task.ModifyDate = DateTime.Now;
                     task.Modifier = "System";
+
+                    Dt_Task_Hty task_Hty = _mapper.Map<Dt_Task_Hty>(task);
+                    task_Hty.TaskId = 0;
+
                     BaseDal.DeleteData(task);
+                    _taskHtyRepository.AddData(task_Hty);
                     _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"鍫嗗灈鏈哄叆搴撳畬鎴�");
                 }
                 else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.RelocationGroup)

--
Gitblit v1.9.3