From 1e12c140c041c0cb52306a0db9ff0ba18354d0d8 Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期四, 03 四月 2025 18:01:52 +0800
Subject: [PATCH] 优化WMS前端首页,货位查询column数据库关键字处理
---
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/ConveyorLineExtend/ConveyorLineExtend.cs | 114 +++++++++++++++++++++++++++++++++++++--------------------
1 files changed, 74 insertions(+), 40 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/ConveyorLineExtend/ConveyorLineExtend.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/ConveyorLineExtend/ConveyorLineExtend.cs"
index 95652a4..bc2fa25 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/ConveyorLineExtend/ConveyorLineExtend.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/ConveyorLineExtend/ConveyorLineExtend.cs"
@@ -10,6 +10,8 @@
using WIDESEAWCS_DTO.WMSInfo;
using WIDESEAWCS_Model.Models;
using WIDESEAWCS_QuartzJob;
+using WIDESEAWCS_QuartzJob.DTO;
+using WIDESEAWCS_QuartzJob.Models;
using WIDESEAWCS_Tasks.ConveyorLineJob;
namespace WIDESEAWCS_Tasks
@@ -30,26 +32,36 @@
try
{
ConveyorLineTaskCommandR command = conveyorLine.ReadCustomer<ConveyorLineTaskCommandR>(childDeviceCode);
- if (command != null && command.Status == (ushort)ConveyorStatus.Stored)//娣诲姞杈撻�佺嚎鐘舵�丆onveyorLineStatus enum
+ if (command != null)
{
- switch (childDeviceCode)
+ if (childDeviceCode == "1002" && command.Status == (ushort)ConveyorStatus.Wait)
{
- case "102":
- RequestInbound(conveyorLine, command, childDeviceCode);
- break;
- case "104":
- ConveyorLineInFinish(conveyorLine, command, childDeviceCode);
- break;
- //case "105":
- // RequestOutbound(conveyorLine, command, childDeviceCode);
- // break;
- case "108":
- ConveyorLineOutFinish(conveyorLine, command, childDeviceCode);
- break;
- //default:
- // RequestInNextAddress(conveyorLine, command, childDeviceCode);
- // RequestOutNextAddress(conveyorLine, command, childDeviceCode);
- // break;
+ RequestInbound(conveyorLine, command, childDeviceCode);
+ }
+ else if (childDeviceCode == "1004" && command.Status == (ushort)ConveyorStatus.Stored)
+ {
+ ConveyorLineInFinish(conveyorLine, command, childDeviceCode);
+ }
+ else if (childDeviceCode == "1008" && command.Status == (ushort)ConveyorStatus.Stored)
+ {
+ Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
+ if (task != null)
+ {
+ List<Dt_Router> routers = _routerRepository.QueryData(x => x.StartPosi == task.NextAddress && x.ChildPosiDeviceCode == "AGV" && x.Remark == "鏈崰鐢�");
+ if (routers != null && routers.Count > 0)
+ {
+ var router = routers.FirstOrDefault();
+ if (router != null)
+ {
+ task.TaskState = TaskOutStatusEnum.Line_OutFinish.ObjToInt();
+ task.CurrentAddress = childDeviceCode;
+ task.NextAddress = router.NextPosi;
+ router.Remark = "鍗犵敤";
+ _routerRepository.UpdateData(router);
+ _taskService.UpdateData(task);
+ }
+ }
+ }
}
}
}
@@ -71,8 +83,20 @@
public void RequestInbound(CommonConveyorLine conveyorLine, ConveyorLineTaskCommandR command, string childDeviceCode)
{
Dt_Task task = _taskService.QueryConveyorLineTask(conveyorLine.DeviceCode, childDeviceCode, command.Barcode);
+ //Dt_Task task = _taskService.QueryConveyorLineTaskNum(conveyorLine.DeviceCode, childDeviceCode, command.TaskNum);
if (task != null)
{
+ if (command.Spec > 0)
+ {
+ DeviceProtocolDetailDTO? deviceProtocolDetail = conveyorLine.DeviceProtocolDetailDTOs.FirstOrDefault(x => x.ProtocalDetailValue == command.Spec.ToString() && x.DeviceProParamName == nameof(ConveyorLineTaskCommandR.Spec));
+ string? Des = deviceProtocolDetail?.ProtocolDetailDes;
+ if (Des != task.ExceptionMessage)
+ {
+ task.ExceptionMessage = deviceProtocolDetail?.ProtocolDetailDes;
+ _taskService.UpdateData(task);
+ }
+ return;
+ }
ConveyorLineDTO lineDTO = new ConveyorLineDTO()
{
TaskNum = task.TaskNum,
@@ -82,31 +106,41 @@
Weight = command.Weight,
};
var content = _taskService.RequestWMSTask(lineDTO);
-
- if (content.Status)
+ if (!content.Status)
{
- task.CurrentAddress = childDeviceCode;
- task.NextAddress = AppSettings.Configuration["OKAddress"];
- task.ExceptionMessage = null;
- ConveyorLineTaskCommandW taskCommand = _mapper.Map<ConveyorLineTaskCommandW>(task);
- taskCommand.WriterTrue = 1;
-
- if (conveyorLine.SendCommand(taskCommand, childDeviceCode))
- _taskService.UpdateTaskStatusToNext(task);
+ task.ExceptionMessage = content?.Message;
+ _taskService.UpdateData(task);
+ return;
}
- else
+ //if (content.Status)
+ //{
+ task.CurrentAddress = childDeviceCode;
+ List<Dt_Router> routers = _routerService.QueryNextRoutes(task.CurrentAddress, task.TargetAddress);
+ if (routers.Count > 0)
{
- //if (content.Code == 404)//淇敼缁堢偣鍦板潃
- //{
- task.CurrentAddress = childDeviceCode;
- task.NextAddress = AppSettings.Configuration["NGAddress"];
- task.ExceptionMessage = content.Message;
- task.TaskState = (int)TaskInStatusEnum.InException;
- ConveyorLineTaskCommandW taskCommand = _mapper.Map<ConveyorLineTaskCommandW>(task);
- taskCommand.WriterTrue = 1;
- if (conveyorLine.SendCommand(taskCommand, childDeviceCode)) _taskService.UpdateData(task);
- //}
+ task.NextAddress = routers.FirstOrDefault().ChildPosi;
}
+ //task.NextAddress = AppSettings.Configuration["OKAddress"];
+ task.ExceptionMessage = null;
+ ConveyorLineTaskCommandW taskCommand = _mapper.Map<ConveyorLineTaskCommandW>(task);
+ taskCommand.WriterTrue = (short)command.inRead;
+
+ if (conveyorLine.SendCommand(taskCommand, childDeviceCode))
+ _taskService.UpdateTaskStatusToNext(task);
+ //}
+ //else
+ //{
+ // //if (content.Code == 404)//淇敼缁堢偣鍦板潃
+ // //{
+ // task.CurrentAddress = childDeviceCode;
+ // task.NextAddress = AppSettings.Configuration["NGAddress"];
+ // task.ExceptionMessage = content.Message;
+ // task.TaskState = (int)TaskInStatusEnum.InException;
+ // ConveyorLineTaskCommandW taskCommand = _mapper.Map<ConveyorLineTaskCommandW>(task);
+ // taskCommand.WriterTrue = 1;
+ // if (conveyorLine.SendCommand(taskCommand, childDeviceCode)) _taskService.UpdateData(task);
+ // //}
+ //}
}
}
@@ -142,7 +176,7 @@
Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.Barcode, childDeviceCode);
if (task != null) _taskService.UpdateTaskStatusToNext(task);
- task = _taskService.QueryCompletedConveyorLineTask(command.TaskNum, childDeviceCode);
+ task = _taskService.QueryCompletedConveyorLineTask(command.Barcode, childDeviceCode);
if (task != null && string.IsNullOrEmpty(task.TargetAddress))
{
_taskService.StackerCraneRequestInbound(task);
--
Gitblit v1.9.3