From 011ca316e6ec2ed93e31c45a9ebd9d3c66664871 Mon Sep 17 00:00:00 2001
From: wangxinhui <wangxinhui@hnkhzn.com>
Date: 星期五, 17 四月 2026 11:47:03 +0800
Subject: [PATCH] 代码更新
---
项目代码/WCS/WCSServices/WIDESEAWCS_Tasks/成品仓/ConveyorLineJob_CPC.cs | 17 +++++++++++++----
1 files changed, 13 insertions(+), 4 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/ConveyorLineJob_CPC.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/ConveyorLineJob_CPC.cs"
index 2c5a958..b688634 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/ConveyorLineJob_CPC.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/ConveyorLineJob_CPC.cs"
@@ -65,6 +65,7 @@
try
{
bool flag = context.JobDetail.JobDataMap.TryGetValue("JobParams", out object? value);
+ bool isUpdate = false;
if (flag && value != null)
{
OtherDevice device = (OtherDevice)value;
@@ -74,7 +75,7 @@
{
DeviceProDTO? deviceProRead = device.DeviceProDTOs.Where(x => x.DeviceChildCode == item.StationCode && x.DeviceProParamType == nameof(R_ConveyorLineCPDB)).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
DeviceProDTO? deviceProWrite = device.DeviceProDTOs.Where(x => x.DeviceChildCode == item.StationCode && x.DeviceProParamType == nameof(W_ConveyorLineCPDB)).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
- if (item.StationType == StationTypeEnum.StationType_InStartAndOutEnd.ObjToInt() && deviceProRead != null)
+ if (item.StationType == StationTypeEnum.StationType_InStartAndOutEnd.ObjToInt() && deviceProRead != null && deviceProWrite != null)
{
R_ConveyorLineCPInfo conveyorLineInfoRead = device.Communicator.ReadCustomer<R_ConveyorLineCPInfo>(deviceProRead.DeviceProAddress);
//鐮佸灈婊$洏鐢熸垚RGV鎼繍浠诲姟
@@ -90,24 +91,32 @@
Dt_Task taskNew = _taskRepository.QueryFirst(x => x.SourceAddress == item.StationCode && _taskService.TaskInboundTypes.Contains(x.TaskType) && (x.TaskState == TaskStatusEnum.New.ObjToInt()));
if (taskNew != null)
{
+ device.SetValue(W_ConveyorLineCPDB.W_Command, 1, item.StationCode);
_taskService.UpdateTask(taskNew, TaskStatusEnum.RGV_Execute);
}
}
Thread.Sleep(1000);
}
}
- if (conveyorLineInfoRead != null && conveyorLineInfoRead.StatusPV == 2 && conveyorLineInfoRead.Command == 10)
+ if (conveyorLineInfoRead != null && conveyorLineInfoRead.StatusPV == 2 && conveyorLineInfoRead.Command == 10 && item.IsOccupied == 1)
{
item.IsOccupied = 0;
+ isUpdate = true;
+ WriteInfo("鐮佸灈宸ヤ綅鐘舵�佹洿鏂�",$"{item.StationCode}{DateTime.Now}鏇存柊宸ヤ綅鐘舵��:{conveyorLineInfoRead.Command}");
}
- else
+ else if ((conveyorLineInfoRead == null ||(conveyorLineInfoRead != null && conveyorLineInfoRead.Command != 10 && item.IsOccupied == 0)))
{
item.IsOccupied = 1;
+ isUpdate = true;
+ WriteInfo("鐮佸灈宸ヤ綅鐘舵�佹洿鏂�", $"{item.StationCode}{DateTime.Now}鏇存柊宸ヤ綅鐘舵�佷笉鍙敤");
}
}
}
- _stationMangerRepository.UpdateData(stationMangers);
+ if (isUpdate)
+ {
+ _stationMangerRepository.UpdateData(stationMangers);
+ }
}
}
catch (Exception ex)
--
Gitblit v1.9.3