using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace IStation.Dto.DispatchAna { /// /// 简单计算 /// public class CalcBySimple_Request { /// /// /// public class RunStatus { /// /// /// public long MachineID { get; set; } = 0; /// /// -1 表示任意 0 关机 1开机 /// public int Status { get; set; } = -1; } /// /// /// public class PipeParas { /// /// /// public double TargetFlow { get; set; } /// /// 如果是压力就是出口压力 /// public double TargetPress { get; set; } /// /// /// public string TargetFlowMinQ { get; set; } /// /// /// public string TargetFlowMaxQ { get; set; } } /// /// /// public class ValveParas { /// /// /// public string Name { get; set; } /// /// / /// public int Status { get; set; } } /// /// /// public long CorpID { get; set; } /// /// /// public long StationID { get; set; } /// /// 水位参数 /// public List WaterLevelList { get; set; } /// /// /// public List PipeList { get; set; } /// /// /// public List ValveList { get; set; } /// /// /// public List RunStatusList { get; set; } /// /// 排序方法: 0 功率 1 流量间隔 /// public int SortType { get; set; } /// /// 压力值类型 0:表示压力 1:表示扬程 /// public int PressValueType { get; set; } /// /// / /// /// /// public IStation.Calculation.DispatchAna.Model.RequestParasComplex BuildRequestComplex(out string error_info) { error_info = null; var complex_request_paras = new Calculation.DispatchAna.Model.RequestParasComplex(); complex_request_paras.WaterLevelPara = new List(); complex_request_paras.CorpID = this.CorpID; complex_request_paras.StationID = this.StationID; if(WaterLevelList != null && WaterLevelList.Count > 0) { complex_request_paras.WaterLevelPara = new List(); foreach(var wl in WaterLevelList) { complex_request_paras.WaterLevelPara.Add(new Calculation.DispatchAna.Model.WaterLevelPara(wl)); } } else if (this.PressValueType == 1) {// 1:表示扬程 complex_request_paras.WaterLevelPara = new List(); complex_request_paras.WaterLevelPara.Add(new Calculation.DispatchAna.Model.WaterLevelPara(0)); } if (this.PipeList != null&& this.PipeList.Count > 0) { complex_request_paras.OutletPipePara = new List(); foreach (var pipe in this.PipeList) { var pipe_model = new Calculation.DispatchAna.Model.OutletPipePara(); pipe_model.InitialFlowInfo(pipe.TargetFlow, pipe.TargetFlowMinQ , pipe.TargetFlowMaxQ); if(this.PressValueType == 0) {// 0:表示压力 pipe_model.TargetPress = pipe.TargetPress; } if (this.PressValueType == 1) {// 1:表示扬程 pipe_model.TargetPress = pipe.TargetPress / 102; } complex_request_paras.OutletPipePara.Add(pipe_model); } } if (this.ValveList != null && this.ValveList.Count > 0) { complex_request_paras.ValvePara = new List(); foreach (var valve in this.ValveList) { complex_request_paras.ValvePara.Add( new Calculation.DispatchAna.Model.ValvePara() { Name = valve.Name, OpenStatus = valve.Status }); } } return complex_request_paras; } } /// /// 查看详细图表 /// internal class CurveItem { public int Type { get; set; }//0表示单泵曲线 1表示并联曲线 public string Name { get; set; } public List> PointQH { get; set; } public List> PointQP { get; set; } } }