From 41a5531dc31a642623f0a7a766fbe9c256ba9247 Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期二, 11 二月 2025 13:53:29 +0800
Subject: [PATCH] 优化WMS前端
---
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs | 157 ++-------------------------------------------------
1 files changed, 8 insertions(+), 149 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 67bdf60..425eaba 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"
@@ -24,11 +24,16 @@
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
+using WIDESEAWCS_Common.ConveyorLineEnum;
+using WIDESEAWCS_Common.ShuttleCarEnum;
+using WIDESEAWCS_Common.TaskEnum;
using WIDESEAWCS_Core;
using WIDESEAWCS_Core.Helper;
+using WIDESEAWCS_DTO.WMSInfo;
using WIDESEAWCS_ITaskInfoService;
using WIDESEAWCS_Model.Models;
using WIDESEAWCS_QuartzJob;
+using WIDESEAWCS_QuartzJob.ConveyorLine.Enum;
using WIDESEAWCS_QuartzJob.DTO;
using WIDESEAWCS_QuartzJob.Service;
using WIDESEAWCS_Tasks.ConveyorLineJob;
@@ -36,7 +41,7 @@
namespace WIDESEAWCS_Tasks
{
[DisallowConcurrentExecution]
- public class CommonConveyorLineJob : IJob
+ public partial class CommonConveyorLineJob : JobBase, IJob
{
private readonly ITaskService _taskService;
private readonly ITaskExecuteDetailService _taskExecuteDetailService;
@@ -53,42 +58,13 @@
public Task Execute(IJobExecutionContext context)
{
- Console.Out.WriteLine(DateTime.Now);
try
{
CommonConveyorLine conveyorLine = (CommonConveyorLine)context.JobDetail.JobDataMap.Get("JobParams");
if (conveyorLine != null)
{
- List<string> childDeviceCodes = _routerService.QueryAllPositions(conveyorLine.DeviceCode);
- List<Task> tasks = new List<Task>();
- foreach (string childDeviceCode in childDeviceCodes)
- {
- //Task task = Task.Run(() =>
- //{
- ConveyorLineTaskCommand command = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(childDeviceCode);
- if (command != null)
- {
- DeviceProtocolDetailDTO? deviceProtocolDetail = conveyorLine.DeviceProtocolDetailDTOs.FirstOrDefault(x => x.ProtocalDetailValue == command.InteractiveSignal.ToString() && x.DeviceProParamName == nameof(ConveyorLineTaskCommand.InteractiveSignal));
- if (deviceProtocolDetail != null)
- {
- MethodInfo? method = GetType().GetMethod(deviceProtocolDetail.ProtocolDetailType);
- if (method != null)
- {
- method.Invoke(this, new object[] { conveyorLine, command, childDeviceCode });
- }
- else
- {
- //todo 鏈壘鍒版柟娉曟椂
- }
- }
- }
- //});
- //tasks.Add(task);
- }
-
- Task.WaitAll(tasks.ToArray());
+ ConveyorLineExtend(conveyorLine);
}
-
}
catch (Exception ex)
{
@@ -96,126 +72,9 @@
}
finally
{
- Console.Out.WriteLine(DateTime.Now);
+ //Console.Out.WriteLine(DateTime.Now);
}
return Task.CompletedTask;
- }
-
- /// <summary>
- /// 杈撻�佺嚎璇锋眰鍏ュ簱
- /// </summary>
- /// <param name="conveyorLine">杈撻�佺嚎瀹炰緥瀵硅薄</param>
- /// <param name="command">璇诲彇鐨勮姹備俊鎭�</param>
- /// <param name="childDeviceCode">瀛愯澶囩紪鍙�</param>
- public void RequestInbound(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command,string childDeviceCode)
- {
- if (_taskService.RequestWMSTask(command.Barcode, childDeviceCode).Status)
- {
- Dt_Task task = _taskService.QueryConveyorLineTask(conveyorLine.DeviceCode, childDeviceCode);
- if (task != null)
- {
- ConveyorLineTaskCommand taskCommand = _mapper.Map<ConveyorLineTaskCommand>(task);
- taskCommand.InteractiveSignal = command.InteractiveSignal;
- conveyorLine.SendCommand(taskCommand, childDeviceCode);
-
- _taskService.UpdateTaskStatusToNext(task);
- }
- }
- }
-
- /// <summary>
- /// 杈撻�佺嚎璇锋眰鍏ュ簱涓嬩竴鍦板潃
- /// </summary>
- /// <param name="conveyorLine">杈撻�佺嚎瀹炰緥瀵硅薄</param>
- /// <param name="command">璇诲彇鐨勮姹備俊鎭�</param>
- /// <param name="childDeviceCode">瀛愯澶囩紪鍙�</param>
- public void RequestInNextAddress(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode)
- {
- Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
- if (task != null)
- {
- Dt_Task? newTask = _taskService.UpdatePosition(task.TaskNum, task.CurrentAddress);
- if (newTask != null)
- {
- ConveyorLineTaskCommand taskCommand = _mapper.Map<ConveyorLineTaskCommand>(newTask);
- taskCommand.InteractiveSignal = command.InteractiveSignal;
- conveyorLine.SendCommand(taskCommand, childDeviceCode);
- }
- }
- }
-
- /// <summary>
- /// 杈撻�佺嚎鍏ュ簱瀹屾垚
- /// </summary>
- /// <param name="conveyorLine">杈撻�佺嚎瀹炰緥瀵硅薄</param>
- /// <param name="command">璇诲彇鐨勮姹備俊鎭�</param>
- /// <param name="childDeviceCode">瀛愯澶囩紪鍙�</param>
- public void ConveyorLineInFinish(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode)
- {
- Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
- if (task != null)
- {
- conveyorLine.SetValue(ConveyorLineDBName.WriteInteractiveSignal, 0, childDeviceCode);
- WebResponseContent content = _taskService.UpdateTaskStatusToNext(task);
- Console.Out.WriteLine(content.Serialize());
- }
- }
-
- /// <summary>
- /// 杈撻�佺嚎璇锋眰鍑轰俊鎭�
- /// </summary>
- /// <param name="conveyorLine">杈撻�佺嚎瀹炰緥瀵硅薄</param>
- /// <param name="command">璇诲彇鐨勮姹備俊鎭�</param>
- /// <param name="childDeviceCode">瀛愯澶囩紪鍙�</param>
- public void RequestOutbound(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode)
- {
- Dt_Task task = _taskService.QueryConveyorLineTask(conveyorLine.DeviceCode, childDeviceCode);
- if (task != null)
- {
- ConveyorLineTaskCommand taskCommand = _mapper.Map<ConveyorLineTaskCommand>(task);
- taskCommand.InteractiveSignal = command.InteractiveSignal;
- conveyorLine.SendCommand(taskCommand, childDeviceCode);
-
- _taskService.UpdateTaskStatusToNext(task);
- }
- }
-
- /// <summary>
- /// 杈撻�佺嚎璇锋眰鍑哄簱涓嬩竴鍦板潃
- /// </summary>
- /// <param name="conveyorLine">杈撻�佺嚎瀹炰緥瀵硅薄</param>
- /// <param name="command">璇诲彇鐨勮姹備俊鎭�</param>
- /// <param name="childDeviceCode">瀛愯澶囩紪鍙�</param>
- public void RequestOutNextAddress(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode)
- {
- Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
- if (task != null)
- {
- Dt_Task? newTask = _taskService.UpdatePosition(task.TaskNum, task.CurrentAddress);
- if (newTask != null)
- {
- ConveyorLineTaskCommand taskCommand = _mapper.Map<ConveyorLineTaskCommand>(newTask);
- taskCommand.InteractiveSignal = command.InteractiveSignal;
- conveyorLine.SendCommand(taskCommand, childDeviceCode);
- }
- }
- }
-
- /// <summary>
- /// 杈撻�佺嚎鍑哄簱瀹屾垚
- /// </summary>
- /// <param name="conveyorLine">杈撻�佺嚎瀹炰緥瀵硅薄</param>
- /// <param name="command">璇诲彇鐨勮姹備俊鎭�</param>
- /// <param name="childDeviceCode">瀛愯澶囩紪鍙�</param>
- public void ConveyorLineOutFinish(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode)
- {
- Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
- if (task != null)
- {
- conveyorLine.SetValue(ConveyorLineDBName.WriteInteractiveSignal, 0, childDeviceCode);
- WebResponseContent content = _taskService.UpdateTaskStatusToNext(task);
- Console.Out.WriteLine(content.Serialize());
- }
}
}
}
--
Gitblit v1.9.3