12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- using DBHelper;
- using System;
- using System.Linq;
- using WCS.Core;
- using WCS.Entity;
- using WCS.Entity.Protocol;
- namespace WCS.Service.Works.Stations
- {
- [WorkTitle(typeof(ProductHandler), "原膜入库", true)]
- internal class 原膜入库 : DeviceWork<Device<IStation521, IStation520>>
- {
- protected override bool SelectDevice(WCS_DEVICE dev)
- {
- return dev.CODE == "2281" || dev.CODE == "2282";
- }
- protected override void Do(Device<IStation521, IStation520> dev)
- {
- if (Ltc.Do(dev, v => v.Data2.CONFIRM == true))
- return;
- if (Ltc.Do(dev, v => !v.Data.REQUEST))
- return;
- //穿梭机 2281/2282
- if (Ltc.Do(dev, shuttle => shuttle.Data.PH_STATUS == false))
- return;
- if (Ltc.Do(dev, shuttle => shuttle.Data.TASKNUM > 10000))
- return;
- DB.Do(db =>
- {
- var task = db.Default.Set<WCS_TASK>().Where(v => v.ADDRFROM == dev.Entity.CODE && v.STATUS == WCS.Entity.TaskStatus.新建 && v.TYPE == TaskType.入库).FirstOrDefault();
- if (task == null)
- {
- throw new Exception("未创建入库任务");
- }
- task.STATUS = WCS.Entity.TaskStatus.执行中;
- task.ADDRTO = dev.Entity.CODE;
- task.STARTTIME = DateTime.Now;
- task.UPDATETIME = DateTime.Now;
- task.UPDATEUSER = "WCS";
- task.ADDRNEXT = dev.Entity.CODE;
- db.Default.SaveChanges();
- dev.Data2.GOODSEND = dev.Entity.Code();
- dev.Data2.TASKNUM = task.ID;
- dev.Data2.CONFIRM = true;
- });
- }
- }
- }
|