using ServiceCenter.SqlSugars; using System.ComponentModel; using WCS.Core; using WCS.Entity; using WCS.WorkEngineering.Extensions; using WCS.WorkEngineering.WebApi.Controllers; using WCS.WorkEngineering.Worlds; using DeviceFlags = WCS.WorkEngineering.Extensions.DeviceFlags; namespace WCS.WorkEngineering.Systems { /// /// 出库站台交互 /// [BelongTo(typeof(MainWorld))] [Description("一楼出库工位处理系统")] public class 一楼出库工位处理系统 : DeviceSystem { protected override bool ParallelDo => true; protected override bool SaveLogsToFile => true; public override void Do(Station obj) { if (!obj.Data3.Status.HasFlag(Entity.Protocol.Station.StatusEunm.PH_Status) && !obj.Data3.Status.HasFlag(Entity.Protocol.Station.StatusEunm.OT_Status)) { var any = false; SqlSugarHelper.Do(db => { any = db.Default.Queryable().Any(v => v.AddrTo == obj.Entity.Code && v.Status < Entity.TaskStatus.AGVExecution); }); if (!any) WmsApi.ApplyStockOutTask(obj.Entity.Code); } } public override bool Select(Device dev) { return dev.HasFlag(DeviceFlags.一楼出库口); } } }