using System; using SHJX.Service.Dao; namespace SHJX.Service.Control.Route.RouteController { /// /// 冷却 /// public static class CoolingCommon { public static bool CoolingTimeCalculate(this string equipmentName, OperateDataManager dataManager) { var status = equipmentName.GetCoolingSetting(); //获取样品位冷却的状态 if (status.CoolingState.Equals("Start")) { //计算 当前时间与下发时间的差值 var timeSpan = DateTime.Now - status.LastTryTime; var minutes = timeSpan.Hours * 60 + timeSpan.Minutes + timeSpan.Seconds / 60.0; if (minutes < status.CoolingTime) return false; DataCentre.GetStorageContent.Factory(GetOpName(equipmentName)).Stop(); //关闭风扇 status.CoolingState = "Stop"; dataManager.Update(status); return true; } DataCentre.GetStorageContent.Factory(GetOpName(equipmentName)).Start();//开启风扇 status.CoolingState = "Start"; status.LastTryTime = DateTime.Now; dataManager.Update(status); return false; } public static string GetOpName(string Name) { string opName = Name switch { "CalibrationCooling" or "SampleCooling" => "SampleFan", "DissolveCooling" => "DissolveFan", _ => throw new ArgumentNullException(Name), }; return opName; } } }