|
@@ -50,12 +50,13 @@ namespace WCS.WorkEngineering.Systems
|
|
|
});
|
|
|
if (taskInfos.Any())
|
|
|
{
|
|
|
- foreach (var task in taskInfos)
|
|
|
+ foreach (var item in taskInfos)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
SqlSugarHelper.Do(db =>
|
|
|
{
|
|
|
+ var task = db.Default.Queryable<WCS_TaskInfo>().Where(t => t.ID == item.ID).First() ?? throw new Exception($"未找到对应的WCS任务[{item.ID}]");
|
|
|
if (task.Type == TaskType.EnterDepot)
|
|
|
{
|
|
|
//创建AGV任务
|
|
@@ -165,14 +166,15 @@ namespace WCS.WorkEngineering.Systems
|
|
|
|
|
|
if (agvTaskInfos.Any())
|
|
|
{
|
|
|
- foreach (var agv in agvTaskInfos)
|
|
|
+ foreach (var item in agvTaskInfos)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
SqlSugarHelper.Do(db =>
|
|
|
{
|
|
|
+ var agv = db.Default.Queryable<WCS_AgvTaskInfo>().Where(t => t.ID == item.ID).SplitTable(v => v.Take(2)).First() ?? throw new Exception($"未找到对应的AGV任务:{item.ID}");
|
|
|
//获取对应wcs任务
|
|
|
- var wcs = db.Default.Queryable<WCS_TaskInfo>().Where(t => t.AgvTaskID == agv.ID && t.Status == Entity.TaskStatus.WaitingToExecute).First();
|
|
|
+ var wcs = db.Default.Queryable<WCS_TaskInfo>().Where(t => t.AgvTaskID == agv.ID && t.Status == Entity.TaskStatus.WaitingToExecute).First() ?? throw new Exception($"AGV任务[{item.ID}]未找到对应的WCS任务");
|
|
|
|
|
|
switch (wcs.Floor)
|
|
|
{
|
|
@@ -222,15 +224,16 @@ namespace WCS.WorkEngineering.Systems
|
|
|
|
|
|
if (agvTaskInfos1.Any())
|
|
|
{
|
|
|
- foreach (var agv in agvTaskInfos1)
|
|
|
+ foreach (var item in agvTaskInfos1)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
GenAgvSchedulingTaskResponse res = new GenAgvSchedulingTaskResponse();
|
|
|
SqlSugarHelper.Do(db =>
|
|
|
{
|
|
|
+ var agv = db.Default.Queryable<WCS_AgvTaskInfo>().Where(t => t.ID == item.ID).SplitTable(v => v.Take(2)).First() ?? throw new Exception($"未找到对应的AGV任务:{item.ID}");
|
|
|
//获取对应wcs任务
|
|
|
- var wcs = db.Default.Queryable<WCS_TaskInfo>().Where(t => t.AgvTaskID == agv.ID && t.Status == Entity.TaskStatus.WaitingToExecute).First();
|
|
|
+ var wcs = db.Default.Queryable<WCS_TaskInfo>().Where(t => t.AgvTaskID == agv.ID && t.Status == Entity.TaskStatus.WaitingToExecute).First() ?? throw new Exception($"AGV任务[{item.ID}]未找到对应的WCS任务");
|
|
|
//下发AGV任务
|
|
|
res = AgvApi.机台补空(agv.Station, Guid.NewGuid().ToString().Replace("-", ""), "1");
|
|
|
agv.Status = AGVTaskStatus.Confirm;
|