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/ConveyorLineJob/CommonConveyorLineJob.cs | 42 +++++++++++++++++++++++++++++++++++++++++-
1 files changed, 41 insertions(+), 1 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 d3fd64a..26928ae 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"
@@ -6,6 +6,7 @@
using SqlSugar;
using System.Reflection;
using System.Text;
+using System.Threading.Tasks;
using WIDESEAWCS_BasicInfoRepository;
using WIDESEAWCS_BasicInfoService;
using WIDESEAWCS_Common;
@@ -28,6 +29,7 @@
using WIDESEAWCS_QuartzJob.Service;
using WIDESEAWCS_SignalR;
using WIDESEAWCS_Tasks.ConveyorLineJob;
+using WIDESEAWCS_Tasks.ElevatorJob;
using ICacheService = WIDESEAWCS_Core.Caches.ICacheService;
namespace WIDESEAWCS_Tasks
@@ -76,7 +78,45 @@
CommonConveyorLine conveyorLine = (CommonConveyorLine)context.JobDetail.JobDataMap.Get("JobParams");
if (conveyorLine != null)
{
-
+ ConveyorLineTaskCommand conmmand = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>("LK001");
+ if (conmmand != null)
+ {
+ var structs = BitConverter.GetBytes(conmmand.InteractiveSignal).Reverse().ToArray().ToBoolArray();
+ if (structs[2])
+ {
+ var task = _taskRepository.QueryFirst(x => x.TaskState == (int)TaskInStatusEnum.Line_InExecuting && x.TaskNum == conmmand.ConveyorLineTargetAddress);
+ if (task != null)
+ {
+ _taskService.UpdateTaskStatusToNext(task.TaskNum);
+ }
+ }
+
+ if (structs[0])
+ {
+ var task = _taskService.QueryRequestConveyorLineSignalTask();
+
+ if (task != null && task.AGVSign == "RequestPickUp")
+ {
+ if (conveyorLine.GetValue<ConveyorLineDBName, short>(ConveyorLineDBName.AllowPickUp, "LK001") == 1)
+ {
+ await _taskService.ContinueAgvTask(task.AGVTaskNum);
+ task.AGVSign = "";
+ task.TaskState = (int)TaskOutStatusEnum.Line_OutFinish;
+ _taskRepository.UpdateData(task);
+ }
+ }
+ if (task != null && task.AGVSign == "RequestPut")
+ {
+ if (conveyorLine.GetValue<ConveyorLineDBName, short>(ConveyorLineDBName.AllowPut, "LK001") == 1)
+ {
+ await _taskService.ContinueAgvTask(task.AGVTaskNum);
+ task.AGVSign = "";
+ _taskRepository.UpdateData(task);
+ }
+ }
+
+ }
+ }
}
}
catch (Exception ex)
--
Gitblit v1.9.3