|
@@ -55,6 +55,7 @@ namespace WCS.Service.Works.SRM
|
|
|
if (obj.Data2.Status_1 != SCRunStatus.空闲) return;
|
|
|
|
|
|
var isTransfer = new List<WCS_TASK>();
|
|
|
+ WCS_TASK enterPriority = new WCS_TASK(), outPriority = new WCS_TASK();
|
|
|
//再检查是否有等待执行的货物
|
|
|
DB.Do(db =>
|
|
|
{
|
|
@@ -65,6 +66,10 @@ namespace WCS.Service.Works.SRM
|
|
|
//判断是否存在调整优先级任务,存在初始化isTransfer值 让本次执行优先任务
|
|
|
if (db.Default.Set<WCS_TASK>().AsNoTracking().Any(v => v.DEVICE == obj.Entity.CODE && v.TYPE != TaskType.移库 && v.STATUS < TaskStatus.堆垛机执行 && v.Priority > 0))
|
|
|
isTransfer = new List<WCS_TASK>();
|
|
|
+ enterPriority = db.Default.Set<WCS_TASK>().Where(v => v.DEVICE == obj.Entity.CODE && v.TYPE == TaskType.入库 && v.STATUS < TaskStatus.堆垛机执行)
|
|
|
+ .OrderByDescending(v => v.Priority).FirstOrDefault();
|
|
|
+ outPriority = db.Default.Set<WCS_TASK>().Where(v => v.DEVICE == obj.Entity.CODE && v.TYPE == TaskType.出库 && v.STATUS < TaskStatus.堆垛机执行)
|
|
|
+ .OrderByDescending(v => v.Priority).FirstOrDefault();
|
|
|
});
|
|
|
|
|
|
var LastIsOut = obj.Entity.Get<bool>("LastIsOut");
|
|
@@ -126,6 +131,7 @@ namespace WCS.Service.Works.SRM
|
|
|
{
|
|
|
#region 入库
|
|
|
|
|
|
+ if (outPriority.Priority > enterPriority.Priority) return;
|
|
|
//获取所有取货点
|
|
|
var arrIn = obj.GetPickPoint()
|
|
|
.Where(v => Device.Where(d => d.IsConv())
|
|
@@ -221,7 +227,7 @@ namespace WCS.Service.Works.SRM
|
|
|
var floor = obj.Entity.Get<int>("LastFloor");
|
|
|
floor = floor % 2 + 1;
|
|
|
obj.Entity.Set("LastFloor", floor);
|
|
|
-
|
|
|
+ if (enterPriority.Priority > outPriority.Priority) return;
|
|
|
obj.EXOutStock(obj =>
|
|
|
{
|
|
|
//获取当前堆垛机所有的放货点
|