duheng
2024-03-27 dc97e187c607119bbd2945b9a277db8da15f8dc0
WinFrmUI/IStation.WinFrmUI.Monitor/ResultChartControl.cs
@@ -13,6 +13,7 @@
using System.Threading.Tasks;
using System.Windows.Forms;
using static System.Windows.Forms.VisualStyles.VisualStyleElement.TaskbarClock;
using IStation.BLL;
namespace IStation.WinFrmUI.Monitor
{
@@ -52,64 +53,12 @@
        /// <param name="datetime"></param>
        public void SetBindingData(DateTime datetime)
        {
            _currentModel.Clear();
            HistoryDataAPiHelper historyDataHelper = new HistoryDataAPiHelper();
            var result = historyDataHelper.getPumpIsOpen();
            var time = new DateTime(2022, 11, 6);
            foreach (var item in result)
            {
                var currentmodel = new CurrentModel
                {
                    Name = "方案",
                    Time = item.Item1.ToString("HH:mm") + "----" + item.Item2.ToString("HH:mm"),
                    PumpCount = item.Item3.ToString() + "台",
                    water = Math.Round(GetWaterdata(item.Item1, item.Item2), 2),
                    electricity = GetElectrityData(item.Item1, item.Item2),
                    Electricity = electricityPirce(item.Item1, item.Item2, GetElectrityData(item.Item1, item.Item2))
                };
                _currentModel.Add(currentmodel);
            }
            this.bindingSource1.DataSource = _currentModel;
            PumpRunHelper pumpRunHelper = new PumpRunHelper();
            pumpRunHelper.GetPumpRunParasOneDay(datetime,out string error1);
            pumpRunHelper.GetByHistoryOneData(new DateTime(2023,2,5),out string error);
        }
        private double GetWaterdata(DateTime Str, DateTime end)
        {
            HistoryDataAPiHelper historyDataHelper = new HistoryDataAPiHelper();
            var waterData = historyDataHelper.GetWaterData();
            var pump1 = WaterData(waterData.Where(x => x.Tag == "二取水1号主水泵.日累计").ToList(), Str, end);
            var pump2 = WaterData(waterData.Where(x => x.Tag == "二取水2号主水泵.日累计").ToList(), Str, end);
            var pump3 = WaterData(waterData.Where(x => x.Tag == "二取水3号主水泵.日累计").ToList(), Str, end);
            var pump4 = WaterData(waterData.Where(x => x.Tag == "二取水4号主水泵.日累计").ToList(), Str, end);
            var pump5 = WaterData(waterData.Where(x => x.Tag == "二取水5号主水泵.日累计").ToList(), Str, end);
            return pump1 + pump2 + pump3 + pump4 + pump5;
        }
        private double WaterData(List<Model.PumpWater> waterData, DateTime Str, DateTime end)
        {
            double result = 0;
            for (int i = 0; i < waterData.Count; i++)
            {
                if (waterData[i].Values[0].DateTime == Str)
                {
                    double startValue;
                    double endValue;
                    startValue = waterData[i].Values[0].SingleWater;
                    for (int j = i + 1; j < waterData.Count; j++)
                    {
                        if (waterData[j].Values[0].DateTime == end)
                        {
                            endValue = waterData[j].Values[0].SingleWater;
                            result = endValue - startValue;
                            return result;
                        }
                    }
                }
            }
            return result;
        }
        //电费计算
@@ -132,40 +81,10 @@
        private double GetElectrityData(DateTime Str, DateTime end)
        {
            HistoryDataAPiHelper historyDataHelper = new HistoryDataAPiHelper();
            var Ele = historyDataHelper.GetEleData();
            var pump1 = ElectricityData(Ele.Where(x => x.Tag == "_0402010204040193046").ToList(), Str, end);
            var pump2 = ElectricityData(Ele.Where(x => x.Tag == "_0402010204040193047").ToList(), Str, end);
            var pump3 = ElectricityData(Ele.Where(x => x.Tag == "_0402010204012308007").ToList(), Str, end);
            var pump4 = ElectricityData(Ele.Where(x => x.Tag == "_0402010204012408007").ToList(), Str, end);
            var pump5 = ElectricityData(Ele.Where(x => x.Tag == "_0402010204012508007").ToList(), Str, end);
            return Math.Round(pump1 + pump2 + pump3 + pump4 + pump5, 2);
             return 0;
        }
        private double ElectricityData(List<Model.electricity> EleData, DateTime Str, DateTime end)
        {
            double result = 0;
            for (int i = 0; i < EleData.Count; i++)
            {
                if (EleData[i].TotalEle[0].DateTime == Str)
                {
                    double startValue;
                    double endValue;
                    startValue = EleData[i].TotalEle[0].Value;
                    for (int j = i + 1; j < EleData.Count; j++)
                    {
                        if (EleData[j].TotalEle[0].DateTime == end)
                        {
                            endValue = EleData[j].TotalEle[0].Value;
                            result = endValue - startValue;
                            return result;
                        }
                    }
                }
            }
            return result;
        }