using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace IStation.Calculation.DispatchAna { /// /// /// public class CalculatorOptAnaBase: CalculatorBase { /// /// /// /// /// /// /// protected virtual List CalcSchemes压力( IStation.Calculation.DispatchAna.Model.RequestParasComplex complex_request_paras, IStation.Calculation.DispatchAna.Model.MachineRunPara machine_run_status, out string error_info) { error_info = "未实例化"; return null; } /// /// 计算汇总数据 /// /// /// /// public virtual IStation.Calculation.DispatchAna.Model.DaySumData CalcSumData( List HourRequests, out string error_info) { error_info = null; IStation.Calculation.DispatchAna.Model.DaySumData sum = new Model.DaySumData(); sum.Qt = 0; foreach (var hourRequest in HourRequests) { var complex_request_paras = hourRequest.Request; if (complex_request_paras.OutletPipePara == null || complex_request_paras.OutletPipePara.Count < 1) { error_info = string.Format("第{0},分析出错,原因是:{1}", hourRequest.Hour + 1, "出口管路参数有误, 请确认是否赋值, ERROR 35"); return null; } double target_flow = complex_request_paras.OutletPipePara[0].TargetFlow; if (target_flow < 50) { continue; } var result_anaSchemes = CalcSchemes压力(hourRequest.Request, null, out error_info); if (result_anaSchemes == null || result_anaSchemes.Count == 0) { error_info = string.Format("第{0},分析出错,原因是:{1}", hourRequest.Hour + 1, error_info); return null; } var opt_anaScheme = result_anaSchemes.First(); sum.Qt = sum.Qt + opt_anaScheme.TotalWrkQ; sum.Dt = sum.Dt + opt_anaScheme.TotalWrkP; } sum.WP = CalculateWP(sum.Dt, sum.Qt); return sum; } } }