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; }
}
}