|
@@ -10,6 +10,7 @@ using WCS.Entity.Protocol.SRM;
|
|
|
using WCS.Service.Extensions;
|
|
|
using WCS.Service.Handlers;
|
|
|
using WCS.Service.Helpers;
|
|
|
+using WCS.Service.Log;
|
|
|
using TaskStatus = WCS.Entity.TaskStatus;
|
|
|
|
|
|
namespace WCS.Service.Works.Station
|
|
@@ -127,6 +128,8 @@ namespace WCS.Service.Works.Station
|
|
|
|
|
|
var res = WMS.GetTunnelList(taskList.Select(v => v.WMSTASK.ToString()).ToList(), code);
|
|
|
if (string.IsNullOrEmpty(res.TunnelNum)) throw new WarnException($"WMS未返回巷道");
|
|
|
+
|
|
|
+ InfoLog.INFO_INFO($"一次分配 任务号:{taskList[0].ID},可用巷道:{res.TunnelNum},设备:{code}");
|
|
|
var tunnelNo = res.TunnelNum.Split(',').Select(v => "TY" + v).ToList();
|
|
|
|
|
|
var tunnels = Device.Where(v => tunnelNo.Contains(v.CODE)).ToList();
|
|
@@ -170,6 +173,8 @@ namespace WCS.Service.Works.Station
|
|
|
.Where(v => !db.Default.Set<WCS_TASK>().Any(p => p.Priority > 0 && p.DEVICE == v.SRM.Entity.CODE && p.STATUS < TaskStatus.堆垛机完成)).MinBy(v => tunnelNo.IndexOf(v.Tunnel.CODE));
|
|
|
if (tunnelInfo == null) throw new WarnException("无可用巷道");
|
|
|
|
|
|
+ InfoLog.INFO_INFO($"一次分配 任务号:{taskList[0].ID},选择巷道:{tunnelInfo.Tunnel.CODE},设备:{code}");
|
|
|
+
|
|
|
//开始变更任务信息
|
|
|
foreach (var item in devise)
|
|
|
{
|
|
@@ -182,8 +187,8 @@ namespace WCS.Service.Works.Station
|
|
|
task.ADDRNEXT = tunnelInfo.taskIN.CODE;
|
|
|
task.TaskGroupKey = res.WMSTaskGroupKey;
|
|
|
task.ADDRTO = task.DEVICE;
|
|
|
- var msg = $"下达从G1030移动至{dev.Data.Goodsend}的PLC指令。同时将任务分配至[{task.TUNNEL}]-[{task.DEVICE}]";
|
|
|
- msg += $"[{dev.Data.Tasknum}][G1030][{dev.Data.Goodsend}][{tunnelInfo.SRM.Entity.CODE}][{dev.Data.VoucherNo}[{dev.Data2.VoucherNo}]";
|
|
|
+ var msg = $"下达从G23移动至{dev.Data.Goodsend}的PLC指令。同时将任务分配至[{task.TUNNEL}]-[{task.DEVICE}]";
|
|
|
+ msg += $"[{dev.Data.Tasknum}][G23][{dev.Data.Goodsend}][{tunnelInfo.SRM.Entity.CODE}][{dev.Data.VoucherNo}[{dev.Data2.VoucherNo}]";
|
|
|
task.CreateStatusLog(db, msg, this.GetType());
|
|
|
finishTaskList.Add(new FinishTaskList<int>(task.ID, item.Station));
|
|
|
}
|
|
@@ -241,6 +246,8 @@ namespace WCS.Service.Works.Station
|
|
|
|
|
|
var res = WMS.GetTunnelList(taskList.Select(v => v.WMSTASK.ToString()).ToList(), code);
|
|
|
if (string.IsNullOrEmpty(res.TunnelNum)) throw new WarnException($"WMS未返回巷道");
|
|
|
+
|
|
|
+ InfoLog.INFO_INFO($"二次分配 任务号:{taskList[0].ID},可用巷道:{res.TunnelNum},设备:{code}");
|
|
|
var tunnelNo = res.TunnelNum.Split(',').Select(v => "TY" + v).ToList();
|
|
|
|
|
|
var tunnels = Device.Where(v => tunnelNo.Contains(v.CODE)).ToList();
|
|
@@ -272,6 +279,8 @@ namespace WCS.Service.Works.Station
|
|
|
var tunnelInfo = tunnelInfos.Where(v => { try { return v.SRM.Data3.SCAlarm == 0 && v.SRM.Data2.SRMMode == SCMode.远程 && v.SRM.Data2.SRMStatus == SCRunStatus.空闲; } catch { return false; } }).MinBy(v => tunnelNo.IndexOf(v.Tunnel.CODE));
|
|
|
if (tunnelInfo == null) throw new WarnException("无可用巷道");
|
|
|
|
|
|
+ InfoLog.INFO_INFO($"二次分配 任务号:{taskList[0].ID},选择巷道:{tunnelInfo.Tunnel.CODE},设备:{code}");
|
|
|
+
|
|
|
//开始变更任务信息
|
|
|
foreach (var item in devise)
|
|
|
{
|