From 829eabf256e29392ca63f6da48829dba3b075dfe Mon Sep 17 00:00:00 2001
From: huanghongfeng <huanghongfeng@hnkhzn.com>
Date: 星期五, 24 一月 2025 08:59:53 +0800
Subject: [PATCH] 资料,优化程序

---
 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs |  205 ++++++++++++++++++++++++++++++++------------------
 1 files changed, 131 insertions(+), 74 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 e536cc1..a25dcbe 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"
@@ -116,25 +116,6 @@
         private Dt_Task? GetTask(CommonStackerCrane commonStackerCrane)
         {
             Dt_Task task;
-            /*if (commonStackerCrane.LastTaskType == null)
-            {
-                task = _taskService.QueryStackerCraneTask(commonStackerCrane.DeviceCode);
-            }
-            else
-            {
-                if (commonStackerCrane.LastTaskType.GetValueOrDefault().GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
-                {
-                    task = _taskService.QueryStackerCraneInTask(commonStackerCrane.DeviceCode);
-                    if (task == null)
-                    {
-                        task = _taskService.QueryStackerCraneOutTask(commonStackerCrane.DeviceCode);
-                    }
-                }
-                else
-                {
-                    task = _taskService.QueryStackerCraneOutTask(commonStackerCrane.DeviceCode);
-                }
-            }*/
             task = _taskService.QueryStackerCraneTask(commonStackerCrane.DeviceCode);
 
             if (task != null && task.TaskType== (int)TaskOutboundTypeEnum.Outbound)
@@ -143,34 +124,51 @@
                 if (targetCodes[4] == "02")
                 {
 
-                    task = OutTaskMovelibrary(task);
-                    if (task != null)
+                    Dt_Task taskst = OutTaskMovelibrary(task);
+                    if (taskst != null)
                     {
-                        if (OutTaskStationIsOccupied(task) != null)
+                        if(taskst.TaskType == (int)TaskRelocationTypeEnum.Relocation) 
                         {
-                            return task;
+                            return taskst;
                         }
+                        else
+                        {
+                            if(taskst.TargetAddress== "R02-001-021-001-02" || taskst.TargetAddress == "R02-001-022-001-02")
+                            {
+                                return taskst;
+                            }
+                            else
+                            {
+                                if (OutTaskStationIsOccupied(taskst) != null)
+                                {
+                                    return taskst;
+                                }
+                            }
+                                
+                        }
+                        
                     }
-                }
-                if (OutTaskStationIsOccupied(task) != null)
-                {
-                    return task;
+                    task = _taskService.QueryStackerCraneInTask(commonStackerCrane.DeviceCode);
                 }
                 else
                 {
-                    List<string> otherOutStaionCodes = _routerService.QueryNextRoutes(commonStackerCrane.DeviceCode, task.NextAddress).Select(x => x.ChildPosi).ToList();
-                    List<Dt_Task> tasks = _taskService.QueryStackerCraneOutTasks(commonStackerCrane.DeviceCode, otherOutStaionCodes);
-                    foreach (var item in tasks)
+                    if (task.TargetAddress == "R02-001-021-001-02" || task.TargetAddress == "R02-001-022-001-02")
+                    {
+                        return task;
+                    }
+                    else
                     {
                         if (OutTaskStationIsOccupied(task) != null)
                         {
                             return task;
                         }
                     }
-                    //task = _taskService.QueryStackerCraneInTask(commonStackerCrane.DeviceCode);
+                    
+                    task = _taskService.QueryStackerCraneInTask(commonStackerCrane.DeviceCode);
                 }
-            }
 
+
+            }
             return task;
         }
 
@@ -223,10 +221,10 @@
                 }
                 targetCodes[4] = "01";
                 string SourceAddress = string.Join("-", targetCodes); //缁勮娴呭簱浣嶅湴鍧�
-                Dt_Task? tasks = _taskService.QueryStationIsOccupiedOutTasks(task.Roadway, SourceAddress).FirstOrDefault();
+                Dt_Task? tasks = _taskService.QueryStationIsOccupiedOutTasks(task.Roadway, SourceAddress).FirstOrDefault(); //鎵炬祬搴撲綅鏄惁鏈変换鍔�
                 if (tasks != null)
                 {
-                    return task;
+                    return tasks;
                 }
                 else
                 {
@@ -251,7 +249,7 @@
             if (Applyrelease(commonStackerCrane)) //璇诲彇鍫嗗灈鏈烘斁璐х敵璇�
             {
                 Dt_Task task = _taskService.IngStackerCraneTask2(commonStackerCrane.DeviceCode);
-                if (task.TaskType == (int)TaskOutboundTypeEnum.Outbound)
+                if (task.TaskType == (int)TaskOutboundTypeEnum.Outbound && (task.TargetAddress != "R02-001-021-001-02" && task.TargetAddress != "R02-001-022-001-02"))
                 {
                     IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceProDTOs.Exists(x => x.DeviceChildCode == task.TargetAddress));
                     if (device != null)
@@ -266,22 +264,24 @@
 
                                 if (Releasespermitted(commonStackerCrane, task.TargetAddress,true))  //鍐欏叆鍫嗗灈鏈哄厑璁告斁璐т俊
                                 {
-                                    WriteLog.GetLog("鍫嗗灈鏈轰俊鍙�").Write($"绔欏彴缂栧彿锛歿task.TargetAddress},浠诲姟鍙凤細{task.TaskNum},淇℃伅锛氬啓鍏ュ爢鍨涙満鍏佽鏀捐揣淇″彿鎴愬姛锛歵rue", $"锛堟斁璐э級鍐欏叆{task.TargetAddress}");
+
+                                    wcs_PLCto06(task.TargetAddress + "鎴愬姛淇℃伅", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", "鍐欏叆鍫嗗灈鏈哄厑璁告斁璐т俊鍙锋垚鍔燂細true");
                                 }
                                 else
                                 {
-                                    WriteLog.GetLog("鍫嗗灈鏈轰俊鍙�").Write($"绔欏彴缂栧彿锛歿task.TargetAddress},浠诲姟鍙凤細{task.TaskNum},淇℃伅锛氬啓鍏ュ爢鍨涙満鍏佽鏀捐揣淇″彿澶辫触", $"锛堟斁璐э級鍐欏叆{task.TargetAddress}");
+                                    wcs_PLCto06(task.TargetAddress + "閿欒淇℃伅", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", "鍐欏叆鍫嗗灈鏈哄厑璁告斁璐т俊鍙峰け璐�");
                                 }
                             }
                             else
                             {
                                 if (Releasespermitted(commonStackerCrane, task.TargetAddress,false))  //鍐欏叆鍫嗗灈鏈轰笉鍏佽鏀捐揣淇�
                                 {
-                                    WriteLog.GetLog("鍫嗗灈鏈轰俊鍙�").Write($"绔欏彴缂栧彿锛歿task.TargetAddress},浠诲姟鍙凤細{task.TaskNum},淇℃伅锛氬啓鍏ュ爢鍨涙満涓嶅厑璁告斁璐т俊鍙锋垚鍔燂細false", $"锛堟斁璐э級鍐欏叆{task.TargetAddress}");
+
+                                    wcs_PLCto06(task.TargetAddress + "鎴愬姛淇℃伅", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", "鍐欏叆鍫嗗灈鏈轰笉鍏佽鏀捐揣淇″彿鎴愬姛锛歠alse");
                                 }
                                 else
                                 {
-                                    WriteLog.GetLog("鍫嗗灈鏈轰俊鍙�").Write($"绔欏彴缂栧彿锛歿task.TargetAddress},浠诲姟鍙凤細{task.TaskNum},淇℃伅锛氬啓鍏ュ爢鍨涙満涓嶅厑璁告斁璐т俊鍙峰け璐�", $"锛堟斁璐э級鍐欏叆{task.TargetAddress}");
+                                    wcs_PLCto06(task.TargetAddress + "閿欒淇℃伅", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", "鍐欏叆鍫嗗灈鏈轰笉鍏佽鏀捐揣淇″彿澶辫触");
                                 }
                             }
                         }
@@ -291,7 +291,7 @@
             else
             {
                 Dt_Task task = _taskService.IngStackerCraneTask2(commonStackerCrane.DeviceCode);
-                if (task !=null && task.TaskType == (int)TaskOutboundTypeEnum.Outbound)
+                if (task !=null && task.TaskType == (int)TaskOutboundTypeEnum.Outbound &&(task.TargetAddress != "R02-001-021-001-02" && task.TargetAddress != "R02-001-022-001-02"))
                 {
                     if (Completesignal(commonStackerCrane, task.TargetAddress))        //璇诲彇鍒版斁璐у畬鎴愪俊鍙�
                     {
@@ -304,11 +304,12 @@
                                 byte PLCtost = (byte)task.PLCTo;
                                 if (PLCSignal2(conveyorLine, task.TargetAddress, "W_Destination", PLCtost))
                                 {
-                                    WriteLog.GetLog("杈撻�佺嚎").Write($"绔欏彴缂栧彿锛歿task.TargetAddress},浠诲姟鍙凤細{task.TaskNum},淇℃伅锛氬啓鍏ュ幓鍚戞垚鍔燂紝鍘诲悜涓猴細{PLCtost}", $"鍑烘枡鍙e幓鍚�");
+
+                                    wcs_PLCto06(task.TargetAddress + "鎴愬姛淇℃伅", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", $"鍐欏叆鍘诲悜鎴愬姛锛屽幓鍚戜负锛歿PLCtost}");
                                 }
                                 else
                                 {
-                                    WriteLog.GetLog("杈撻�佺嚎").Write($"绔欏彴缂栧彿锛歿task.TargetAddress},浠诲姟鍙凤細{task.TaskNum},淇℃伅锛氬啓鍏ュ幓鍚戝け璐ワ紝鍘诲悜涓猴細{PLCtost}", $"鍑烘枡鍙e幓鍚�");
+                                    wcs_PLCto06(task.TargetAddress + "閿欒淇℃伅", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", $"鍐欏叆鍘诲悜澶辫触锛屽幓鍚戜负锛歿PLCtost}");
                                 }
                             }
 
@@ -334,36 +335,35 @@
                                                     byte PLCtost2 = 0;
                                                     if (PLCSignal2(conveyorLine, task.TargetAddress, "W_Destination", PLCtost2))
                                                     {
-                                                        WriteLog.GetLog("杈撻�佺嚎").Write($"绔欏彴缂栧彿锛歿task.TargetAddress},浠诲姟鍙凤細{task.TaskNum},淇℃伅锛氭竻闄ゅ幓鍚戞垚鍔�", $"鍑烘枡鍙e幓鍚�");
-
+                                                        wcs_PLCto06(task.TargetAddress + "鎴愬姛淇℃伅", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", $"娓呴櫎鍘诲悜鎴愬姛");
                                                     }
                                                     else
                                                     {
-                                                        WriteLog.GetLog("杈撻�佺嚎").Write($"绔欏彴缂栧彿锛歿task.TargetAddress},浠诲姟鍙凤細{task.TaskNum},淇℃伅锛氭竻闄ゅ幓鍚戝け璐�", $"鍑烘枡鍙e幓鍚�");
+                                                        wcs_PLCto06(task.TargetAddress + "閿欒淇℃伅", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", $"娓呴櫎鍘诲悜澶辫触");
                                                     }
                                                     // 娓呴櫎杈撻�佺嚎
                                                     if (PLCSignal(conveyorLine, task.TargetAddress, (byte)0))
                                                     {
-                                                        WriteLog.GetLog("杈撻�佺嚎").Write($"绔欏彴缂栧彿锛歿task.TargetAddress},浠诲姟鍙凤細{task.TaskNum},淇℃伅锛氬啓鍏ヨ緭閫佺嚎娓呴櫎-鍫嗗灈鏈烘斁涓嬩俊鍙锋垚鍔�", $"鍑烘枡鍙e幓鍚�");
+                                                        wcs_PLCto06(task.TargetAddress + "鎴愬姛淇℃伅", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", $"鍐欏叆杈撻�佺嚎娓呴櫎-鍫嗗灈鏈烘斁涓嬩俊鍙锋垚鍔�");
                                                     }
                                                     else
                                                     {
-                                                        WriteLog.GetLog("杈撻�佺嚎").Write($"绔欏彴缂栧彿锛歿task.TargetAddress},浠诲姟鍙凤細{task.TaskNum},淇℃伅锛氬啓鍏ヨ緭閫佺嚎娓呴櫎-鍫嗗灈鏈烘斁涓嬩俊鍙峰け璐�", $"鍑烘枡鍙e幓鍚�");
+                                                        wcs_PLCto06(task.TargetAddress + "閿欒淇℃伅", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", $"鍐欏叆杈撻�佺嚎娓呴櫎-鍫嗗灈鏈烘斁涓嬩俊鍙峰け璐�");
                                                     }
                                                     //鍫嗗灈鏈哄啓瀹屾垚
                                                     if (Releasespermitted4(commonStackerCrane, task.TargetAddress, true))
                                                     {
-                                                        WriteLog.GetLog("鍫嗗灈鏈轰俊鍙�").Write($"绔欏彴缂栧彿锛歿task.TargetAddress},浠诲姟鍙凤細{task.TaskNum},淇℃伅锛氬啓鍏ュ爢鍨涙満鏀句笅淇″彿鎴愬姛锛歵rue", $"鍑烘枡鍙e幓鍚�");
+                                                        wcs_PLCto06(task.TargetAddress + "鎴愬姛淇℃伅", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", $"鍐欏叆鍫嗗灈鏈烘斁涓嬩俊鍙锋垚鍔燂細true");
                                                     }
                                                     else
                                                     {
-                                                        WriteLog.GetLog("鍫嗗灈鏈轰俊鍙�").Write($"绔欏彴缂栧彿锛歿task.TargetAddress},浠诲姟鍙凤細{task.TaskNum},淇℃伅锛氬啓鍏ュ爢鍨涙満鏀句笅淇″彿澶辫触:true", $"鍑烘枡鍙e幓鍚�");
+                                                        wcs_PLCto06(task.TargetAddress + "閿欒淇℃伅", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", $"鍐欏叆鍫嗗灈鏈烘斁涓嬩俊鍙峰け璐�:true");
                                                     }
 
                                                 }
                                                 else
                                                 {
-                                                    WriteLog.GetLog("杈撻�佺嚎").Write($"绔欏彴缂栧彿锛歿task.TargetAddress},浠诲姟鍙凤細{task.TaskNum},淇℃伅锛氬幓鍚戞瘮瀵逛笉涓�鑷达紝杈撻�佺嚎鍘诲悜涓猴細{PLCwcstost}锛寃cs鍐欏叆鍘诲悜涓猴細{task.PLCTo}", $"鍑烘枡鍙e幓鍚�");
+                                                    wcs_PLCto06(task.TargetAddress + "閿欒淇℃伅", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", $"鍘诲悜姣斿涓嶄竴鑷达紝杈撻�佺嚎鍘诲悜涓猴細{PLCwcstost}锛寃cs鍐欏叆鍘诲悜涓猴細{task.PLCTo}");
                                                 }
                                             }
                                         }
@@ -373,21 +373,23 @@
                                             // 娓呴櫎杈撻�佺嚎
                                             if (PLCSignal(conveyorLine, task.TargetAddress, 0))
                                             {
-                                                WriteLog.GetLog("杈撻�佺嚎").Write($"绔欏彴缂栧彿锛歿task.TargetAddress},浠诲姟鍙凤細{task.TaskNum},淇℃伅锛氬啓鍏ヨ緭閫佺嚎娓呴櫎-鍫嗗灈鏈烘斁涓嬩俊鍙锋垚鍔�", $"锛堟斁璐э級璇诲彇{task.TargetAddress}");
+                                                wcs_PLCto06(task.TargetAddress + "鎴愬姛淇℃伅", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", $"鍐欏叆杈撻�佺嚎娓呴櫎-鍫嗗灈鏈烘斁涓嬩俊鍙锋垚鍔�");
                                             }
                                             else
                                             {
-                                                WriteLog.GetLog("杈撻�佺嚎").Write($"绔欏彴缂栧彿锛歿task.TargetAddress},浠诲姟鍙凤細{task.TaskNum},淇℃伅锛氬啓鍏ヨ緭閫佺嚎娓呴櫎-鍫嗗灈鏈烘斁涓嬩俊鍙峰け璐�", $"锛堟斁璐э級璇诲彇{task.TargetAddress}");
+                                                wcs_PLCto06(task.TargetAddress + "閿欒淇℃伅", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", $"鍐欏叆杈撻�佺嚎娓呴櫎-鍫嗗灈鏈烘斁涓嬩俊鍙峰け璐�");
                                             }
 
                                             //鍫嗗灈鏈哄啓瀹屾垚
                                             if (Releasespermitted4(commonStackerCrane, task.TargetAddress, true))
                                             {
-                                                WriteLog.GetLog("鍫嗗灈鏈轰俊鍙�").Write($"绔欏彴缂栧彿锛歿task.TargetAddress},浠诲姟鍙凤細{task.TaskNum},淇℃伅锛氬啓鍏ュ爢鍨涙満鏀句笅淇″彿鎴愬姛锛歵rue", $"锛堟斁璐э級鍐欏叆{task.TargetAddress}");
+
+                                                wcs_PLCto06(task.TargetAddress + "鎴愬姛淇℃伅", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", $"鍐欏叆鍫嗗灈鏈烘斁涓嬩俊鍙锋垚鍔燂細true");
                                             }
                                             else
                                             {
-                                                WriteLog.GetLog("鍫嗗灈鏈轰俊鍙�").Write($"绔欏彴缂栧彿锛歿task.TargetAddress},浠诲姟鍙凤細{task.TaskNum},淇℃伅锛氬啓鍏ュ爢鍨涙満鏀句笅淇″彿澶辫触:true", $"锛堟斁璐э級鍐欏叆{task.TargetAddress}");
+                                                wcs_PLCto06(task.TargetAddress + "閿欒淇℃伅", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", $"鍐欏叆鍫嗗灈鏈烘斁涓嬩俊鍙峰け璐�:true");
+
                                             }
                                         }
 
@@ -398,24 +400,25 @@
                                         // 娓呴櫎杈撻�佺嚎
                                         if (PLCSignal(conveyorLine, task.TargetAddress, 0))
                                         {
-                                            WriteLog.GetLog("杈撻�佺嚎").Write($"绔欏彴缂栧彿锛歿task.TargetAddress},浠诲姟鍙凤細{task.TaskNum},淇℃伅锛氭湭璇诲彇鍒拌緭閫佺嚎鍙嶉鍫嗗灈鏈哄畬鎴愬弽棣堜俊鍙凤紝閲嶇疆涓�0", $"锛堟斁璐э級璇诲彇{task.TargetAddress}");
+                                            wcs_PLCto06(task.TargetAddress + "鎴愬姛淇℃伅", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", $"鏈鍙栧埌杈撻�佺嚎鍙嶉鍫嗗灈鏈哄畬鎴愬弽棣堜俊鍙凤紝閲嶇疆涓�0");
                                         }
                                         else
                                         {
-                                            WriteLog.GetLog("杈撻�佺嚎").Write($"绔欏彴缂栧彿锛歿task.TargetAddress},浠诲姟鍙凤細{task.TaskNum},淇℃伅锛氭湭璇诲彇鍒拌緭閫佺嚎鍙嶉鍫嗗灈鏈哄畬鎴愬弽棣堜俊鍙凤紝閲嶇疆涓�0", $"锛堟斁璐э級璇诲彇{task.TargetAddress}");
+                                            wcs_PLCto06(task.TargetAddress + "閿欒淇℃伅", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", $"鏈鍙栧埌杈撻�佺嚎鍙嶉鍫嗗灈鏈哄畬鎴愬弽棣堜俊鍙凤紝閲嶇疆涓�0澶辫触");
                                         }
                                     }
                                 }
                             }
                             else
                             {
-                                WriteLog.GetLog("杈撻�佺嚎").Write($"绔欏彴缂栧彿锛歿task.TargetAddress},浠诲姟鍙凤細{task.TaskNum},淇℃伅锛氬啓鍏ヨ緭閫佺嚎0-鍫嗗灈鏈烘斁涓嬩俊鍙峰け璐�", $"锛堟斁璐э級鍐欏叆{task.TargetAddress}");
+                                wcs_PLCto06(task.TargetAddress + "閿欒淇℃伅", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", $"鍐欏叆杈撻�佺嚎0-鍫嗗灈鏈烘斁涓嬩俊鍙峰け璐�");
+
                             }
                         }
                     }
                     else
                     {
-                        WriteLog.GetLog("鍫嗗灈鏈轰俊鍙�").Write($"绔欏彴缂栧彿锛歿task.TargetAddress},浠诲姟鍙凤細{task.TaskNum},淇℃伅锛氭湭璇诲彇鍒板爢鍨涙満鏀捐揣瀹屾垚淇″彿", $"锛堟斁璐э級鍐欏叆{task.TargetAddress}");
+                        wcs_PLCto06(task.TargetAddress + "閿欒淇℃伅", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", $"鏈鍙栧埌鍫嗗灈鏈烘斁璐у畬鎴愪俊鍙�");
                     }
                 }
             }
@@ -438,22 +441,23 @@
                         {
                             if (Releasespermitted2(commonStackerCrane, task.SourceAddress,true))  //鍐欏叆鍫嗗灈鏈哄厑璁稿彇璐т俊鍙�
                             {
-                                WriteLog.GetLog("鍫嗗灈鏈轰俊鍙�").Write($"绔欏彴缂栧彿锛歿task.SourceAddress},淇℃伅锛氬啓鍏ュ爢鍨涙満鍏佽鍙栬揣淇″彿鎴愬姛:true", $"锛堝彇璐э級鍐欏叆{task.SourceAddress}");
+                                wcs_PLCto05(task.SourceAddress+"锛氭垚鍔熶俊鎭�", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", $"鍐欏叆鍫嗗灈鏈哄厑璁稿彇璐т俊鍙锋垚鍔�:true");
                             }
                             else
                             {
-                                WriteLog.GetLog("鍫嗗灈鏈轰俊鍙�").Write($"绔欏彴缂栧彿锛歿task.SourceAddress},淇℃伅锛氬啓鍏ュ爢鍨涙満鍏佽鍙栬揣淇″彿澶辫触", $"锛堝彇璐э級鍐欏叆{task.SourceAddress}");
+                                wcs_PLCto05(task.SourceAddress + "锛氶敊璇俊鎭�", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", $"鍐欏叆鍫嗗灈鏈哄厑璁稿彇璐т俊鍙锋垚鍔�:true");
                             }
                         }
                         else
                         {
                             if (Releasespermitted2(commonStackerCrane, task.SourceAddress,false))  //鍐欏叆鍫嗗灈鏈哄厑璁稿彇璐т俊鍙�
                             {
-                                WriteLog.GetLog("鍫嗗灈鏈轰俊鍙�").Write($"绔欏彴缂栧彿锛歿task.SourceAddress},淇℃伅锛氭湭璇诲彇鍒拌緭閫佺嚎鍏佽鍙栬揣淇″彿锛屽啓鍏ュ爢鍨涙満鍏佽鍙栬揣淇″彿鎴愬姛:false", $"锛堝彇璐э級鍐欏叆{task.SourceAddress}");
+                                wcs_PLCto05(task.SourceAddress + "锛氭垚鍔熶俊鎭�", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", $"鏈鍙栧埌杈撻�佺嚎鍏佽鍙栬揣淇″彿锛屽啓鍏ュ爢鍨涙満鍏佽鍙栬揣淇″彿鎴愬姛:false");
                             }
                             else
                             {
-                                WriteLog.GetLog("鍫嗗灈鏈轰俊鍙�").Write($"绔欏彴缂栧彿锛歿task.SourceAddress},淇℃伅锛氭湭璇诲彇鍒拌緭閫佺嚎鍏佽鍙栬揣淇″彿锛屽啓鍏ュ爢鍨涙満鍏佽鍙栬揣淇″彿澶辫触", $"锛堝彇璐э級鍐欏叆{task.SourceAddress}");
+
+                                wcs_PLCto05(task.SourceAddress + "锛氶敊璇俊鎭�", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", $"鏈鍙栧埌杈撻�佺嚎鍏佽鍙栬揣淇″彿锛屽啓鍏ュ爢鍨涙満鍏佽鍙栬揣淇″彿澶辫触");
                             }
                            
                         }
@@ -463,6 +467,7 @@
                     {
                         if(PLCSignal2(conveyorLine, task.SourceAddress, "W_StackerCranePicked", 1))    //鍐欏叆杈撻�佺嚎鍙栬揣瀹屾垚淇″彿
                         {
+                            wcs_PLCto05(task.SourceAddress + "锛氭垚鍔熶俊鎭�", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", $"鍐欏叆杈撻�佺嚎鍙栬揣瀹屾垚淇″彿锛屽湴鍧�锛歿conveyorLine}");
                             DeviceProDTO? deviceProDTO2 = GetDeviceProDTO(conveyorLine, task.SourceAddress, "R_StackerCranePicked");    //杈撻�佺嚎鍗忚鎵捐鍙栦俊鍙�
                             if (deviceProDTO != null)
                             {
@@ -472,31 +477,36 @@
                                     //鍐欏叆缁欏爢鍨涙満锛岃緭閫佺嚎鐨�  鍫嗗灈鏈哄彇璧� 淇″彿
                                     if(Releasespermitted3(commonStackerCrane, task.SourceAddress,true))
                                     {
-                                        WriteLog.GetLog("鍫嗗灈鏈轰俊鍙�").Write($"绔欏彴缂栧彿锛歿task.SourceAddress},淇℃伅锛氬啓鍏ュ爢鍨涙満鍙栬蛋淇″彿鎴愬姛:true", $"锛堝彇璐э級鍐欏叆{task.SourceAddress}");
+                                        wcs_PLCto05(task.SourceAddress + "锛氭垚鍔熶俊鎭�", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", $"鍐欏叆鍫嗗灈鏈哄彇璧颁俊鍙锋垚鍔�:true");
                                     }
                                     else
                                     {
-                                        WriteLog.GetLog("鍫嗗灈鏈轰俊鍙�").Write($"绔欏彴缂栧彿锛歿task.SourceAddress},淇℃伅锛氬啓鍏ュ爢鍨涙満鍙栬蛋淇″彿澶辫触:true", $"锛堝彇璐э級鍐欏叆{task.SourceAddress}");
+                                        wcs_PLCto05(task.SourceAddress + "锛氶敊璇俊鎭�", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", $"鍐欏叆鍫嗗灈鏈哄彇璧颁俊鍙峰け璐�:true");
                                     }
                                 }
                                 else
                                 {
                                     if (Releasespermitted3(commonStackerCrane, task.SourceAddress,false))
                                     {
-                                        WriteLog.GetLog("鍫嗗灈鏈轰俊鍙�").Write($"绔欏彴缂栧彿锛歿task.SourceAddress},淇℃伅锛氭湭璇诲彇杈撻�佺嚎鐨勫爢鍨涙満鍙栬蛋淇″彿锛屽啓鍏ュ爢鍨涙満鍙栬蛋淇″彿鎴愬姛:false", $"锛堝彇璐э級鍐欏叆{task.SourceAddress}");
+                                        wcs_PLCto05(task.SourceAddress + "锛氭垚鍔熶俊鎭�", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", $"鏈鍙栬緭閫佺嚎鐨勫爢鍨涙満鍙栬蛋淇″彿锛屽啓鍏ュ爢鍨涙満鍙栬蛋淇″彿鎴愬姛:false");
                                     }
                                     else
                                     {
-                                        WriteLog.GetLog("鍫嗗灈鏈轰俊鍙�").Write($"绔欏彴缂栧彿锛歿task.SourceAddress},淇℃伅锛氭湭璇诲彇杈撻�佺嚎鐨勫爢鍨涙満鍙栬蛋淇″彿锛屽啓鍏ュ爢鍨涙満鍙栬蛋淇″彿澶辫触:false", $"锛堝彇璐э級鍐欏叆{task.SourceAddress}");
+                                        wcs_PLCto05(task.SourceAddress + "锛氶敊璇俊鎭�", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", $"鏈鍙栬緭閫佺嚎鐨勫爢鍨涙満鍙栬蛋淇″彿锛屽啓鍏ュ爢鍨涙満鍙栬蛋淇″彿澶辫触:false");
                                     }
                                 }
                             }
+                        }
+                        else
+                        {
+                            wcs_PLCto05(task.SourceAddress + "锛氭垚鍔熶俊鎭�", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", $"鍐欏叆杈撻�佺嚎鍙栬揣瀹屾垚淇″彿澶辫触锛屽湴鍧�锛歿conveyorLine}");
                         }
                     }
                     else
                     {
                         if (PLCSignal2(conveyorLine, task.SourceAddress, "W_StackerCranePicked", 0))    //鍐欏叆杈撻�佺嚎娓呴櫎淇″彿
                         {
+                            wcs_PLCto05(task.SourceAddress + "锛氭垚鍔熶俊鎭�", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", $"鍐欏叆杈撻�佺嚎娓呴櫎淇″彿鎴愬姛锛屽湴鍧�锛歿conveyorLine}");
                             DeviceProDTO? deviceProDTO2 = GetDeviceProDTO(conveyorLine, task.SourceAddress, "R_StackerCranePicked");    //杈撻�佺嚎鍗忚鎵捐鍙栦俊鍙�
                             if (deviceProDTO != null)
                             {
@@ -506,25 +516,29 @@
                                     //鍐欏叆缁欏爢鍨涙満锛岃緭閫佺嚎鐨�  鍫嗗灈鏈哄彇璧� 淇″彿
                                     if (Releasespermitted3(commonStackerCrane, task.SourceAddress, false))
                                     {
-                                        WriteLog.GetLog("鍫嗗灈鏈轰俊鍙�").Write($"绔欏彴缂栧彿锛歿task.SourceAddress},淇℃伅锛氬啓鍏ュ爢鍨涙満鍙栬蛋淇″彿鎴愬姛:true", $"锛堝彇璐э級鍐欏叆{task.SourceAddress}");
+                                        wcs_PLCto05(task.SourceAddress + "锛氭垚鍔熶俊鎭�", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", $"鍐欏叆鍫嗗灈鏈哄彇璧颁俊鍙锋垚鍔�:true");
                                     }
                                     else
                                     {
-                                        WriteLog.GetLog("鍫嗗灈鏈轰俊鍙�").Write($"绔欏彴缂栧彿锛歿task.SourceAddress},淇℃伅锛氬啓鍏ュ爢鍨涙満鍙栬蛋淇″彿澶辫触:true", $"锛堝彇璐э級鍐欏叆{task.SourceAddress}");
+                                        wcs_PLCto05(task.SourceAddress + "锛氶敊璇俊鎭�", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", $"鍐欏叆鍫嗗灈鏈哄彇璧颁俊鍙峰け璐�:true");
                                     }
                                 }
                                 else
                                 {
                                     if (Releasespermitted3(commonStackerCrane, task.SourceAddress, false))
                                     {
-                                        WriteLog.GetLog("鍫嗗灈鏈轰俊鍙�").Write($"绔欏彴缂栧彿锛歿task.SourceAddress},淇℃伅锛氭湭璇诲彇杈撻�佺嚎鐨勫爢鍨涙満鍙栬蛋淇″彿锛屽啓鍏ュ爢鍨涙満鍙栬蛋淇″彿鎴愬姛:false", $"锛堝彇璐э級鍐欏叆{task.SourceAddress}");
+                                        wcs_PLCto05(task.SourceAddress + "锛氭垚鍔熶俊鎭�", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", $"鏈鍙栬緭閫佺嚎鐨勫爢鍨涙満鍙栬蛋淇″彿锛屽啓鍏ュ爢鍨涙満鍙栬蛋淇″彿鎴愬姛:false");
                                     }
                                     else
                                     {
-                                        WriteLog.GetLog("鍫嗗灈鏈轰俊鍙�").Write($"绔欏彴缂栧彿锛歿task.SourceAddress},淇℃伅锛氭湭璇诲彇杈撻�佺嚎鐨勫爢鍨涙満鍙栬蛋淇″彿锛屽啓鍏ュ爢鍨涙満鍙栬蛋淇″彿澶辫触:false", $"锛堝彇璐э級鍐欏叆{task.SourceAddress}");
+                                        wcs_PLCto05(task.SourceAddress + "锛氶敊璇俊鎭�", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", $"鏈鍙栬緭閫佺嚎鐨勫爢鍨涙満鍙栬蛋淇″彿锛屽啓鍏ュ爢鍨涙満鍙栬蛋淇″彿澶辫触:false");
                                     }
                                 }
                             }
+                        }
+                        else
+                        {
+                            wcs_PLCto05(task.SourceAddress + "锛氶敊璇俊鎭�", $"浠诲姟鍙凤細{task.TaskNum}锛屾墭鐩樻潯鐮侊細{task.PalletCode}", $"鍐欏叆杈撻�佺嚎娓呴櫎淇″彿澶辫触锛屽湴鍧�锛歿conveyorLine}");
                         }
                     }
                 }
@@ -592,7 +606,14 @@
                     {
                         return true;
                     }
-                   
+                }
+                DeviceProDTO? deviceProDTO6 = GetDeviceProDTO2(commonStackerCrane, commonStackerCrane.DeviceCode, "DeliveryRequest_A2in");  //绌烘墭鍑哄叆搴�
+                if (deviceProDTO6 != null)
+                {
+                    if (GetStacker(commonStackerCrane, deviceProDTO6.DeviceProAddress).Status)
+                    {
+                        return true;
+                    }
                 }
             }
             return false;
@@ -642,6 +663,15 @@
                 if (deviceProDTO != null)
                 {
                    if(SetStacker(commonStackerCrane, deviceProDTO.DeviceProAddress, SCcrane).Status) { return true; }
+                }
+            }
+
+            if (Destinationaddress == "R01-002-043-001-01")
+            {
+                DeviceProDTO? deviceProDTO = GetDeviceProDTO2(commonStackerCrane, commonStackerCrane.DeviceCode, "DeliveryPermission_A2in");
+                if (deviceProDTO != null)
+                {
+                    if (SetStacker(commonStackerCrane, deviceProDTO.DeviceProAddress, SCcrane).Status) { return true; }
                 }
             }
 
@@ -709,7 +739,17 @@
                     }
                 }
             }
-
+            if (Destinationaddress == "R01-002-043-001-01")
+            {
+                DeviceProDTO? deviceProDTO = GetDeviceProDTO2(commonStackerCrane, commonStackerCrane.DeviceCode, "DeliveryCompleted_A2in");
+                if (deviceProDTO != null)
+                {
+                    if (GetStacker(commonStackerCrane, deviceProDTO.DeviceProAddress).Status)
+                    {
+                        return true;
+                    }
+                }
+            }
             return false;
 
         }
@@ -758,7 +798,14 @@
                     if (SetStacker(commonStackerCrane, deviceProDTO.DeviceProAddress, SCcrane).Status) { return true; }
                 }
             }
-
+            if (Destinationaddress == "R01-002-043-001-01")
+            {
+                DeviceProDTO? deviceProDTO = GetDeviceProDTO2(commonStackerCrane, commonStackerCrane.DeviceCode, "DeliveryCompletion_A2in");
+                if (deviceProDTO != null)
+                {
+                    if (SetStacker(commonStackerCrane, deviceProDTO.DeviceProAddress, SCcrane).Status) { return true; }
+                }
+            }
             return false;
         }
 
@@ -1058,7 +1105,7 @@
         {
             StackerCraneTaskCommand stackerCraneTaskCommand = new StackerCraneTaskCommand();
 
-            stackerCraneTaskCommand.Barcode = task.PalletCode;
+            stackerCraneTaskCommand.Barcode = ""; /*task.PalletCode;*/
             stackerCraneTaskCommand.TaskNum = task.TaskNum;
             stackerCraneTaskCommand.WorkType = 1;
             stackerCraneTaskCommand.TrayType = 0;
@@ -1151,5 +1198,15 @@
             }
             return stackerCraneTaskCommand;
         }
+
+
+        public void wcs_PLCto05(string SCLLinStack, string Logtype, string Magessadd)
+        {
+            WriteLog.Write_Log("鍏ュ簱浜や簰淇℃伅", SCLLinStack, Logtype, new { 淇℃伅 = Magessadd });
+        }
+        public void wcs_PLCto06(string SCLLinStack, string Logtype, string Magessadd)
+        {
+            WriteLog.Write_Log("鍑哄簱浜や簰淇℃伅", SCLLinStack, Logtype, new { 淇℃伅 = Magessadd });
+        }
     }
 }

--
Gitblit v1.9.3