林豪 左 3 سال پیش
والد
کامیت
c722902d7a
1فایلهای تغییر یافته به همراه10 افزوده شده و 7 حذف شده
  1. 10 7
      Projects/永冠OPP/WCS.Service/Works/Station/涂布入库.cs

+ 10 - 7
Projects/永冠OPP/WCS.Service/Works/Station/涂布入库.cs

@@ -33,7 +33,7 @@ namespace WCS.Service.Works.Station
                 {
                     //找到所有的AGV任务
                     var agvTasks = db.Default.Set<WCS_AGVTask>().Where(v => v.TaskType == AGVTaskType.入库)
-                    .Where(v => v.Status < AGVTaskStatus.完成).ToArray();
+                    .Where(v => v.Status < AGVTaskStatus.完成).OrderByDescending(v => v.Status).ThenBy(v => v.CreateTime).ToArray();
 
                     foreach (var tasking in agvTasks)
                     {
@@ -57,6 +57,8 @@ namespace WCS.Service.Works.Station
 
                             tasking.Status = AGVTaskStatus.执行;
                             tasking.UpdateTime = DateTime.Now;
+                            db.Default.SaveChanges();
+                            return;
                         }
                         //agv到达指定位置给确认后分配站台
                         else if (tasking.Status == AGVTaskStatus.执行 && tasking.AGVStatus == AGVTaskStatus.确认 && string.IsNullOrEmpty(tasking.Station))
@@ -161,6 +163,7 @@ namespace WCS.Service.Works.Station
                                 tasking.Status = tasking.AGVStatus;
                                 tasking.UpdateTime = DateTime.Now;
                                 db.Default.SaveChanges();
+                                return;
                             }
                             else if (tasking.AGVStatus == AGVTaskStatus.取放完成)
                             {
@@ -180,12 +183,11 @@ namespace WCS.Service.Works.Station
                                 db.Default.SaveChanges();
                                 foreach (var dev in stationDeviceGroup.Items)
                                 {
-                                    if (dev.Data2.Status.HasFlag(IstationStatus.光电状态))
-                                    {
-                                        dev.Data.Goodsnum = (short)tasking.Goodsnum;
-                                        dev.Data.Istation521Status = IstationStatus.AGV放货完成信号;
-                                    }
+                                    if (!dev.Data2.Status.HasFlag(IstationStatus.光电状态)) continue;
+                                    dev.Data.Goodsnum = (short)tasking.Goodsnum;
+                                    dev.Data.Istation521Status = IstationStatus.AGV放货完成信号;
                                 }
+                                return;
                             }
                             else if (Ltc.Do(tasking, v => v.AGVStatus == AGVTaskStatus.完成))
                             {
@@ -197,16 +199,17 @@ namespace WCS.Service.Works.Station
                                 {
                                     dev.Data.Goodscode = tasking.ID;
                                 }
+                                return;
                             }
                             else if (Ltc.Do(tasking, v => v.AGVStatus == AGVTaskStatus.取消))
                             {
                                 tasking.Status = tasking.AGVStatus;
                                 tasking.UpdateTime = DateTime.Now;
                                 db.Default.SaveChanges();
+                                return;
                             }
                         }
                     }
-                    db.Default.SaveChanges();
                 });
 
                 #endregion 处理新增AGV任务