using System.Linq; using SHJX.Service.Model.Dao; using SHJX.Service.Common.ReadXML; using System.Collections.Generic; namespace SHJX.Service.Dao { public class MainManager : DataManagerImp { public MainManager(ReadConfigUtil config) { InitData(config); } public List GetExistTask() { TaskState[] states = { TaskState.New, TaskState.Waiting, TaskState.Doing }; return Db.Queryable().Where(item => states.Contains(item.Status) && item.TaskType!= "润洗" && item.TaskType != "清洗").ToList(); } public List GetWavekeys() { return Db.Queryable().OrderBy(item => item.WaveKey, SqlSugar.OrderByType.Desc).ToList(); } public List QueryTaskByUuid(string uuid, params TaskState[] states) { return Db.Queryable() .Where(item => item.WaveKey.Equals(uuid)) .Where(item => states.Contains(item.Status)) .Clone() .ToList(); } public Batch GetBatch() { return Db.Queryable().OrderBy(item=>item.Createtime, SqlSugar.OrderByType.Desc).First(); } public List GetHeatingTaskAtPresent() { TaskState[] states = { TaskState.Doing, TaskState.New }; var res = Db.Queryable().Where(item => item.RouteStep.Equals("Liquid_Heating") && states.Contains(item.Status)).ToList(); return res; } /// /// 查询任务列表 /// /// /// public bool QueryContainTask(string pointName) => Db.Queryable() .Where(item => item.OriginLocalName.Equals(pointName) && (item.Status.Equals(TaskState.Doing) || item.Status.Equals(TaskState.New))) .Any(); /// /// 删除 /// /// /// public void QuerydeledeTask(string pointName) => Db.Deleteable().Where(item => item.OriginLocalName.Equals(pointName) && item.TaskType.Equals("补杯")).ExecuteCommand(); public void QuerydeledeEmptyCupTask(string pointName) => Db.Deleteable().Where(item => item.OriginLocalName.Equals(pointName)).ExecuteCommand(); public EquipmentStatus CheckHeatRodStatus() { return Db.Queryable().First(item => item.EquipmentName.Equals("HeatRod")); } /// /// 获取剩余润洗任务 /// /// public List GetResidueWashTask() => Db.Queryable() .Where(item => item.RouteType.Equals("Wash")) .Where(item => item.Status.Equals(TaskState.Doing) || item.Status.Equals(TaskState.New)) .ToList(); /// /// 获取存在的执行或新建的任务 /// /// public List GetEquipmentTasks() { TaskState[] states = { TaskState.Doing, TaskState.New }; var waveKey = Db.Queryable().Where(item => states.Contains(item.Status)).GroupBy(item => item.WaveKey).First()?.WaveKey; return Db.Queryable().Where(item => item.WaveKey.Equals(waveKey)).ToList(); } public List GetEquipmentTasks(EquipmentTask task) { TaskState[] states = { TaskState.Doing, TaskState.New }; var waveKey = Db.Queryable().Where(item => states.Contains(item.Status)).GroupBy(item => item.WaveKey).First()?.WaveKey; return Db.Queryable().Where(item => item.WaveKey.Equals(waveKey)).ToList(); } public List GetEquipmentTasksBD(string waveKey) { return Db.Queryable().Where(item => item.WaveKey.Equals(waveKey) && item.Status.Equals(TaskState.Finished)).ToList(); } public List GetTaskByConcentration(params string[] values) { var guid = values[0]; var concentration = values[1]; return Db.Queryable() .Where(item => item.WaveKey.Equals(guid) && item.SampleConcentration.Equals(concentration)) ?.ToList(); } public List GetAreasByDisable() { return Db.Queryable().Where(item => item.Status.Equals(false)).ToList(); } public EquipmentStatus GetEquipmentStatusByName(string name) { return Db.Queryable().First(item => item.EquipmentName.Equals(name)); } public PID GetPid(string type) => Db.Queryable().First(item => item.TypeName.Equals(type)); } }