using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
|
namespace IStation.CalcModel
|
{
|
public class AnaSetting
|
{
|
/// <summary>
|
/// 每天开始小时
|
/// </summary>
|
public int StartHourPerDay { get; set; } = 0;
|
/// <summary>
|
///
|
/// </summary>
|
public int MinOpenTimeMinute { get; set; } = 30;
|
/// <summary>
|
/// 最少切泵时间
|
/// </summary>
|
public int MinSwitchTimeMinute { get; set; } = 30;
|
/// <summary>
|
/// 分析步长(定流量)
|
/// </summary>
|
public int CalcSpaceMinuteQ { get; set; } = 10;
|
/// <summary>
|
/// 分析步长(定水位)
|
/// </summary>
|
public int CalcSpaceMinuteL { get; set; } = 20;
|
/// <summary>
|
/// 切泵次数(定流量)
|
/// </summary>
|
public int MaxPumpSwitchCountQ { get; set; } = 3;
|
/// <summary>
|
/// 切泵次数(定水位)
|
/// </summary>
|
public int MaxPumpSwitchCountL { get; set; } = 3;
|
|
/// <summary>
|
/// 不许换泵时间
|
/// </summary>
|
public List<TimeRange> SwitchPumpIgnoreTimes { get; set; }
|
/// <summary>
|
/// 0 用电量最少 1 电费最少
|
/// </summary>
|
public int OptSortType { get; set; } = 1;
|
|
/// <summary>
|
/// 开泵时间
|
/// </summary>
|
public List<TimeRange> OpenPumpTimes { get; set; }
|
|
/// <summary>
|
///
|
/// </summary>
|
public bool HaveTargetTotalFlow { get; set; } = false;
|
|
/// <summary>
|
/// 长江水位基准
|
/// </summary>
|
public double RiverWaterLevelBase { get; set; } = 0;
|
|
/// <summary>
|
///
|
/// </summary>
|
public int[] OpenPumpIndexs { get; set; } = new int[] { 1, 4, 2, 0, 3 };
|
|
/// <summary>
|
/// </summary>
|
/// <param name="pump_count"></param>
|
/// <returns></returns>
|
public int[] GetOpenPumpIndexArrays(int pump_count)
|
{//根据同扬程下 流量从大到小的泵 2->5->3->1->4
|
if (pump_count == 0)
|
{
|
return null;
|
}
|
if (pump_count == 1)
|
{
|
return new int[] { OpenPumpIndexs[0] };
|
}
|
if (pump_count == 2)
|
{
|
return new int[] { OpenPumpIndexs[0], OpenPumpIndexs[1] };
|
}
|
if (pump_count == 3)
|
{
|
return new int[] { OpenPumpIndexs[0], OpenPumpIndexs[1], OpenPumpIndexs[2] };
|
}
|
if (pump_count == 4)
|
{
|
return new int[] { OpenPumpIndexs[0], OpenPumpIndexs[1], OpenPumpIndexs[2], OpenPumpIndexs[3] };
|
}
|
if (pump_count == 5)
|
{
|
return new int[] { OpenPumpIndexs[0], OpenPumpIndexs[1], OpenPumpIndexs[2], OpenPumpIndexs[3], OpenPumpIndexs[4] };
|
}
|
return null;
|
}
|
|
public class TimeRange
|
{
|
public bool IsUse { get; set; }
|
public int StartHour { get; set; }
|
public int StartMinute { get; set; }
|
public int EndHour { get; set; }
|
public int EndMinute { get; set; }
|
}
|
}
|
}
|