From 26f88473f470ab34f46d95642035a4e5f6b69847 Mon Sep 17 00:00:00 2001
From: 刘磊 <1161824510@qq.com>
Date: 星期四, 15 一月 2026 13:53:10 +0800
Subject: [PATCH] 同步
---
项目代码/WCS/WCSServer/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs | 195 +++++++++++++++---------------------------------
1 files changed, 60 insertions(+), 135 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServer/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServer/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs"
index 0d98309..b4e8964 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServer/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServer/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs"
@@ -43,6 +43,7 @@
using WIDESEAWCS_SignalR;
using WIDESEAWCS_Tasks.ConveyorLineJob;
using WIDESEAWCS_Tasks.StackerCraneJob;
+using static Microsoft.EntityFrameworkCore.DbLoggerCategory.Database;
using ICacheService = WIDESEAWCS_Core.Caches.ICacheService;
namespace WIDESEAWCS_Tasks
@@ -88,19 +89,37 @@
foreach (var station in stationManagers)
{
- ConveyorLineTaskCommand command = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(station.stationChildCode);
+ var request = conveyorLine.GetValue<ConveyorLineDBName, byte>(ConveyorLineDBName.EntApply, station.stationChildCode);
- DeviceProtocolDetailDTO? deviceProtocolDetails = conveyorLine.DeviceProtocolDetailDTOs.FirstOrDefault(x => x.DeviceProParamName == station.stationChildCode && x.ProtocalDetailValue == command.RequestTask.ToString());
-
- //x.DeviceProParamName == nameof(ConveyorLineTaskCommand.ConveyorLineSingal)
+ DeviceProtocolDetailDTO? deviceProtocolDetails = conveyorLine.DeviceProtocolDetailDTOs.FirstOrDefault(x => x.DeviceProParamName == station.stationChildCode && x.ProtocalDetailValue == request.ToString());
+
if (deviceProtocolDetails != null)
{
MethodInfo? method = GetType().GetMethod(deviceProtocolDetails.ProtocolDetailType);
if (method != null)
{
- method.Invoke(this, new object[] { conveyorLine, command, station });
+ method.Invoke(this, new object[] { conveyorLine, conveyorLine, station });
}
}
+
+ //ConveyorLineTaskCommand command = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(station.stationChildCode);
+ //command.PVI.Replace("/0", "").Replace("\"\\u0010\\u000f", "");
+ //command.CarColor.Replace("/0", "");
+ //command.CarType.Replace("/0", "");
+ //command.CarCate.Replace("/0", "");
+ //command.CatSkyWindow.Replace("/0", "");
+
+ //DeviceProtocolDetailDTO? deviceProtocolDetails = conveyorLine.DeviceProtocolDetailDTOs.FirstOrDefault(x => x.DeviceProParamName == station.stationChildCode && x.ProtocalDetailValue == command.Request.ToString());
+
+ ////x.DeviceProParamName == nameof(ConveyorLineTaskCommand.ConveyorLineSingal)
+ //if (deviceProtocolDetails != null)
+ //{
+ // MethodInfo? method = GetType().GetMethod(deviceProtocolDetails.ProtocolDetailType);
+ // if (method != null)
+ // {
+ // method.Invoke(this, new object[] { conveyorLine, command, station });
+ // }
+ //}
#region 璋冪敤浜嬩欢鎬荤嚎閫氱煡鍓嶇
//var tokenInfos = _cacheService.Get<List<UserInfo>>("Cache_UserToken");
@@ -136,32 +155,32 @@
}
/// <summary>
- /// 杈撻�佺嚎璇锋眰鍒嗛厤璺緞
+ /// 杈撻�佺嚎璇锋眰鍏ュ簱
/// </summary>
/// <param name="conveyorLine">杈撻�佺嚎瀹炰緥瀵硅薄</param>
/// <param name="command">璇诲彇鐨勮姹備俊鎭�</param>
/// <param name="childDeviceCode">瀛愯澶囩紪鍙�</param>
- public void RequestInboundFlow(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, Dt_StationManager stationInfo)
+ public void RequestReceviceCar(CommonConveyorLine conveyorLine, CommonConveyorLine conveyorLine2, Dt_StationManager stationInfo)
{
- var log = $"銆恵conveyorLine.DeviceName}銆�,鎵樼洏鍙凤細銆恵stationInfo.stationChildCode}銆�,绔欏彴锛氥�恵stationInfo.remark}銆戣姹傛祦鍚�";
+ var log = $"銆恵conveyorLine.DeviceName}銆�,鎵樼洏鍙凤細銆恵stationInfo.stationChildCode}銆�,绔欏彴锛氥�恵stationInfo.remark}銆戣姹備换鍔�";
ConsoleHelper.WriteSuccessLine(log);
//_noticeService.Logs(userTokenIds, new { conveyorLine.DeviceName, log = log, time = DateTime.Now.ToString("G"), color = "red" });
WriteInfo(conveyorLine.DeviceName, log);
//if()
-
- var taskNew = _taskService.QueryConveyorLineTask(command.Barcode, stationInfo.stationChildCode);
+ var palletcode = conveyorLine2.GetValue<ConveyorLineDBName, string>(ConveyorLineDBName.SkidNo, stationInfo.stationChildCode);
+ var taskNew = _taskService.QueryConveyorLineTask(palletcode, stationInfo.stationChildCode);
if (taskNew == null)
{
- if (_taskService.RequestTask(command.Barcode, stationInfo).Result.Status)
+ if (_taskService.RequestTask(palletcode, stationInfo).Result.Status)
{
- Dt_Task task = _taskService.QueryConveyorLineTask(command.Barcode, stationInfo.stationChildCode);
+ Dt_Task task = _taskService.QueryConveyorLineTask(palletcode, stationInfo.stationChildCode);
if (task != null)
{
- conveyorLine.SetValue(ConveyorLineDBName.TargetAddress, task.NextAddress, stationInfo.stationChildCode);
+ //conveyorLine.SetValue(ConveyorLineDBName.TargetAddress, task.NextAddress, stationInfo.stationChildCode);
//conveyorLine.SetValue(ConveyorLineDBName.TargetAddress, task.NextAddress, stationInfo.stationChildCode);
- conveyorLine.SetValue(ConveyorLineDBName.ResponState, 1, stationInfo.stationChildCode);
+ //conveyorLine.SetValue(ConveyorLineDBName.ResponState, 1, stationInfo.stationChildCode);
_taskService.UpdateTaskStatusToNext(task);
}
@@ -169,18 +188,8 @@
else
{
//濡傛灉浠诲姟璇锋眰澶辫触
- conveyorLine.SetValue(ConveyorLineDBName.ResponState, 2, stationInfo.stationChildCode);
+ //conveyorLine.SetValue(ConveyorLineDBName.ResponState, 2, stationInfo.stationChildCode);
}
- }
- else
- {
- conveyorLine.SetValue(ConveyorLineDBName.Barcode, taskNew.PalletCode, stationInfo.stationChildCode);
-
- conveyorLine.SetValue(ConveyorLineDBName.TargetAddress, taskNew.NextAddress, stationInfo.stationChildCode);
- //conveyorLine.SetValue(ConveyorLineDBName.TargetAddress, taskNew.NextAddress, stationInfo.stationChildCode);
- conveyorLine.SetValue(ConveyorLineDBName.ResponState, 1, stationInfo.stationChildCode);
-
- _taskService.UpdateTaskStatusToNext(taskNew);
}
}
@@ -199,18 +208,18 @@
WriteInfo(conveyorLine.DeviceName, log);
//if()
- var taskNew = _taskService.QueryConveyorLineTask(command.Barcode, stationInfo.stationChildCode);
+ var taskNew = _taskService.QueryConveyorLineTask(command.PalletCode.ToString().PadLeft(4, '0'), stationInfo.stationChildCode);
if (taskNew == null)
{
- if (_taskService.RequestTask(command.Barcode, stationInfo).Result.Status)
+ if (_taskService.RequestTask(command.PalletCode.ToString().PadLeft(4, '0'), stationInfo).Result.Status)
{
- Dt_Task task = _taskService.QueryConveyorLineTask(command.Barcode, stationInfo.stationChildCode);
+ Dt_Task task = _taskService.QueryConveyorLineTask(command.PalletCode.ToString().PadLeft(4, '0'), stationInfo.stationChildCode);
if (task != null)
{
- conveyorLine.SetValue(ConveyorLineDBName.TargetAddress, task.NextAddress, stationInfo.stationChildCode);
+ //conveyorLine.SetValue(ConveyorLineDBName.TargetAddress, task.NextAddress, stationInfo.stationChildCode);
//conveyorLine.SetValue(ConveyorLineDBName.TargetAddress, task.NextAddress, stationInfo.stationChildCode);
- conveyorLine.SetValue(ConveyorLineDBName.ResponState, 1, stationInfo.stationChildCode);
+ //conveyorLine.SetValue(ConveyorLineDBName.ResponState, 1, stationInfo.stationChildCode);
_taskService.UpdateTaskStatusToNext(task);
}
@@ -218,25 +227,8 @@
else
{
//濡傛灉浠诲姟璇锋眰澶辫触
- conveyorLine.SetValue(ConveyorLineDBName.ResponState, 2, stationInfo.stationChildCode);
+ //conveyorLine.SetValue(ConveyorLineDBName.ResponState, 2, stationInfo.stationChildCode);
}
- }
- else
- {
- conveyorLine.SetValue(ConveyorLineDBName.Barcode, taskNew.PalletCode, stationInfo.stationChildCode);
-
- if ((taskNew.TargetAddress == "2042" || taskNew.TargetAddress == "2032") && taskNew.TaskState == (int)TaskOutStatusEnum.SC_OutFinish)
- {
- conveyorLine.SetValue(ConveyorLineDBName.TargetAddress, taskNew.TargetAddress, stationInfo.stationChildCode);
- }
- else
- {
- conveyorLine.SetValue(ConveyorLineDBName.TargetAddress, taskNew.NextAddress, stationInfo.stationChildCode);
- }
- //conveyorLine.SetValue(ConveyorLineDBName.TargetAddress, taskNew.NextAddress, stationInfo.stationChildCode);
- conveyorLine.SetValue(ConveyorLineDBName.ResponState, 1, stationInfo.stationChildCode);
-
- _taskService.UpdateTaskStatusToNext(taskNew);
}
}
@@ -249,7 +241,7 @@
public void ConveyorLineInFinish(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, Dt_StationManager stationInfo)
{
//string clinfo = conveyorLine.ReadValue(ConveyorLineDBName.Barcode, stationInfo.stationChildCode).ToString();
- var task = _taskService.QueryExecutingTaskByBarcode(command.Barcode, stationInfo.stationChildCode);
+ var task = _taskService.QueryExecutingTaskByBarcode(command.PalletCode.ToString().PadLeft(4, '0'), stationInfo.stationChildCode);
if (task != null && task.TaskState != (int)TaskInStatusEnum.Line_InFinish)
{
//ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
@@ -258,11 +250,11 @@
ConsoleHelper.WriteErrorLine($"{stationInfo.stationChildCode}绔欏彴璇锋眰鍝嶅簲淇℃伅:{content.ToJsonString()}");
if (content.Status)
{
- conveyorLine.SetValue(ConveyorLineDBName.ResponState, 1, stationInfo.stationChildCode);
+ //conveyorLine.SetValue(ConveyorLineDBName.ResponState, 1, stationInfo.stationChildCode);
}
else
{
- conveyorLine.SetValue(ConveyorLineDBName.ResponState, 2, stationInfo.stationChildCode);
+ //conveyorLine.SetValue(ConveyorLineDBName.ResponState, 2, stationInfo.stationChildCode);
}
}
}
@@ -279,17 +271,12 @@
var task = _taskService.QueryConveyorLineTask(conveyorLine.DeviceName, stationInfo.stationChildCode);
if (task != null)
{
- conveyorLine.SetValue(ConveyorLineDBName.Barcode, task.PalletCode, stationInfo.stationChildCode);
- conveyorLine.SetValue(ConveyorLineDBName.TargetAddress, task.TargetAddress, stationInfo.stationChildCode);
- conveyorLine.SetValue(ConveyorLineDBName.ResponState, 1, stationInfo.stationChildCode);
+ conveyorLine.SetValue(ConveyorLineDBName.SkidNo, task.PalletCode, stationInfo.stationChildCode);
+ //conveyorLine.SetValue(ConveyorLineDBName.TargetAddress, task.TargetAddress, stationInfo.stationChildCode);
+ //conveyorLine.SetValue(ConveyorLineDBName.ResponState, 1, stationInfo.stationChildCode);
//ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
_taskService.UpdateTaskStatusToNext(task);
-
- if (task.TargetAddress == "2009" && task.TaskState == (int)TaskOutStatusEnum.Line_OutExecuting)
- {
- _taskService.UpdateTaskStatusToNext(task);
- }
}
}
@@ -303,89 +290,27 @@
/// <param name="ProtocalDetailValue">绾夸綋褰撳墠bool璇诲彇鍋忕Щ鍦板潃</param>
public void ConveyorLineOutFinish(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, Dt_StationManager stationInfo)
{
- var task = _taskService.QueryExecutingTaskByBarcode(command.Barcode, stationInfo.stationChildCode);
+ var task = _taskService.QueryConveyorLineTask(conveyorLine.DeviceName, stationInfo.stationChildCode);
if (task != null)
{
- if (task.TargetAddress == "2032" || task.TargetAddress == "2042")
- {
- bool k2 = conveyorLine.SetValue(ConveyorLineDBName.TargetAddress, task.TargetAddress, stationInfo.stationChildCode);
- bool k3 = conveyorLine.SetValue(ConveyorLineDBName.ResponState, 1, stationInfo.stationChildCode);
- WebResponseContent k4 = _taskService.UpdateTaskStatusToNext(task);
- }
- else
- {
- WebResponseContent content = _taskService.RequestWheelsFlow(task.PalletCode).Result;
- if (content.Status)
- {
- string taraddress = content.Data.ToString(); // "2032";SourceAddress
-
- bool k2 = conveyorLine.SetValue(ConveyorLineDBName.TargetAddress, task.TargetAddress, stationInfo.stationChildCode);
- bool k3 = conveyorLine.SetValue(ConveyorLineDBName.ResponState, 1, stationInfo.stationChildCode);
- WebResponseContent k4 = _taskService.UpdateTaskStatusToNext(task);
- }
- else
- {
- conveyorLine.SetValue(ConveyorLineDBName.ResponState, 2, stationInfo.stationChildCode);
-
- Console.Out.WriteLine($"璇诲彇鍒拌緭閫佺嚎鐢宠,鐢宠鏉$爜锛歿command.Barcode}锛屽悜WMS鐢宠鍘诲悜澶辫触锛屽師鍥狅細{content.Message},鍐欏叆鐢宠瘔淇℃晠闅滐細2");
- }
- }
-
- }
- else
- {
-
- string taraddresspos = _taskService.RequestWheletHty(command.Barcode);
- if (taraddresspos != null)
+ var canTask = _taskRepository.QueryData(x => true).OrderByDescending(x => x.Grade).ThenBy(x => x.CreateDate).FirstOrDefault();
+ if (null != canTask && task.PalletCode == canTask.PalletCode)
{
- bool k2 = conveyorLine.SetValue(ConveyorLineDBName.TargetAddress, taraddresspos, stationInfo.stationChildCode);
- bool k3 = conveyorLine.SetValue(ConveyorLineDBName.ResponState, 1, stationInfo.stationChildCode);
+ //WebResponseContent k4 = _taskService.UpdateTaskStatusToNext(task);
- }
- else
- {
- conveyorLine.SetValue(ConveyorLineDBName.ResponState, 2, stationInfo.stationChildCode);
- Console.Out.WriteLine($"璇诲彇鍒拌緭閫佺嚎鐢宠,鐢宠鏉$爜锛歿command.Barcode}锛屾湭鎵惧埌浠诲姟锛岀敵璇蜂笅涓�鍦板潃涓猴細{stationInfo.stationChildCode},鍐欏叆鐢宠瘔淇℃晠闅滐細2");
+ //command.PalletCode = (Int32)20;
+ //command.PVI = "ABCD0123456789";
+ //command.CarCate = "SUV";
+ //command.CarColor = "AB01";
+
+ conveyorLine.SetValue(ConveyorLineDBName.SkidNo, 20, stationInfo.stationChildCode);
+
+ conveyorLine.SetValue(ConveyorLineDBName.PVI, "ABCD", stationInfo.stationChildCode);
+
+ //conveyorLine.SendCommand<ConveyorLineTaskCommand>(command, stationInfo.stationChildCode);
}
}
}
-
- /// <summary>
- /// 杈撻�佺嚎璇锋眰鍏ュ簱
- /// </summary>
- /// <param name="conveyorLine">杈撻�佺嚎瀹炰緥瀵硅薄</param>
- /// <param name="command">璇诲彇鐨勮姹備俊鎭�</param>
- /// <param name="childDeviceCode">瀛愯澶囩紪鍙�</param>
- //public void RequestInbound(CommonConveyorLine_After conveyorLine, ConveyorLineTaskCommand_After command, string childDeviceCode)
- //{
- // var stationInfo = _stationManagerService.GetStationInfoByChildCode(childDeviceCode);
- // if (stationInfo != null)
- // {
- // //_taskService.r
- // }
- // var taskNew = _taskService.QueryCraneConveyorLineTask(command.ConveyorLineTaskNum.ObjToInt(), childDeviceCode);
- // if (taskNew == null)
- // {
- // string barcode = command.ConveyorLineBarcode.TrimEnd();
- // if (_taskService.RequestWMSTask(command.ConveyorLineBarcode, childDeviceCode).Result.Status)
- // {
- // Dt_Task task = _taskService.QueryConveyorLineTask(conveyorLine.DeviceCode, childDeviceCode);
- // if (task != null)
- // {
- // ConveyorLineTaskCommand_After taskCommand = _mapper.Map<ConveyorLineTaskCommand_After>(task);
- // //taskCommand.InteractiveSignal = command.InteractiveSignal;
- // taskCommand.ResponState = 1;
- // taskCommand.ConveyorLineTaskNum = task.TaskNum;
- // taskCommand.ConveyorLineTargetAddress = Convert.ToInt16(task.NextAddress);
- // conveyorLine.SendCommand(taskCommand, childDeviceCode);
-
- // //ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
-
- // _taskService.UpdateTaskStatusToNext(task);
- // }
- // }
- // }
- //}
}
}
\ No newline at end of file
--
Gitblit v1.9.3