using SqlSugar; using SHJX.Service.Common.ReadXML; using SHJX.Service.Model.Dao; using System.Collections.Generic; namespace SHJX.Service.Dao { public class OperateDataManager : DataManagerImp { public OperateDataManager(ReadConfigUtil config) { InitData(config); } public List GetTaskByWaveKey(string waveKey, string level,string taskType) { var tasks = Db.Queryable().Where(item => item.TaskType.Equals(taskType) && item.WaveKey.Equals(waveKey)&&item.SampleConcentration.Equals(level)).ToList(); return tasks.Count < 1 ? null : tasks; } /// /// /// /// /// public List GetLastOtherTaskByWaveKey(string taskType, string level) { var task = Db.Queryable() .Where(item => item.TaskType.Equals(taskType) && item.Status.Equals(TaskState.Finished) &&item.SampleConcentration.Equals(level)) .GroupBy(item => new { item.WaveKey }) .OrderBy(item => item.CreateTime, OrderByType.Desc) .First(); var waveKey = task?.WaveKey; var tasks = Db.Queryable() .Where(item => item.WaveKey.Equals(waveKey)) .Where(item => item.TaskType.Equals(taskType)) .ToList(); return tasks.Count < 1 ? null : tasks; } /// /// /// /// /// public List GetIsHaveEquipment(EquipmentTask data) => Db.Queryable() .Where(item => item.RouteType.Equals(data.RouteType)) .Where(item => item.RouteId.Equals(data.RouteId)) .Where(item => item.RouteStepId.Equals(data.RouteStepId)) .Where(item => item.Status.Equals(TaskState.Doing)) .ToList(); public bool GetTaskIsDoingOrNew() => Db.Queryable() .Where(item => item.Status.Equals(TaskState.Doing) || item.Status.Equals(TaskState.New)) .Any(); public bool GetEquipmentTasksBD(string wavekey) => Db.Queryable() .Where(item => item.WaveKey == wavekey && item.TaskType == "标定" && !item.Status.Equals(TaskState.Finished)) .Any(); public List QueryHeatingTaskbyState(string opType) => Db.Queryable() .Where(item => item.RouteStep.Equals(opType) && item.Status.Equals(TaskState.Doing)).ToList(); public DropLiquid QueryLiquid(string pumpName) => Db.Queryable().First(item => item.LiquidName.Equals(pumpName)); public PID GetPid(string type) => Db.Queryable().First(item => item.TypeName.Equals(type)); } }