一楼出库工位处理系统.cs 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. using ServiceCenter.SqlSugars;
  2. using System.ComponentModel;
  3. using WCS.Core;
  4. using WCS.Entity;
  5. using WCS.WorkEngineering.Extensions;
  6. using WCS.WorkEngineering.WebApi.Controllers;
  7. using WCS.WorkEngineering.Worlds;
  8. using DeviceFlags = WCS.WorkEngineering.Extensions.DeviceFlags;
  9. namespace WCS.WorkEngineering.Systems
  10. {
  11. /// <summary>
  12. /// 出库站台交互
  13. /// </summary>
  14. [BelongTo(typeof(MainWorld))]
  15. [Description("一楼出库工位处理系统")]
  16. public class 一楼出库工位处理系统 : DeviceSystem<Station>
  17. {
  18. protected override bool ParallelDo => true;
  19. protected override bool SaveLogsToFile => true;
  20. public override void Do(Station obj)
  21. {
  22. if (!obj.Data3.Status.HasFlag(Entity.Protocol.Station.StatusEunm.PH_Status) && !obj.Data3.Status.HasFlag(Entity.Protocol.Station.StatusEunm.OT_Status))
  23. {
  24. var any = false;
  25. SqlSugarHelper.Do(db =>
  26. {
  27. any = db.Default.Queryable<WCS_TaskInfo>().Any(v => v.AddrTo == obj.Entity.Code && v.Status <= Entity.TaskStatus.AGVExecution);
  28. });
  29. if (!any) WmsApi.ApplyStockOutTask(obj.Entity.Code);
  30. }
  31. }
  32. public override bool Select(Device dev)
  33. {
  34. return dev.HasFlag(DeviceFlags.一楼出库口);
  35. }
  36. }
  37. }