|
@@ -9,6 +9,7 @@ using WCS.WorkEngineering.Extensions;
|
|
|
using WCS.WorkEngineering.WebApi.Controllers;
|
|
|
using WCS.WorkEngineering.Worlds;
|
|
|
using DeviceFlags = WCS.WorkEngineering.Extensions.DeviceFlags;
|
|
|
+using TaskStatus = WCS.Entity.TaskStatus;
|
|
|
|
|
|
namespace WCS.WorkEngineering.Systems
|
|
|
{
|
|
@@ -46,21 +47,16 @@ namespace WCS.WorkEngineering.Systems
|
|
|
{
|
|
|
if (obj.Entity.Code == "1025" || obj.Entity.Code == "1023")
|
|
|
{
|
|
|
- var taskInfo = db.Default.Queryable<WCS_TaskInfo>().First(v => (v.SrmStation == obj.Entity.Code && v.Device == "SRM3") || (v.SrmStation == obj.Entity.Code && v.Device == "SRM2") && v.Type == TaskType.EmptyInit && v.Status == Entity.TaskStatus.WaitingToExecute);
|
|
|
+ var taskInfos = db.Default.Queryable<WCS_TaskInfo>().Where(v => v.Type == TaskType.EmptyInit && v.Status == TaskStatus.WaitingToExecute);
|
|
|
+ var taskInfo = taskInfos.First(v => v.SrmStation == obj.Entity.Code) ?? throw new KnownException($"未找到对应的任务", LogLevelEnum.Mid);
|
|
|
if (taskInfo != null)
|
|
|
{
|
|
|
task = taskInfo;
|
|
|
- if (task.Type != TaskType.EmptyInit && task.Status != Entity.TaskStatus.WaitingToExecute) throw new KnownException($"任务:{task.ID}状态不是AGV执行中,请检查异常原因", LogLevelEnum.High);
|
|
|
+ if (task.Type == TaskType.EmptyInit && task.Status == Entity.TaskStatus.WaitingToExecute) throw new KnownException($"任务:{task.ID}不是待执行状态,请检查异常原因", LogLevelEnum.High);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- if (task == null)
|
|
|
- {
|
|
|
- //跟据RFID获取对应的任务
|
|
|
- task = db.Default.Queryable<WCS_TaskInfo>().First(v => v.BarCode == obj.Entity.Code) ?? throw new KnownException($"未找到任务号:{obj.Entity.Code}对应WCS任务", LogLevelEnum.High);
|
|
|
- if (task.Status != Entity.TaskStatus.AGVExecution) throw new KnownException($"任务:{task.ID}状态不是AGV执行中,请检查异常原因", LogLevelEnum.High);
|
|
|
- }
|
|
|
-
|
|
|
+ if (task == null) return;
|
|
|
if (task.Status == Entity.TaskStatus.ConveyorExecution) return;
|
|
|
|
|
|
if (obj.Entity.Code == "1025")
|
|
@@ -72,9 +68,8 @@ namespace WCS.WorkEngineering.Systems
|
|
|
}
|
|
|
|
|
|
task.Status = Entity.TaskStatus.ConveyorExecution;
|
|
|
- db.Default.Updateable(task).AddQueue();
|
|
|
+ db.Default.Updateable(task).ExecuteCommand();
|
|
|
task.AddWCS_TASK_DTL(db, obj.Entity.Code, "SRM", $"状态更新为{Entity.TaskStatus.ConveyorExecution},等待分配货位后堆垛机进行取货");
|
|
|
- db.Default.SaveQueues();
|
|
|
});
|
|
|
if (task == null) throw new KnownException("数据更新错误", LogLevelEnum.High);
|
|
|
obj.Data.TaskNumber = task.ID;
|