From 9051d96029c8e860c6e6657b7df2106bfbfdc010 Mon Sep 17 00:00:00 2001
From: chenyong <chenyong@hnkhzn.com>
Date: 星期五, 06 三月 2026 15:20:54 +0800
Subject: [PATCH] 111
---
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs | 78 +++++++++++++++++++++-----------------
1 files changed, 43 insertions(+), 35 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs"
index 53bb9e4..d0c18da 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs"
@@ -161,13 +161,15 @@
List<Dt_Task> YKtasks = _taskService.QueryStackerCraneYKTasks(commonStackerCrane.DeviceCode);
+
+
if (task != null)
{
if (task.Roadway == "SC02") return task; //濡傛灉鏈変换鍔″垯鐩存帴涓嬪彂缁欏爢鍨涙満
if (task.Depth == 1) return task;
//2娣变綅杩涜鍒ゆ柇鏄惁瑕佺Щ搴�
- Dt_Task dt_Task = _taskService.RequestWMSTaskMovelibrary(task);
+ Dt_Task dt_Task = OutTaskMovelibrary(task);
if (dt_Task != null) return dt_Task;
}
else if (YKtasks.Count > 0) //搴撲綅璋冩嫧
@@ -194,17 +196,12 @@
//杩涜鑾峰彇鍫嗗灈鏈哄嚭搴撲换鍔�
List<Dt_Task> tasks = _taskService.QueryStackerCraneOutTasks(commonStackerCrane.DeviceCode);
+ if (commonStackerCrane.DeviceCode == "SC02") {
+ }
+
foreach (var item in tasks)
{
- //if (item.TargetAddress == "2021"||item.TargetAddress == "2020")
- //{
- // ////bool IsOccupied = _lineJob.GetPick();
- // //if (!IsOccupied)
- // //{
- // // return null;
- // //}
- //}
if (OutTaskStationIsOccupied(item) != null)
{
if (item.Roadway == "SC01")
@@ -230,7 +227,17 @@
private Dt_Task? OutTaskMovelibrary([NotNull] Dt_Task task)
{
- string[] targetCodes = task.SourceAddress.Split("-");
+ string[] targetCodes;
+ if (task.TaskType == (int)TaskInboundTypeEnum.Inbound)
+ {
+ targetCodes = task.TargetAddress.Split("-");
+
+ }
+ else
+ {
+ targetCodes = task.SourceAddress.Split("-");
+
+ }
if (targetCodes[1] == "001")
{
targetCodes[1] = "002";
@@ -266,36 +273,37 @@
if (device != null)
{
OtherDevice conveyorLine = (OtherDevice)device;
- DeviceProDTO? deviceProDTO = conveyorLine.DeviceProDTOs.FirstOrDefault(x => x.DeviceChildCode == task.NextAddress && x.DeviceProParamName == "IsOccupied"); //鏍规嵁鍫嗗灈鏈哄湴鍧�锛屽湴鍧�鍚嶇О鎵惧崗璁�
- if (deviceProDTO != null)
+
+ if (task.TargetAddress == "2021" || task.TargetAddress == "2020" || task.TargetAddress == "2009")
{
- bool B_Event_Test = conveyorLine.Communicator.Read<bool>(deviceProDTO.DeviceProAddress); //鍒ゆ柇杈撻�佺嚎鏄惁鍏佽鏀捐揣淇″彿
- if (!B_Event_Test)
+ DeviceProDTO? deviceProDTO2007 = conveyorLine.DeviceProDTOs.FirstOrDefault(x => x.DeviceChildCode == "2007" && x.DeviceProParamName == "IsOccupied"); //鏍规嵁鍫嗗灈鏈哄湴鍧�锛屽湴鍧�鍚嶇О鎵惧崗璁�
+ DeviceProDTO? deviceProDTO = conveyorLine.DeviceProDTOs.FirstOrDefault(x => x.DeviceChildCode == task.NextAddress && x.DeviceProParamName == "IsOccupied"); //鏍规嵁鍫嗗灈鏈哄湴鍧�锛屽湴鍧�鍚嶇О鎵惧崗璁�
+
+ if (deviceProDTO != null)
{
- return task;
+ bool B_Event_Test = conveyorLine.Communicator.Read<bool>(deviceProDTO.DeviceProAddress); //鍒ゆ柇杈撻�佺嚎鏄惁鍏佽鏀捐揣淇″彿
+ bool B_Event_Test2007 = conveyorLine.Communicator.Read<bool>(deviceProDTO2007.DeviceProAddress); //鍒ゆ柇2007杈撻�佺嚎鏄惁鍏佽鏀捐揣淇″彿
+
+ if (!B_Event_Test && !B_Event_Test2007)
+ {
+ return task;
+ }
+ }
+
+ }
+ else
+ {
+ DeviceProDTO? deviceProDTO = conveyorLine.DeviceProDTOs.FirstOrDefault(x => x.DeviceChildCode == task.NextAddress && x.DeviceProParamName == "IsOccupied"); //鏍规嵁鍫嗗灈鏈哄湴鍧�锛屽湴鍧�鍚嶇О鎵惧崗璁�
+ if (deviceProDTO != null)
+ {
+ bool B_Event_Test = conveyorLine.Communicator.Read<bool>(deviceProDTO.DeviceProAddress); //鍒ゆ柇杈撻�佺嚎鏄惁鍏佽鏀捐揣淇″彿
+ if (!B_Event_Test)
+ {
+ return task;
+ }
}
}
- //if (task.NextAddress == "2021" || task.NextAddress == "2020")
- //{
- // DeviceProDTO? deviceProDTO1 = conveyorLine.DeviceProDTOs.FirstOrDefault(x => x.DeviceChildCode == "2008" || x.DeviceChildCode == "2009" || x.DeviceChildCode == "2015" || x.DeviceChildCode == "2016" && x.DeviceProParamName == "IsOccupied"); //鏍规嵁鍫嗗灈鏈哄湴鍧�锛屽湴鍧�鍚嶇О鎵惧崗璁�
- // if (deviceProDTO != null)
- // {
- // bool IsOccupied2008 = conveyorLine.GetValue<W_ConveyorLineDB, bool>(W_ConveyorLineDB.IsOccupied, "2008");
- // bool IsOccupied2009 = conveyorLine.GetValue<W_ConveyorLineDB, bool>(W_ConveyorLineDB.IsOccupied, "2009");
- // bool IsOccupied2015 = conveyorLine.GetValue<W_ConveyorLineDB, bool>(W_ConveyorLineDB.IsOccupied, "2015");
- // bool IsOccupied2016 = conveyorLine.GetValue<W_ConveyorLineDB, bool>(W_ConveyorLineDB.IsOccupied, "2016");
- // //鍒ゆ柇鏄惁鎴愮珛
- // if (IsOccupied2008 && IsOccupied2009 && IsOccupied2015 && IsOccupied2016)
- // {
- // return null;
- // }
- // else
- // {
- // return task;
- // }
- // }
- //}
}
}
catch (Exception ex)
--
Gitblit v1.9.3