|
|
@@ -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);
|
|
|
}
|
|
|
}
|
|
|
->>>>>>> 连廊赶车逻辑、合流
|
|
|
}
|