|
@@ -40,16 +40,16 @@ namespace WCS.WorkEngineering.WebApi.Controllers
|
|
|
//取消任务
|
|
|
if (req.Type == HandleTaskTypeEnum.取消任务)
|
|
|
{
|
|
|
- foreach (var item in req.TaskIds)
|
|
|
+ SqlSugarHelper.Do(db =>
|
|
|
{
|
|
|
- SqlSugarHelper.Do(db =>
|
|
|
+ foreach (var item in req.TaskIds)
|
|
|
{
|
|
|
var task = db.Default.Queryable<WCS_TaskInfo>().Where(t => t.ID == item).First();
|
|
|
if (task != null)
|
|
|
{
|
|
|
//验证wms是否能取消
|
|
|
SRes res = HandleTaskVerify(response, item, 106);
|
|
|
- if (res == null) return;
|
|
|
+ if (res == null) continue;
|
|
|
|
|
|
switch (task.Type)
|
|
|
{
|
|
@@ -62,7 +62,7 @@ namespace WCS.WorkEngineering.WebApi.Controllers
|
|
|
TaskNo = item,
|
|
|
Message = $"只能取消待执行状态组盘任务",
|
|
|
});
|
|
|
- return;
|
|
|
+ continue;
|
|
|
}
|
|
|
break;
|
|
|
|
|
@@ -75,7 +75,7 @@ namespace WCS.WorkEngineering.WebApi.Controllers
|
|
|
TaskNo = item,
|
|
|
Message = $"只能取消待执行状态入库任务",
|
|
|
});
|
|
|
- return;
|
|
|
+ continue;
|
|
|
}
|
|
|
break;
|
|
|
|
|
@@ -88,7 +88,7 @@ namespace WCS.WorkEngineering.WebApi.Controllers
|
|
|
TaskNo = item,
|
|
|
Message = $"只能取消待执行状态出库任务",
|
|
|
});
|
|
|
- return;
|
|
|
+ continue;
|
|
|
}
|
|
|
|
|
|
break;
|
|
@@ -102,7 +102,7 @@ namespace WCS.WorkEngineering.WebApi.Controllers
|
|
|
TaskNo = item,
|
|
|
Message = $"无法取消{task.Status.GetDescription()}的移库任务,只能取消新建/待执行的移库任务",
|
|
|
});
|
|
|
- return;
|
|
|
+ continue;
|
|
|
}
|
|
|
break;
|
|
|
|
|
@@ -119,43 +119,29 @@ namespace WCS.WorkEngineering.WebApi.Controllers
|
|
|
TaskNo = item,
|
|
|
Message = $"只能取消待执行状态空轮初始化任务",
|
|
|
});
|
|
|
- return;
|
|
|
+ continue;
|
|
|
}
|
|
|
break;
|
|
|
}
|
|
|
|
|
|
SRes cancelRes = CarryTaskInfo(response, item, 106);
|
|
|
- if (cancelRes == null) return;
|
|
|
- ////取消任务
|
|
|
- //try
|
|
|
- //{
|
|
|
- // cancelRes = WmsApi.CarryTaskInfo(new List<int>() { task.ID }, 106);
|
|
|
- //}
|
|
|
- //catch (Exception ex)
|
|
|
- //{
|
|
|
- // response.ResDataList.Add(new HandleTaskResponse()
|
|
|
- // {
|
|
|
- // IsSuccess = false,
|
|
|
- // TaskNo = item,
|
|
|
- // Message = ex.Message,
|
|
|
- // });
|
|
|
- // return;
|
|
|
- //}
|
|
|
+ if (cancelRes == null) continue;
|
|
|
+
|
|
|
//找到对应的AGV任务
|
|
|
var agv = db.Default.Queryable<WCS_AgvTaskInfo>().Where(v => v.ID == task.AgvTaskID).SplitTable(v => v.Take(2)).First();
|
|
|
if (agv != null)
|
|
|
{
|
|
|
var cancelTaskUpdateRes = AgvApi.CancelAgvTask(agv.ID.ToString());
|
|
|
- //if (cancelTaskUpdateRes == null)
|
|
|
- //{
|
|
|
- // response.ResDataList.Add(new HandleTaskResponse()
|
|
|
- // {
|
|
|
- // IsSuccess = false,
|
|
|
- // TaskNo = item,
|
|
|
- // Message = ex.Message,
|
|
|
- // });
|
|
|
- // return;
|
|
|
- //}
|
|
|
+ if (cancelTaskUpdateRes == null)
|
|
|
+ {
|
|
|
+ response.ResDataList.Add(new HandleTaskResponse()
|
|
|
+ {
|
|
|
+ IsSuccess = false,
|
|
|
+ TaskNo = item,
|
|
|
+ Message = ex.Message,
|
|
|
+ });
|
|
|
+ return;
|
|
|
+ }
|
|
|
agv.Status = AGVTaskStatus.Cancel;
|
|
|
agv.AgvStatus = AGVTaskStatus.Cancel;
|
|
|
db.Default.Updateable(agv).SplitTable().ExecuteCommand();
|
|
@@ -178,8 +164,10 @@ namespace WCS.WorkEngineering.WebApi.Controllers
|
|
|
Message = $"未找到对应任务{item}"
|
|
|
});
|
|
|
}
|
|
|
- });
|
|
|
- }
|
|
|
+
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
}
|
|
|
// 完成任务
|
|
|
else if (req.Type == HandleTaskTypeEnum.完成任务)
|
|
@@ -194,7 +182,7 @@ namespace WCS.WorkEngineering.WebApi.Controllers
|
|
|
if (task.Type == TaskType.OutDepot)
|
|
|
{
|
|
|
SRes res = HandleTaskVerify(response, item, 99);
|
|
|
- if (res == null) return;
|
|
|
+ if (res == null) continue;
|
|
|
|
|
|
switch (task.Type)
|
|
|
{
|
|
@@ -207,13 +195,13 @@ namespace WCS.WorkEngineering.WebApi.Controllers
|
|
|
TaskNo = item,
|
|
|
Message = $"只能完成未完成状态的任务",
|
|
|
});
|
|
|
- return;
|
|
|
+ continue;
|
|
|
}
|
|
|
break;
|
|
|
}
|
|
|
|
|
|
SRes cancelRes = CarryTaskInfo(response, item, 99);
|
|
|
- if (cancelRes == null) return;
|
|
|
+ if (cancelRes == null) continue;
|
|
|
|
|
|
//找到对应的AGV任务
|
|
|
var agv = db.Default.Queryable<WCS_AgvTaskInfo>().Where(v => v.ID == task.AgvTaskID).SplitTable(v => v.Take(2)).First();
|
|
@@ -262,6 +250,7 @@ namespace WCS.WorkEngineering.WebApi.Controllers
|
|
|
TaskNo = item,
|
|
|
Message = $"组盘任务无AGV执行流程",
|
|
|
});
|
|
|
+ continue;
|
|
|
}
|
|
|
else if (task.Type == TaskType.EnterDepot) //入库任务
|
|
|
{
|
|
@@ -276,6 +265,7 @@ namespace WCS.WorkEngineering.WebApi.Controllers
|
|
|
TaskNo = item,
|
|
|
Message = $"二楼入库任务重新下发AGV未实现",
|
|
|
});
|
|
|
+ continue;
|
|
|
}
|
|
|
}
|
|
|
else if (task.Type == TaskType.OutDepot) //出库
|
|
@@ -289,6 +279,7 @@ namespace WCS.WorkEngineering.WebApi.Controllers
|
|
|
TaskNo = item,
|
|
|
Message = $"组盘任务无AGV执行流程",
|
|
|
});
|
|
|
+ continue;
|
|
|
}
|
|
|
else if (task.Type == TaskType.Delivery) //搬运
|
|
|
{
|
|
@@ -303,6 +294,7 @@ namespace WCS.WorkEngineering.WebApi.Controllers
|
|
|
TaskNo = item,
|
|
|
Message = $"二楼搬运任务重新下发AGV未实现",
|
|
|
});
|
|
|
+ continue;
|
|
|
}
|
|
|
}
|
|
|
else if (task.Type == TaskType.EmptyInit) //空轮初始化
|
|
@@ -313,6 +305,7 @@ namespace WCS.WorkEngineering.WebApi.Controllers
|
|
|
TaskNo = item,
|
|
|
Message = $"空轮初始化无AGV执行流程",
|
|
|
});
|
|
|
+ continue;
|
|
|
}
|
|
|
|
|
|
//找到对应的AGV任务
|
|
@@ -397,7 +390,7 @@ namespace WCS.WorkEngineering.WebApi.Controllers
|
|
|
{
|
|
|
IsSuccess = false,
|
|
|
TaskNo = id,
|
|
|
- Message = ex.Message,
|
|
|
+ Message = $"WMS",
|
|
|
});
|
|
|
return null;
|
|
|
}
|