xu.lu před 3 roky
rodič
revize
d35bcd56f2

+ 5 - 2
Projects/永冠OPP/WCS.Service/Works/Station/BOPP入库.cs

@@ -208,8 +208,11 @@ namespace WCS.Service.Works.Station
                         task.ADDRNEXT = tunnelInfo.taskIN.CODE;
                         task.TaskGroupKey = res.WMSTaskGroupKey;
                         task.ADDRTO = task.DEVICE;
-                        var msg = $"下达从G23移动至{dev.Data.Goodsend}的PLC指令。同时将任务分配至[{task.TUNNEL}]-[{task.DEVICE}]";
-                        msg += $"[{dev.Data.Tasknum}][G23][{dev.Data.Goodsend}][{tunnelInfo.SRM.Entity.CODE}][{dev.Data.VoucherNo}[{dev.Data2.VoucherNo}]";
+
+                        string from = "G";
+                        from = obj.Entity.CODE == "G23" ? "G23" : "G19";                       
+                        var msg = $"下达从{from}移动至{dev.Data.Goodsend}的PLC指令。同时将任务分配至[{task.TUNNEL}]-[{task.DEVICE}]";
+                        msg += $"[{dev.Data.Tasknum}][{from}][{dev.Data.Goodsend}][{tunnelInfo.SRM.Entity.CODE}][{dev.Data.VoucherNo}[{dev.Data2.VoucherNo}]";
                         task.CreateStatusLog(db, msg, this.GetType());
                         finishTaskList.Add(new FinishTaskList<int>(task.ID, item.Station));
                     }

+ 16 - 36
Projects/永冠OPP/WCS.Service/Works/Station/合流入库.cs

@@ -13,40 +13,16 @@ using WCS.Service.Log;
 
 namespace WCS.Service.Works.Station
 {
-    //[WorkTitle(typeof(ProductHandler), "合流入库")]
-    //internal class 合流入库 : DeviceWork<Device<IStation520, IStation521,IStation523>>
-    //{
-    //    protected override void Do(Device<IStation520, IStation521,IStation523> dev)
-    //    {
-    //        if (Ltc.Do(dev, v => v.Data2.VoucherNo != v.Data.VoucherNo)) throw new WarnException($"等待任务执行--凭证号不一致");
-    //        if (Ltc.Do(dev,v => v.Data3.Status.HasFlag(StationStatus.运行状态位))) throw new WarnException($"设备运行中");
-    //        if (Ltc.Do(dev, v => v.Data2.Status.HasFlag(IstationStatus.光电状态) == false)) return;
-    //        if (Ltc.Do(dev, v => v.Data2.Tasknum < 10000)) return;
-                   
-<<<<<<< HEAD
-    //        var bcr = dev.Entity.BCR();
-    //        var barcode = bcr.Content.Trim('\r');
-    //        if (barcode == "")                 
-    //        {
-    //            InfoLog.INFO_WarnDb($"{dev.Entity.CODE}--扫码失败,内容为空", dev.Entity.CODE, WCS_EXCEPTIONTYPE.设备异常);
-    //            return;
-    //        };
-    //        var res = WMS.GetSingleOrDouble(barcode,dev.Entity.CODE);
-    //        if (res == null) throw new WarnException($"{dev.Entity.CODE}: WMS未返回结果");
-    //        DB.Do(db =>
-    //        {
-    //            if (!db.Default.Set<WCS_TASK>().Any(v => v.ID == dev.Data2.Tasknum)) throw new Exception($"任务号不存在");
-    //            dev.Data.Tasknum = dev.Data2.Tasknum;
-    //            dev.Data.Goodscode = res.Root;
-    //            dev.Data.VoucherNo++;
-    //        });
-    //    }
-    //    protected override bool SelectDevice(WCS_DEVICE dev)
-    //    {
-    //        return new string[] { "3047","3163" }.Contains(dev.CODE);
-    //    }
-    //}
-=======
+    [WorkTitle(typeof(ProductHandler), "合流入库")]
+    internal class 合流入库 : DeviceWork<Device<IStation520, IStation521, IStation523>>
+    {
+        protected override void Do(Device<IStation520, IStation521, IStation523> dev)
+        {
+            if (Ltc.Do(dev, v => v.Data2.VoucherNo != v.Data.VoucherNo)) throw new WarnException($"等待任务执行--凭证号不一致");
+            if (Ltc.Do(dev, v => v.Data3.Status.HasFlag(StationStatus.运行状态位))) throw new WarnException($"设备运行中");
+            if (Ltc.Do(dev, v => v.Data2.Status.HasFlag(IstationStatus.光电状态) == false)) return;
+            if (Ltc.Do(dev, v => v.Data2.Tasknum < 10000)) return;
+
             var bcr = dev.Entity.BCR();
             var barcode = bcr.Content.Trim('\r');
             if (barcode == "")                 
@@ -58,9 +34,14 @@ namespace WCS.Service.Works.Station
             if (res == null) throw new WarnException($"{dev.Entity.CODE}: WMS未返回结果");
             DB.Do(db =>
             {
-                if (!db.Default.Set<WCS_TASK>().Any(v => v.ID == dev.Data2.Tasknum)) throw new Exception($"任务号不存在");
+                var task = db.Default.Set<WCS_TASK>().FirstOrDefault(v => v.ID == dev.Data2.Tasknum);
+                if(task == null) throw new Exception($"任务号不存在");
                 dev.Data.Tasknum = dev.Data2.Tasknum;
                 dev.Data.Goodsnum = res.Root.ToShort();
+                if (dev.Entity.CODE == "3163")
+                {
+                    dev.Data.Goodsend = Device.Find(task.ADDRNEXT).GetPath("SRM").CODE.ToShort();
+                }
                 dev.Data.VoucherNo++;
             });
         }
@@ -69,5 +50,4 @@ namespace WCS.Service.Works.Station
             return new string[] { "3047","3163" }.Contains(dev.CODE);
         }
     }
->>>>>>> 连廊赶车逻辑、合流
 }