From 4ac3f08f416685db0e218df55750d94556030330 Mon Sep 17 00:00:00 2001
From: HuBingJie <3146306518@qq.com>
Date: 星期四, 06 十一月 2025 20:25:17 +0800
Subject: [PATCH] 1
---
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs | 90 ++++++++++++++++++++++++++------------------
1 files changed, 53 insertions(+), 37 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 197355c..fd7ff4b 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"
@@ -1,6 +1,8 @@
锘縰sing Microsoft.AspNetCore.Routing;
using Quartz;
using SqlSugar;
+using System.Threading.Tasks;
+using WIDESEA_Comm.Http;
using WIDESEAWCS_Common;
using WIDESEAWCS_Common.Helper;
using WIDESEAWCS_Common.TaskEnum;
@@ -31,6 +33,7 @@
private readonly IRepository<Dt_Task> _taskRepository;
private readonly IRepository<Dt_StationManger> _stationMangerRepository;
+
public CommonConveyorLineJob(ICacheService cacheService, ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, IRepository<Dt_StationManger> stationMangerRepository, IRepository<Dt_Task> taskRepository, IRouterRepository routerRepository, IRouterService routerService)
{
_cacheService = cacheService;
@@ -54,11 +57,11 @@
{
foreach (var item in stationMangers.Where(x => deviceStations.Contains(x.StationCode)))
{
- DeviceProDTO? deviceProRead = device.DeviceProDTOs.Where(x => x.DeviceChildCode == item.StationCode && x.DeviceProParamType == nameof(R_ConveyorLineDB)).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
+ DeviceProDTO? deviceProRead = device.DeviceProDTOs.Where(x => x.DeviceChildCode == item.StationCode && x.DeviceProParamType == nameof(R_ConveyorLineDB)).OrderBy(x => x.DeviceProOffset).FirstOrDefault(); //璇诲彇
- DeviceProDTO? deviceProWrite = device.DeviceProDTOs.Where(x => x.DeviceChildCode == item.StationCode && x.DeviceProParamType == nameof(W_ConveyorLineDB)).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
+ DeviceProDTO? deviceProWrite = device.DeviceProDTOs.Where(x => x.DeviceChildCode == item.StationCode && x.DeviceProParamType == nameof(W_ConveyorLineDB)).OrderBy(x => x.DeviceProOffset).FirstOrDefault(); //鍐欏叆
- if (deviceProRead != null && deviceProWrite != null)
+ if (deviceProRead != null && deviceProWrite != null) //璇诲彇鍐欏叆
{
R_ConveyorLineInfo conveyorLineInfoRead = device.Communicator.ReadCustomer<R_ConveyorLineInfo>(deviceProRead.DeviceProAddress);
@@ -81,11 +84,19 @@
// 鍑哄簱
if (conveyorLineSignalRead.STB && !conveyorLineSignalRead.ACK && conveyorLineStatus.Online && conveyorLineStatus.Goods && !conveyorLineStatus.Alarm && !STB && !ACK)//鍑哄簱
{
- if (!string.IsNullOrEmpty(conveyorLineInfoRead.Barcode))//閲囪喘鍏ュ簱
+ if (!string.IsNullOrEmpty(conveyorLineInfoRead.Barcode))
{
- device.SetValue(W_ConveyorLineDB.ACK, true, item.StationCode);
- device.SetValue(W_ConveyorLineDB.EndPos, 2011, item.StationCode);
- device.SetValue(W_ConveyorLineDB.TaskNo, 1111, item.StationCode);
+
+ Dt_Task dt_Ta = _taskService.GetOutTaskInfo2(conveyorLineInfoRead.Barcode);
+ if (dt_Ta != null)
+ {
+ device.SetValue(W_ConveyorLineDB.ACK, true, item.StationCode);
+ device.SetValue(W_ConveyorLineDB.EndPos, dt_Ta.OutboundPlatform, item.StationCode);
+ device.SetValue(W_ConveyorLineDB.TaskNo, dt_Ta.TaskNum, item.StationCode);
+
+ //鍒犻櫎浠诲姟
+ _taskRepository.DeleteData(dt_Ta);
+ }
}
}
else if (!conveyorLineSignalRead.STB && !conveyorLineSignalRead.ACK && conveyorLineStatus.Online && conveyorLineStatus.Goods && !conveyorLineStatus.Alarm && !STB && ACK)
@@ -94,34 +105,26 @@
}
}
//鍑哄叆搴撶珯鍙�
- if (item.StationType == StationTypeEnum.StationType_InboundAndOutbound.ObjToInt())
+ else if (item.StationType == StationTypeEnum.StationType_InboundAndOutbound.ObjToInt())
{
//鍏ュ簱鐢熸垚鍫嗗灈鏈哄叆搴撲换鍔�
if (conveyorLineSignalRead.STB && conveyorLineStatus.Online && conveyorLineStatus.Goods && !conveyorLineStatus.Alarm && !ACK)
{
- if (conveyorLineInfoRead.TaskNo == 0 && !string.IsNullOrEmpty(conveyorLineInfoRead.Barcode))//閲囪喘鍏ュ簱
+ if (!string.IsNullOrEmpty(conveyorLineInfoRead.Barcode))//閲囪喘鍏ュ簱
{
- WebResponseContent content = _taskService.RequestWMSTaskSimple(conveyorLineInfoRead.Barcode, item.StationCode);
- if (content.Status)
+ WebResponseContent contentweb = _taskService.UpdateTaskIninfo(conveyorLineInfoRead.Barcode,item.StationCode);
+ if (contentweb.Status)
{
- Dt_Task task = _taskRepository.QueryFirst(x => x.PalletCode == conveyorLineInfoRead.Barcode && x.CurrentAddress == item.StationCode && x.DeviceCode == device.DeviceCode && x.TaskState == (int)TaskStatusEnum.New.ObjToInt());
- if (task != null)
- {
- _taskService.UpdateTask(task, TaskStatusEnum.SC_Execute, deviceCode: item.StackerCraneCode, sourceAddress: item.StackerCraneStationCode);
- device.SetValue(W_ConveyorLineDB.ACK, true, item.StationCode);
- device.SetValue(W_ConveyorLineDB.TaskNo, 1111, item.StationCode);
- //_taskService.UpdateTask(task, TaskStatusEnum.RGV_NEW);
- }
-
+ device.SetValue(W_ConveyorLineDB.ACK, true, item.StationCode);
+ device.SetValue(W_ConveyorLineDB.TaskNo,1, item.StationCode);
}
}
-
}
else if (!conveyorLineSignalRead.STB && conveyorLineStatus.Online && conveyorLineStatus.Goods && !conveyorLineStatus.Alarm && ACK)
{
device.SetValue(W_ConveyorLineDB.ACK, false, item.StationCode);
}
- else if (!conveyorLineSignalRead.STB && !conveyorLineSignalRead.ACK && conveyorLineStatus.Online && conveyorLineStatus.Free && !conveyorLineStatus.Goods && !conveyorLineStatus.Alarm && !STB && !ACK && conveyorLineInfoRead.TaskNo == 0)//鍑哄簱
+ /*else if (!conveyorLineSignalRead.STB && !conveyorLineSignalRead.ACK && conveyorLineStatus.Online && conveyorLineStatus.Free && !conveyorLineStatus.Goods && !conveyorLineStatus.Alarm && !STB && !ACK && conveyorLineInfoRead.TaskNo == 0)//鍑哄簱
{
Dt_Task task = _taskRepository.QueryFirst(x => x.CurrentAddress == item.StationCode && x.TaskState == TaskStatusEnum.New.ObjToInt() && x.DeviceCode == item.StationDeviceCode && _taskService.TaskOutboundTypes.Contains(x.TaskType));
if (task != null )
@@ -151,18 +154,25 @@
}
}
}
- }
- else if (!conveyorLineSignalRead.STB && !conveyorLineSignalRead.ACK && conveyorLineStatus.Online && conveyorLineStatus.Goods && !conveyorLineStatus.Alarm && !STB && !ACK && conveyorLineInfoRead.TaskNo == 0)//鍑哄簱
+ }*/
+ else if (!conveyorLineSignalRead.STB && !conveyorLineSignalRead.ACK && conveyorLineStatus.Online && conveyorLineStatus.Goods && !conveyorLineStatus.Alarm && !STB && !ACK)//鍑哄簱
{
- Dt_Task task = _taskRepository.QueryFirst(x => x.CurrentAddress == item.StationCode && _taskService.TaskOutboundTypes.Contains(x.TaskType) && x.DeviceCode == item.StationDeviceCode && x.TaskState == TaskStatusEnum.Line_Execute.ObjToInt());
- if (task != null)
- {
- //鍫嗗灈鏈轰换鍔″畬鎴愪笅涓�鍦板潃鏀规垚杈撻�佺嚎涓嬩竴鍦板潃锛岃澶囩紪鍙锋敼鎴愯緭閫佺嚎
- _taskService.UpdateTask(task, TaskStatusEnum.Line_Executing);
-
- device.SetValue(W_ConveyorLineDB.TaskNo, task.TaskNum, item.StationCode);
- device.SetValue(W_ConveyorLineDB.EndPos, task.NextAddress, item.StationCode);
+
+ Dt_Task dt_Ta = _taskService.GetOutTaskInfo(item.StationCode);
+ if (dt_Ta != null)
+ {.1111
+ device.SetValue(W_ConveyorLineDB.TaskNo, dt_Ta.TaskNum, item.StationCode);
+ device.SetValue(W_ConveyorLineDB.EndPos, dt_Ta.OutboundPlatform, item.StationCode);
device.SetValue(W_ConveyorLineDB.STB, true, item.StationCode);
+ //鍫嗗灈鏈轰换鍔″畬鎴愪笅涓�鍦板潃鏀规垚杈撻�佺嚎涓嬩竴鍦板潃锛岃澶囩紪鍙锋敼鎴愯緭閫佺嚎
+ _taskService.UpdateTaskStatusToNext(dt_Ta.TaskNum);
+
+ if (dt_Ta.TargetAddress !="2021" && dt_Ta.TargetAddress != "2020")
+ {
+ //鍒犻櫎浠诲姟
+ _taskRepository.DeleteData(dt_Ta);
+ }
+
}
}
@@ -174,15 +184,21 @@
}
//鍏ュ簱绔欏彴
- if (item.StationType == StationTypeEnum.StationType_OnlyInbound.ObjToInt())
+ else if (item.StationType == StationTypeEnum.StationType_OnlyInbound.ObjToInt())
{
if (conveyorLineSignalRead.STB && conveyorLineStatus.Online && conveyorLineStatus.Goods && !conveyorLineStatus.Alarm && !ACK)
{
if (conveyorLineInfoRead.TaskNo == 0 && !string.IsNullOrEmpty(conveyorLineInfoRead.Barcode))//閲囪喘鍏ュ簱
{
- device.SetValue(W_ConveyorLineDB.ACK, true, item.StationCode);
- device.SetValue(W_ConveyorLineDB.EndPos, 2020, item.StationCode);
- device.SetValue(W_ConveyorLineDB.TaskNo, 1111, item.StationCode);
+ Dt_Task dt_Ta = _taskService.GetTaskIninfo(conveyorLineInfoRead.Barcode);
+ if(dt_Ta != null)
+ {
+
+ device.SetValue(W_ConveyorLineDB.EndPos, dt_Ta.SourceAddress, item.StationCode);
+ device.SetValue(W_ConveyorLineDB.TaskNo, dt_Ta.TaskNum, item.StationCode);
+ device.SetValue(W_ConveyorLineDB.ACK, true, item.StationCode);
+ }
+
}
@@ -198,7 +214,7 @@
}
- catch (Exception)
+ catch (Exception ex)
{
}
--
Gitblit v1.9.3