|
@@ -1,8 +1,8 @@
|
|
|
-using ServiceCenter.Extensions;
|
|
|
+using Newtonsoft.Json;
|
|
|
+using ServiceCenter.Extensions;
|
|
|
using ServiceCenter.Logs;
|
|
|
using ServiceCenter.SqlSugars;
|
|
|
using System.ComponentModel;
|
|
|
-using Newtonsoft.Json;
|
|
|
using WCS.Core;
|
|
|
using WCS.Entity;
|
|
|
using WCS.Entity.Protocol.Station;
|
|
@@ -34,16 +34,21 @@ namespace WCS.WorkEngineering.Systems
|
|
|
|
|
|
public override void Do(Truss obj)
|
|
|
{
|
|
|
- if (obj.Data.VoucherNo != obj.Data2.VoucherNo) throw new KnownException($"凭证号不一致,DB520:{obj.Data.VoucherNo}-DB521:{obj.Data2.VoucherNo}", LogLevelEnum.High);
|
|
|
+ if (obj.Data.VoucherNo != obj.Data2.VoucherNo)
|
|
|
+ {
|
|
|
+ World.Log($"凭证号不一致,DB520:{obj.Data.VoucherNo}-DB521:{obj.Data2.VoucherNo}");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
if (obj.Data2.CmdType == 1)
|
|
|
{
|
|
|
var isFinish = false;
|
|
|
-
|
|
|
+ var isEnd = false; //是否强制结盘
|
|
|
SqlSugarHelper.Do(_db =>
|
|
|
{
|
|
|
var db = _db.Default;
|
|
|
List<int> ids = new List<int>() { obj.Data2.PalletizingRowId1, obj.Data2.PalletizingRowId2 };
|
|
|
- var palletizingRow = db.Queryable<WCS_PalletizingRow>().UpdLock().Includes(x => x.CacheLine, c => c.Locations)
|
|
|
+ var palletizingRow = db.Queryable<WCS_PalletizingRow>().Includes(x => x.CacheLine, c => c.Locations)
|
|
|
.Includes(x => x.Locs)
|
|
|
.Includes(x => x.Palletizing).Where(x => ids.Contains(x.Id)).ToList();
|
|
|
List<WCS.Entity.WCS_CacheLine> deleteCacheLine = new List<WCS.Entity.WCS_CacheLine>();
|
|
@@ -53,21 +58,29 @@ namespace WCS.WorkEngineering.Systems
|
|
|
//更新行数据
|
|
|
foreach (var row in palletizingRow)
|
|
|
{
|
|
|
- var cacheLine = db.Queryable<WCS.Entity.WCS_CacheLine>().UpdLock().Includes(x => x.Locations).Single(x => x.Id == row.CacheLine.Id);
|
|
|
+ var cacheLine = db.Queryable<WCS.Entity.WCS_CacheLine>().Includes(x => x.Locations).Single(x => x.Id == row.CacheLine.Id);
|
|
|
+ if (cacheLine.AddTime < DateTime.Now.AddHours(-6))
|
|
|
+ {
|
|
|
+ isEnd = true;
|
|
|
+ }
|
|
|
+
|
|
|
//先更新对应的位信息
|
|
|
try
|
|
|
{
|
|
|
var index = 0;
|
|
|
foreach (var loc in row.Locs.Where(x => !x.IsEmpty).OrderBy(x => x.XYNo))
|
|
|
{
|
|
|
- var cacheLoc = cacheLine.Locations[index];
|
|
|
- cacheLoc = db.Queryable<WCS_CacheLineLoc>().UpdLock().Single(x => x.Id == cacheLoc.Id);
|
|
|
- loc.TaskId = cacheLoc.TaskId;
|
|
|
- loc.Finish = true;
|
|
|
-
|
|
|
- upDateableLoc.Add(loc);
|
|
|
- deleteLoc.Add(cacheLoc);
|
|
|
- index++;
|
|
|
+ if (index < cacheLine.Locations.Count)
|
|
|
+ {
|
|
|
+ var cacheLoc = cacheLine.Locations[index];
|
|
|
+ cacheLoc = db.Queryable<WCS_CacheLineLoc>().Single(x => x.Id == cacheLoc.Id);
|
|
|
+ loc.TaskId = cacheLoc.TaskId;
|
|
|
+ loc.Finish = true;
|
|
|
+
|
|
|
+ upDateableLoc.Add(loc);
|
|
|
+ deleteLoc.Add(cacheLoc);
|
|
|
+ index++;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
catch (Exception a)
|
|
@@ -86,7 +99,7 @@ namespace WCS.WorkEngineering.Systems
|
|
|
db.DeleteableRowLock(deleteCacheLine).ExecuteCommand();
|
|
|
|
|
|
var layerId = palletizingRow.FirstOrDefault().PalletizingLayerId;
|
|
|
- var layer = db.Queryable<WCS_PalletizingLayer>().UpdLock().Includes(x => x.Rows).Single(x => x.Id == layerId);
|
|
|
+ var layer = db.Queryable<WCS_PalletizingLayer>().Includes(x => x.Rows).Single(x => x.Id == layerId);
|
|
|
if (layer.Rows.All(x => x.Finish || x.IsEmpty))
|
|
|
{
|
|
|
layer.Finish = true;
|
|
@@ -95,7 +108,7 @@ namespace WCS.WorkEngineering.Systems
|
|
|
|
|
|
//码垛完成后开始绑定托盘
|
|
|
var palletizingId = upDateableRow.First().Palletizing.Id;
|
|
|
- var palletizing = db.Queryable<WCS_Palletizing>().UpdLock().Single(x => x.Id == palletizingId);
|
|
|
+ var palletizing = db.Queryable<WCS_Palletizing>().Single(x => x.Id == palletizingId);
|
|
|
palletizing.EditTime = DateTime.Now;
|
|
|
db.UpdateableRowLock(palletizing).ExecuteCommand();
|
|
|
var taskId = upDateableRow.SelectMany(x => x.Locs).Select(x => x.TaskId).ToList();
|
|
@@ -103,10 +116,25 @@ namespace WCS.WorkEngineering.Systems
|
|
|
WmsApi.BingPallet(palletizing.PalleCode, taskList, palletizing.WarehouseCode, palletizing.PalletizingStation);
|
|
|
isFinish = true;
|
|
|
});
|
|
|
- if (!isFinish) throw new KnownException($"绑盘失败", LogLevelEnum.High);
|
|
|
+ if (!isFinish)
|
|
|
+ {
|
|
|
+ World.Log("绑盘失败");
|
|
|
+ return;
|
|
|
+ }
|
|
|
|
|
|
+ if (isEnd)
|
|
|
+ {
|
|
|
+ try
|
|
|
+ {
|
|
|
+ var dev = new Device<ITruss530>(Device.All.First(x => x.Code == obj.Data.TargetPallte1.ToString()), World);
|
|
|
+ dev.Data.CmdType = TrussCmdType.End1;
|
|
|
+ }
|
|
|
+ catch (Exception e)
|
|
|
+ {
|
|
|
+ World.Log($"超时托盘自动结盘失败:{e.Message}--{obj.Data.TargetPallte1}");
|
|
|
+ }
|
|
|
+ }
|
|
|
obj.Data.CmdType = 1;
|
|
|
-
|
|
|
obj.Data.DestPosition_1 = 0;
|
|
|
obj.Data.TargetPallte1 = 0;
|
|
|
obj.Data.Task1_1 = 0;
|
|
@@ -137,8 +165,17 @@ namespace WCS.WorkEngineering.Systems
|
|
|
obj.Data.PalletizingRowId2 = 0;
|
|
|
}
|
|
|
if (obj.Data2.CmdType == 0 && obj.Data.CmdType != 0) obj.Data.CmdType = 0;
|
|
|
- if (obj.Data2.CmdType != 0 || obj.Data.CmdType != 0) throw new Exception($"完成信号未清除:{obj.Data2.CmdType}--{obj.Data.CmdType}");
|
|
|
- if (obj.Data2.Status != TrussStatus.Idle) throw new Exception($"桁架处于{obj.Data2.Status.GetDescription()}");
|
|
|
+ if (obj.Data2.CmdType != 0 || obj.Data.CmdType != 0)
|
|
|
+ {
|
|
|
+ World.Log($"完成信号未清除:{obj.Data2.CmdType}--{obj.Data.CmdType}");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (obj.Data2.Status != TrussStatus.Idle)
|
|
|
+ {
|
|
|
+ World.Log($"桁架处于{obj.Data2.Status.GetDescription()}");
|
|
|
+ return;
|
|
|
+ }
|
|
|
|
|
|
//查找所有的可用开始搬运的线体
|
|
|
var pickUpDevices = _pickUpDevices.Where(v => v.Value.All(x => !x.Data2.Status.HasFlag(StationStatus.Run) && x.Data2.Status.HasFlag(StationStatus.Auto)))
|
|
@@ -146,9 +183,14 @@ namespace WCS.WorkEngineering.Systems
|
|
|
{
|
|
|
key = x.Key.Entity.Code,
|
|
|
Count = x.Value.Count(v => v.Data2.Status.HasFlag(StationStatus.PH_Status) && v.Data.TaskNumber > 0),
|
|
|
+ HPCount = x.Value.Count(v => v.Data2.Status.HasFlag(StationStatus.PH_Status)),
|
|
|
Dev = x
|
|
|
- }).ToList();
|
|
|
- if (!pickUpDevices.Any()) throw new KnownException($"没有可用取货点,请在电控触摸屏检查实际可取货点是否每个位置都有光电与任务号", LogLevelEnum.Mid);
|
|
|
+ }).Where(x => x.HPCount == x.Count).ToList();
|
|
|
+ if (!pickUpDevices.Any())
|
|
|
+ {
|
|
|
+ World.Log($"没有可用取货点,请在电控触摸屏检查实际可取货点是否每个位置都有光电与任务号");
|
|
|
+ return;
|
|
|
+ }
|
|
|
|
|
|
List<WCS_PalletizingRow> palletizingRowList = null;
|
|
|
WCS_Palletizing palletizing = null;
|
|
@@ -156,38 +198,55 @@ namespace WCS.WorkEngineering.Systems
|
|
|
{
|
|
|
var db = _db.Default;
|
|
|
//找到当前桁架所属所有还有层没结束的码垛记录信息,有对应托盘
|
|
|
- var palletizingLsit = db.Queryable<WCS_Palletizing>().UpdLock().Includes(x => x.Layers, r => r.Rows, l => l.Locs)
|
|
|
+ var palletizingLsit = db.Queryable<WCS_Palletizing>().Includes(x => x.Layers, r => r.Rows, l => l.Locs)
|
|
|
.Where(x => !x.Finish && x.DeviceCode == obj.Entity.Code)
|
|
|
.Where(x => x.Layers.Any(l => !l.Finish) && x.PalletizingStation != null).ToList();
|
|
|
//筛选出目标位置有光电的码垛记录信息
|
|
|
var devCode = palletizingLsit.Select(x => x.PalletizingStation);
|
|
|
var taskCode = palletizingLsit.Select(x => x.Id);
|
|
|
- var devList = Device.All.Where(x => devCode.Contains(x.Code)).Select(x => new Device<IStation521, IStation523, ITruss530>(x, World)).ToList();
|
|
|
- devList = devList.Where(x => x.Data2.Status.HasFlag(StationStatus.PH_Status) && taskCode.Contains(x.Data.TaskNumber) && !x.Data3.CmdType.HasFlag(TrussCmdType.Two)).ToList();
|
|
|
+ var devList = Device.All.Where(x => devCode.Contains(x.Code)).Select(x => new Device<IStation521, IStation523, ITruss530, ITruss531>(x, World)).ToList();
|
|
|
+ devList = devList.Where(x => x.Data2.Status.HasFlag(StationStatus.PH_Status) && taskCode.Contains(x.Data.TaskNumber) && !x.Data4.CmdType.HasFlag(TrussCmdType.End1)).ToList();
|
|
|
devCode = devList.Select(x => x.Entity.Code);
|
|
|
- if (!devCode.Any()) throw new KnownException($"无可用放货码垛位,请检查实际有货位置的光电是否正常", LogLevelEnum.Mid);
|
|
|
- else
|
|
|
+ if (!devCode.Any())
|
|
|
{
|
|
|
- World.Log($"可用放货位:{JsonConvert.SerializeObject(devCode)}");
|
|
|
+ World.Log($"无可用放货码垛位,请检查实际有货位置的光电是否正常");
|
|
|
+ return;
|
|
|
}
|
|
|
+
|
|
|
+ World.Log($"可用放货位:{JsonConvert.SerializeObject(devCode)}");
|
|
|
palletizingLsit = palletizingLsit.Where(x => devCode.Contains(x.PalletizingStation)).ToList(); //可以放货的目标托盘
|
|
|
//可以取货的码垛信息
|
|
|
var pickUpCode = _pickUpDevices.Select(x => x.Key.Entity.Code.ToShort());
|
|
|
+ World.Log($"可用取货线体1:{JsonConvert.SerializeObject(pickUpCode)}");
|
|
|
//从缓存线信息找到可以取货的缓存线
|
|
|
- var cacheLines = db.Queryable<WCS_CacheLine>().UpdLock().Where(x => pickUpCode.Contains(x.LocationNo)).ToList().Where(
|
|
|
+ var cacheLines = db.Queryable<WCS_CacheLine>().Where(x => pickUpCode.Contains(x.LocationNo)).ToList().Where(
|
|
|
x =>
|
|
|
{
|
|
|
- return pickUpDevices.Any(p => p.key == x.LocationNo.ToString() && p.Count == x.Quantity);
|
|
|
+ var isTime = x.AddTime < DateTime.Now.AddHours(-6);
|
|
|
+ var isPut = pickUpDevices.Any(p => p.key == x.LocationNo.ToString() && p.Count == x.Quantity);
|
|
|
+ //满足取货条件,或者是超六小时
|
|
|
+ return isPut || (pickUpDevices.Any(p => p.key == x.LocationNo.ToString()) && isTime);
|
|
|
});
|
|
|
+ if (!cacheLines.Any())
|
|
|
+ {
|
|
|
+ World.Log($"无可用取货线体");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ World.Log($"物理可用取货线体:{JsonConvert.SerializeObject(pickUpDevices.Select(x => x.key).ToList())}");
|
|
|
+ World.Log($"可用取货线体:{JsonConvert.SerializeObject(cacheLines.Select(x => x.LocationNo).ToList())}");
|
|
|
//找到可用缓存线可以去的码垛信息
|
|
|
palletizingLsit = palletizingLsit.Where(x => x.Layers
|
|
|
.Where(w => !w.Finish)
|
|
|
.SelectMany(w => w.Rows)
|
|
|
.Where(v => !v.Finish).Any(w =>
|
|
|
{
|
|
|
- return cacheLines.Any(a => a.MatCodeList == w.MatCodeList && a.Quantity == w.QtyMaxCount && a.WarehouseCode == w.WarehouseCode);
|
|
|
+ return cacheLines.Any(a => a.MatCodeList == w.MatCodeList && (a.Quantity == w.QtyMaxCount || (a.AddTime < DateTime.Now.AddHours(-6) && a.Quantity <= w.QtyMaxCount)) && a.WarehouseCode == w.WarehouseCode);
|
|
|
})).ToList();
|
|
|
- if (!palletizingLsit.Any()) throw new KnownException($"没有可用取货点,码垛信息是否正常", LogLevelEnum.Mid);
|
|
|
+ if (!palletizingLsit.Any())
|
|
|
+ {
|
|
|
+ World.Log($"没有可用取货点,码垛信息是否正常");
|
|
|
+ return;
|
|
|
+ }
|
|
|
|
|
|
foreach (var palletizingInfo in palletizingLsit)
|
|
|
{
|
|
@@ -200,7 +259,7 @@ namespace WCS.WorkEngineering.Systems
|
|
|
.MinBy(x => x.LayerNo) //取最下层
|
|
|
.Rows
|
|
|
.Where(x => x is { Finish: false, IsEmpty: false, LineCode: null }) //不空且未结束的行
|
|
|
- .Where(x => cacheLines.Any(a => a.MatCodeList == x.MatCodeList && a.Quantity == x.QtyMaxCount && a.WarehouseCode == x.WarehouseCode)); //获取可以取货的码垛信息行
|
|
|
+ .Where(x => cacheLines.Any(a => a.MatCodeList == x.MatCodeList && (a.Quantity == x.QtyMaxCount || (a.AddTime < DateTime.Now.AddHours(-6) && a.Quantity <= x.QtyMaxCount)) && a.WarehouseCode == x.WarehouseCode)); //获取可以取货的码垛信息行
|
|
|
|
|
|
//无可用行,进入下一次迭代
|
|
|
if (!palletizingRow.Any())
|
|
@@ -213,7 +272,7 @@ namespace WCS.WorkEngineering.Systems
|
|
|
//跟据缓存信息找到对应的可用取货行
|
|
|
var rowList = cacheLines.Select(x =>
|
|
|
{
|
|
|
- var b = palletizingRow.Where(w => !rowIds.Contains(w.Id) && x.MatCodeList == w.MatCodeList && x.Quantity == w.QtyMaxCount && w.WarehouseCode == x.WarehouseCode).MinBy(o => o.RowNo);
|
|
|
+ var b = palletizingRow.Where(w => !rowIds.Contains(w.Id) && x.MatCodeList == w.MatCodeList && (x.Quantity == w.QtyMaxCount || (x.AddTime < DateTime.Now.AddHours(-6) && x.Quantity <= w.QtyMaxCount)) && w.WarehouseCode == x.WarehouseCode).MinBy(o => o.RowNo);
|
|
|
if (b != null)
|
|
|
{
|
|
|
rowIds.Add(b.Id);
|
|
@@ -222,7 +281,8 @@ namespace WCS.WorkEngineering.Systems
|
|
|
CacheLineId = x.Id,
|
|
|
RowId = b.Id,
|
|
|
x.LocationNo,
|
|
|
- b.RowNo
|
|
|
+ b.RowNo,
|
|
|
+ x.AddTime
|
|
|
};
|
|
|
}
|
|
|
return new
|
|
@@ -230,7 +290,8 @@ namespace WCS.WorkEngineering.Systems
|
|
|
CacheLineId = 0,
|
|
|
RowId = 0,
|
|
|
x.LocationNo,
|
|
|
- RowNo = 0
|
|
|
+ RowNo = 0,
|
|
|
+ x.AddTime
|
|
|
};
|
|
|
}).Where(x => x.CacheLineId != 0).OrderBy(x => x.RowNo).Take(2).ToList();
|
|
|
|
|
@@ -244,12 +305,12 @@ namespace WCS.WorkEngineering.Systems
|
|
|
foreach (var row in rowList)
|
|
|
{
|
|
|
//锁定缓存线
|
|
|
- var cacheLine = db.Queryable<WCS_CacheLine>().UpdLock().Includes(x => x.Locations).Single(x => x.Id == row.CacheLineId);
|
|
|
+ var cacheLine = db.Queryable<WCS_CacheLine>().Includes(x => x.Locations).Single(x => x.Id == row.CacheLineId);
|
|
|
cacheLine.IsTruss = true;
|
|
|
cacheLine.PalletizingRowId = row.RowId;
|
|
|
db.UpdateableRowLock(cacheLine).ExecuteCommand();
|
|
|
//解锁原有码垛信息
|
|
|
- var oldRow = db.Queryable<WCS_PalletizingRow>().UpdLock().First(x => x.CacheLineId == row.CacheLineId);
|
|
|
+ var oldRow = db.Queryable<WCS_PalletizingRow>().First(x => x.CacheLineId == row.CacheLineId);
|
|
|
if (oldRow != null)
|
|
|
{
|
|
|
oldRow.CacheLineId = 0;
|
|
@@ -258,7 +319,7 @@ namespace WCS.WorkEngineering.Systems
|
|
|
}
|
|
|
|
|
|
//锁定现有码垛信息
|
|
|
- var wcsRow = db.Queryable<WCS_PalletizingRow>().UpdLock().Includes(x => x.Locs).First(x => x.Id == row.RowId);
|
|
|
+ var wcsRow = db.Queryable<WCS_PalletizingRow>().Includes(x => x.Locs).First(x => x.Id == row.RowId);
|
|
|
wcsRow.CacheLineId = row.CacheLineId;
|
|
|
wcsRow.LineCode = row.LocationNo.ToString();
|
|
|
db.UpdateableRowLock(wcsRow).ExecuteCommand();
|
|
@@ -270,13 +331,17 @@ namespace WCS.WorkEngineering.Systems
|
|
|
}
|
|
|
});
|
|
|
|
|
|
- if (palletizingRowList == null || !palletizingRowList.Any()) throw new KnownException($"没有可用任务", LogLevelEnum.Mid);
|
|
|
+ if (palletizingRowList == null || !palletizingRowList.Any())
|
|
|
+ {
|
|
|
+ World.Log($"没有可用任务");
|
|
|
+ return;
|
|
|
+ }
|
|
|
|
|
|
for (var i = 0; i < palletizingRowList.Count; i++)
|
|
|
{
|
|
|
var palletizingRow = palletizingRowList[i];
|
|
|
var locs = palletizingRow.Locs.OrderBy(x => x.XYNo.ToInt()).ToArray();
|
|
|
- var devs = pickUpDevices.FirstOrDefault(x => x.key == palletizingRow.LineCode).Dev.Value
|
|
|
+ var devs = pickUpDevices.FirstOrDefault(x => x.key == palletizingRow.LineCode).Dev.Value.Where(x => x.Data2.Status.HasFlag(StationStatus.PH_Status))
|
|
|
.OrderBy(x => x.Entity.Code).ToArray();
|
|
|
|
|
|
switch (i)
|
|
@@ -284,33 +349,33 @@ namespace WCS.WorkEngineering.Systems
|
|
|
case 0:
|
|
|
obj.Data.DestPosition_1 = palletizingRow.LineCode!.ToShort();
|
|
|
obj.Data.TargetPallte1 = palletizing.PalletizingStation!.ToShort();
|
|
|
- if (locs.Length >= 1)
|
|
|
+ if (devs.Length >= 1)
|
|
|
{
|
|
|
obj.Data.Task1_1 = devs[0].Data.TaskNumber;
|
|
|
obj.Data.Dest1_1 = locs[0].XYNo.ToShort();
|
|
|
}
|
|
|
- if (locs.Length >= 2)
|
|
|
+ if (devs.Length >= 2)
|
|
|
{
|
|
|
obj.Data.Task1_2 = devs[1].Data.TaskNumber;
|
|
|
obj.Data.Dest1_2 = locs[1].XYNo.ToShort();
|
|
|
}
|
|
|
- if (locs.Length >= 3)
|
|
|
+ if (devs.Length >= 3)
|
|
|
{
|
|
|
obj.Data.Task1_3 = devs[2].Data.TaskNumber;
|
|
|
obj.Data.Dest1_3 = locs[2].XYNo.ToShort();
|
|
|
}
|
|
|
- if (locs.Length >= 4)
|
|
|
+ if (devs.Length >= 4)
|
|
|
{
|
|
|
obj.Data.Task1_4 = devs[3].Data.TaskNumber;
|
|
|
obj.Data.Dest1_4 = locs[3].XYNo.ToShort();
|
|
|
}
|
|
|
- if (locs.Length == 5)
|
|
|
+ if (devs.Length == 5)
|
|
|
{
|
|
|
obj.Data.Task1_5 = devs[4].Data.TaskNumber;
|
|
|
obj.Data.Dest1_5 = locs[4].XYNo.ToShort();
|
|
|
}
|
|
|
|
|
|
- obj.Data.TaskSum1 = palletizingRow.QtyMaxCount.ToShort();
|
|
|
+ obj.Data.TaskSum1 = devs.Length.ToShort();
|
|
|
obj.Data.PalletizingRowId1 = palletizingRow.Id;
|
|
|
break;
|
|
|
|
|
@@ -318,33 +383,33 @@ namespace WCS.WorkEngineering.Systems
|
|
|
obj.Data.DestPosition_2 = palletizingRow.LineCode!.ToShort();
|
|
|
obj.Data.TargetPallte2 = palletizing.PalletizingStation!.ToShort();
|
|
|
|
|
|
- if (locs.Length >= 1)
|
|
|
+ if (devs.Length >= 1)
|
|
|
{
|
|
|
obj.Data.Task2_1 = devs[0].Data.TaskNumber;
|
|
|
obj.Data.Dest2_1 = locs[0].XYNo.ToShort();
|
|
|
}
|
|
|
- if (locs.Length >= 2)
|
|
|
+ if (devs.Length >= 2)
|
|
|
{
|
|
|
obj.Data.Task2_2 = devs[1].Data.TaskNumber;
|
|
|
obj.Data.Dest2_2 = locs[1].XYNo.ToShort();
|
|
|
}
|
|
|
- if (locs.Length >= 3)
|
|
|
+ if (devs.Length >= 3)
|
|
|
{
|
|
|
obj.Data.Task2_3 = devs[2].Data.TaskNumber;
|
|
|
obj.Data.Dest2_3 = locs[2].XYNo.ToShort();
|
|
|
}
|
|
|
- if (locs.Length >= 4)
|
|
|
+ if (devs.Length >= 4)
|
|
|
{
|
|
|
obj.Data.Task2_4 = devs[3].Data.TaskNumber;
|
|
|
obj.Data.Dest2_4 = locs[3].XYNo.ToShort();
|
|
|
}
|
|
|
- if (locs.Length == 5)
|
|
|
+ if (devs.Length == 5)
|
|
|
{
|
|
|
obj.Data.Task2_5 = devs[4].Data.TaskNumber;
|
|
|
obj.Data.Dest2_5 = locs[4].XYNo.ToShort();
|
|
|
}
|
|
|
|
|
|
- obj.Data.TaskSum2 = palletizingRow.QtyMaxCount.ToShort();
|
|
|
+ obj.Data.TaskSum2 = devs.Length.ToShort();
|
|
|
obj.Data.PalletizingRowId2 = palletizingRow.Id;
|
|
|
break;
|
|
|
}
|