using HH.WCS.JuShi.dispatch; using HH.WCS.JuShi.process; using HH.WCS.JuShi.util; using HH.WCS.JuShi.wms; using System; using System.Collections.Generic; using System.Linq; using static HH.WCS.JuShi.api.ApiModel; namespace HH.WCS.JuShi.core { internal class WCSCore { public static void OperateAgvTaskStatus(AgvTaskState model) { var TN_Task = WCSHelper.GetTask(model.No); if (TN_Task != null) { if (model.State <= 7) { //有任务号请求 switch (model.State) { case 1: WCSHelper.Begin(TN_Task); break; #region MyRegion case 3: WCSHelper.UpdateStatus(TN_Task, "开始取货"); break; case 4: WCSHelper.UpdateStatus(TN_Task, "取货完成"); TaskProcess.OperateStatus(TN_Task, 4); break; case 5: WCSHelper.UpdateStatus(TN_Task, "开始卸货"); break; case 6: WCSHelper.UpdateStatus(TN_Task, "卸货完成"); TaskProcess.OperateStatus(TN_Task, 6); break; #endregion case 2: WCSHelper.End(TN_Task); break; case 7: TaskProcess.OperateStatus(TN_Task, 7); WCSHelper.Fail(TN_Task); break; } WCSHelper.AddActionRecord(model.No, model.State, model.ForkliftNo, model.ExtData); } } } /// /// 任务分发,根据调度类型发给不同的调度系统 /// internal static void Dispatch() { //查询任务 //获取所有等待的任务 var list = WCSHelper.GetTaskListByState("等待"); ; if (list.Count > 0) { //if (list.Any(s => s.S_TYPE == "基坑空托转运")) //{ // list.RemoveAll(s => s.S_TYPE == "成品入库"); //} list.ForEach(task => { if (!TaskProcess.Intercept(task)) { //使用自定义任务推送 TaskProcess.SendGZTask(task); } }); } } } }