tangxu
2024-06-12 16ad5cbeb4ef90fcce13458e13acc324d592106c
Calc/IStation.Calc.Model/AnaPrj.cs
@@ -71,25 +71,60 @@
            }
        }
        public List<int> EndTimeOpenPumpStaus { get; set; } //最后一刻的开泵状态:用于第二天调度计算
        public List<int> EndTimeOpenPumpStatus { get; set; } //最后一刻的开泵状态:用于第二天调度计算
        public List<AnaPrjSwitchInfo> PumpSwitchs { get; set; }//泵操作信息
        public List<AnaPrjBlockTime> BlockTimes { get; set; }
        
        /// <summary>
        ///
        /// 正好
        /// </summary>
        /// <param name="time"></param>
        /// <returns></returns>
        public AnaPrjPointTime FindPointTime(DateTime time)
        {
            if (BlockTimes == null)
                return null;
            foreach(var bt in BlockTimes)
            {
                if (bt.PointTimes == null)
                    continue;
                var fff = bt.PointTimes.Find(x => x.Time == time);
                if(fff != null)
                    return fff; 
            }
            return null;
        }
        /// <summary>
        /// 靠近
        /// </summary>
        /// <param name="time"></param>
        /// <returns></returns>
        public AnaPrjPointTime NearPointTime(DateTime time)
        {
            if(BlockTimes == null)
                return null;
            AnaPrjPointTime near_pt = null;
            double min_dis = 30;//最少30分
            foreach (var bt in BlockTimes)
            {
                if (bt.PointTimes == null)
                    continue;
                foreach(var pt in bt.PointTimes)
                {
                    var m = Math.Abs((time - pt.Time).TotalMinutes);
                    if (m < min_dis)
                    {
                        min_dis = m;
                        near_pt = pt;
                    }
                }
            }
            return near_pt;
        }
        //
        public bool IsFixed { get; set; } = false;
        public string Note { get;set; }
@@ -276,8 +311,8 @@
        public double WaterLevelQ { get; set; }//前池液位
        public double WaterLevelH { get; set; }//水库液位
        public double WaterLevelQ { get; set; }//前池水位
        public double WaterLevelH { get; set; }//水库水位
        public double WaterLevelC { get; set; }//长江水位
        public double ReservoirDropFlowTotal { get; set; }//水库总供水量