|
@@ -140,7 +140,7 @@ namespace WCS.Service.Works
|
|
|
//判断小车是否有工位有光电,小车空闲自动且有光电代表需要执行放货任务
|
|
|
if (dev.Data.PH_Status_1 || dev.Data.PH_Status_2)
|
|
|
{
|
|
|
- if (dev.Data.PH_Status_1) //工位一需要放货
|
|
|
+ if (dev.Data.PH_Status_1 && dev.Data.TaskType_1 != DRGVTaskType.放货) //工位一需要放货
|
|
|
{
|
|
|
if (dev.Data.TaskID_1 < 10000) throw new Exception("有光电无任务号");
|
|
|
string next = "";
|
|
@@ -148,7 +148,7 @@ namespace WCS.Service.Works
|
|
|
DB.Do(db =>
|
|
|
{
|
|
|
var task = db.Default.Set<WCS_TASK>().FirstOrDefault(v => v.ID == dev.Data.TaskID_1) ?? throw new Exception($"WCS不存在任务{dev.Data.TaskID_1}");
|
|
|
- var next = dev.Entity.GetNext(task.ADDRTO).CODE;
|
|
|
+ //var next = dev.Entity.GetNext(task.ADDRTO).CODE;
|
|
|
});
|
|
|
//TODO:放货站点有货检查
|
|
|
dev.Data2.TaskID_1 = dev.Data.TaskID_1;
|
|
@@ -158,7 +158,7 @@ namespace WCS.Service.Works
|
|
|
dev.Data2.Trigger_1 = 1;
|
|
|
|
|
|
}
|
|
|
- else if (dev.Data.PH_Status_2)//工位二需要放货
|
|
|
+ else if (dev.Data.PH_Status_2 && dev.Data.TaskType_2 != DRGVTaskType.放货 )//工位二需要放货
|
|
|
{
|
|
|
if (dev.Data.TaskID_2 < 10000) throw new Exception("有光电无任务号");
|
|
|
|
|
@@ -167,7 +167,7 @@ namespace WCS.Service.Works
|
|
|
DB.Do(db =>
|
|
|
{
|
|
|
var task = db.Default.Set<WCS_TASK>().FirstOrDefault(v => v.ID == dev.Data.TaskID_2) ?? throw new Exception($"WCS不存在任务{dev.Data.TaskID_2}");
|
|
|
- var next = dev.Entity.GetNext(task.ADDRTO).CODE;
|
|
|
+ //var next = dev.Entity.GetNext(task.ADDRTO).CODE;
|
|
|
});
|
|
|
//TODO:放货站点有货检查
|
|
|
dev.Data2.TaskID_2 = dev.Data.TaskID_2;
|
|
@@ -203,8 +203,8 @@ namespace WCS.Service.Works
|
|
|
if (dev.Data.RES is 3035 or 3036) validPickupPoint = validPickupPoints.FirstOrDefault(v => v.Entity.CODE is "3035" or "3036");
|
|
|
else if (dev.Data.RES is 3041 or 3040) validPickupPoint = validPickupPoints.FirstOrDefault(v => v.Entity.CODE is "3041" or "3040");
|
|
|
else if (dev.Data.RES is 3047 or 3048) validPickupPoint = validPickupPoints.FirstOrDefault(v => v.Entity.CODE is "3047" or "3048");
|
|
|
- else if (dev.Data.RES is 2390 or 2108 or 2359) validPickupPoint = validPickupPoints.FirstOrDefault(v => v.Entity.CODE is "2390" or "2108");
|
|
|
- else if(dev.Data.RES is 2114 or 2359) validPickupPoint = validPickupPoints.FirstOrDefault(v => v.Entity.CODE is "2114");
|
|
|
+ //else if (dev.Data.RES is 2108 or 2359) validPickupPoint = validPickupPoints.FirstOrDefault(v => v.Entity.CODE is "2108" or "2114");
|
|
|
+ else if(dev.Data.RES is 2114 or 2359 or 2108) validPickupPoint = validPickupPoints.FirstOrDefault(v => v.Entity.CODE is "2114" or "2108");
|
|
|
//当前站点没有需要取货的
|
|
|
if (validPickupPoint == null) validPickupPoint = validPickupPoints.OrderBy(v => v.UpdateTime).FirstOrDefault() ?? throw new Exception("没有站台需要取货");
|
|
|
|
|
@@ -219,11 +219,22 @@ namespace WCS.Service.Works
|
|
|
}
|
|
|
else if (validPickupPoint.Entity.CODE is "2114") //二工位取货点
|
|
|
{
|
|
|
- dev.Data2.TaskID_2 = dev.Data.TaskID_2;
|
|
|
- dev.Data2.TaskType_2 = Convert.ToInt16(DRGVTaskType.取货);
|
|
|
- dev.Data2.StartPosition_1 = Convert.ToInt16(next1.CODE);
|
|
|
- dev.Data2.DestPosition_1 = Convert.ToInt16(validPickupPoint.Entity.CODE);
|
|
|
- dev.Data2.Trigger_2 = 1;
|
|
|
+ if (dev.Data.RES is 2114)
|
|
|
+ {
|
|
|
+ dev.Data2.TaskID_2 = validPickupPoint.Data.TASKNUM;
|
|
|
+ dev.Data2.TaskType_2 = Convert.ToInt16(DRGVTaskType.取货);
|
|
|
+ dev.Data2.StartPosition_2 = Convert.ToInt16(next1.CODE);
|
|
|
+ dev.Data2.DestPosition_2 = Convert.ToInt16(validPickupPoint.Entity.CODE);
|
|
|
+ dev.Data2.Trigger_2 = 1;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ dev.Data2.TaskID_2 = 100;
|
|
|
+ dev.Data2.TaskType_2 = 3;
|
|
|
+ dev.Data2.StartPosition_2 = dev.Data.RES;
|
|
|
+ dev.Data2.DestPosition_2 = Convert.ToInt16(validPickupPoint.Entity.CODE);
|
|
|
+ dev.Data2.Trigger_2 = 1;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
#endregion 取货任务
|