|
@@ -444,6 +444,8 @@ namespace WCS.Service.Works
|
|
|
if (Ltc.Do(dev, v => v.Data.WorkMode != RGVMode.自动)) return;
|
|
|
if (Ltc.Do(dev, v => v.Data.SystemStatus != RGVRunStatus.空闲)) return;
|
|
|
|
|
|
+ if (Ltc.Do(dev, v => v.Data2.Trigger_2 != 0)) return;
|
|
|
+
|
|
|
//执行任务之前优先处理缓存位上的任务 出:3028、3012 入:3019、3033
|
|
|
//有入库的先执行入库,做出库要判断是否有入库
|
|
|
var inPort = Device.Find("3019", "3033").Select(v => v.Device<IStation521, IStation520>());
|
|
@@ -469,10 +471,11 @@ namespace WCS.Service.Works
|
|
|
var inPos = Device.Find("3001", "3004", "3005", "3060").Select(v => v.Device<IStation521, IStation520>());
|
|
|
if (inPos.Any(v => v.Data2.CONFIRM == true || (v.Data.PH_STATUS && v.Data.TASKNUM > 0 && (v.Data.GOODSEND is 0 or 1 or 2 or 3 or 3060)))) doOut = false;
|
|
|
});
|
|
|
+ bool noPhstatus = Ltc.Do(dev, v => v.Data.PH_Status_2 == false);
|
|
|
|
|
|
if (inPort.Any(v => v.Data.PH_STATUS && v.Data.TASKNUM > 0 && !station_3041.Data.PH_STATUS && station_3041.Data.TASKNUM == 0))
|
|
|
{
|
|
|
- if (station_3033.Data.PH_STATUS && station_3033.Data.TASKNUM > 0)
|
|
|
+ if (station_3033.Data.PH_STATUS && station_3033.Data.TASKNUM > 0 && noPhstatus)
|
|
|
{
|
|
|
if (station_3041.Data.PH_STATUS || station_3041.Data.TASKNUM > 10000) return;
|
|
|
DB.Do(db =>
|
|
@@ -484,12 +487,16 @@ namespace WCS.Service.Works
|
|
|
task.UPDATETIME = DateTime.Now;
|
|
|
db.Default.SaveChanges();
|
|
|
});
|
|
|
+ station_3033.Data2.GOODSEND = 3041;
|
|
|
+ station_3033.Data2.CONFIRM = true;
|
|
|
+
|
|
|
dev.Data2.TaskID_2 = station_3033.Data.TASKNUM;
|
|
|
- dev.Data2.StartPosition_2 = 3033;
|
|
|
- dev.Data2.DestPosition_2 = 3041;
|
|
|
+ dev.Data2.TaskType_2 = Convert.ToInt16(DRGVTaskType.取货);
|
|
|
+ dev.Data2.StartPosition_2 = 3041;
|
|
|
+ dev.Data2.DestPosition_2 = 3033;
|
|
|
dev.Data2.Trigger_2 = 1;
|
|
|
}
|
|
|
- else if (station_3019.Data.PH_STATUS && station_3019.Data.TASKNUM > 0)
|
|
|
+ else if (station_3019.Data.PH_STATUS && station_3019.Data.TASKNUM > 0 && noPhstatus)
|
|
|
{
|
|
|
if (station_3041.Data.PH_STATUS || station_3041.Data.TASKNUM > 10000) return;
|
|
|
DB.Do(db =>
|
|
@@ -501,15 +508,19 @@ namespace WCS.Service.Works
|
|
|
task.UPDATETIME = DateTime.Now;
|
|
|
db.Default.SaveChanges();
|
|
|
});
|
|
|
+ station_3019.Data2.GOODSEND = 3041;
|
|
|
+ station_3019.Data2.CONFIRM = true;
|
|
|
+
|
|
|
dev.Data2.TaskID_2 = station_3019.Data.TASKNUM;
|
|
|
- dev.Data2.StartPosition_2 = 3019;
|
|
|
- dev.Data2.DestPosition_2 = 3041;
|
|
|
+ dev.Data2.TaskType_2 = Convert.ToInt16(DRGVTaskType.取货);
|
|
|
+ dev.Data2.StartPosition_2 = 3041;
|
|
|
+ dev.Data2.DestPosition_2 = 3019;
|
|
|
dev.Data2.Trigger_2 = 1;
|
|
|
}
|
|
|
}
|
|
|
else if (outPort.Any(v => v.Data.PH_STATUS && v.Data.TASKNUM > 0) && doOut && !station_3060.Data.PH_STATUS && station_3060.Data.TASKNUM == 0)
|
|
|
{
|
|
|
- if (station_3012.Data.PH_STATUS && station_3012.Data.TASKNUM > 0)
|
|
|
+ if (station_3012.Data.PH_STATUS && station_3012.Data.TASKNUM > 0 && noPhstatus)
|
|
|
{
|
|
|
if (station_3060.Data.PH_STATUS || station_3060.Data.TASKNUM > 10000) return;
|
|
|
var arr = Device.Find("3006", "3060", "3001", "3005", "3004").Select(v => v.Device<IStation521, IStation520>()).ToArray();
|
|
@@ -533,12 +544,13 @@ namespace WCS.Service.Works
|
|
|
station_3012.Data2.CONFIRM = true;
|
|
|
});
|
|
|
}
|
|
|
- dev.Data2.TaskID_1 = station_3012.Data.TASKNUM;
|
|
|
- dev.Data2.StartPosition_1 = 3012;
|
|
|
- dev.Data2.DestPosition_1 = 3060;
|
|
|
- dev.Data2.Trigger_1 = 1;
|
|
|
+ dev.Data2.TaskID_2 = station_3012.Data.TASKNUM;
|
|
|
+ dev.Data2.TaskType_2 = Convert.ToInt16(DRGVTaskType.取货);
|
|
|
+ dev.Data2.StartPosition_2 = 3060;
|
|
|
+ dev.Data2.DestPosition_2 = 3012;
|
|
|
+ dev.Data2.Trigger_2 = 1;
|
|
|
}
|
|
|
- else if (station_3028.Data.PH_STATUS && station_3028.Data.TASKNUM > 0)
|
|
|
+ else if (station_3028.Data.PH_STATUS && station_3028.Data.TASKNUM > 0 && noPhstatus)
|
|
|
{
|
|
|
if (station_3060.Data.PH_STATUS || station_3060.Data.TASKNUM > 10000) return;
|
|
|
var arr = Device.Find("3006", "3060", "3001", "3005", "3004").Select(v => v.Device<IStation521, IStation520>()).ToArray();
|
|
@@ -561,10 +573,11 @@ namespace WCS.Service.Works
|
|
|
station_3028.Data2.CONFIRM = true;
|
|
|
});
|
|
|
}
|
|
|
- dev.Data2.TaskID_1 = station_3028.Data.TASKNUM;
|
|
|
- dev.Data2.StartPosition_1 = 3028;
|
|
|
- dev.Data2.DestPosition_1 = 3060;
|
|
|
- dev.Data2.Trigger_1 = 1;
|
|
|
+ dev.Data2.TaskID_2 = station_3028.Data.TASKNUM;
|
|
|
+ dev.Data2.TaskType_2 = Convert.ToInt16(DRGVTaskType.取货);
|
|
|
+ dev.Data2.StartPosition_2 = 3060;
|
|
|
+ dev.Data2.DestPosition_2 = 3028;
|
|
|
+ dev.Data2.Trigger_2 = 1;
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -584,8 +597,8 @@ namespace WCS.Service.Works
|
|
|
//TODO:放货站点有货检查
|
|
|
dev.Data2.TaskID_1 = dev.Data.TaskID_1;
|
|
|
dev.Data2.TaskType_1 = Convert.ToInt16(DRGVTaskType.放货);
|
|
|
- dev.Data2.DestPosition_1 = dev.Data2.DestPosition_1;
|
|
|
- dev.Data.RES = dev.Data2.DestPosition_1; ;
|
|
|
+ dev.Data2.DestPosition_1 = dev.Data2.StartPosition_1;
|
|
|
+ dev.Data.RES = dev.Data2.DestPosition_1;
|
|
|
dev.Data2.Trigger_1 = 1;
|
|
|
}
|
|
|
else if (dev.Data.PH_Status_2 && dev.Data.TaskType_2 != DRGVTaskType.放货)//工位二需要放货
|
|
@@ -599,7 +612,7 @@ namespace WCS.Service.Works
|
|
|
//TODO:放货站点有货检查
|
|
|
dev.Data2.TaskID_2 = dev.Data.TaskID_2;
|
|
|
dev.Data2.TaskType_2 = Convert.ToInt16(DRGVTaskType.放货);
|
|
|
- dev.Data2.DestPosition_2 = dev.Data2.DestPosition_2;
|
|
|
+ dev.Data2.DestPosition_2 = dev.Data2.StartPosition_2;
|
|
|
dev.Data.RES = dev.Data2.DestPosition_2;
|
|
|
dev.Data2.Trigger_2 = 1;
|
|
|
}
|
|
@@ -611,13 +624,37 @@ namespace WCS.Service.Works
|
|
|
DB.Do(db =>
|
|
|
{
|
|
|
//判断是否可以分配RGV出库任务
|
|
|
- isOK = !db.Default.Set<WCS_AGVTask>().Any(v => v.TaskType == AGVTaskType.入库 && v.Status <= AGVTaskStatus.完成 && v.Status >= AGVTaskStatus.确认 && v.Status != AGVTaskStatus.执行 && v.Station == "3001");
|
|
|
+ isOK = !db.Default.Set<WCS_AGVTask>().Any(v => v.TaskType == AGVTaskType.入库 && v.Status <= AGVTaskStatus.完成 && v.Status > AGVTaskStatus.确认 && v.Status != AGVTaskStatus.执行 && v.Station == "3001");
|
|
|
var inArr = Device.Find("3001", "3004", "3005", "3006").Select(v => v.Device<IStation521, IStation520>());
|
|
|
if (inArr.Any(v => v.Data2.CONFIRM == true || (v.Data.PH_STATUS && v.Data.TASKNUM > 0 && (v.Data.GOODSEND is 0 or 1 or 2 or 3 or 3060)))) isOK = false;
|
|
|
});
|
|
|
|
|
|
#region 取货任务
|
|
|
- if (station_3040.Data.PH_STATUS && station_3040.Data.GOODSEND == 3040 && station_3040.Data.TASKNUM > 10000 && isOK)
|
|
|
+
|
|
|
+ if (station_3060.Data.PH_STATUS && station_3060.Data.GOODSTYPE==1 && station_3060.Data.TASKNUM > 10000 && noPhstatus)
|
|
|
+ {
|
|
|
+ if (station_3041.Data.PH_STATUS || station_3041.Data.TASKNUM > 10000) return;
|
|
|
+ DB.Do(db =>
|
|
|
+ {
|
|
|
+ var task = db.Default.Set<WCS_TASK>().Find(station_3060.Data.TASKNUM);
|
|
|
+ if (task == null)
|
|
|
+ throw new Exception($"任务号{station_3060.Data.TASKNUM}不存在");
|
|
|
+ task.ADDRNEXT = "3041";
|
|
|
+ task.ADDRTO = "2017";
|
|
|
+ task.UPDATETIME = DateTime.Now;
|
|
|
+ db.Default.SaveChanges();
|
|
|
+
|
|
|
+ station_3060.Data2.GOODSEND = 3041;
|
|
|
+ station_3060.Data2.GOODSTYPE = 1;
|
|
|
+ station_3060.Data2.CONFIRM = true;
|
|
|
+ });
|
|
|
+ dev.Data2.TaskID_2 = station_3060.Data.TASKNUM;
|
|
|
+ dev.Data2.TaskType_2 = Convert.ToInt16(DRGVTaskType.取货);
|
|
|
+ dev.Data2.StartPosition_2 = 3041;
|
|
|
+ dev.Data2.DestPosition_2 = 3060;
|
|
|
+ dev.Data2.Trigger_2 = 1;
|
|
|
+ }
|
|
|
+ else if (station_3040.Data.PH_STATUS && station_3040.Data.GOODSEND == 3040 && station_3040.Data.TASKNUM > 10000 && isOK && noPhstatus)
|
|
|
{
|
|
|
short outTemp = 3060;
|
|
|
var arr = Device.Find("3006", "3060", "3001", "3005", "3004").Select(v => v.Device<IStation521, IStation520>()).ToArray();
|
|
@@ -638,31 +675,13 @@ namespace WCS.Service.Works
|
|
|
station_3040.Data2.GOODSTYPE = 2;
|
|
|
station_3040.Data2.CONFIRM = true;
|
|
|
});
|
|
|
- dev.Data2.TaskID_1 = station_3040.Data.TASKNUM;
|
|
|
- dev.Data2.TaskType_1 = Convert.ToInt16(DRGVTaskType.取货);
|
|
|
- dev.Data2.StartPosition_1 = 3040;
|
|
|
- dev.Data2.DestPosition_1 = 3060;
|
|
|
- dev.Data2.Trigger_1 = 1;
|
|
|
+ dev.Data2.TaskID_2 = station_3040.Data.TASKNUM;
|
|
|
+ dev.Data2.TaskType_2 = Convert.ToInt16(DRGVTaskType.取货);
|
|
|
+ dev.Data2.StartPosition_2 = 3060;
|
|
|
+ dev.Data2.DestPosition_2 = 3040;
|
|
|
+ dev.Data2.Trigger_2 = 1;
|
|
|
}
|
|
|
}
|
|
|
- else if (station_3060.Data.PH_STATUS && station_3060.Data.GOODSEND == 3060 && station_3060.Data.TASKNUM > 10000)
|
|
|
- {
|
|
|
- if (station_3041.Data.PH_STATUS || station_3041.Data.TASKNUM > 10000) return;
|
|
|
- DB.Do(db =>
|
|
|
- {
|
|
|
- var task = db.Default.Set<WCS_TASK>().Find(station_3060.Data.TASKNUM);
|
|
|
- if (task == null)
|
|
|
- throw new Exception($"任务号{station_3060.Data.TASKNUM}不存在");
|
|
|
- task.ADDRNEXT = "3041";
|
|
|
- task.ADDRTO = "2017";
|
|
|
- task.UPDATETIME = DateTime.Now;
|
|
|
- db.Default.SaveChanges();
|
|
|
- });
|
|
|
- dev.Data2.TaskID_2 = station_3060.Data.TASKNUM;
|
|
|
- dev.Data2.StartPosition_2 = 3060;
|
|
|
- dev.Data2.DestPosition_2 = 3041;
|
|
|
- dev.Data2.Trigger_2 = 1;
|
|
|
- }
|
|
|
#endregion
|
|
|
}
|
|
|
}
|
|
@@ -855,10 +874,11 @@ namespace WCS.Service.Works
|
|
|
var inPos = Device.Find("3001", "3004", "3005", "3060").Select(v => v.Device<IStation521, IStation520>());
|
|
|
if (inPos.Any(v => v.Data2.CONFIRM == true || (v.Data.PH_STATUS && v.Data.TASKNUM > 0 && (v.Data.GOODSEND is 0 or 1 or 2 or 3 or 3060)))) doOut = false;
|
|
|
});
|
|
|
+ bool noPhstatus = Ltc.Do(dev, v => v.Data.PH_Status == false);
|
|
|
|
|
|
if (inPort.Any(v => v.Data.PH_STATUS && v.Data.TASKNUM > 0 && !station_3041.Data.PH_STATUS && station_3041.Data.TASKNUM == 0))
|
|
|
{
|
|
|
- if (station_3019.Data.PH_STATUS && station_3019.Data.TASKNUM > 0)
|
|
|
+ if (station_3019.Data.PH_STATUS && station_3019.Data.TASKNUM > 0 && noPhstatus)
|
|
|
{
|
|
|
if (station_3041.Data.PH_STATUS || station_3041.Data.TASKNUM > 10000) return;
|
|
|
DB.Do(db =>
|
|
@@ -870,12 +890,15 @@ namespace WCS.Service.Works
|
|
|
task.UPDATETIME = DateTime.Now;
|
|
|
db.Default.SaveChanges();
|
|
|
});
|
|
|
+
|
|
|
+ station_3019.Data2.GOODSEND = 3041;
|
|
|
+ station_3019.Data2.CONFIRM = true;
|
|
|
dev.Data2.TaskID = station_3019.Data.TASKNUM;
|
|
|
dev.Data2.StartPosition = 3019;
|
|
|
dev.Data2.DestPosition = 3041;
|
|
|
dev.Data2.Trigger = 1;
|
|
|
}
|
|
|
- else if (station_3033.Data.PH_STATUS && station_3033.Data.TASKNUM > 0)
|
|
|
+ else if (station_3033.Data.PH_STATUS && station_3033.Data.TASKNUM > 0 && noPhstatus)
|
|
|
{
|
|
|
if (station_3041.Data.PH_STATUS || station_3041.Data.TASKNUM > 10000) return;
|
|
|
DB.Do(db =>
|
|
@@ -887,6 +910,9 @@ namespace WCS.Service.Works
|
|
|
task.UPDATETIME = DateTime.Now;
|
|
|
db.Default.SaveChanges();
|
|
|
});
|
|
|
+
|
|
|
+ station_3033.Data2.GOODSEND = 3041;
|
|
|
+ station_3033.Data2.CONFIRM = true;
|
|
|
dev.Data2.TaskID = station_3033.Data.TASKNUM;
|
|
|
dev.Data2.StartPosition = 3033;
|
|
|
dev.Data2.DestPosition = 3041;
|
|
@@ -895,7 +921,7 @@ namespace WCS.Service.Works
|
|
|
}
|
|
|
else if (outPort.Any(v => v.Data.PH_STATUS && v.Data.TASKNUM > 0) && doOut && !station_3060.Data.PH_STATUS && station_3060.Data.TASKNUM == 0)
|
|
|
{
|
|
|
- if (station_3012.Data.PH_STATUS && station_3012.Data.TASKNUM > 0)
|
|
|
+ if (station_3012.Data.PH_STATUS && station_3012.Data.TASKNUM > 0 && noPhstatus)
|
|
|
{
|
|
|
if (station_3060.Data.PH_STATUS || station_3060.Data.TASKNUM > 10000) return;
|
|
|
var arr = Device.Find("3006", "3060", "3001", "3005", "3004").Select(v => v.Device<IStation521, IStation520>()).ToArray();
|
|
@@ -918,13 +944,13 @@ namespace WCS.Service.Works
|
|
|
station_3012.Data2.GOODSTYPE = 2;
|
|
|
station_3012.Data2.CONFIRM = true;
|
|
|
});
|
|
|
- }
|
|
|
+ }
|
|
|
dev.Data2.TaskID = station_3012.Data.TASKNUM;
|
|
|
dev.Data2.StartPosition = 3012;
|
|
|
dev.Data2.DestPosition = 3060;
|
|
|
dev.Data2.Trigger = 1;
|
|
|
}
|
|
|
- else if (station_3028.Data.PH_STATUS && station_3028.Data.TASKNUM > 0)
|
|
|
+ else if (station_3028.Data.PH_STATUS && station_3028.Data.TASKNUM > 0 && noPhstatus)
|
|
|
{
|
|
|
if (station_3060.Data.PH_STATUS || station_3060.Data.TASKNUM > 10000) return;
|
|
|
var arr = Device.Find("3006", "3060", "3001", "3005", "3004").Select(v => v.Device<IStation521, IStation520>()).ToArray();
|
|
@@ -973,7 +999,30 @@ namespace WCS.Service.Works
|
|
|
isOK = true;
|
|
|
}
|
|
|
});
|
|
|
- if (isOK && station_3040.Data.PH_STATUS && station_3040.Data.GOODSEND == 3040 && station_3040.Data.TASKNUM > 10000)
|
|
|
+
|
|
|
+ if (station_3060.Data.PH_STATUS && (station_3060.Data.GOODSEND == 3060 || station_3060.Data.GOODSEND == 3013)&& station_3060.Data.TASKNUM > 10000 && noPhstatus)
|
|
|
+ {
|
|
|
+ if (station_3041.Data.PH_STATUS || station_3041.Data.TASKNUM > 10000) return;
|
|
|
+ DB.Do(db =>
|
|
|
+ {
|
|
|
+ var task = db.Default.Set<WCS_TASK>().Find(station_3060.Data.TASKNUM);
|
|
|
+ if (task == null)
|
|
|
+ throw new Exception($"任务号{station_3060.Data.TASKNUM}不存在");
|
|
|
+ else if (task.TYPE == TaskType.出库 || station_3060.Data.GOODSTYPE == 2) return;
|
|
|
+ task.ADDRNEXT = "3041";
|
|
|
+ task.ADDRTO = "2017";
|
|
|
+ task.UPDATETIME = DateTime.Now;
|
|
|
+ db.Default.SaveChanges();
|
|
|
+ station_3060.Data2.GOODSEND = 3041;
|
|
|
+ station_3060.Data2.GOODSTYPE = 1;
|
|
|
+ station_3060.Data2.CONFIRM = true;
|
|
|
+ });
|
|
|
+ dev.Data2.TaskID = station_3060.Data.TASKNUM;
|
|
|
+ dev.Data2.StartPosition = 3060;
|
|
|
+ dev.Data2.DestPosition = 3041;
|
|
|
+ dev.Data2.Trigger = 1;
|
|
|
+ }
|
|
|
+ else if (isOK && station_3040.Data.PH_STATUS && station_3040.Data.TASKNUM > 10000 && noPhstatus)
|
|
|
{
|
|
|
short outTemp = 3060;
|
|
|
var arr = Device.Find("3006", "3060", "3001", "3005", "3004").Select(v => v.Device<IStation521, IStation520>()).ToArray();
|
|
@@ -1001,25 +1050,6 @@ namespace WCS.Service.Works
|
|
|
dev.Data2.Trigger = 1;
|
|
|
}
|
|
|
}
|
|
|
- else if (station_3060.Data.PH_STATUS && station_3060.Data.GOODSEND == 3060 && station_3060.Data.TASKNUM > 10000)
|
|
|
- {
|
|
|
- if (station_3041.Data.PH_STATUS || station_3041.Data.TASKNUM > 10000) return;
|
|
|
- DB.Do(db =>
|
|
|
- {
|
|
|
- var task = db.Default.Set<WCS_TASK>().Find(station_3060.Data.TASKNUM);
|
|
|
- if (task == null)
|
|
|
- throw new Exception($"任务号{station_3060.Data.TASKNUM}不存在");
|
|
|
- else if (task.TYPE == TaskType.出库 || station_3060.Data.GOODSTYPE == 2) return;
|
|
|
- task.ADDRNEXT = "3041";
|
|
|
- task.ADDRTO = "2017";
|
|
|
- task.UPDATETIME = DateTime.Now;
|
|
|
- db.Default.SaveChanges();
|
|
|
- });
|
|
|
- dev.Data2.TaskID = station_3060.Data.TASKNUM;
|
|
|
- dev.Data2.StartPosition = 3060;
|
|
|
- dev.Data2.DestPosition = 3041;
|
|
|
- dev.Data2.Trigger = 1;
|
|
|
- }
|
|
|
}
|
|
|
else if (SystemConfigHelpers.GetDeviceIsUsed("RGV8") && dev.Entity.CODE == "RGV8")
|
|
|
{
|
|
@@ -1058,10 +1088,11 @@ namespace WCS.Service.Works
|
|
|
var inPos = Device.Find("3001", "3004", "3005", "3060").Select(v => v.Device<IStation521, IStation520>());
|
|
|
if (inPos.Any(v => v.Data2.CONFIRM == true || (v.Data.PH_STATUS && v.Data.TASKNUM > 0 && (v.Data.GOODSEND is 0 or 1 or 2 or 3 or 3060)))) doOut = false;
|
|
|
});
|
|
|
+ bool noPhstatus = Ltc.Do(dev, v => v.Data.PH_Status == false);
|
|
|
|
|
|
if (inPort.Any(v => v.Data.PH_STATUS && v.Data.TASKNUM > 0 && !station_3041.Data.PH_STATUS && station_3041.Data.TASKNUM == 0))
|
|
|
{
|
|
|
- if (station_3019.Data.PH_STATUS && station_3019.Data.TASKNUM > 0)
|
|
|
+ if (station_3019.Data.PH_STATUS && station_3019.Data.TASKNUM > 0 && noPhstatus)
|
|
|
{
|
|
|
if (station_3041.Data.PH_STATUS || station_3041.Data.TASKNUM > 10000) return;
|
|
|
DB.Do(db =>
|
|
@@ -1073,12 +1104,14 @@ namespace WCS.Service.Works
|
|
|
task.UPDATETIME = DateTime.Now;
|
|
|
db.Default.SaveChanges();
|
|
|
});
|
|
|
+ station_3019.Data2.GOODSEND = 3041;
|
|
|
+ station_3019.Data2.CONFIRM = true;
|
|
|
dev.Data2.TaskID = station_3019.Data.TASKNUM;
|
|
|
dev.Data2.StartPosition = 3019;
|
|
|
dev.Data2.DestPosition = 3041;
|
|
|
dev.Data2.Trigger = 1;
|
|
|
}
|
|
|
- else if (station_3033.Data.PH_STATUS && station_3033.Data.TASKNUM > 0)
|
|
|
+ else if (station_3033.Data.PH_STATUS && station_3033.Data.TASKNUM > 0 && noPhstatus)
|
|
|
{
|
|
|
if (station_3041.Data.PH_STATUS || station_3041.Data.TASKNUM > 10000) return;
|
|
|
DB.Do(db =>
|
|
@@ -1090,6 +1123,8 @@ namespace WCS.Service.Works
|
|
|
task.UPDATETIME = DateTime.Now;
|
|
|
db.Default.SaveChanges();
|
|
|
});
|
|
|
+ station_3033.Data2.GOODSEND = 3041;
|
|
|
+ station_3033.Data2.CONFIRM = true;
|
|
|
dev.Data2.TaskID = station_3033.Data.TASKNUM;
|
|
|
dev.Data2.StartPosition = 3033;
|
|
|
dev.Data2.DestPosition = 3041;
|
|
@@ -1098,7 +1133,7 @@ namespace WCS.Service.Works
|
|
|
}
|
|
|
else if (outPort.Any(v => v.Data.PH_STATUS && v.Data.TASKNUM > 0 ) && doOut && !station_3060.Data.PH_STATUS && station_3060.Data.TASKNUM == 0)
|
|
|
{
|
|
|
- if (station_3012.Data.PH_STATUS && station_3012.Data.TASKNUM > 0)
|
|
|
+ if (station_3012.Data.PH_STATUS && station_3012.Data.TASKNUM > 0 && noPhstatus)
|
|
|
{
|
|
|
if (station_3060.Data.PH_STATUS || station_3060.Data.TASKNUM > 10000) return;
|
|
|
var arr = Device.Find("3006", "3060", "3001", "3005", "3004").Select(v => v.Device<IStation521, IStation520>()).ToArray();
|
|
@@ -1127,7 +1162,7 @@ namespace WCS.Service.Works
|
|
|
dev.Data2.DestPosition = 3060;
|
|
|
dev.Data2.Trigger = 1;
|
|
|
}
|
|
|
- else if (station_3028.Data.PH_STATUS && station_3028.Data.TASKNUM > 0)
|
|
|
+ else if (station_3028.Data.PH_STATUS && station_3028.Data.TASKNUM > 0 && noPhstatus)
|
|
|
{
|
|
|
if (station_3060.Data.PH_STATUS || station_3060.Data.TASKNUM > 10000) return;
|
|
|
var arr = Device.Find("3006", "3060", "3001", "3005", "3004").Select(v => v.Device<IStation521, IStation520>()).ToArray();
|
|
@@ -1138,9 +1173,9 @@ namespace WCS.Service.Works
|
|
|
if (arr.Any(v => !v.Data.PH_STATUS && v.Data.TASKNUM > 10000)) throw new Exception("有任务无光电,请检查光电是否异常");
|
|
|
DB.Do(db =>
|
|
|
{
|
|
|
- var task = db.Default.Set<WCS_TASK>().Find(station_3012.Data.TASKNUM);
|
|
|
+ var task = db.Default.Set<WCS_TASK>().Find(station_3028.Data.TASKNUM);
|
|
|
if (task == null)
|
|
|
- throw new Exception($"任务号{station_3012.Data.TASKNUM}不存在");
|
|
|
+ throw new Exception($"任务号{station_3028.Data.TASKNUM}不存在");
|
|
|
task.ADDRNEXT = "3060";
|
|
|
task.UPDATETIME = DateTime.Now;
|
|
|
db.Default.SaveChanges();
|
|
@@ -1178,7 +1213,30 @@ namespace WCS.Service.Works
|
|
|
});
|
|
|
|
|
|
|
|
|
- if (isOK && station_3040.Data.PH_STATUS && station_3040.Data.GOODSEND == 3040 && station_3040.Data.TASKNUM > 10000)
|
|
|
+
|
|
|
+ if (station_3060.Data.PH_STATUS && (station_3060.Data.GOODSEND == 3060 || station_3060.Data.GOODSEND == 3013) && station_3060.Data.TASKNUM > 10000 && noPhstatus)
|
|
|
+ {
|
|
|
+ if (station_3041.Data.PH_STATUS || station_3041.Data.TASKNUM > 10000) return;
|
|
|
+ DB.Do(db =>
|
|
|
+ {
|
|
|
+ var task = db.Default.Set<WCS_TASK>().Find(station_3060.Data.TASKNUM);
|
|
|
+ if (task == null)
|
|
|
+ throw new Exception($"任务号{station_3060.Data.TASKNUM}不存在");
|
|
|
+ else if (task.TYPE == TaskType.出库 || station_3060.Data.GOODSTYPE == 2) return;
|
|
|
+ task.ADDRNEXT = "3041";
|
|
|
+ task.ADDRTO = "2017";
|
|
|
+ task.UPDATETIME = DateTime.Now;
|
|
|
+ db.Default.SaveChanges();
|
|
|
+ });
|
|
|
+ station_3060.Data2.GOODSEND = 3041;
|
|
|
+ station_3060.Data2.GOODSTYPE = 1;
|
|
|
+ station_3060.Data2.CONFIRM = true;
|
|
|
+ dev.Data2.TaskID = station_3060.Data.TASKNUM;
|
|
|
+ dev.Data2.StartPosition = 3060;
|
|
|
+ dev.Data2.DestPosition = 3041;
|
|
|
+ dev.Data2.Trigger = 1;
|
|
|
+ }
|
|
|
+ else if (isOK && station_3040.Data.PH_STATUS && station_3040.Data.TASKNUM > 10000 && noPhstatus)
|
|
|
{
|
|
|
short outTemp = 3060;
|
|
|
var arr = Device.Find("3006", "3060", "3001", "3005", "3004").Select(v => v.Device<IStation521, IStation520>()).ToArray();
|
|
@@ -1206,25 +1264,6 @@ namespace WCS.Service.Works
|
|
|
dev.Data2.Trigger = 1;
|
|
|
}
|
|
|
}
|
|
|
- else if (station_3060.Data.PH_STATUS && station_3060.Data.GOODSEND == 3060 && station_3060.Data.TASKNUM > 10000)
|
|
|
- {
|
|
|
- if (station_3041.Data.PH_STATUS || station_3041.Data.TASKNUM > 10000) return;
|
|
|
- DB.Do(db =>
|
|
|
- {
|
|
|
- var task = db.Default.Set<WCS_TASK>().Find(station_3060.Data.TASKNUM);
|
|
|
- if (task == null)
|
|
|
- throw new Exception($"任务号{station_3060.Data.TASKNUM}不存在");
|
|
|
- else if (task.TYPE == TaskType.出库 || station_3060.Data.GOODSTYPE == 2) return;
|
|
|
- task.ADDRNEXT = "3041";
|
|
|
- task.ADDRTO = "2017";
|
|
|
- task.UPDATETIME = DateTime.Now;
|
|
|
- db.Default.SaveChanges();
|
|
|
- });
|
|
|
- dev.Data2.TaskID = station_3060.Data.TASKNUM;
|
|
|
- dev.Data2.StartPosition = 3060;
|
|
|
- dev.Data2.DestPosition = 3041;
|
|
|
- dev.Data2.Trigger = 1;
|
|
|
- }
|
|
|
}
|
|
|
}
|
|
|
protected override bool SelectDevice(WCS_DEVICE dev)
|