From f49fa4b5027cfdc27b429985d023e8002abcca2e Mon Sep 17 00:00:00 2001
From: huanghongfeng <huanghongfeng@hnkhzn.com>
Date: 星期三, 05 十一月 2025 23:54:12 +0800
Subject: [PATCH] 1

---
 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs |   60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 56 insertions(+), 4 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs"
index e3b3e94..01b4620 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs"
@@ -70,7 +70,17 @@
                         }
                         else
                         {
-                            wcs_PLCto07("浠诲姟瀹屾垚鏁呴殰", $"浠诲姟鍙凤細{commonStackerCrane.CurrentTaskNum}锛屼慨鏀逛换鍔″け璐�", $"澶辫触鍘熷洜锛歿webResponse.Message}");
+                            WebResponseContent webRespon = _taskService.StackCraneTashty(commonStackerCrane.CurrentTaskNum);
+                            if (webRespon.Status)
+                            {
+
+                                bool fk = commonStackerCrane.SetValue(StackerCraneDBName.WorkType, 5);
+                                wcs_PLCto07("浠诲姟瀹屾垚", $"浠诲姟鍙凤細{commonStackerCrane.CurrentTaskNum},鍘嗗彶鏌ヨ淇℃伅", $"浠诲姟鏌ユ壘浠诲姟閲嶏紝骞惰繘琛屽弽棣堬細{fk}");
+                            }
+                            else
+                            {
+                                wcs_PLCto07("浠诲姟瀹屾垚鏁呴殰", $"浠诲姟鍙凤細{commonStackerCrane.CurrentTaskNum}锛屽巻鍙蹭换鍔℃煡璇㈡暟鎹�", $"澶辫触鍘熷洜锛歿webResponse.Message}");
+                            }
 
                         }
                     }
@@ -91,8 +101,20 @@
                                     bool sendFlag = commonStackerCrane.SendCommand(stackerCraneTaskCommand);
                                     if (sendFlag)
                                     {
-                                        commonStackerCrane.LastTaskType = task.TaskType;
-                                        _taskService.UpdateTaskStatusToNext(task.TaskNum);
+                                        WebResponseContent webResponseContent=_taskService.UpdateTaskStatusToNext(task.TaskNum);
+                                        if (webResponseContent.Status)
+                                        {
+                                            wcs_PLCto09("浠诲姟涓嬪彂鎴愬姛", $"浠诲姟鍙凤細{task.TaskNum}", $"鎵樼洏鏉$爜锛歿task.PalletCode},鏃堕棿锛歿DateTime.Now}");
+                                        }
+                                        else
+                                        {
+                                            wcs_PLCto09("浠诲姟涓嬪彂澶辫触", $"浠诲姟鍙凤細{task.TaskNum}", $"澶辫触鍘熷洜锛歿webResponseContent.Message}");
+                                        }
+                                    }
+                                    else
+                                    {
+
+                                        wcs_PLCto09("浠诲姟涓嬪彂澶辫触", $"浠诲姟鍙凤細{task.TaskNum}", $"涓嬪彂缁欏爢鍨涙満浠诲姟澶辫触锛岀姸鎬侊細{sendFlag}");
                                     }
                                 }
                             }
@@ -102,6 +124,7 @@
             }
             catch (Exception ex)
             {
+                wcs_PLCto09("鍫嗗灈鏈篔ob", $"鏁呴殰", $"鍘熷洜锛歿ex.Message}");
                 //Console.WriteLine(nameof(CommonStackerCraneJob) + ":" + ex.ToString());
             }
             return Task.CompletedTask;
@@ -141,6 +164,30 @@
                 //鏌ヨ鍏ㄩ儴浠诲姟锛屾寜鏃堕棿鎺掑簭杩涜鏌ヨ
                 List<Dt_Task> TasksList = _taskService.CraneTaskList(commonStackerCrane.DeviceCode);
                 if (TasksList.Count == 0) return null;
+
+                Dt_Task RELNew= TasksList.Where(x=>x.TaskType== (int)TaskRelocationTypeEnum.Relocation && x.TaskState == (int)TaskOutStatusEnum.ResRestNet).OrderBy(x => x.CreateDate).FirstOrDefault();
+                if( RELNew != null )
+                {
+
+                    string[] targetCodes = RELNew.TargetAddress.Split("-");
+
+                    //濡傛灉涓烘繁搴撲綅锛屽垯鏌ョ湅鏄惁鏈夐渶瑕佹墽琛岀殑浠诲姟
+                    if (targetCodes[4] == "02")
+                    {
+
+                        Dt_Task taskstrot = InTaskMove(RELNew);
+                        if (taskstrot != null)
+                        {
+                            return taskstrot;
+                        }
+                    }
+                    else
+                    {
+                            return RELNew;
+                    }
+                }
+
+
                 foreach (var item in TasksList)
                 {
                     if (item.TaskType == (int)TaskInboundTypeEnum.Inbound)
@@ -508,7 +555,7 @@
                     if (deviceProDTO != null)
                     {
                         int B_Event_Test = GetLine(conveyorLine, deviceProDTO.DeviceProDataBlock);        //鍒ゆ柇杈撻�佺嚎鏄惁鍏佽鍙栬揣淇″彿
-                        if (B_Event_Test == 1)
+                        if (B_Event_Test == 1 || (task.SourceAddress== "R01-002-043-001-01" && B_Event_Test==6))
                         {
                             if (Releasespermitted2(commonStackerCrane, task.SourceAddress,true))  //鍐欏叆鍫嗗灈鏈哄厑璁稿彇璐т俊鍙�
                             {
@@ -1293,5 +1340,10 @@
         {
             WriteLog.Write_Log("鍑哄簱绔欏彴淇℃伅", SCLLinStack, Logtype, new { 淇℃伅 = Magessadd });
         }
+
+        public void wcs_PLCto09(string SCLLinStack, string Logtype, string Magessadd)
+        {
+            WriteLog.Write_Log("鍫嗗灈鏈轰笅鍙戞儏鍐�", SCLLinStack, Logtype, new { 淇℃伅 = Magessadd });
+        }
     }
 }

--
Gitblit v1.9.3