namespace Yw.WinFrmUI
|
{
|
/// <summary>
|
///
|
/// </summary>
|
public static class HydroInputEnergyScaleHelper
|
{
|
/// <summary>
|
/// 获取分类损失比例列表
|
/// </summary>
|
public static List<HydroInputEnergyScaleViewModel> GetAllInputEnergyScaleList
|
(
|
this Yw.Model.HydroModelInfo hydroInfo,
|
HydroCalcuResult calcuResult,
|
List<Yw.EPAnet.EnergyPoint> allEnergyList
|
)
|
{
|
if (hydroInfo == null)
|
{
|
return default;
|
}
|
var allScaleList = new List<HydroInputEnergyScaleViewModel>();
|
if (allEnergyList != null && allEnergyList.Count > 0)
|
{
|
var allInputEnergyList = allEnergyList.Where(x => x.EnergyType == EPAnet.eEnergyType.Input).ToList();
|
var inputEnergyScale = new HydroInputEnergyScaleViewModel()
|
{
|
EnergyName = "初始势能",
|
EnergyValue = allInputEnergyList.Count > 0 ? allInputEnergyList.Sum(x => x.EnergyPower) : 0
|
};
|
allScaleList.Add(inputEnergyScale);
|
}
|
if (hydroInfo.Pumps != null && hydroInfo.Pumps.Count > 0)
|
{
|
var allCalcuResultVisualDict = calcuResult?.GetVisualDict();
|
var inputEnergyScale = new HydroInputEnergyScaleViewModel() { EnergyName = "水泵提升" };
|
foreach (var pump in hydroInfo.Pumps)
|
{
|
var calcuPumpResult = allCalcuResultVisualDict?.GetValue(pump.Code) as HydroCalcuPumpResult;
|
if (calcuPumpResult != null)
|
{
|
if (calcuPumpResult.CalcuP.HasValue)
|
{
|
inputEnergyScale.EnergyValue += calcuPumpResult.CalcuP.Value * 1000;
|
}
|
}
|
}
|
allScaleList.Add(inputEnergyScale);
|
}
|
|
return allScaleList;
|
}
|
|
|
}
|
}
|