From e719f3e5d5d16ee8a9dece97d9889610507628ac Mon Sep 17 00:00:00 2001
From: wangxinhui <wangxinhui@hnkhzn.com>
Date: 星期一, 18 八月 2025 08:15:27 +0800
Subject: [PATCH] 1

---
 项目代码/WCS/WCSServices/WIDESEAWCS_TaskInfoService/TaskService.cs |  154 ++++++++++++++++++++++-----------------------------
 1 files changed, 67 insertions(+), 87 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_TaskInfoService/TaskService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_TaskInfoService/TaskService.cs"
index 200d3ac..f8398a4 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_TaskInfoService/TaskService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_TaskInfoService/TaskService.cs"
@@ -139,53 +139,6 @@
                 return WebResponseContent.Instance.Error(ex.Message);
             }
         }
-        public WebResponseContent AgvCarrying(int row,int startColumn, int endColumn, int startlayer,int targetLayer)
-        {
-            try
-            {
-                List<Dt_Task> tasks = new List<Dt_Task>();
-                for (int i = startColumn; i <= endColumn; i++)
-                {
-                    string column = i.ToString();
-                    if (i<10)
-                    {
-                        column = "0" + i.ToString();
-                    }
-                    string layer = targetLayer.ToString();
-                    if (targetLayer<10)
-                    {
-                        layer = "0"+targetLayer.ToString();
-                    }
-                    Dt_Task task = new Dt_Task()
-                    {
-                        WarehouseId = 7,
-                        TaskNum = DateTime.Now.ToString("yyMMddHHmm").ObjToInt() + i,
-                        PalletCode= DateTime.Now.ToString("yyMMddHHmm") +i,
-                        PalletType=0,
-                        DeviceCode="AGV_CP",
-                        Roadway= "AGV_CP",
-                        TaskType =999,
-                        SourceAddress=string.Format($"AGV_CP-00{row}-0{column}-00{startlayer}-01"),
-                        CurrentAddress=string.Format($"AGV_CP-00{row}-0{column}-00{startlayer}-01"),
-                        TargetAddress= string.Format($"AGV_CP-00{row}-0{column}-00{layer}-01"),
-                        NextAddress= string.Format($"AGV_CP-00{row}-0{column}-00{layer}-01"),
-                        Grade=0,
-                        WMSId=0,
-                        AgvTaskNum = "CP" + DateTime.Now.ToString("yyMMddHHmm").ObjToInt() + i,
-                        TaskState = TaskStatusEnum.New.ObjToInt(),
-                        Remark= "娴嬭瘯绌烘"
-                    };
-                    tasks.Add(task);
-                }
-                BaseDal.AddData(tasks);
-                return WebResponseContent.Instance.OK("");
-            }
-            catch (Exception ex)
-            {
-                return WebResponseContent.Instance.Error(ex.Message);
-            }
-
-        }
         /// <summary>
         /// 鎺ユ敹WMS浠诲姟淇℃伅
         /// </summary>
@@ -211,10 +164,18 @@
                     task.CurrentAddress = item.SourceAddress;
 
                     Dt_Router? router;
-
+                    if (task.TaskType==TaskTypeEnum.Relocation.ObjToInt())
+                    {
+                        task.DeviceCode = task.Roadway;
+                        task.NextAddress = task.TargetAddress;
+                        task.TaskState = TaskStatusEnum.SC_Execute.ObjToInt();
+                        tasks.Add(task);
+                        break;
+                    }
                     TaskTypeGroup taskTypeGroup = item.TaskType.GetTaskTypeGroup();
                     if (string.IsNullOrEmpty(item.AGVArea))
                     {
+                        
                         Dt_StationManger stationManger;
                         //鑾峰彇绔欏彴淇℃伅
                         if (taskTypeGroup == TaskTypeGroup.InboundGroup)
@@ -239,26 +200,47 @@
 
                         if (routers.Count == 1)
                         {
+                            //鍏ュ簱
                             if (taskTypeGroup == TaskTypeGroup.InboundGroup)
                             {
                                 task.CurrentAddress = router.StartPosi;
                                 task.NextAddress = router.NextPosi;
                                 task.DeviceCode = router.ChildPosiDeviceCode;
                             }
-                            else
+                            else //鍑哄簱
                             {
                                 task.DeviceCode = stationManger.StackerCraneCode;
                                 task.NextAddress = router.NextPosi;
+                                task.TaskState = (int)TaskStatusEnum.SC_Execute;
                             }
                         }
                         else
                         {
-                            if (taskTypeGroup == TaskTypeGroup.InboundGroup)
+                            //鎴愬搧鐮佸灈浠诲姟鐢熸垚
+                            if (taskTypeGroup == TaskTypeGroup.InboundGroup && !task.Roadway.Contains("YL"))
                             {
                                 task.CurrentAddress = router.StartPosi;
                                 task.NextAddress = "";
                                 task.DeviceCode = router.ChildPosiDeviceCode;
                             }
+                            else if(taskTypeGroup == TaskTypeGroup.InboundGroup && task.Roadway.Contains("YL")) //鍘熸枡鍏ュ簱
+                            {
+                                router = routers.FirstOrDefault(x=>x.ChildPosiDeviceCode==task.Roadway);
+                                task.CurrentAddress = router.StartPosi;
+                                task.NextAddress = router.NextPosi;
+                                task.DeviceCode = router.ChildPosi;
+                            }
+                        }
+                    }
+                    else
+                    {
+                        //鎴愬搧鍏ュ簱
+                        List<Dt_Router> routers = _routerRepository.QueryData(x => x.InOutType == item.TaskType && x.StartPosi=="AGV" && x.ChildPosiDeviceCode==item.RoadWay);
+                        router = routers.FirstOrDefault();
+                        if (routers.Count == 1)
+                        {
+                            task.NextAddress = router.NextPosi;
+                            task.DeviceCode = router.ChildPosi;
                         }
                     }
                     tasks.Add(task);
@@ -323,7 +305,41 @@
             }
             return content;
         }
+        // <summary>
+        /// 璇锋眰鍏ュ簱浠诲姟
+        /// </summary>
+        /// <param name="palletCode">鎵樼洏鍙�</param>
+        /// <param name="sourceAddress">璧峰鍦板潃</param>
+        /// /// <param name="roadWay">宸烽亾</param>
+        /// <returns></returns>
+        public WebResponseContent RequestYLWMSTaskSimple(string palletCode, string sourceAddress)
+        {
+            WebResponseContent content = new WebResponseContent();
+            try
+            {
+                string address = AppSettings.Get("WMSApiAddress");
+                if (string.IsNullOrEmpty(address))
+                {
+                    return WebResponseContent.Instance.Error($"鏈壘鍒癢MSApi鍦板潃");
+                }
+                string responseStr = HttpHelper.Get($"{address}/api/Task/RequestYLWMSTaskSimple?stationCode={sourceAddress}&palletCode={palletCode}");
+                WebResponseContent? responseContent = JsonConvert.DeserializeObject<WebResponseContent>(responseStr);
+                if (responseContent != null && responseContent.Status && responseContent.Data != null)
+                {
+                    WMSTaskDTO? taskDTO = JsonConvert.DeserializeObject<WMSTaskDTO>(responseContent.Data.ToString());
+                    if (taskDTO != null)
+                    {
+                        content = ReceiveWMSTask(new List<WMSTaskDTO> { taskDTO });
+                    }
+                }
 
+            }
+            catch (Exception ex)
+            {
+                content = WebResponseContent.Instance.Error(ex.Message);
+            }
+            return content;
+        }
         // <summary>
         /// 璇锋眰鍏ュ簱浠诲姟
         /// </summary>
@@ -352,7 +368,7 @@
                 {
                     Id = 1,
                     TaskNum = DateTime.Now.ToString("mmss").ObjToInt(),
-                    PalletCode="",
+                    PalletCode= palletCode,
                     RoadWay= roadWay ?? "",
                     TaskType= taskType,
                     PalletType=1,
@@ -410,42 +426,6 @@
         //    return content;
         //}
 
-        /// <summary>
-        /// 
-        /// </summary>
-        /// <param name="sourceAddress"></param>
-        /// <param name="palletCode"></param>
-        /// <param name="heightType"></param>
-        /// <param name="roadways"></param>
-        /// <returns></returns>
-        public WebResponseContent RequestWMSTask(string palletCode, string sourceAddress,  int heightType, List<string> roadways)
-        {
-            WebResponseContent content = new WebResponseContent();
-            try
-            {
-                string address = AppSettings.Get("WMSApiAddress");
-                if (string.IsNullOrEmpty(address))
-                {
-                    return WebResponseContent.Instance.Error($"鏈壘鍒癢MSApi鍦板潃");
-                }
-                string responseStr = HttpHelper.Post($"{address}/api/Task/DeviceRequestInboundTaskByRoadways?stationCode={sourceAddress}&palletCode={palletCode}&heightType={heightType}", roadways.Serialize());
-                WebResponseContent? responseContent = JsonConvert.DeserializeObject<WebResponseContent>(responseStr);
-                if (responseContent != null && responseContent.Status && responseContent.Data != null)
-                {
-                    WMSTaskDTO? taskDTO = JsonConvert.DeserializeObject<WMSTaskDTO>(responseContent.Data.ToString());
-                    if (taskDTO != null)
-                    {
-                        content = ReceiveWMSTask(new List<WMSTaskDTO> { taskDTO });
-                    }
-                }
-
-            }
-            catch (Exception ex)
-            {
-                content = WebResponseContent.Instance.Error(ex.Message);
-            }
-            return content;
-        }
 
         /// <summary>
         /// 鍒嗛厤宸烽亾

--
Gitblit v1.9.3