tangxu
2025-02-07 03a0d99de9c5fed6bea8bc83b49ce27786bda38c
Calc/IStation.Calc.Model/AnaRequest.cs
@@ -1,4 +1,4 @@
using IStation.CalcModel;

using System;
using System.Collections.Generic;
using System.Linq;
@@ -6,57 +6,49 @@
namespace IStation.CalcModel
{
    public class AnaRequest
    public class AnaRequest: AnaRequestBase
    {
        public eCalcOptType  CalcOptType { get; set; }
        public DateTime StartTime { get; set; }
        public DateTime EndTime { get; set; }
        public AnaRequest() { }
        public AnaRequest(AnaRequestBase rhs):base(rhs) { }
        //长江水位
        public List<Model.TimeWaterLevel> WaterLevels长江 { get; set; }
        public int StartOpenCount { get; set; } = -1;
        public double? TotalFlow取水总量 { get; set; }//单位 吨
        public double CurrentWaterBoxLevel { get; set; }//当前水库水位
        public double? MaxLimitWaterBoxLevel { get; set; }//最高水库水位限制
        public double? MinLimitWaterBoxLevel { get; set; }//最低水库水位限制
        //public double ReservoirTotalFlow { get; set; }//用水总量 单位 吨
        public List<double> ReservoirDropFlow { get; set; }//水池排水时间流量
        public List<double?> ReservoirMinLimitHours { get; set; }
        public List<double?> ReservoirMaxLimitHours { get; set; }
        //自定义的开机策略
        public List<CalcModel.PumpRunRange> ManuPrjTimeBlockList { get; set; } 
    }
    public class AnaRequestBase
    {
        public AnaRequestBase() { }
        public AnaRequestBase(AnaRequest rhs) {
        public AnaRequestBase(AnaRequestBase rhs)
        {
            this.CalcOptType = rhs.CalcOptType;
            this.StartTime = rhs.StartTime; this.EndTime = rhs.EndTime;
            this.StartOpenCount = rhs.StartOpenCount;
            this.TotalFlow取水总量 = rhs.TotalFlow取水总量;
            this.StartTime = rhs.StartTime;
            this.EndTime = rhs.EndTime;
            this.StartOpenPumpIndexArray = rhs.StartOpenPumpIndexArray;
            this.IsKnownStartOpenPump = rhs.IsKnownStartOpenPump;
            this.TotalFlowIn = rhs.TotalFlowIn;
            this.CurrentWaterBoxLevel = rhs.CurrentWaterBoxLevel;
            this.MaxLimitWaterBoxLevel = rhs.MaxLimitWaterBoxLevel;
            this.MinLimitWaterBoxLevel = rhs.MinLimitWaterBoxLevel;
            this.StartReservoirLevel = rhs.StartReservoirLevel;
            this.MaxReservoirLevel = rhs.MaxReservoirLevel;
            this.MaxReservoirLevelTime = rhs.MaxReservoirLevelTime;
            this.ReservoirDropFlow = rhs.ReservoirDropFlow;
            this.ReservoirMinLimitHours = rhs.ReservoirMinLimitHours;
            this.ReservoirMaxLimitHours = rhs.ReservoirMaxLimitHours;
            this.PerHourFlowOut = rhs.PerHourFlowOut;
            //this.ReservoirMinLimitHours = rhs.ReservoirMinLimitHours;
            //this.ReservoirMaxLimitHours = rhs.ReservoirMaxLimitHours;
        }
        public eCalcOptType CalcOptType { get; set; }
        public DateTime StartTime { get; set; }
        public DateTime EndTime { get; set; }
        public int StartOpenCount { get; set; } = -1;
        public double? TotalFlow取水总量 { get; set; }//单位 吨
        public List<int> StartOpenPumpIndexArray { get; set; }//开始时开的是哪些几台泵
        public bool IsKnownStartOpenPump { get; set; } //是否知道知道开始时的开泵状态
        public double? TotalFlowIn { get; set; }//取水总量 单位(吨)
        public double CurrentWaterBoxLevel { get; set; }//当前水库水位
        public double? MaxLimitWaterBoxLevel { get; set; }//最高水库水位限制
        public double? MinLimitWaterBoxLevel { get; set; }//最低水库水位限制
        public List<double> ReservoirDropFlow { get; set; }//水池排水时间流量
        public List<double?> ReservoirMinLimitHours { get; set; }
        public List<double?> ReservoirMaxLimitHours { get; set; }
        public double StartReservoirLevel { get; set; }//当前水库水位(由CurrentWaterBoxLevel 改)
        public double? MaxReservoirLevel { get; set; }//最高水库水位限制
        public string MaxReservoirLevelTime { get; set; }//最高水库水位限制时间
        public List<double> PerHourFlowOut { get; set; }//水池排水时间流量  单位 吨
    }
}