1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- using ServiceCenter.Extensions;
- using ServiceCenter.Logs;
- using ServiceCenter.SqlSugars;
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using WCS.Core;
- using WCS.Entity;
- using WCS.WorkEngineering.Extensions;
- using WCS.WorkEngineering.Protocol.BCR;
- using WCS.WorkEngineering.Protocol.SRM;
- using WCS.WorkEngineering.Protocol.Station;
- using WCS.WorkEngineering.WebApi.Controllers;
- using WCS.WorkEngineering.Worlds;
- using static System.Runtime.InteropServices.JavaScript.JSType;
- 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 => true;
- protected override bool SaveLogsToFile => true;
- private List<Station> devs = new List<Station>();
- private List<SRM> srms = new List<SRM>();
- public override void Do(Device<IStation520, IStation521, IStation523> obj)
- {
-
- World.Log($"设备号{obj.Entity.Code}PH_Status{obj.Data3.Status.HasFlag(StationStatus.PH_Status)}-Run{obj.Data3.Status.HasFlag(StationStatus.Run)}-OT_Status{obj.Data3.Status.HasFlag(StationStatus.OT_Status)}-UnassignedTask{obj.Data3.Status.HasFlag(StationStatus.UnassignedTask)}-Auto{obj.Data3.Status.HasFlag(StationStatus.Auto)}");
-
- if (!obj.Data3.Status.HasFlag(StationStatus.PH_Status) //无光电
- && !obj.Data3.Status.HasFlag(StationStatus.Run) //未运行
- && !obj.Data3.Status.HasFlag(StationStatus.OT_Status) //无任务
- && !obj.Data3.Status.HasFlag(StationStatus.UnassignedTask)) //未分配任务
- //&& obj.Data3.Status.HasFlag(StationStatus.Auto))//自动
- {
- SqlSugarHelper.Do(_db =>
- {
- var target = (obj.Entity.Code.ToShort() + 1).ToString();
- var db = _db.Default;
- //找到对应任务
- var taskInfo = db.Queryable<WCS_TaskInfo>().First(v => v.AddrTo == target);
- //未找到对应任务
- if (taskInfo == null)
- {
- //向WMS申请空托盘组出库任务及隔板
- if (obj.Entity.Code == "8027")
- {
- WmsApi.I_WCS_GetOutTask("TPC", target);
- }
- else
- WmsApi.I_WCS_GetOutTask("Jiangeban", target);
- }
- });
- }
- }
- public override bool Select(Device dev)
- {
- return dev.Code == "8027" || dev.Code == "8087" || dev.Code == "8093" || dev.Code == "8312";
- }
- }
- }
|