林豪 左 2 years ago
parent
commit
fa05446106
1 changed files with 6 additions and 11 deletions
  1. 6 11
      WCS.WorkEngineering/Systems/二楼入库工位处理系统.cs

+ 6 - 11
WCS.WorkEngineering/Systems/二楼入库工位处理系统.cs

@@ -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;