From 19724b0969eb2f91b38efb262a6ef4de04d6b0c5 Mon Sep 17 00:00:00 2001
From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com>
Date: 星期二, 14 十月 2025 12:07:58 +0800
Subject: [PATCH] 新增“有货状态”显示及数据处理逻辑支持在Home.vue和 LineComponent.vue中新增了“有货状态”显示功能,为 RGV 和堆垛机对象添加了 InStock属性。 修改了 Home.vue 的 created生命周期和 LineComponent.vue的 update 方法,增加了对 inStock数据的处理逻辑。删除了三个旧的二进制文件,新增了六个新的二进制文件,可能与项目构建或依赖更新相关。优化了任务分配和状态判断逻辑,确保任务执行更加准确和高效。
---
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/RGVJob/CommonRGVJob.cs | 44 +++++++++++++++++++++++---------------------
1 files changed, 23 insertions(+), 21 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/RGVJob/CommonRGVJob.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/RGVJob/CommonRGVJob.cs"
index 9bf224f..7cc2d82 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/RGVJob/CommonRGVJob.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/RGVJob/CommonRGVJob.cs"
@@ -28,6 +28,7 @@
using WIDESEAWCS_Core.Caches;
using WIDESEAWCS_Core.Helper;
using WIDESEAWCS_Core.HttpContextUser;
+using WIDESEAWCS_DTO.Enum;
using WIDESEAWCS_IBasicInfoRepository;
using WIDESEAWCS_IBasicInfoService;
using WIDESEAWCS_ITaskInfoRepository;
@@ -40,6 +41,7 @@
using WIDESEAWCS_QuartzJob.Models;
using WIDESEAWCS_QuartzJob.Service;
using WIDESEAWCS_SignalR;
+using WIDESEAWCS_TaskInfoRepository;
using WIDESEAWCS_Tasks.ConveyorLineJob;
using WIDESEAWCS_Tasks.RGVJob;
using WIDESEAWCS_Tasks.StackerCraneJob;
@@ -52,6 +54,7 @@
{
private readonly ITaskService _taskService;
private readonly ITaskRepository _taskRepository;
+ private readonly ITask_HtyRepository _task_HtyRepository;
private readonly ITaskExecuteDetailService _taskExecuteDetailService;
private readonly IRouterService _routerService;
private readonly IDt_StationManagerService _stationManagerService;
@@ -62,7 +65,7 @@
private static List<string>? userTokenIds;
private static List<int>? userIds;
- public CommonRGVJob(ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, IRouterService routerService, IDt_StationManagerService stationManagerService, IMapper mapper, ICacheService cacheService, INoticeService noticeService, ITaskRepository taskRepository,IDt_StationManagerRepository stationManagerRepository)
+ public CommonRGVJob(ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, IRouterService routerService, IDt_StationManagerService stationManagerService, IMapper mapper, ICacheService cacheService, INoticeService noticeService, ITaskRepository taskRepository,IDt_StationManagerRepository stationManagerRepository, ITask_HtyRepository task_HtyRepository)
{
_taskService = taskService;
_taskExecuteDetailService = taskExecuteDetailService;
@@ -73,6 +76,7 @@
_noticeService = noticeService;
_taskRepository = taskRepository;
_stationManagerRepository = stationManagerRepository;
+ _task_HtyRepository = task_HtyRepository;
}
public Task Execute(IJobExecutionContext context)
@@ -137,6 +141,7 @@
Running = RGVWorkStatus(commonRGV.GetValue<RGVDBName, bool>(RGVDBName.Running)),
LevelPoint = commonRGV.GetValue<RGVDBName, int>(RGVDBName.LevelPoint),
CurrentTaskNum = commonRGV.GetValue<RGVDBName, short>(RGVDBName.RGVTaskNum),
+ InStock = commonRGV.GetValue<RGVDBName, bool>(RGVDBName.InStock),
commonRGV.DeviceCode,
commonRGV.DeviceName,
};
@@ -157,24 +162,10 @@
{
if (commonRGV != null)
{
+ WriteInfo("RGV浠诲姟瀹屾垚", $"{commonRGV.DeviceName}瀹屾垚浠诲姟鍙穥TaskNum}");
var task = _taskRepository.QueryFirst(x => x.TaskNum == TaskNum);
if (task != null)
{
- if (task.TaskState == (int)TaskInStatusEnum.InRetuen)
- {
- Dt_StationManager stationManager = _stationManagerRepository.QueryFirst(x => x.stationChildCode == task.SourceAddress);
- if (stationManager != null)
- {
- IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == stationManager.stationPLC);
- if (device != null)
- {
- CommonConveyorLine conveyorLine = (CommonConveyorLine)device;
- conveyorLine.SetValue(ConveyorLineDBName.WriteInteractiveSignal, Convert.ToSByte(3), stationManager.stationChildCode);
-
- var content = _taskService.RGVTaskCompleted(TaskNum);
- }
- }
- }
if (task.TaskState == (int)TaskInStatusEnum.RGV_Indispatch)
{
if (task.SourceAddress == "3002")
@@ -196,14 +187,25 @@
var x = conveyorLine.Communicator.Read(devicePro.DeviceProAddress, 5);
string Barcode = Encoding.UTF8.GetString(x);
- if (Barcode == null || Barcode == "")
+ short y = conveyorLine.GetValue<ConveyorLineDBName, short>(ConveyorLineDBName.InteractiveSignal, stationManager.stationChildCode);
+ var structs = BitConverter.GetBytes(y).ToArray().ToBoolArray();
+
+ if (Barcode == null || Barcode == "" || Barcode.Trim().Contains("\0") || structs[5])
{
- //conveyorLine.SetValue(ConveyorLineDBName.WriteInteractiveSignal, Convert.ToSByte(3), stationManager.stationChildCode);
+ WriteInfo("鍏ュ簱寮傚父淇℃伅", $"鎵樼洏鍙枫�恵Barcode}銆戞灏恒�恵structs[5]}銆戜换鍔″彿銆恵TaskNum}銆�");
commonRGV.SetValue(StackerCraneDBName.PutcargoLocation, Convert.ToSByte(stationManager.stationRemark));
commonRGV.SetValue(StackerCraneDBName.TaskNum, Convert.ToInt16(task.TaskNum));
commonRGV.SetValue(StackerCraneDBName.TaskType, Convert.ToSByte(4));
- task.TaskState = (int)TaskInStatusEnum.InRetuen;
- _taskRepository.UpdateData(task);
+
+ task.ModifyDate = DateTime.Now;
+ task.Modifier = "System";
+
+ Dt_Task_Hty task_Hty = _mapper.Map<Dt_Task_Hty>(task);
+ task_Hty.TaskId = 0;
+ task_Hty.OperateType = (int)OperateTypeEnum.寮傚父閫�鍥�;
+
+ _taskRepository.DeleteData(task);
+ _task_HtyRepository.AddData(task_Hty);
return;
}
var content = _taskService.RGVTaskCompleted(TaskNum, Barcode);
@@ -224,7 +226,7 @@
Thread.Sleep(100);
conveyorLine.SetValue(ConveyorLineDBName.ConveyorLineTargetAddress, Convert.ToInt16(stationManager.stationNextChildCode), stationManager.stationChildCode);
Thread.Sleep(100);
- conveyorLine.SetValue(ConveyorLineDBName.ConveyorLineTaskNum, Convert.ToInt16(1000), stationManager.stationChildCode);
+ conveyorLine.SetValue(ConveyorLineDBName.ConveyorLineTaskNum, Convert.ToInt16(1), stationManager.stationChildCode);
Thread.Sleep(100);
conveyorLine.SetValue(ConveyorLineDBName.WriteInteractiveSignal, Convert.ToSByte(2), stationManager.stationChildCode);
}
--
Gitblit v1.9.3