using HH.WCS.JingyuNongfu.util; using SqlSugar; using System; using System.Collections.Generic; namespace HH.WCS.JingyuNongfu.wms { /// /// 涉及到设备任务调度的,例如提升机、堆垛机、输送线相关表的读写 /// public class WCSHelper { static WCSHelper() { } internal static bool AddElevatorTaskInfo(ElevatorTaskInfo info) { var db = new SqlHelper().GetInstance(); return db.Insertable(info).ExecuteCommand() > 0; } /// /// 获取一个执行中的电梯任务 /// /// internal static ElevatorTaskInfo GetOneWorkingElevatorTask() { var db = new SqlHelper().GetInstance(); return db.Queryable().Where(a => a.state > 0).First(); } /// /// 获取一个已经分配电梯缓存位的任务 /// /// internal static ElevatorTaskInfo GetOneAssignedElevatorTask() { var db = new SqlHelper().GetInstance(); return db.Queryable().Where(a => !string.IsNullOrEmpty(a.elevatorCacheBit.Trim())).First(); } /// /// 获取一个待处理的电梯任务 /// /// internal static ElevatorTaskInfo GetOnePendingElevatorTask() { var db = new SqlHelper().GetInstance(); return db.Queryable().Where(a => a.state == 0 && string.IsNullOrEmpty(a.elevatorCacheBit.Trim())).First(); } internal static ElevatorTaskInfo GetElevatorTaskByBit(string bit) { var db = new SqlHelper().GetInstance(); return db.Queryable().Where(a => a.elevatorCacheBit.Trim() == bit.Trim()).First(); } /// /// 获取同类型的电梯任务 /// /// /// /// internal static List GetOtherElevatorTask(string taskNo, int actionType) { var db = new SqlHelper().GetInstance(); return db.Queryable().Where(a => a.actionType == actionType && a.sourceNo.Trim() != taskNo.Trim()).ToList(); } internal static ElevatorTaskInfo GetElevatorTask(string taskNo) { var db = new SqlHelper().GetInstance(); return db.Queryable().Where(a => a.sourceNo.Trim() != taskNo.Trim()).First(); } internal static bool UpdateElevatorTask(string bit, int currState, int state) { var result = false; var db = new SqlHelper().GetInstance(); var model = db.Queryable().Where(a => a.elevatorCacheBit == bit && a.state == currState).First(); if (model != null) { model.state = state; result = db.Updateable(model).UpdateColumns(it => new { it.state }).ExecuteCommand() > 0; } return result; } internal static bool UpdateElevatorTask(ElevatorTaskInfo model, string cacheBit, int state) { var result = false; var db = new SqlHelper().GetInstance(); model.elevatorCacheBit = cacheBit; model.state = state; result = db.Updateable(model).UpdateColumns(it => new { it.elevatorCacheBit, it.state }).ExecuteCommand() > 0; return result; } internal static bool UpdateElevatorTask(string taskNo, int state) { var result = false; var db = new SqlHelper().GetInstance(); var model = db.Queryable().Where(a => a.sourceNo.Trim()==taskNo).First(); if (model != null) { model.state = state; result = db.Updateable(model).UpdateColumns(it => new { it.state }).ExecuteCommand() > 0; } return result; } internal static bool DeleteElevatorTaskByState(int state) { var db = new SqlHelper().GetInstance(); return db.Deleteable().Where(a => a.state == state).ExecuteCommand() > 0; } internal static bool DeleteElevatorTask(ElevatorTaskInfo taskInfo) { var db = new SqlHelper().GetInstance(); return db.Deleteable().Where(a => a.S_ID == taskInfo.S_ID).ExecuteCommand() > 0; } internal static bool DeleteElevatorTask(string no) { var db = new SqlHelper().GetInstance(); return db.Deleteable().Where(a => a.sourceNo.Trim() == no).ExecuteCommand() > 0; } } }