From 7f078e66be9959d94fc78344f195b7b4656812be Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期日, 29 十二月 2024 11:22:10 +0800
Subject: [PATCH] 任务表添加AGV任务号(AGV-年月日+任务号),修改测试架仓AGV交互逻辑

---
 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs |   39 +++++++++++++++++++++++++++++++++------
 1 files changed, 33 insertions(+), 6 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs"
index 3ab0634..f218473 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs"
@@ -161,6 +161,7 @@
 
                     if (string.IsNullOrEmpty(item.AGVArea))
                     {
+                        task.AgvTaskNum = "AGV-" + DateTime.Now.ToString("YYMMDD") + item.TaskNum;
                         Dt_StationManger stationManger = _stationMangerRepository.QueryFirst(x => x.StationCode == item.SourceAddress || x.StackerCraneCode == item.RoadWay);
                         if (stationManger == null)
                         {
@@ -176,22 +177,48 @@
                         if (routers.Count == 1)
                         {
                             task.NextAddress = router?.NextPosi ?? "";
+                            task.DeviceCode = stationManger.StationDeviceCode;
                         }
                         else
                         {
                             task.NextAddress = "";
+                            task.DeviceCode = "";
                         }
                     }
                     else
                     {
-                        List<Dt_Router> routers = _routerRepository.QueryData(x => x.InOutType == item.TaskType && item.AGVArea == x.StartPosi);
-                        if (routers.FirstOrDefault() == null)
+                        if (item.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
                         {
-                            return WebResponseContent.Instance.Error($"鏈壘鍒拌矾鐢遍厤缃俊鎭�");
-                        }
-                        router = routers.FirstOrDefault();
+                            List<Dt_Router> routers = _routerRepository.QueryData(x => x.InOutType == item.TaskType && item.AGVArea == x.NextPosi);
+                            if (routers.FirstOrDefault() == null)
+                            {
+                                return WebResponseContent.Instance.Error($"鏈壘鍒拌矾鐢遍厤缃俊鎭�");
+                            }
+                            router = routers.FirstOrDefault();
 
-                        task.NextAddress = router?.NextPosi ?? "";
+                            task.NextAddress = router?.StartPosi ?? "";
+                            task.DeviceCode = item.RoadWay;
+                            task.TaskState = TaskStatusEnum.SC_Execute.ObjToInt();
+                        }
+                        else
+                        {
+                            List<Dt_Router> routers = _routerRepository.QueryData(x => x.InOutType == item.TaskType && item.AGVArea == x.StartPosi);
+                            if (routers.FirstOrDefault() == null)
+                            {
+                                return WebResponseContent.Instance.Error($"鏈壘鍒拌矾鐢遍厤缃俊鎭�");
+                            }
+                            router = routers.FirstOrDefault();
+                            string stationCode = router?.NextPosi ?? "";
+                            Dt_StationManger? stationManger = _stationMangerRepository.QueryFirst(x => x.StationCode == stationCode);
+                            if (stationManger == null)
+                            {
+                                return WebResponseContent.Instance.Error($"鏈壘鍒扮珯鍙伴厤缃俊鎭�");
+                            }
+
+                            task.NextAddress = stationManger?.AGVStationCode ?? "";
+                            task.DeviceCode = "AGV";
+                            task.TaskState = TaskStatusEnum.AGV_Execute.ObjToInt();
+                        }
                     }
 
                     tasks.Add(task);

--
Gitblit v1.9.3