|
@@ -470,6 +470,7 @@ namespace WCS.Service.Works.Station
|
|
|
tasking.Status = AGVTaskStatus.确认;
|
|
|
tasking.UpdateTime = DateTime.Now;
|
|
|
db.Default.SaveChanges();
|
|
|
+ tasking.AGVStatusChange(AGVTaskStatus.确认, "变更");
|
|
|
});
|
|
|
return;
|
|
|
}
|
|
@@ -478,12 +479,14 @@ namespace WCS.Service.Works.Station
|
|
|
tasking.Status = tasking.AGVStatus;
|
|
|
tasking.UpdateTime = DateTime.Now;
|
|
|
db.Default.SaveChanges();
|
|
|
+ tasking.AGVStatusChange(tasking.AGVStatus);
|
|
|
}
|
|
|
else if (tasking.AGVStatus == AGVTaskStatus.取消)
|
|
|
{
|
|
|
tasking.Status = tasking.AGVStatus;
|
|
|
tasking.UpdateTime = DateTime.Now;
|
|
|
db.Default.SaveChanges();
|
|
|
+ tasking.AGVStatusChange(tasking.AGVStatus);
|
|
|
}
|
|
|
}
|
|
|
});
|
|
@@ -500,7 +503,7 @@ namespace WCS.Service.Works.Station
|
|
|
DB.Do(db =>
|
|
|
{
|
|
|
var taskList = db.Default.Set<WCS_TASK>().Where(v => taskIds.Contains(v.ID));
|
|
|
- if (taskList.Count() == 0) return;
|
|
|
+ if (!taskList.Any()) return;
|
|
|
if (taskList == null) throw new WarnException($"WCS任务号{JsonConvert.SerializeObject(taskIds)}不存在");
|
|
|
if (taskList.Any(v => v.TYPE != TaskType.出库)) throw new WarnException("有任务的类型不是出库");
|
|
|
if (taskList.Any(v => v.AgvTask == 0)) throw new WarnException("人工出库任务,请手动搬走");
|
|
@@ -512,8 +515,8 @@ namespace WCS.Service.Works.Station
|
|
|
if (agvtask.Status == AGVTaskStatus.确认)
|
|
|
{
|
|
|
if (!stationDeviceGroup.Items.Any(v => v.Data3.Status.HasFlag(StationStatus.高位))) throw new WarnException("不在高位");
|
|
|
- var flag = db.Default.Set<WCS_AGVTask>().Where(v => v.TaskType == AGVTaskType.叫料)
|
|
|
- .Where(v => v.Status > AGVTaskStatus.确认 && v.Status < AGVTaskStatus.取放完成).Count();
|
|
|
+ var flag = db.Default.Set<WCS_AGVTask>()
|
|
|
+ .Where(v => v.TaskType == AGVTaskType.叫料).Count(v => v.Status > AGVTaskStatus.确认 && v.Status < AGVTaskStatus.取放完成);
|
|
|
if (flag >= 2) throw new Exception("有2未完成的AGV出库任务");
|
|
|
|
|
|
taskList.ToList().ForEach(task =>
|
|
@@ -527,6 +530,7 @@ namespace WCS.Service.Works.Station
|
|
|
agvtask.Status = AGVTaskStatus.执行;
|
|
|
agvtask.UpdateTime = DateTime.Now;
|
|
|
db.Default.SaveChanges();
|
|
|
+ agvtask.AGVStatusChange(AGVTaskStatus.执行, "变更");
|
|
|
}
|
|
|
else if (agvtask.Status < agvtask.AGVStatus)
|
|
|
{
|
|
@@ -540,6 +544,7 @@ namespace WCS.Service.Works.Station
|
|
|
agvtask.Status = agvtask.AGVStatus;
|
|
|
agvtask.UpdateTime = DateTime.Now;
|
|
|
db.Default.SaveChanges();
|
|
|
+ agvtask.AGVStatusChange(agvtask.AGVStatus);
|
|
|
}
|
|
|
else if (agvtask.AGVStatus == AGVTaskStatus.取放完成)
|
|
|
{
|
|
@@ -550,6 +555,7 @@ namespace WCS.Service.Works.Station
|
|
|
agvtask.Status = agvtask.AGVStatus;
|
|
|
agvtask.UpdateTime = DateTime.Now;
|
|
|
db.Default.SaveChanges();
|
|
|
+ agvtask.AGVStatusChange(agvtask.AGVStatus);
|
|
|
|
|
|
foreach (var dev in stationDeviceGroup.Items)
|
|
|
{
|