From be484c84a25d1f6c769e7b5e958048d745942e55 Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期二, 20 五月 2025 10:32:57 +0800
Subject: [PATCH] 优化出入库逻辑
---
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/ConveyorLineExtend/ConveyorLineExtend.cs | 66 +++++++++++++++++++--------------
1 files changed, 38 insertions(+), 28 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 c1d4169..08bf6b2 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"
@@ -7,6 +7,7 @@
using WIDESEAWCS_Common.TaskEnum;
using WIDESEAWCS_Core;
using WIDESEAWCS_Core.Helper;
+using WIDESEAWCS_DTO.TaskInfo;
using WIDESEAWCS_DTO.WMSInfo;
using WIDESEAWCS_Model.Models;
using WIDESEAWCS_QuartzJob;
@@ -26,12 +27,15 @@
public List<Task> ConveyorLineExtend(CommonConveyorLine conveyorLine)
{
List<string> childDeviceCodes = _routerService.QueryAllPositions(conveyorLine.DeviceCode);
+ List<string> strings = new List<string>() { "1003", "1006", "1007" };
+ childDeviceCodes.AddRange(strings);
List<Task> tasks = new List<Task>();
foreach (string childDeviceCode in childDeviceCodes)
{
try
{
ConveyorLineTaskCommandR command = conveyorLine.ReadCustomer<ConveyorLineTaskCommandR>(childDeviceCode);
+ _cacheService.AddOrUpdate(childDeviceCode, command);
if (command != null)
{
if (childDeviceCode == "1002" && command.Status == (ushort)ConveyorStatus.Wait)
@@ -44,36 +48,33 @@
}
else if (childDeviceCode == "1008" && command.Status == (ushort)ConveyorStatus.Stored)
{
- ConveyorLineOutFinish(conveyorLine, command, childDeviceCode);
+ Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
+ if (task != null)
+ {
+ #region MyRegion
+ //List<Dt_Router> routers = _routerRepository.QueryData(x => x.StartPosi == task.TargetAddress && 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;
+ // task.TargetAddress = task.NextAddress;
+ // router.Remark = "鍗犵敤";
+ // _routerRepository.UpdateData(router);
+ // _taskService.UpdateData(task);
+ // }
+ //}
+ #endregion
+ task.TaskState = TaskOutStatusEnum.OutFinish.ObjToInt();
+ WMSTaskDTO WMStask = _mapper.Map<WMSTaskDTO>(task);
+ _taskService.AddTask_Hty(task, TaskOperateTypeEnum.AutoComplete);
+ HttpHelper.PostAsync(WMSInterfaceAddress.UpdateTaskStatus, WMStask.ToJson(), headers: new Dictionary<string, string>());
+ }
}
}
- #region MyRegion
-
- //if (command != null && command.Status == (ushort)ConveyorStatus.Stored)//娣诲姞杈撻�佺嚎鐘舵�丆onveyorLineStatus enum
- //{
- // switch (childDeviceCode)
- // {
- // case "1002":
- // {
- // RequestInbound(conveyorLine, command, childDeviceCode);
- // }
- // break;
- // case "1004":
- // ConveyorLineInFinish(conveyorLine, command, childDeviceCode);
- // break;
- // //case "105":
- // // RequestOutbound(conveyorLine, command, childDeviceCode);
- // // break;
- // case "1008":
- // ConveyorLineOutFinish(conveyorLine, command, childDeviceCode);
- // break;
- // //default:
- // // RequestInNextAddress(conveyorLine, command, childDeviceCode);
- // // RequestOutNextAddress(conveyorLine, command, childDeviceCode);
- // // break;
- // }
- //}
- #endregion
}
catch (Exception ex)
{
@@ -152,6 +153,15 @@
// //}
//}
}
+ else
+ {
+ Dt_Task _Task = new Dt_Task();
+ _Task.TaskNum = Convert.ToInt32(DateTime.Now.ToString("HHmmss"));
+ _Task.CurrentAddress = childDeviceCode;
+ _Task.NextAddress = "1001";
+ ConveyorLineTaskCommandW taskCommand = _mapper.Map<ConveyorLineTaskCommandW>(_Task);
+ taskCommand.WriterTrue = (short)command.inRead;
+ }
}
/// <summary>
--
Gitblit v1.9.3