林豪 左 3 ani în urmă
părinte
comite
a6cf0d606f

+ 9 - 3
Projects/永冠OPP/WCS.Service/Works/Station/涂布出库.cs

@@ -129,8 +129,13 @@ namespace WCS.Service.Works.Station
                             }
                             devs.Add(new FinishTaskList<string>(dev.Entity.CODE, dev.Entity.Create<StationDevice>()));
                         }
-                        //只能有一组任务的下一个地址是交货点
-                        if (db.Default.Set<WCS_TASK>().Any(v => v.ADDRNEXT == "G1")) return;
+                        var G1 = Device.Find("G1").Create<StationDeviceGroup>();
+                        //只能有一组任务的下一个地址是交货点同时,放货点必须无货
+                        if (db.Default.Set<WCS_TASK>().Any(v => v.ADDRNEXT == "G1") || 
+                            G1.Items.Any(v => v.Data3.Status.HasFlag(StationStatus.运行状态位)
+                                            || v.Data2.Status.HasFlag(IstationStatus.光电状态)
+                                            || v.Data2.Tasknum > 10000
+                                            || !v.Data3.Status.HasFlag(StationStatus.自动))) return;
                         foreach (var dev in devs)
                         {
                             var task = db.Default.Set<WCS_TASK>().FirstOrDefault(v => v.ID == dev.Station.Data2.Tasknum) ?? throw new WarnException("无任务");
@@ -370,10 +375,11 @@ namespace WCS.Service.Works.Station
                     {
                         var task = db.Default.Set<WCS_TASK>().Find(dev.Station.Data2.Tasknum);
                         if (task == null) throw new WarnException("WCS无该任务信息");
-
+                        task.ADDRNEXT = "G1340";
                         dev.Station.Data.GoodsSize = task.Length.ToShort();
                         dev.Station.Data.VoucherNo++;
                     }
+                    db.Default.SaveChanges();
                 });
             });
         }