From 40f71192f067a48fff730a52fa8f47a1b69ba59d Mon Sep 17 00:00:00 2001
From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com>
Date: 星期一, 13 十月 2025 17:28:00 +0800
Subject: [PATCH] 支持跨楼层与AGV搬运任务,优化货位管理新增跨楼层与AGV搬运任务相关页面、API及服务逻辑,支持任务状态更新与多任务类型处理。 更新货位管理功能,支持批量创建货位及批量记录货位状态变动。 重构任务状态更新逻辑,增强事务处理能力,优化代码结构。 调整页面配置与文档布局,新增常量与枚举以支持新功能。 修复部分任务状态处理中的潜在问题。
---
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs | 23 +++++++++++++----------
1 files changed, 13 insertions(+), 10 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 4eec051..9329ec4 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"
@@ -225,6 +225,7 @@
{
if (commonStackerCrane.GetValue<StackerCraneDBName, short>(StackerCraneDBName.FinishConfirm) != 1)
{
+ Thread.Sleep(1000);
ConsoleHelper.WriteColorLine($"銆恵commonStackerCrane.DeviceName}銆戝爢鍨涙満浣滀笟鐘舵�侊細銆恵(int)commonStackerCrane.StackerCraneWorkStatusValue}銆戞椂闂淬�恵DateTime.Now}銆�", ConsoleColor.Magenta);
string str = $"銆恵commonStackerCrane.DeviceName}銆戜换鍔″畬鎴�,浠诲姟鍙凤細銆恵e.TaskNum}銆戞椂闂淬�恵DateTime.Now}銆�";
@@ -234,7 +235,7 @@
if (task == null) commonStackerCrane.SetValue(StackerCraneDBName.FinishConfirm, 1);
string WorkStatus = $"銆恵commonStackerCrane.StackerCraneWorkStatusValue}銆�";
-
+ bool IsWrite = false;
var content = _taskService.StackCraneTaskCompleted(e.TaskNum);
if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
@@ -246,8 +247,10 @@
var structs = BitConverter.GetBytes(InteractiveSignal).Reverse().ToArray().ToBoolArray();
if (structs[0])
{
- bool x = conveyorLine.Communicator.WriteNoRead("DB100.0", 9999);
- if (!x)
+ IsWrite = conveyorLine.Communicator.WriteNoRead("DB100.0", 0);
+ Thread.Sleep(1000);
+ IsWrite = conveyorLine.Communicator.WriteNoRead("DB100.0", 9999);
+ if (!IsWrite)
{
return;
}
@@ -264,7 +267,7 @@
var isWorkType = commonStackerCrane.SetValue(StackerCraneDBName.FinishConfirm, 1);
- str = $"{commonStackerCrane.DeviceName}銆慦MS|WCS浠诲姟瀹屾垚锛氥�恵content.Status}{content.Message}銆�,鍫嗗灈鏈哄畬鎴愪俊鍙峰啓鍏ワ細銆恵isWorkType}銆�,浠诲姟鍙凤細銆恵e.TaskNum}銆戞椂闂淬�恵DateTime.Now}銆�";
+ str = $"{commonStackerCrane.DeviceName}銆慦MS|WCS浠诲姟瀹屾垚锛氥�恵content.Status}{content.Message}銆�,鍫嗗灈鏈哄畬鎴愪俊鍙峰啓鍏ワ細銆恵isWorkType}銆�,浠诲姟鍙凤細銆恵e.TaskNum}銆戞椂闂淬�恵DateTime.Now}銆戣緭閫佺嚎鍐欏叆{IsWrite}";
WriteInfo(commonStackerCrane.DeviceName, str + WorkStatus);
ConsoleHelper.WriteColorLine(str, ConsoleColor.Blue);
}
@@ -440,7 +443,7 @@
string[] sourceCodes = station.stationLocation.Split("-");
if (sourceCodes.Length == 3)
{
- stackerCraneTaskCommand.StartRow = Convert.ToInt16(sourceCodes[0]) % 2 != 0 ? (short)1 : (short)2;
+ stackerCraneTaskCommand.StartRow = Convert.ToInt16(sourceCodes[0]);
stackerCraneTaskCommand.StartColumn = Convert.ToInt16(sourceCodes[1]);
stackerCraneTaskCommand.StartLayer = Convert.ToInt16(sourceCodes[2]);
}
@@ -453,7 +456,7 @@
string[] targetCodes = task.NextAddress.Split("-");
if (targetCodes.Length == 3)
{
- stackerCraneTaskCommand.EndRow = Convert.ToInt16(targetCodes[0]) % 2 != 0 ? (short)1 : (short)2;
+ stackerCraneTaskCommand.EndRow = Convert.ToInt16(targetCodes[0]);
stackerCraneTaskCommand.EndColumn = Convert.ToInt16(targetCodes[1]);
stackerCraneTaskCommand.EndLayer = Convert.ToInt16(targetCodes[2]);
}
@@ -469,7 +472,7 @@
string[] sourceCodes = task.CurrentAddress.Split("-");
if (sourceCodes.Length == 3)
{
- stackerCraneTaskCommand.StartRow = Convert.ToInt16(sourceCodes[0]) % 2 != 0 ? (short)1 : (short)2;
+ stackerCraneTaskCommand.StartRow = Convert.ToInt16(sourceCodes[0]);
stackerCraneTaskCommand.StartColumn = Convert.ToInt16(sourceCodes[1]);
stackerCraneTaskCommand.StartLayer = Convert.ToInt16(sourceCodes[2]);
}
@@ -483,7 +486,7 @@
string[] targetCodes = station.stationLocation.Split("-");
if (targetCodes.Length == 3)
{
- stackerCraneTaskCommand.EndRow = Convert.ToInt16(targetCodes[0]) % 2 != 0 ? (short)1 : (short)2;
+ stackerCraneTaskCommand.EndRow = Convert.ToInt16(targetCodes[0]);
stackerCraneTaskCommand.EndColumn = Convert.ToInt16(targetCodes[1]);
stackerCraneTaskCommand.EndLayer = Convert.ToInt16(targetCodes[2]);
}
@@ -500,7 +503,7 @@
string[] sourceCodes = task.CurrentAddress.Split("-");
if (sourceCodes.Length == 3)
{
- stackerCraneTaskCommand.StartRow = Convert.ToInt16(sourceCodes[0]) % 2 != 0 ? (short)1 : (short)2;
+ stackerCraneTaskCommand.StartRow = Convert.ToInt16(sourceCodes[0]);
stackerCraneTaskCommand.StartColumn = Convert.ToInt16(sourceCodes[1]);
stackerCraneTaskCommand.StartLayer = Convert.ToInt16(sourceCodes[2]);
}
@@ -514,7 +517,7 @@
string[] targetCodes = task.NextAddress.Split("-");
if (targetCodes.Length == 3)
{
- stackerCraneTaskCommand.EndRow = Convert.ToInt16(targetCodes[0]) % 2 != 0 ? (short)1 : (short)2;
+ stackerCraneTaskCommand.EndRow = Convert.ToInt16(targetCodes[0]);
stackerCraneTaskCommand.EndColumn = Convert.ToInt16(targetCodes[1]);
stackerCraneTaskCommand.EndLayer = Convert.ToInt16(targetCodes[2]);
}
--
Gitblit v1.9.3