| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- using ServiceCenter.Logs;
- using ServiceCenter.SqlSugars;
- using SqlSugar;
- using System.ComponentModel;
- using WCS.Core;
- using WCS.Entity;
- using WCS.Entity.Protocol.BCR;
- using WCS.Entity.Protocol.Station;
- using WCS.WorkEngineering.Extensions;
- //using WCS.WorkEngineering.WebApi.Controllers;
- //using WCS.WorkEngineering.WebApi.Models.WMS.Request;
- using WCS.WorkEngineering.Worlds;
- using wms.util;
- using DeviceFlags = WCS.WorkEngineering.Extensions.DeviceFlags;
- namespace WCS.WorkEngineering.Systems
- {
- /// <summary>
- /// 单轮子入库提升
- /// </summary>
- [BelongTo(typeof(MainWorld))]
- [Description("入库提升")]
- public class 入库提升 : DeviceSystem<Device<IStation520, IStation521, IStation523>>
- {
- protected override bool ParallelDo => false;
- public override void Do(Device<IStation520, IStation521, IStation523> obj)
- {
- if (obj.Data2.TaskNumber == 0)
- return;
- if (obj.Data3.Status.HasFlag(StationStatus.高位))
- obj.Data.CmdType = 0;
- if (obj.Data.VoucherNo != obj.Data2.VoucherNo)
- return;
- if (!obj.Data3.Status.HasFlag(StationStatus.中位))
- return;
- if (obj.Data3.Status.HasFlag(StationStatus.上升_右转_伸出))
- return;
- if (obj.Data3.Status.HasFlag(StationStatus.下降_左转_缩回))
- return;
- var tunnel = obj.Entity.GetFlag("Tunnel");
- var floor = short.Parse(obj.Entity.GetFlag("Floor"));
- SqlSugarHelper.Do(db =>
- {
- var qty = db.Default.Queryable<WCS_TaskInfo>()
- //.Where(v => v.Tunnel == tunnel)
- .Where(v => v.Floor == floor)
- .Where(v => v.Type == TaskType.EnterDepot)
- .Where(v => v.Status<= Entity.TaskStatus.巷道分配 && v.Status > Entity.TaskStatus.NewBuild)
- .Where(v => v.ID != obj.Data2.TaskNumber).Count();
- if (qty == 0)
- {
- obj.Data.CmdType = StationCmd.Res7;
- obj.Data.VoucherNo++;
- }
- });
- }
- public override bool Select(Device dev)
- {
- return dev.HasFlag("位置", "顶升");// && dev.GetFlag("Floor") == "1";
- }
- }
- }
|