From 2de09bec5cc05bf875543fa8956167ca7db73021 Mon Sep 17 00:00:00 2001
From: 刘磊 <1161824510@qq.com>
Date: 星期三, 25 六月 2025 11:36:44 +0800
Subject: [PATCH] 合并

---
 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs |  104 +++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 83 insertions(+), 21 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs"
index 7473a18..a10955a 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs"
@@ -85,9 +85,12 @@
                 if (conveyorLine != null)
                 {
                     List<Dt_StationManager> stationManagers = _stationManagerService.GetAllStationByDeviceCode(conveyorLine.DeviceCode);
+
+                    ConveyorLineTaskCommand command2 = new ConveyorLineTaskCommand();
                     foreach (var station in stationManagers)
                     {
                         ConveyorLineTaskCommand command = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(station.stationChildCode);
+
 
                         DeviceProtocolDetailDTO? deviceProtocolDetails = conveyorLine.DeviceProtocolDetailDTOs.FirstOrDefault(x => x.DeviceProParamName == station.stationChildCode && x.ProtocalDetailValue == command.ConveyorLineSingal.ToString());
 
@@ -140,11 +143,12 @@
             }
             catch (Exception ex)
             {
+                //WriteError("CommonConveyorLineJob", ex);
                 Console.Out.WriteLine(nameof(CommonConveyorLineJob) + ":" + ex.ToString());
             }
             finally
             {
-                //WriteDebug("CommonConveyorLineJob", "test");
+                WriteDebug("CommonConveyorLineJob", "test");
                 //Console.Out.WriteLine(DateTime.Now);
             }
             return;
@@ -174,7 +178,17 @@
                     if (task != null)
                     {
                         conveyorLine.SetValue(ConveyorLineDBName.Number, task.PalletCode, stationInfo.stationChildCode);
-                        conveyorLine.SetValue(ConveyorLineDBName.TargetAddress, task.NextAddress, stationInfo.stationChildCode);
+
+                        if ((task.TargetAddress == "2042" || task.TargetAddress == "2032") && task.TaskState == (int)TaskOutStatusEnum.SC_OutFinish)
+                        {
+                            conveyorLine.SetValue(ConveyorLineDBName.TargetAddress, task.TargetAddress, stationInfo.stationChildCode);
+                        }
+                        else
+                        {
+                            conveyorLine.SetValue(ConveyorLineDBName.TargetAddress, task.NextAddress, stationInfo.stationChildCode);
+                        }
+
+                        //conveyorLine.SetValue(ConveyorLineDBName.TargetAddress, task.NextAddress, stationInfo.stationChildCode);
                         conveyorLine.SetValue(ConveyorLineDBName.ResponState, 1, stationInfo.stationChildCode);
 
                         _taskService.UpdateTaskStatusToNext(task);
@@ -189,7 +203,16 @@
             else
             {
                 conveyorLine.SetValue(ConveyorLineDBName.Number, taskNew.PalletCode, stationInfo.stationChildCode);
-                conveyorLine.SetValue(ConveyorLineDBName.TargetAddress, taskNew.NextAddress, stationInfo.stationChildCode);
+
+                if ((taskNew.TargetAddress == "2042" || taskNew.TargetAddress == "2032") && taskNew.TaskState == (int)TaskOutStatusEnum.SC_OutFinish)
+                {
+                    conveyorLine.SetValue(ConveyorLineDBName.TargetAddress, taskNew.TargetAddress, stationInfo.stationChildCode);
+                }
+                else
+                {
+                    conveyorLine.SetValue(ConveyorLineDBName.TargetAddress, taskNew.NextAddress, stationInfo.stationChildCode);
+                }
+                //conveyorLine.SetValue(ConveyorLineDBName.TargetAddress, taskNew.NextAddress, stationInfo.stationChildCode);
                 conveyorLine.SetValue(ConveyorLineDBName.ResponState, 1, stationInfo.stationChildCode);
 
                 _taskService.UpdateTaskStatusToNext(taskNew);
@@ -321,30 +344,41 @@
                 //鏍规嵁杞﹁酱缂撳瓨浣嶇疆 鍐欏叆瀵瑰簲鐩爣鍦板潃
                 if (task.TargetAddress == stationInfo.stationChildCode)
                 {
-                    WebResponseContent content = _taskService.RequestWheelsFlow(task.task_CZInfo).Result;
+                    //WebResponseContent content = _taskService.RequestWheelsFlow(task.task_CZInfo).Result;
+                    WebResponseContent content = _taskService.RequestWheelsFlow(task.PalletCode).Result;
                     if (content.Status)
                     {
-                        string taraddress = content.Data.ToString(); // "2032";
+                        string taraddress = content.Data.ToString(); // "2032";SourceAddress
 
-                        conveyorLine.SetValue(ConveyorLineDBName.TargetAddress, taraddress, stationInfo.stationChildCode);
-                        conveyorLine.SetValue(ConveyorLineDBName.ResponState, 1, stationInfo.stationChildCode);
-                        _taskService.UpdateTaskStatusToNext(task);
+                        bool k1 = conveyorLine.SetValue(ConveyorLineDBName.SourceAddress, "2021", stationInfo.stationChildCode);
+                        
+                        bool k2= conveyorLine.SetValue(ConveyorLineDBName.TargetAddress, taraddress, stationInfo.stationChildCode);
+                        bool k3= conveyorLine.SetValue(ConveyorLineDBName.ResponState, 1, stationInfo.stationChildCode);
+                        WebResponseContent k4 = _taskService.UpdateTaskStatusToNext(task);
+
+                        Console.Out.WriteLine($"璇诲彇鍒拌緭閫佺嚎鐢宠,鐢宠鏉$爜锛歿command.Number}锛屽弽棣堣嚦杈撻�佺嚎淇℃伅====璧峰鍦板潃锛歿k1},鐩爣鍦板潃鈥渰k2},鍙嶉淇″彿锛歿k3},浠诲姟淇敼鐘舵�侊細{k4.Status}锛�)");
                     }
                     else
                     {
                         conveyorLine.SetValue(ConveyorLineDBName.ResponState, 2, stationInfo.stationChildCode);
+
+                        Console.Out.WriteLine($"璇诲彇鍒拌緭閫佺嚎鐢宠,鐢宠鏉$爜锛歿command.Number}锛屽悜WMS鐢宠鍘诲悜澶辫触锛屽師鍥狅細{content.Message},鍐欏叆鐢宠瘔淇℃晠闅滐細2");
                     }
                 }
                 else
                 {
-                    conveyorLine.SetValue(ConveyorLineDBName.TargetAddress, task.TargetAddress, stationInfo.stationChildCode);
-                    conveyorLine.SetValue(ConveyorLineDBName.ResponState, 1, stationInfo.stationChildCode);
-                    _taskService.UpdateTaskStatusToNext(task);
+                    bool k1= conveyorLine.SetValue(ConveyorLineDBName.SourceAddress, "2021", stationInfo.stationChildCode);
+                    bool k2 = conveyorLine.SetValue(ConveyorLineDBName.TargetAddress, task.TargetAddress, stationInfo.stationChildCode);
+                    bool k3 = conveyorLine.SetValue(ConveyorLineDBName.ResponState, 1, stationInfo.stationChildCode);
+                    WebResponseContent k4 = _taskService.UpdateTaskStatusToNext(task);
+
+                    Console.Out.WriteLine($"璇诲彇鍒拌緭閫佺嚎鐢宠,鐢宠鏉$爜锛歿command.Number}锛屽弽棣堣嚦杈撻�佺嚎淇℃伅====璧峰鍦板潃锛歿k1},鐩爣鍦板潃鈥渰k2},鍙嶉淇″彿锛歿k3},浠诲姟淇敼鐘舵�侊細{k4.Status}锛�)");
                 }
             }
             else
             {
                 conveyorLine.SetValue(ConveyorLineDBName.ResponState, 2, stationInfo.stationChildCode);
+                Console.Out.WriteLine($"璇诲彇鍒拌緭閫佺嚎鐢宠,鐢宠鏉$爜锛歿command.Number}锛屾湭鎵惧埌,鍐欏叆鐢宠瘔淇℃晠闅滐細2");
             }
             //_taskService.UpdatePosition(task.TaskNum, stationInfo.stationChildCode);
         }
@@ -359,15 +393,16 @@
         /// <param name="ProtocalDetailValue">绾夸綋褰撳墠bool璇诲彇鍋忕Щ鍦板潃</param>
         public void RequestCZInfo(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, Dt_StationManager stationInfo)
         {
-            var task = _taskService.QueryExecutingTaskByBarcode(command.Number, stationInfo.stationChildCode);
-            if (task == null)
+            WebResponseContent content = _taskService.GetFeedbackAxleloading();
+            if (content.Status)
             {
-                //todo  鏌ヨWMS杞﹁酱鏁版嵁杩斿洖
-                Random random = new Random(20);
-                string cztm = "CZ00" + random.Next();
-                //conveyorLine
-                //conveyorLine.SetValue(ConveyorLineDBName.Number, cztm, stationInfo.stationChildCode);
+                conveyorLine.SetValue(ConveyorLineDBName.Number, content.Data.ToString(), stationInfo.stationChildCode);
+                conveyorLine.SetValue(ConveyorLineDBName.CarType,"001", stationInfo.stationChildCode);
                 conveyorLine.SetValue(ConveyorLineDBName.ResponState, 1, stationInfo.stationChildCode);
+            }
+            else
+            {
+                conveyorLine.SetValue(ConveyorLineDBName.ResponState, 2, stationInfo.stationChildCode);
             }
         }
 
@@ -380,11 +415,38 @@
         /// <param name="ProtocalDetailValue">绾夸綋褰撳墠bool璇诲彇鍋忕Щ鍦板潃</param>
         public void RequestTakeCZ(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, Dt_StationManager stationInfo)
         {
-            var task = _taskService.QueryExecutingTaskByBarcode(command.Number, stationInfo.stationChildCode);
-            if (task == null)
+
+            WebResponseContent content = _taskService.UpdateAxleCurrentStatue(command.Number);
+            if (content.Status)
             {
-                //conveyorLine
                 conveyorLine.SetValue(ConveyorLineDBName.ResponState, 1, stationInfo.stationChildCode);
+                Console.Out.WriteLine("鎴愬姛锛佸啓鍑鸿溅杞寸嚎鏈鐢熸垚agv鍙栬揣浠诲姟锛屽弽棣堣緭閫佺嚎淇″彿锛�1");
+            }
+            /*else
+            {
+                var log = $"銆恵conveyorLine.DeviceName}銆�,杞﹁酱鏉$爜锛歿command.Number}锛屾洿鏂板け璐ュ師鍥狅細{content.Message}";
+                WriteInfo(conveyorLine.DeviceName, log);
+                conveyorLine.SetValue(ConveyorLineDBName.ResponState, 3, stationInfo.stationChildCode);
+            }*/
+        }
+
+
+        /// <summary>
+        /// agv绔欏彴鐢宠鍙栨枡
+        /// </summary>
+        /// <param name="conveyorLine">杈撻�佺嚎瀹炰緥瀵硅薄</param>
+        /// <param name="command">璇诲彇鐨勮姹備俊鎭�</param>
+        /// <param name="childDeviceCode">瀛愯澶囩紪鍙�</param>
+        /// <param name="ProtocalDetailValue">绾夸綋褰撳墠bool璇诲彇鍋忕Щ鍦板潃</param>
+        public void RequestagvStation(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, Dt_StationManager stationInfo)
+        {
+            DeviceProDTO? deviceProDTOt = conveyorLine.DeviceProDTOs.Find(x => x.DeviceChildCode == "3022" && x.DeviceProParamName == "Number");
+            string Number = conveyorLine.Communicator.Read<string>(deviceProDTOt.DeviceProAddress);
+            if (Number != "" && Number!=null)
+            {
+                //璋冨彇wms鎺ュ彛鐢宠agv浠诲姟
+                WebResponseContent content = _taskService.GetAGVTaskdistribution(stationInfo.stationLocation);
+
             }
         }
         #endregion

--
Gitblit v1.9.3