123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- using DBHelper;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using WCS.Core;
- using WCS.Entity;
- using WCS.Entity.Protocol;
- namespace WCS.Service.Works.Stations
- {
- [WorkTitle(typeof(ProductHandler), "_2397入库交管", true)]
- public class _2397入库交管 : DeviceWork<Device<IStation521, IStation520>>
- {
- 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.TASKNUM == 0))
- return;
- if (Ltc.Do(dev, v => v.Data.PH_STATUS == false))
- return;
- if (Ltc.Do(dev, v => v.Data.GOODSEND == 2017))
- return;
-
- DB.Do(db =>
- {
- var task = db.Default.Set<WCS_TASK>().Find(dev.Data.TASKNUM);
-
- if (task.TYPE == TaskType.入库 && task.ADDRFROM == "3001")
- {
- var addrTo = "2017";
- int count = Device.Find("2071", "2072", "2073", "2074", "2075", "2076", "2077", "2078", "2079", "2017","2355","2353","2019","2022","2024","2029","2031","2036","2037","2039","2044","2046","2051","2053","2058")
- .Select(v => v.Device<IStation521, IStation520>())
- .Where(v=>v.Data.TASKNUM>10000).Count();
- if (count > 8) throw new Exception($"交通管制,有正在执行的入库任务");
- task.ADDRNEXT = addrTo;
- task.UPDATETIME = DateTime.Now;
- db.Default.SaveChanges();
- dev.Data2.GOODSEND = 2017;
- dev.Data2.TASKNUM = task.ID;
- dev.Data2.CONFIRM = true;
- }
- });
- }
- protected override bool SelectDevice(WCS_DEVICE dev)
- {
- return new string[] { "2397" }.Contains(dev.CODE);
- }
- }
- }
|