using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using yunneiPda.EnumDefine; using yunneiPda.orm; namespace yunneiPda { /// /// 增补创建的扩展帮助类 【EditBy shaocx,2022-02-05】 /// public class MyExtendHelper { public static void SetPlcTaskNoAgvTaskNo(ref task newTask) { //记录PLC任务号和AGV任务号 【EditBy shaocx,2022-03-28】 yunneiPda.WCSserver.DeviceTaskNoEntity deviceTaskNoEntity = MyExtendHelper.CreateTaskId(); newTask.PlcTaskNo = deviceTaskNoEntity.PlcTaskNo; newTask.AgvTaskNo = deviceTaskNoEntity.AgvTaskNo; } /// /// 生成设备任务号 /// /// /// /// public static yunneiPda.WCSserver.DeviceTaskNoEntity CreateTaskId() { yunneiPda.WCSserver.DeviceTaskNoEntity entity = null; using (WCSserver.IyunneiWcfClient client = new WCSserver.IyunneiWcfClient()) { entity = client.CreateTaskId(); } if (entity == null) { throw new Exception("创建任务号失败"); } return entity; } /// /// 通过站点ID获取库存 /// /// /// /// public static productStock GetProductStockById(dbmodel mod, long positionId) { productStock stock = mod.productStock.FirstOrDefault(x => x.positionId == positionId); return stock; } /// /// 通过站点名字获取库存 /// /// /// /// public static productStock GetProductStockByName(dbmodel mod, string positionName) { var place = mod.position.FirstOrDefault(x => x.positionName == positionName); if (place == null) { throw new Exception("根据名字" + positionName + "没有找到库位"); } productStock stock = GetProductStockById(mod, place.positionId); return stock; } /// /// 根据站点,是否存在未完成的任务 /// /// /// /// true:存在,false:不存在 public static bool IsExistNoFinishedTask(dbmodel mod, string positionName, ref task _task) { var queryStatus = (int)taskStatus.完成; var queryStatus2 = (int)taskStatus.作废; _task = mod.task.FirstOrDefault(x => x.taskStatus != queryStatus && x.taskStatus != queryStatus2 && ( x.sourcePlace == positionName || x.toPlace == positionName )); if (_task == null) { return false; } return true; } } }