From e08f18c84c96ca794407f4fcb737b26fa76c0a1f Mon Sep 17 00:00:00 2001
From: tangxu <tangxu76880903>
Date: 星期二, 11 六月 2024 09:35:03 +0800
Subject: [PATCH] 改了配置类

---
 Library/Newtonsoft.Json.dll                                                   |    0 
 WinFrmUI/IStation.WinFrmUI.CalcErQu/Wizard/pageManuResult.cs                  |   10 
 WinFrmUI/IStation.WinFrmUI.Monitor/AnaCompareData/ResultChartControl.cs       |  108 ++++++++-------
 WinFrmUI/IStation.WinFrmUI.CalcErQu/AnaResult/PointTimeListDispCtrl.cs        |    2 
 WinFrmUI/IStation.WinFrmUI.CalcErQu/PrjItemSpanTime/SetPrjItemSpanTimeCtrl.cs |    2 
 WinFrmUI/IStation.WinFrmUI.CalcErQu/AnaResult/AnaResultInfoManuCtrl.cs        |   25 +-
 WinFrmUI/IStation.WinFrmUI.CalcErQu/Wizard/pageCalcParas.cs                   |    8 
 DAL/IStation.DAL.Paras/历史调度方案/HistoryAnaPrjFileHelper.cs                      |   22 ++-
 Calc/IStation.Calc.Model/AnaPrj.cs                                            |   16 ++
 WebApi/Controllers/ZyPrjController.cs                                         |   23 ++
 Library/Newtonsoft.Json.xml                                                   |   64 ++++++++
 WinFrmUI/IStation.WinFrmUI.CalcErQu/AnaSetting/AnaSettingMgrDlg.cs            |   28 ++--
 WinFrmUI/IStation.WinFrmUI.CalcErQu/Wizard/pageManuParas.cs                   |    2 
 BLL/IStation.BLL.Connect/AnaPrj.cs                                            |   22 ++-
 WebApi/Controllers/AnaPrjController.cs                                        |    6 
 WinFrmUI/IStation.WinFrmUI.CalcErQu/Wizard/pageCalcResult.cs                  |   10 
 WinFrmUI/IStation.WinFrmUI.CalcErQu/AnaResult/AnaResultInfoCalcCtrl.cs        |   41 +++--
 17 files changed, 250 insertions(+), 139 deletions(-)

diff --git a/BLL/IStation.BLL.Connect/AnaPrj.cs b/BLL/IStation.BLL.Connect/AnaPrj.cs
index 8380c54..ce94f11 100644
--- a/BLL/IStation.BLL.Connect/AnaPrj.cs
+++ b/BLL/IStation.BLL.Connect/AnaPrj.cs
@@ -239,19 +239,19 @@
         /// </summary>
         /// <param name="day"></param>
         /// <returns></returns>
-        public static int GetLastTimeOpenPumpCount(DateTime day)
+        public static List<int> GetLastTimeOpenPumpStatus(DateTime day)
         {
             if (!ServiceParas.IsRemote)
             {
-                return IStation.Common.HistoryAnaPrjFileHelper.GetLastTime_OpenPumpCount(day);
+                return IStation.Common.HistoryAnaPrjFileHelper.GetLastTime_OpenPumpStatus(day);
             }
 
             if (string.IsNullOrEmpty(ServiceParas.ApiServiceUrl))
             {
-                return -1;
+                return null;
             }
 
-            string url = string.Format(@"{0}/AnaPrj/GetLastTimeOpenPumpCount?day={1} ", ServiceParas.ApiServiceUrl, day.ToString("yyyy-MM-dd"));
+            string url = string.Format(@"{0}/AnaPrj/GetLastTimeOpenPumpStatus?day={1} ", ServiceParas.ApiServiceUrl, day.ToString("yyyy-MM-dd"));
 
             //鍏堟牴鎹敤鎴疯姹傜殑uri鏋勯�犺姹傚湴鍧�
             //string serviceUrl = string.Format("{0}/{1}", this.BaseUri, uri);
@@ -291,13 +291,21 @@
             if (string.IsNullOrEmpty(returnData))
             {
                 myResponse.Close();
-                return -1;
+                return null;
             }
-            var ret = (new System.Web.Script.Serialization.JavaScriptSerializer()).Deserialize<IStation.Dto.ApiResult<int>>(returnData);
+            var ret = (new System.Web.Script.Serialization.JavaScriptSerializer()).Deserialize<IStation.Dto.ApiResult<string >>(returnData);
             reader.Close();
             myResponse.Close();
 
-            return ret.Data;
+            var res_str = ret.Data;
+            if (string.IsNullOrEmpty(res_str))
+            {
+                return null ;
+            }
+            List<int> list = new List<int>();
+            foreach (var s in list) { list.Add(Convert.ToInt32(s)); }
+
+            return list;
         }
     }
 }
\ No newline at end of file
diff --git a/Calc/IStation.Calc.Model/AnaPrj.cs b/Calc/IStation.Calc.Model/AnaPrj.cs
index 0bce744..92283f9 100644
--- a/Calc/IStation.Calc.Model/AnaPrj.cs
+++ b/Calc/IStation.Calc.Model/AnaPrj.cs
@@ -28,7 +28,23 @@
                 }
             }
         }
+        public List<AnaPrjPointTime> GetAllPointTimeList()
+        {
+            List < AnaPrjPointTime >  list = new List<AnaPrjPointTime>();
+            if (this.BlockTimes != null)
+            {
+            
+                foreach (var bt in this.BlockTimes)
+                {
+                     if(bt.PointTimes  != null)
+                    {
+                        list.AddRange(bt.PointTimes);
+                    }
+                }
+            }
 
+            return list;
+        }
         public DateTime StartTime { get; set; }
         public DateTime EndTime { get; set; }
 
diff --git "a/DAL/IStation.DAL.Paras/\345\216\206\345\217\262\350\260\203\345\272\246\346\226\271\346\241\210/HistoryAnaPrjFileHelper.cs" "b/DAL/IStation.DAL.Paras/\345\216\206\345\217\262\350\260\203\345\272\246\346\226\271\346\241\210/HistoryAnaPrjFileHelper.cs"
index 237f601..0e08427 100644
--- "a/DAL/IStation.DAL.Paras/\345\216\206\345\217\262\350\260\203\345\272\246\346\226\271\346\241\210/HistoryAnaPrjFileHelper.cs"
+++ "b/DAL/IStation.DAL.Paras/\345\216\206\345\217\262\350\260\203\345\272\246\346\226\271\346\241\210/HistoryAnaPrjFileHelper.cs"
@@ -21,7 +21,7 @@
 
 
 
-            return SavePrjCore(settting, new IStation.CalcModel.AnaRequestBase(request), prj);
+            return SavePrjCore(settting,  request , prj);
         }
 
         //淇濆瓨 
@@ -37,6 +37,7 @@
             return SavePrjCore(settting, requestBase, prj);
         }
 
+        //
         private static bool SavePrjCore(CalcModel.AnaSetting settting, IStation.CalcModel.AnaRequestBase requestBase, IStation.CalcModel.AnaPrj prj)
         {
             var root_folder = System.IO.Path.Combine(IStation.DataFolderHelper.GetRootPath(), "History");
@@ -139,19 +140,24 @@
             nodeProject.AppendChild(nodeCalcSpaceMinute);
 
 
+      
 
 
 
-       
+
             if (prj.EndTimeOpenPumpStaus != null )
             {
                 var node_LastTime_OpenPumpCount = xmlDoc.CreateElement("LastTime_OpenPumpCount");
                 node_LastTime_OpenPumpCount.InnerText = prj.EndTimeOpenPumpStaus.Count.ToString();
                 nodeProject.AppendChild(node_LastTime_OpenPumpCount);
 
-                var node_LastTime_OpenPumpIndex = xmlDoc.CreateElement("LastTime_OpenPumpIndex");
-                node_LastTime_OpenPumpIndex.InnerText = string.Join(",", prj.EndTimeOpenPumpStaus);
-                nodeProject.AppendChild(node_LastTime_OpenPumpIndex);
+                if(prj.EndTimeOpenPumpStaus.Count > 0)
+                {
+                    var node_LastTime_OpenPumpIndex = xmlDoc.CreateElement("LastTime_OpenPumpIndex");
+                    node_LastTime_OpenPumpIndex.InnerText = string.Join(",", prj.EndTimeOpenPumpStaus);
+                    nodeProject.AppendChild(node_LastTime_OpenPumpIndex);
+                }
+
             }
             else
             {//琛ㄧず鍏ㄩ儴鍏虫満
@@ -366,21 +372,21 @@
                 nodeSettting.AppendChild(node_SwitchPumpMinuteSpace);
 
                 XmlNode node_OpenPumpIndexSequence = xmlDoc.CreateElement("OpenPumpIndexSequence");
-                if (settting.OpenPumpIndexSequence != null)
+                if (settting.OpenPumpIndexSequence != null && settting.OpenPumpIndexSequence.Count()>0)
                 {
                     node_OpenPumpIndexSequence.InnerText = string.Join(",", settting.OpenPumpIndexSequence);
                     nodeSettting.AppendChild(node_OpenPumpIndexSequence);
                 }
 
                 XmlNode node_ClosePumpIndexSequence = xmlDoc.CreateElement("ClosePumpIndexSequence");
-                if (settting.ClosePumpIndexSequence != null)
+                if (settting.ClosePumpIndexSequence != null && settting.ClosePumpIndexSequence.Count() > 0)
                 {
                     node_ClosePumpIndexSequence.InnerText = string.Join(",", settting.ClosePumpIndexSequence);
                     nodeSettting.AppendChild(node_ClosePumpIndexSequence);
                 }
 
                 XmlNode node_OptimalPumpIndexSequence = xmlDoc.CreateElement("OptimalPumpIndexSequence");
-                if (settting.OptimalPumpIndexSequence != null)
+                if (settting.OptimalPumpIndexSequence != null && settting.OptimalPumpIndexSequence.Count() > 0)
                 {
                     node_OptimalPumpIndexSequence.InnerText = string.Join(",", settting.OptimalPumpIndexSequence);
                     nodeSettting.AppendChild(node_OptimalPumpIndexSequence);
diff --git a/Library/Newtonsoft.Json.dll b/Library/Newtonsoft.Json.dll
index 7af125a..341d08f 100644
--- a/Library/Newtonsoft.Json.dll
+++ b/Library/Newtonsoft.Json.dll
Binary files differ
diff --git a/Library/Newtonsoft.Json.xml b/Library/Newtonsoft.Json.xml
index 008e0ca..2c981ab 100644
--- a/Library/Newtonsoft.Json.xml
+++ b/Library/Newtonsoft.Json.xml
@@ -865,6 +865,32 @@
             Converts a <see cref="T:System.DateTime"/> to and from Unix epoch time
             </summary>
         </member>
+        <member name="P:Newtonsoft.Json.Converters.UnixDateTimeConverter.AllowPreEpoch">
+            <summary>
+            Gets or sets a value indicating whether the dates before Unix epoch
+            should converted to and from JSON.
+            </summary>
+            <value>
+            <c>true</c> to allow converting dates before Unix epoch to and from JSON;
+            <c>false</c> to throw an exception when a date being converted to or from JSON
+            occurred before Unix epoch. The default value is <c>false</c>.
+            </value>
+        </member>
+        <member name="M:Newtonsoft.Json.Converters.UnixDateTimeConverter.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:Newtonsoft.Json.Converters.UnixDateTimeConverter"/> class.
+            </summary>
+        </member>
+        <member name="M:Newtonsoft.Json.Converters.UnixDateTimeConverter.#ctor(System.Boolean)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Newtonsoft.Json.Converters.UnixDateTimeConverter"/> class.
+            </summary>
+            <param name="allowPreEpoch">
+            <c>true</c> to allow converting dates before Unix epoch to and from JSON;
+            <c>false</c> to throw an exception when a date being converted to or from JSON
+            occurred before Unix epoch. The default value is <c>false</c>.
+            </param>
+        </member>
         <member name="M:Newtonsoft.Json.Converters.UnixDateTimeConverter.WriteJson(Newtonsoft.Json.JsonWriter,System.Object,Newtonsoft.Json.JsonSerializer)">
             <summary>
             Writes the JSON representation of the object.
@@ -2554,7 +2580,7 @@
             <summary>
             Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a <see cref="T:Newtonsoft.Json.JsonReaderException"/>.
             A null value means there is no maximum. 
-            The default value is <c>128</c>.
+            The default value is <c>64</c>.
             </summary>
         </member>
         <member name="P:Newtonsoft.Json.JsonReader.TokenType">
@@ -3014,7 +3040,7 @@
             <summary>
             Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a <see cref="T:Newtonsoft.Json.JsonReaderException"/>.
             A null value means there is no maximum.
-            The default value is <c>128</c>.
+            The default value is <c>64</c>.
             </summary>
         </member>
         <member name="P:Newtonsoft.Json.JsonSerializer.CheckAdditionalContent">
@@ -3330,7 +3356,7 @@
             <summary>
             Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a <see cref="T:Newtonsoft.Json.JsonReaderException"/>.
             A null value means there is no maximum.
-            The default value is <c>128</c>.
+            The default value is <c>64</c>.
             </summary>
         </member>
         <member name="P:Newtonsoft.Json.JsonSerializerSettings.Formatting">
@@ -3395,6 +3421,12 @@
         <member name="M:Newtonsoft.Json.JsonSerializerSettings.#ctor">
             <summary>
             Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/> class.
+            </summary>
+        </member>
+        <member name="M:Newtonsoft.Json.JsonSerializerSettings.#ctor(Newtonsoft.Json.JsonSerializerSettings)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/> class
+            using values copied from the passed in <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/>.
             </summary>
         </member>
         <member name="T:Newtonsoft.Json.JsonTextReader">
@@ -7031,6 +7063,25 @@
             <param name="reader">The reader.</param>
             <returns>An instance of <see cref="T:Newtonsoft.Json.Linq.JRaw"/> with the content of the reader's current token.</returns>
         </member>
+        <member name="T:Newtonsoft.Json.Linq.JsonCloneSettings">
+            <summary>
+            Specifies the settings used when cloning JSON.
+            </summary>
+        </member>
+        <member name="M:Newtonsoft.Json.Linq.JsonCloneSettings.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JsonCloneSettings"/> class.
+            </summary>
+        </member>
+        <member name="P:Newtonsoft.Json.Linq.JsonCloneSettings.CopyAnnotations">
+            <summary>
+            Gets or sets a flag that indicates whether to copy annotations when cloning a <see cref="T:Newtonsoft.Json.Linq.JToken"/>.
+            The default value is <c>true</c>.
+            </summary>
+            <value>
+            A flag that indicates whether to copy annotations when cloning a <see cref="T:Newtonsoft.Json.Linq.JToken"/>.
+            </value>
+        </member>
         <member name="T:Newtonsoft.Json.Linq.JsonLoadSettings">
             <summary>
             Specifies the settings used when loading JSON.
@@ -8071,6 +8122,13 @@
             </summary>
             <returns>A new instance of the <see cref="T:Newtonsoft.Json.Linq.JToken"/>.</returns>
         </member>
+        <member name="M:Newtonsoft.Json.Linq.JToken.DeepClone(Newtonsoft.Json.Linq.JsonCloneSettings)">
+            <summary>
+            Creates a new instance of the <see cref="T:Newtonsoft.Json.Linq.JToken"/>. All child tokens are recursively cloned.
+            </summary>
+            <param name="settings">A <see cref="T:Newtonsoft.Json.Linq.JsonCloneSettings"/> object to configure cloning settings.</param>
+            <returns>A new instance of the <see cref="T:Newtonsoft.Json.Linq.JToken"/>.</returns>
+        </member>
         <member name="M:Newtonsoft.Json.Linq.JToken.AddAnnotation(System.Object)">
             <summary>
             Adds an object to the annotation list of this <see cref="T:Newtonsoft.Json.Linq.JToken"/>.
diff --git a/WebApi/Controllers/AnaPrjController.cs b/WebApi/Controllers/AnaPrjController.cs
index 2d843e4..a1fe6d2 100644
--- a/WebApi/Controllers/AnaPrjController.cs
+++ b/WebApi/Controllers/AnaPrjController.cs
@@ -127,8 +127,10 @@
         public IStation.Dto.ApiResult GetLastTimeOpenPumpStatus(DateTime day)
         {
             var  status = HistoryAnaPrjFileHelper.GetLastTime_OpenPumpStatus(day);
-
-            return new IStation.Dto.ApiResult<List<int>>(status);
+            if(status == null)
+                return new IStation.Dto.ApiResult<string >("");
+            else 
+            return new IStation.Dto.ApiResult<string >(string.Join(",",status));
         }
 
         public class SavePrjRequest
diff --git a/WebApi/Controllers/ZyPrjController.cs b/WebApi/Controllers/ZyPrjController.cs
index f4bce48..2496055 100644
--- a/WebApi/Controllers/ZyPrjController.cs
+++ b/WebApi/Controllers/ZyPrjController.cs
@@ -29,7 +29,7 @@
         //public int? StartOpenCount { get; set; } = -1;//宸蹭綔搴�
 
         public string StartReservoirLevel { get; set; }//寮�濮嬫按搴撴按浣�(鍙┖):鍗曚綅m
-        public List<int> StartOpenPumpIndexArray { get; set; }//寮�濮嬫満娉靛紑鏈虹姸鎬�
+        public List<int> StartOpenPumpIndexArray { get; set; }//寮�濮嬫満娉靛紑鏈虹姸鎬�(鏂�)
 
         public string TotalFlowIn { get; set; }//鍙栨按鎬婚噺 (鍗曚綅 鍚�)
        
@@ -37,6 +37,7 @@
         public string MaxReservoirLevelTime { get; set; }//鏈�楂樻按搴撴按浣嶉檺鍒舵椂闂�(鍙┖) 鏃堕棿鏍煎紡
 
         public string IsSubmit { get; set; }//璁$畻瀹�,鏄惁鎺ㄩ��
+        public string IsTemporary { get; set; }//鏄惁鏄复鏃剁畻涓�涓�(鏂�)
     }
 }
 
@@ -195,17 +196,23 @@
                     anaRequest.CurrentWaterBoxLevel)
                 };
             }
-
+            bool isTemp = false;
+            if (!string.IsNullOrEmpty(request.IsTemporary))
+            {
+                isTemp = Convert.ToBoolean(request.IsTemporary);
+            }
 
 
             var calcHelper = new IStation.CalcPrjHelper();
             AnaPrj defaultPrj = null;
             string error_info = calcHelper.Calc(anaRequest, out defaultPrj);
-            LogHelper.Info(error_info);
+           
             if (!string.IsNullOrEmpty(error_info) || defaultPrj == null)
             {
-                IStation.LogHelper.Info(string.Format("Zy Prj  Time:{0}-{1} ,  璁$畻閿欒, 鍘熷洜鏄�:{2} ,Request:::  ",
-                start_timme, end_timme, error_info) + JsonHelper.Object2Json(anaRequest));
+                var er = string.Format("Zy Prj  Time:{0}-{1} ,  璁$畻閿欒, 鍘熷洜鏄�:{2} ,Request:::  {3}",
+                start_timme, end_timme, error_info, JsonHelper.Object2Json(anaRequest));
+                
+                IStation.LogHelper.Info(er);
                 return new IStation.Dto.ApiResult() { Code = ApiResultCode.Error, Message = "璁$畻閿欒, 鍘熷洜鏄�:" + error_info };
             }
             else
@@ -214,7 +221,11 @@
             }
 
             //淇濆瓨鏂规
-            var ret = Common.HistoryAnaPrjFileHelper.SavePrj(IStation.AnaGlobalParas.Setting, anaRequest, defaultPrj);
+            if (!isTemp)
+            {
+                var ret = Common.HistoryAnaPrjFileHelper.SavePrj(IStation.AnaGlobalParas.Setting, anaRequest, defaultPrj);
+            }
+     
 
             var dto_prj = ToPrjDto(defaultPrj);
 
diff --git a/WinFrmUI/IStation.WinFrmUI.CalcErQu/AnaResult/AnaResultInfoCalcCtrl.cs b/WinFrmUI/IStation.WinFrmUI.CalcErQu/AnaResult/AnaResultInfoCalcCtrl.cs
index 1e6bed1..63f035a 100644
--- a/WinFrmUI/IStation.WinFrmUI.CalcErQu/AnaResult/AnaResultInfoCalcCtrl.cs
+++ b/WinFrmUI/IStation.WinFrmUI.CalcErQu/AnaResult/AnaResultInfoCalcCtrl.cs
@@ -180,19 +180,20 @@
             double sumPower = 0;
             double sumMoney = 0;
 
-            var _realTimeDataList = _current_anaPrj.PointTimes;
-            for (int i = 0; i < _realTimeDataList.Count; i++)
+  
+            var allTime = _current_anaPrj.GetAllPointTimeList();
+            for (int i = 0; i < allTime.Count; i++)
             {
-                var time = _realTimeDataList[i].Time;
+                var time = allTime[i].Time;
 
                 series绱娴侀噺.Points.Add(new SeriesPoint(time, new double[] { sumFlow }));
                 series绱鐢甸噺.Points.Add(new SeriesPoint(time, new double[] { sumPower }));
                 series绱鐢佃垂.Points.Add(new SeriesPoint(time, new double[] { sumMoney }));
-                series鐢ㄦ按閲�.Points.Add(new SeriesPoint(time, new double[] { _realTimeDataList[i].ReservoirDropFlowTotal }));
+                series鐢ㄦ按閲�.Points.Add(new SeriesPoint(time, new double[] { allTime[i].ReservoirDropFlowTotal }));
 
-                sumFlow += _realTimeDataList[i].SumFlow;
-                sumPower += _realTimeDataList[i].SumPower;
-                sumMoney += _realTimeDataList[i].SumMoney;
+                sumFlow += allTime[i].SumFlow;
+                sumPower += allTime[i].SumPower;
+                sumMoney += allTime[i].SumMoney;
             }
 
 
@@ -237,9 +238,11 @@
         {
             IStation.CalcModel.AnaPrjPointTime max_level = null;
             IStation.CalcModel.AnaPrjPointTime min_level = null;
-            for (int i = 0; i < anaPrj.PointTimes.Count; i++)
+
+            var allTime = anaPrj.GetAllPointTimeList();
+            for (int i = 0; i < allTime.Count; i++)
             {
-                var sd = anaPrj.PointTimes[i];
+                var sd = allTime[i];
                 if (max_level == null || max_level.WaterLevelH < sd.WaterLevelH)
                 {
                     max_level = sd;
@@ -295,15 +298,15 @@
             //    isHaveYesterDay = true ;
             //    BuildRealTimeDataList(_yesterday2_anaPrj.PointTimes);
             //}
-
-            if (_yesterday1_anaPrj != null && _yesterday1_anaPrj.PointTimes != null)
+  
+            if (_yesterday1_anaPrj != null  )
             {
                 isHaveYesterDay = true;
-                BuildRealTimeDataList(_yesterday1_anaPrj.PointTimes);
+                BuildRealTimeDataList(_yesterday1_anaPrj.GetAllPointTimeList());
             }
 
 
-            BuildRealTimeDataList(_current_anaPrj.PointTimes);
+            BuildRealTimeDataList(_current_anaPrj.GetAllPointTimeList());
 
 
 
@@ -333,7 +336,7 @@
             //    constantLineIn鏃ユ湡.Visible = false;
             //}
 
-            if (_yesterday1_anaPrj != null && _yesterday1_anaPrj.PointTimes != null)
+            if (_yesterday1_anaPrj != null  )
             {
                 DevExpress.XtraCharts.ConstantLine constantLineIn鏃ユ湡 = mainDiagram.AxisX.ConstantLines[2];
                 constantLineIn鏃ユ湡.Visible = true;
@@ -348,6 +351,8 @@
 
         private void BuildRealTimeDataList(List<AnaPrjPointTime> realTimeDataList)
         {
+            if (realTimeDataList == null || realTimeDataList.Count == 0)
+                return;
             DevExpress.XtraCharts.Series series闀挎睙姘翠綅 = this.chartControl瀹炴椂鏁版嵁.Series[0];
             DevExpress.XtraCharts.Series series鍓嶆睜姘翠綅 = this.chartControl瀹炴椂鏁版嵁.Series[1];
             DevExpress.XtraCharts.Series series姘村簱姘翠綅 = this.chartControl瀹炴椂鏁版嵁.Series[2];
@@ -621,7 +626,7 @@
                                 list_draws.Add(sss_start);
                                 g.DrawString(sss_start, font鏃堕棿, brushText鏃堕棿,    new Point(pt1.Point.X - 20, pt1.Point.Y - height - 19));
 
-                                var pt = _yesterday1_anaPrj.FingPointTime(item.StartTime);
+                                var pt = _yesterday1_anaPrj.FindPointTime(item.StartTime);
                                 if (pt != null)
                                 {
                                     g.DrawString(string.Format("{0}m", Math.Round(pt.WaterLevelH, 2)), font姘翠綅, brushText鏃堕棿, new Point(pt1.Point.X - 20, pt1.Point.Y + 5));
@@ -633,7 +638,7 @@
                                 list_draws.Add(sss_end);
                                 g.DrawString(sss_end, font鏃堕棿, brushText鏃堕棿,         new Point(pt2.Point.X - 20, pt1.Point.Y - height - 19));
 
-                                var pt = _yesterday1_anaPrj.FingPointTime(item.EndTime);
+                                var pt = _yesterday1_anaPrj.FindPointTime(item.EndTime);
                                 if (pt != null)
                                 {
                                     g.DrawString(string.Format("{0}m", Math.Round(pt.WaterLevelH, 2)), font姘翠綅, brushText鏃堕棿, new Point(pt2.Point.X - 20, pt2.Point.Y + 5));
@@ -673,7 +678,7 @@
                             list_draws.Add(sss_start);
                             g.DrawString(sss_start, font鏃堕棿, brushText鏃堕棿,    new Point(pt1.Point.X - 20, pt1.Point.Y - height - 19));
 
-                            var pt = _current_anaPrj.FingPointTime(item.StartTime);
+                            var pt = _current_anaPrj.FindPointTime(item.StartTime);
                             if (pt != null)
                             {
                                 g.DrawString(string.Format("{0}m", Math.Round(pt.WaterLevelH, 2) ), font姘翠綅, brushText鏃堕棿, new Point(pt1.Point.X - 20, pt1.Point.Y + 5));
@@ -689,7 +694,7 @@
                             list_draws.Add(sss_end);
                             g.DrawString(sss_end, font鏃堕棿, brushText鏃堕棿,  new Point(pt2.Point.X - 20, pt1.Point.Y - height - 19));
 
-                            var pt = _current_anaPrj.FingPointTime(item.EndTime);
+                            var pt = _current_anaPrj.FindPointTime(item.EndTime);
                             if (pt != null)
                             {
                                 g.DrawString(string.Format("{0}m", Math.Round(pt.WaterLevelH, 2)), font姘翠綅, brushText鏃堕棿, new Point(pt2.Point.X - 20, pt2.Point.Y + 5));
diff --git a/WinFrmUI/IStation.WinFrmUI.CalcErQu/AnaResult/AnaResultInfoManuCtrl.cs b/WinFrmUI/IStation.WinFrmUI.CalcErQu/AnaResult/AnaResultInfoManuCtrl.cs
index a3dae0a..3d1bc90 100644
--- a/WinFrmUI/IStation.WinFrmUI.CalcErQu/AnaResult/AnaResultInfoManuCtrl.cs
+++ b/WinFrmUI/IStation.WinFrmUI.CalcErQu/AnaResult/AnaResultInfoManuCtrl.cs
@@ -172,19 +172,19 @@
             double sumPower = 0;
             double sumMoney = 0;
 
-            var _realTimeDataList = _current_anaPrj.PointTimes;
-            for (int i = 0; i < _realTimeDataList.Count; i++)
+            var allTime = _current_anaPrj.GetAllPointTimeList();
+            for (int i = 0; i < allTime.Count; i++)
             {
-                var time = _realTimeDataList[i].Time;
+                var time = allTime[i].Time;
 
                 series绱娴侀噺.Points.Add(new SeriesPoint(time, new double[] { sumFlow }));
                 series绱鐢甸噺.Points.Add(new SeriesPoint(time, new double[] { sumPower }));
                 series绱鐢佃垂.Points.Add(new SeriesPoint(time, new double[] { sumMoney }));
-                series鐢ㄦ按閲�.Points.Add(new SeriesPoint(time, new double[] { _realTimeDataList[i].ReservoirDropFlowTotal }));
+                series鐢ㄦ按閲�.Points.Add(new SeriesPoint(time, new double[] { allTime[i].ReservoirDropFlowTotal }));
 
-                sumFlow += _realTimeDataList[i].SumFlow;
-                sumPower += _realTimeDataList[i].SumPower;
-                sumMoney += _realTimeDataList[i].SumMoney;
+                sumFlow += allTime[i].SumFlow;
+                sumPower += allTime[i].SumPower;
+                sumMoney += allTime[i].SumMoney;
             }
 
 
@@ -229,9 +229,10 @@
         {
             IStation.CalcModel.AnaPrjPointTime max_level = null;
             IStation.CalcModel.AnaPrjPointTime min_level = null;
-            for (int i = 0; i < anaPrj.PointTimes.Count; i++)
+            var allTime = anaPrj.GetAllPointTimeList();
+            for (int i = 0; i < allTime.Count; i++)
             {
-                var sd = anaPrj.PointTimes[i];
+                var sd = allTime[i];
                 if (max_level == null || max_level.WaterLevelH < sd.WaterLevelH)
                 {
                     max_level = sd;
@@ -286,7 +287,7 @@
  
 
 
-            BuildRealTimeDataList(_current_anaPrj.PointTimes);
+            BuildRealTimeDataList(_current_anaPrj.GetAllPointTimeList());
 
 
 
@@ -564,7 +565,7 @@
                             list_draws.Add(sss_start);
                             g.DrawString(sss_start, font鏃堕棿, brushText鏃堕棿,    new Point(pt1.Point.X - 20, pt1.Point.Y - height - 19));
 
-                            var pt = _current_anaPrj.FingPointTime(item.StartTime);
+                            var pt = _current_anaPrj.FindPointTime(item.StartTime);
                             if (pt != null)
                             {
                                 g.DrawString(string.Format("{0}m", Math.Round(pt.WaterLevelH, 2) ), font姘翠綅, brushText鏃堕棿, new Point(pt1.Point.X - 20, pt1.Point.Y + 5));
@@ -580,7 +581,7 @@
                             list_draws.Add(sss_end);
                             g.DrawString(sss_end, font鏃堕棿, brushText鏃堕棿,  new Point(pt2.Point.X - 20, pt1.Point.Y - height - 19));
 
-                            var pt = _current_anaPrj.FingPointTime(item.EndTime);
+                            var pt = _current_anaPrj.FindPointTime(item.EndTime);
                             if (pt != null)
                             {
                                 g.DrawString(string.Format("{0}m", Math.Round(pt.WaterLevelH, 2)), font姘翠綅, brushText鏃堕棿, new Point(pt2.Point.X - 20, pt2.Point.Y + 5));
diff --git a/WinFrmUI/IStation.WinFrmUI.CalcErQu/AnaResult/PointTimeListDispCtrl.cs b/WinFrmUI/IStation.WinFrmUI.CalcErQu/AnaResult/PointTimeListDispCtrl.cs
index 552ad1c..de60aac 100644
--- a/WinFrmUI/IStation.WinFrmUI.CalcErQu/AnaResult/PointTimeListDispCtrl.cs
+++ b/WinFrmUI/IStation.WinFrmUI.CalcErQu/AnaResult/PointTimeListDispCtrl.cs
@@ -37,7 +37,7 @@
 
  
 
-            this.bindingSourceGrid2.DataSource = anaPrj.PointTimes;
+            this.bindingSourceGrid2.DataSource = anaPrj.GetAllPointTimeList();
             this.bindingSourceGrid2.ResetBindings(false);
         }
       
diff --git a/WinFrmUI/IStation.WinFrmUI.CalcErQu/AnaSetting/AnaSettingMgrDlg.cs b/WinFrmUI/IStation.WinFrmUI.CalcErQu/AnaSetting/AnaSettingMgrDlg.cs
index 6202bdd..618f933 100644
--- a/WinFrmUI/IStation.WinFrmUI.CalcErQu/AnaSetting/AnaSettingMgrDlg.cs
+++ b/WinFrmUI/IStation.WinFrmUI.CalcErQu/AnaSetting/AnaSettingMgrDlg.cs
@@ -37,10 +37,10 @@
             spinEditStartHour.EditValue = anaSetting.StartHourPerDay;
             spinEdit鏈�灏戝垏鎹㈡车鏃堕棿.EditValue = anaSetting.MinSwitchTimeMinute;
             spinEdit鏈�灏戝紑娉垫椂闂�.EditValue = anaSetting.MinOpenTimeMinute;
-            spinEdit鍒嗘瀽姝ラ暱Q.EditValue = anaSetting.CalcSpaceMinuteQ;
-            spinEdit鍒囨车娆℃暟Q.EditValue = anaSetting.MaxPumpSwitchCountQ;
-            spinEdit鍒嗘瀽姝ラ暱L.EditValue = anaSetting.CalcSpaceMinuteL;
-            spinEdit鍒囨车娆℃暟L.EditValue = anaSetting.MaxPumpSwitchCountL;
+            spinEdit鍒嗘瀽姝ラ暱Q.EditValue = anaSetting.CalcSpaceMinute;
+            spinEdit鍒囨车娆℃暟Q.EditValue = anaSetting.MaxPumpSwitchCount;
+            spinEdit鍒嗘瀽姝ラ暱L.EditValue = anaSetting.CalcSpaceMinute;
+            spinEdit鍒囨车娆℃暟L.EditValue = anaSetting.MaxPumpSwitchCount;
 
             spinEdit闀挎睙姘翠綅鍩哄噯.EditValue = anaSetting.RiverWaterLevelBase;
 
@@ -92,10 +92,10 @@
                 this.bindingSetting.DataSource = list姘村簱鍙傛暟New;
             }
 
-            if(IStation.AnaGlobalParas.Setting.OpenPumpIndexs != null)
-            {
-                textEditOpenIndex.Text = string.Join(",", IStation.AnaGlobalParas.Setting.OpenPumpIndexs);
-            }
+            //if(IStation.AnaGlobalParas.Setting.OpenPumpIndexs != null)
+            //{
+            //    textEditOpenIndex.Text = string.Join(",", IStation.AnaGlobalParas.Setting.OpenPumpIndexs);
+            //}
 
 
             btnColor闀挎睙姘翠綅.BackColor = IStation.Settings.DispSetting.ChartColor闀挎睙姘翠綅;
@@ -114,10 +114,10 @@
             anaSetting.MinSwitchTimeMinute = Convert.ToInt32(spinEdit鏈�灏戝垏鎹㈡车鏃堕棿.EditValue);
             anaSetting.StartHourPerDay = Convert.ToInt32(spinEditStartHour.EditValue);
             anaSetting.MinOpenTimeMinute = Convert.ToInt32(spinEdit鏈�灏戝紑娉垫椂闂�.EditValue);
-            anaSetting.CalcSpaceMinuteQ = Convert.ToInt32(spinEdit鍒嗘瀽姝ラ暱Q.EditValue);
-            anaSetting.MaxPumpSwitchCountQ = Convert.ToInt32(spinEdit鍒囨车娆℃暟Q.EditValue);
-            anaSetting.CalcSpaceMinuteL = Convert.ToInt32(spinEdit鍒嗘瀽姝ラ暱L.EditValue);
-            anaSetting.MaxPumpSwitchCountL = Convert.ToInt32(spinEdit鍒囨车娆℃暟L.EditValue);
+            anaSetting.CalcSpaceMinute = Convert.ToInt32(spinEdit鍒嗘瀽姝ラ暱Q.EditValue);
+            anaSetting.MaxPumpSwitchCount = Convert.ToInt32(spinEdit鍒囨车娆℃暟Q.EditValue);
+            //anaSetting.CalcSpaceMinuteL = Convert.ToInt32(spinEdit鍒嗘瀽姝ラ暱L.EditValue);
+            //anaSetting.MaxPumpSwitchCountL = Convert.ToInt32(spinEdit鍒囨车娆℃暟L.EditValue);
 
             anaSetting.SwitchPumpIgnoreTimes = new List<CalcModel.AnaSetting.TimeRange>();
             foreach (var m in list涓嶈鎹㈡车鏃堕棿)
@@ -186,11 +186,11 @@
                 {
                     MessageBox.Show("鏈烘车寮�娉甸『搴忚缃弬鏁颁笉鍚堢悊"); return; 
                 }
-                anaSetting.OpenPumpIndexs = penPumpIndexs.ToArray();
+                //anaSetting.OpenPumpIndexs = penPumpIndexs.ToArray();
             }
             else
             {
-                anaSetting.OpenPumpIndexs = null;
+                //anaSetting.OpenPumpIndexs = null;
             }
 
             var list姘村簱鍙傛暟Old = IStation.AnaGlobalParas.ReservoirParasList;
diff --git a/WinFrmUI/IStation.WinFrmUI.CalcErQu/PrjItemSpanTime/SetPrjItemSpanTimeCtrl.cs b/WinFrmUI/IStation.WinFrmUI.CalcErQu/PrjItemSpanTime/SetPrjItemSpanTimeCtrl.cs
index 2d50397..32ef5ff 100644
--- a/WinFrmUI/IStation.WinFrmUI.CalcErQu/PrjItemSpanTime/SetPrjItemSpanTimeCtrl.cs
+++ b/WinFrmUI/IStation.WinFrmUI.CalcErQu/PrjItemSpanTime/SetPrjItemSpanTimeCtrl.cs
@@ -22,7 +22,7 @@
             if (anaSetting == null)
                 return;
 
-            for (int i = 0;i< anaSetting.MaxPumpSwitchCountQ; i++)
+            for (int i = 0;i< anaSetting.MaxPumpSwitchCount; i++)
             {
                 _gridModels.Add(new CurrentViewModel() { Index = i+1 });
             }
diff --git a/WinFrmUI/IStation.WinFrmUI.CalcErQu/Wizard/pageCalcParas.cs b/WinFrmUI/IStation.WinFrmUI.CalcErQu/Wizard/pageCalcParas.cs
index dcd9bba..b731b7d 100644
--- a/WinFrmUI/IStation.WinFrmUI.CalcErQu/Wizard/pageCalcParas.cs
+++ b/WinFrmUI/IStation.WinFrmUI.CalcErQu/Wizard/pageCalcParas.cs
@@ -124,8 +124,8 @@
 
 
             request.WaterLevels闀挎睙 = this._waterLevels闀挎睙;
-            request.StartOpenCount = Convert.ToInt32(
-                imageComboCurrentOpenCount.EditValue);
+            //request.StartOpenCount = Convert.ToInt32(
+            //    imageComboCurrentOpenCount.EditValue);
 
             if (string.IsNullOrEmpty(textEdit褰撳墠姘村簱姘翠綅.Text))
             {
@@ -347,8 +347,8 @@
 
             var day = this.dateEditDay.DateTime.Date;
  
-            var open_num = BLL.AnaPrj.GetLastTimeOpenPumpCount(day.AddDays(-1));
-            imageComboCurrentOpenCount.EditValue = open_num;
+            //var open_num = BLL.AnaPrj.GetLastTimeOpenPumpStatus(day.AddDays(-1));
+            //imageComboCurrentOpenCount.EditValue = open_num;
         }
 
         private void btnRefresh姘翠綅_Click(object sender, EventArgs e)
diff --git a/WinFrmUI/IStation.WinFrmUI.CalcErQu/Wizard/pageCalcResult.cs b/WinFrmUI/IStation.WinFrmUI.CalcErQu/Wizard/pageCalcResult.cs
index 876c8b4..6b85da8 100644
--- a/WinFrmUI/IStation.WinFrmUI.CalcErQu/Wizard/pageCalcResult.cs
+++ b/WinFrmUI/IStation.WinFrmUI.CalcErQu/Wizard/pageCalcResult.cs
@@ -470,12 +470,12 @@
 
             listBoxControl1.Items.Add("-----------姘翠綅鍙傛暟--------");
 
-
-            DateTime max_wt_dt = current_prj.PointTimes.First().Time;
-            DateTime min_wt_dt = current_prj.PointTimes.First().Time;
+            var allTime = current_prj.GetAllPointTimeList();
+            DateTime max_wt_dt = allTime.First().Time;
+            DateTime min_wt_dt = allTime.First().Time;
             double max_wt = double.MinValue;
             double min_wt = double.MaxValue;
-            foreach (var pt in current_prj.PointTimes)
+            foreach (var pt in allTime)
             {
                 if (max_wt < pt.WaterLevelH)
                 {
@@ -489,7 +489,7 @@
                 }
             }
 
-            var wt_list = from x in current_prj.PointTimes select x.WaterLevelH;
+            var wt_list = from x in allTime select x.WaterLevelH;
             var avr_wt = wt_list.Average();
             listBoxControl1.Items.Add(string.Format("鏈�鍒濇按浣�: {0:N2} m (0鏃�)", anaRequest.CurrentWaterBoxLevel));
             listBoxControl1.Items.Add(string.Format("鏈�楂樻按浣�: {1:N2} m ({0})", max_wt_dt.ToString("HH:mm"), Math.Round(max_wt, 2)));
diff --git a/WinFrmUI/IStation.WinFrmUI.CalcErQu/Wizard/pageManuParas.cs b/WinFrmUI/IStation.WinFrmUI.CalcErQu/Wizard/pageManuParas.cs
index f46ecdc..1f5ad00 100644
--- a/WinFrmUI/IStation.WinFrmUI.CalcErQu/Wizard/pageManuParas.cs
+++ b/WinFrmUI/IStation.WinFrmUI.CalcErQu/Wizard/pageManuParas.cs
@@ -57,7 +57,7 @@
             //textEdit鏈�浣庢按浣嶉檺鍒�.Text = anaSetting.LastReservoirMinLevel;
             //textEdit鏈�楂樻按浣嶉檺鍒�.Text = anaSetting.LastReservoirMaxLevel;
             RefreshRiver();
-            rangeDefinePanel.InitialTimeBlock(anaSetting.CalcSpaceMinuteQ);
+            rangeDefinePanel.InitialTimeBlock(anaSetting.CalcSpaceMinute);
         }
 
 
diff --git a/WinFrmUI/IStation.WinFrmUI.CalcErQu/Wizard/pageManuResult.cs b/WinFrmUI/IStation.WinFrmUI.CalcErQu/Wizard/pageManuResult.cs
index 4bf19f6..719c021 100644
--- a/WinFrmUI/IStation.WinFrmUI.CalcErQu/Wizard/pageManuResult.cs
+++ b/WinFrmUI/IStation.WinFrmUI.CalcErQu/Wizard/pageManuResult.cs
@@ -519,13 +519,13 @@
             //        anaRequest.CalcOptType);
 
             listBoxControl1.Items.Add("-----------姘翠綅鍙傛暟--------");
-            
 
-            DateTime max_wt_dt = current_prj.PointTimes.First().Time;
-            DateTime min_wt_dt = current_prj.PointTimes.First().Time;
+            var allTime = current_prj.GetAllPointTimeList();
+            DateTime max_wt_dt = allTime.First().Time;
+            DateTime min_wt_dt = allTime.First().Time;
             double max_wt = double.MinValue;
             double min_wt = double.MaxValue;
-            foreach (var pt in current_prj.PointTimes)
+            foreach (var pt in allTime)
             {
                 if (max_wt < pt.WaterLevelH)
                 {
@@ -539,7 +539,7 @@
                 }
             }
             
-            var wt_list = from x in current_prj.PointTimes select x.WaterLevelH;
+            var wt_list = from x in allTime select x.WaterLevelH;
             var avr_wt = wt_list.Average();
             listBoxControl1.Items.Add(string.Format("鏈�鍒濇按浣�: {0:N2} m (0鏃�)", anaRequest.CurrentWaterBoxLevel));
             listBoxControl1.Items.Add(string.Format("鏈�楂樻按浣�: {1:N2} m ({0})", max_wt_dt.ToString("HH:mm"), Math.Round(max_wt, 2)));
diff --git a/WinFrmUI/IStation.WinFrmUI.Monitor/AnaCompareData/ResultChartControl.cs b/WinFrmUI/IStation.WinFrmUI.Monitor/AnaCompareData/ResultChartControl.cs
index a5f6211..74788e8 100644
--- a/WinFrmUI/IStation.WinFrmUI.Monitor/AnaCompareData/ResultChartControl.cs
+++ b/WinFrmUI/IStation.WinFrmUI.Monitor/AnaCompareData/ResultChartControl.cs
@@ -72,29 +72,29 @@
 
         DateTime DateTime;   //api鏌ヨ闇�瑕佺殑鏃ユ湡
         DateTime ListDayTime;  //listBox褰撳墠閫夋嫨鐨勬棩鏈�
-        DateTime HistoryTime=new DateTime();
+        DateTime HistoryTime = new DateTime();
         List<CurrentModel> _CurrentModel = new List<CurrentModel>();
         PumpRunHelper _PumpRunHelper = new PumpRunHelper();
         CalcModel.AnaPrj _Ana = null;                      //鏂规鏁版嵁
         Model.RunParasData _LastYeay = null;        //鍘诲勾鍚屾湡
         Model.RunParasData _CurrentData = null;   //瀹為檯鏁版嵁
         List<PumpWater> _HistorypumpWater = new List<PumpWater>();   //鍘嗗彶鍙傛暟鏃ユ湡閲嶆瀯
-        bool isChage=true;
+        bool isChage = true;
 
 
-        List<Model.PumpWater> _CurrentPumpWater =new List<PumpWater>();     //瀹為檯鍙傛暟鏃ユ湡閲嶆瀯
+        List<Model.PumpWater> _CurrentPumpWater = new List<PumpWater>();     //瀹為檯鍙傛暟鏃ユ湡閲嶆瀯
         /// <summary>
         /// 缁戝畾鏁版嵁
         /// </summary>
         /// <param name="datetime"></param>
         public void SetBindingData(DateTime datetime)
         {
-          /*  PumpHistoryDataFileHelper pumpHistoryDataFileHelper = new PumpHistoryDataFileHelper();
-            pumpHistoryDataFileHelper.GetHistoryData();*/
+            /*  PumpHistoryDataFileHelper pumpHistoryDataFileHelper = new PumpHistoryDataFileHelper();
+              pumpHistoryDataFileHelper.GetHistoryData();*/
             WaitFrmHelper.ShowWaitForm();
             ListDayTime = datetime;
             if (isChage) { SetTextToCheckBtn(datetime); }
-             if (checkEditCalendar.SelectedIndex == 0)
+            if (checkEditCalendar.SelectedIndex == 0)
             {
                 DateTime = datetime.AddDays(-366);
             }
@@ -111,7 +111,7 @@
             {
                 _LastYeay = _PumpRunHelper.GetByHistoryOneData(DateTime, out string error);
             }
-             _CurrentData = _PumpRunHelper.GetPumpRunParasOneDay(DateTime, out string err); //瀹為檯鏁版嵁
+            _CurrentData = _PumpRunHelper.GetPumpRunParasOneDay(DateTime, out string err); //瀹為檯鏁版嵁
             MergeCurrentModel(_Ana, _LastYeay, _CurrentData);//girdview鍚堝苟鏁版嵁
             SetHistoryPumpWaterParas(new DateTime(datetime.Year, datetime.Month, datetime.Day));   //鍘嗗彶鍙栨按閲�
             SetCurretnPumpWaterParas(new DateTime(datetime.Year, datetime.Month, datetime.Day));   //瀹為檯鍙栨按閲�
@@ -145,11 +145,14 @@
                     SeriesCurrent.Points.Add(new SeriesPoint(item.DateTime, Math.Round(item.TotalEle), 2));
                 }
             }
-            if (_Ana != null&& isSetData)
+            if (_Ana != null && isSetData)
             {
-                foreach (var item in _Ana.PointTimes)
+                foreach (var bt in _Ana.BlockTimes)
                 {
-                    SeriesAna.Points.Add(new SeriesPoint(item.Time, Math.Round(item.SumPower), 2));
+                    foreach (var item in bt.PointTimes)
+                    {
+                        SeriesAna.Points.Add(new SeriesPoint(item.Time, Math.Round(item.SumPower), 2));
+                    }
                 }
             }
             if (SeriesHistory.Points.Count == 0)
@@ -180,14 +183,14 @@
             this.checkEditCalendar.Properties.Items.Add($"闃村巻({ConvertDateTime(dateTime).ToString("yyyy-MM-dd")})");
             this.checkEditCalendar.Properties.Items.Add("鑷畾涔夐�夋嫨鏃堕棿");
             this.checkEditCalendar.SelectedIndex = 0;
-          
+
         }
 
 
         //淇敼鑷畾涔夋椂闂�
         private void EditComBom(DateTime dateTime)
         {
-            isChage=false;
+            isChage = false;
             this.checkEditCalendar.Properties.Items.RemoveAt(2);
             this.checkEditCalendar.Properties.Items.Add($"鑷畾涔夋椂闂磠dateTime}");
             HistoryTime = dateTime;
@@ -224,28 +227,28 @@
 
 
         //鍐滃巻闃村巻鏃ユ湡杞崲
-        private DateTime  ConvertDateTime(DateTime lastYearDay)
+        private DateTime ConvertDateTime(DateTime lastYearDay)
         {
-        //    lastYearDay = new DateTime(2024, 4, 8);
+            //    lastYearDay = new DateTime(2024, 4, 8);
             //lastYearDay = lastYearDay.AddYears(-1);
             // 鍒涘缓涓�涓� ChineseLunisolarCalendar 瀹炰緥
             ChineseLunisolarCalendar chineseCalendar = new ChineseLunisolarCalendar();
             int thisYear = chineseCalendar.GetYear(lastYearDay);
             int thisMonth = chineseCalendar.GetMonth(lastYearDay);
             int thisDay = chineseCalendar.GetDayOfMonth(lastYearDay);
-   
-           // DateTime lastYearLunarDate = new DateTime(thisYear, thisMonth, thisDay, 0, 0, 0, 0).AddYears(-1);
-            var LunarDate = convert(thisYear-1, thisMonth, thisDay);
-           // DateTime gregorianDate = chineseCalendar.ToDateTime(thisYear, thisMonth, thisDay, 0, 0, 0, 0);
+
+            // DateTime lastYearLunarDate = new DateTime(thisYear, thisMonth, thisDay, 0, 0, 0, 0).AddYears(-1);
+            var LunarDate = convert(thisYear - 1, thisMonth, thisDay);
+            // DateTime gregorianDate = chineseCalendar.ToDateTime(thisYear, thisMonth, thisDay, 0, 0, 0, 0);
             return LunarDate;
 
         }
- 
+
 
         //闃村巻杞崲闃冲巻
-        private DateTime convert(int year,int month,int day)
+        private DateTime convert(int year, int month, int day)
         {
-            for (DateTime dateTime = new DateTime(year, 1, 1); dateTime < new DateTime(year, month + 3, 1);dateTime=dateTime.AddDays(1))
+            for (DateTime dateTime = new DateTime(year, 1, 1); dateTime < new DateTime(year, month + 3, 1); dateTime = dateTime.AddDays(1))
             {
                 ChineseLunisolarCalendar chineseCalendar = new ChineseLunisolarCalendar();
                 int thisYear = chineseCalendar.GetYear(dateTime);
@@ -255,9 +258,9 @@
                 {
                     return dateTime;
                 }
-                
+
             }
-            return new DateTime(2023,1,1);
+            return new DateTime(2023, 1, 1);
         }
 
         //鑾峰彇姘翠綅鏁版嵁
@@ -303,7 +306,7 @@
             axisTime.VisualRange.SideMarginsValue = 0;
             //  axisTime.WholeRange.SetMinMaxValues(LastYearTime, LastYearTime.AddDays(1));
             //    axisTime.VisualRange.SetMinMaxValues(LastYearTime, LastYearTime.AddDays(1));
-            var    waterParas = _PumpRunHelper.GetByPumpOneDayWaterData(LastYearTime, out string error);
+            var waterParas = _PumpRunHelper.GetByPumpOneDayWaterData(LastYearTime, out string error);
             if (waterParas == null) return;
             foreach (var item in waterParas)
             {
@@ -326,10 +329,10 @@
         }
 
 
-       //娣诲姞瀹為檯鍙栨按閲�
+        //娣诲姞瀹為檯鍙栨按閲�
         private void SetCurretnPumpWaterParas(DateTime dateTime)
         {
-       //     List<PumpWater> pumpWater = new List<PumpWater>();
+            //     List<PumpWater> pumpWater = new List<PumpWater>();
             XYDiagram main_diagram = chartControl瀹炴椂鏁版嵁.Diagram as XYDiagram;
             var axisTime = main_diagram.AxisX;
             axisTime.VisualRange.Auto = true;
@@ -344,7 +347,7 @@
             axisTimeele.VisualRange.SideMarginsValue = 0;
             //  axisTime.WholeRange.SetMinMaxValues(LastYearTime, LastYearTime.AddDays(1));
             //    axisTime.VisualRange.SetMinMaxValues(LastYearTime, LastYearTime.AddDays(1));
-            var    CurrentPumpWater = _PumpRunHelper.GetByPumpOneDayWaterData(dateTime, out string error);
+            var CurrentPumpWater = _PumpRunHelper.GetByPumpOneDayWaterData(dateTime, out string error);
             var SeriseMonitor = this.chartControl瀹炴椂鏁版嵁.Series[0];
             if (CurrentPumpWater == null) return;
             _CurrentPumpWater.Clear();
@@ -373,25 +376,26 @@
         //娣诲姞鏂规鍙栨按閲�
         private void GetAnaWater()
         {
-             XYDiagram main_diagram = chartControl瀹炴椂鏁版嵁.Diagram as XYDiagram;
+            XYDiagram main_diagram = chartControl瀹炴椂鏁版嵁.Diagram as XYDiagram;
             var axisTime = main_diagram.AxisX;
             axisTime.VisualRange.Auto = true;
             axisTime.WholeRange.Auto = true;
             axisTime.WholeRange.SideMarginsValue = 0;
             axisTime.VisualRange.SideMarginsValue = 0;
-           var SeriseMonitor = this.chartControl瀹炴椂鏁版嵁.Series[2];
+            var SeriseMonitor = this.chartControl瀹炴椂鏁版嵁.Series[2];
             SeriseMonitor.Points.Clear();
-            if (_Ana == null || !isSetData) 
+            if (_Ana == null || !isSetData)
             {
                 SeriseMonitor.ShowInLegend = false;
                 return;
             }
-            foreach (var item in _Ana.PointTimes)
-                {
+            var allTime = _Ana.GetAllPointTimeList();
+            foreach (var item in allTime)
+            {
                 SeriseMonitor.Points.Add(new SeriesPoint(item.Time, item.RealFlow));
-                }
+            }
             SeriseMonitor.ShowInLegend = true;
-         }
+        }
 
 
 
@@ -420,7 +424,7 @@
         private void barCheckData_CheckedChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
         {
             isSetData = this.barCheckData.Checked;
-             var a = new CalcModel.AnaPrj();
+            var a = new CalcModel.AnaPrj();
             GetAnaWater();
             SetSeriseEle();
             MergeCurrentModel(a, _LastYeay, _CurrentData);
@@ -429,7 +433,7 @@
                 this.barCheckData.Caption = "闅愯棌鏂规鏁版嵁";
             }
             else this.barCheckData.Caption = "鏄剧ず鏂规鏁版嵁";
-            
+
         }
 
 
@@ -438,7 +442,7 @@
         {
             HistoryDataAPiHelper historyDataAPiHelper = new HistoryDataAPiHelper();
             var LastYearIsOpen = historyDataAPiHelper.MergeTimeSlots(MergeList(LastYeay));
-             
+
             var CurrentDateOpen = historyDataAPiHelper.MergeTimeSlots(MergeList(currentData));
             _CurrentModel.Clear();
             if (DateTime.Now.Date >= ListDayTime && CurrentDateOpen != null /*&& LastYearIsOpen != null *//*&& anaPrj != null*/)
@@ -452,13 +456,13 @@
                         PumpCount = string.Format("{0}鍙版车", model.Item3.ToString()),
                         Time = model.Item1.ToString("HH:mm") + "-" + model.Item2.ToString("HH:mm"),
                         ElectricityPrice = model.Item4 * 1000,
-                        Water = model.Item5*1000,    //km鲁---m鲁
-                        Electricity = model.Item6*1000,
+                        Water = model.Item5 * 1000,    //km鲁---m鲁
+                        Electricity = model.Item6 * 1000,
                         TimeSpan = (model.Item2 - model.Item1).TotalMinutes,
-                        TotalEle = _CurrentData.Electric*1000,     //Mwh--kwh
+                        TotalEle = _CurrentData.Electric * 1000,     //Mwh--kwh
                         TotalElePrice = _CurrentData.Money * 1000,
-                        TotalWater =Math.Round( _CurrentData.FlowIn/10,1),//km鲁  ---涓噈鲁
-                        QDSLN = Math.Round(((_CurrentData.Electric * 1000) /( _CurrentData.FlowIn / 10))/10, 1)
+                        TotalWater = Math.Round(_CurrentData.FlowIn / 10, 1),//km鲁  ---涓噈鲁
+                        QDSLN = Math.Round(((_CurrentData.Electric * 1000) / (_CurrentData.FlowIn / 10)) / 10, 1)
                     };
                     _CurrentModel.Add(CurrentDate);
                 }
@@ -489,7 +493,7 @@
                     _CurrentModel.Add(project);
                 }
             }
-            if (LastYearIsOpen != null )
+            if (LastYearIsOpen != null)
             {
                 foreach (var model in LastYearIsOpen)
                 {
@@ -499,29 +503,29 @@
                         PumpCount = string.Format("{0}鍙版车", model.Item3.ToString()),
                         Time = model.Item1.ToString("HH:mm") + "-" + model.Item2.ToString("HH:mm"),
                         ElectricityPrice = model.Item4 * 1000,
-                        Water = model.Item5*1000,
+                        Water = model.Item5 * 1000,
                         Electricity = model.Item6 * 1000,
                         TimeSpan = (model.Item2 - model.Item1).TotalMinutes,
                         TotalEle = _LastYeay.Electric * 1000,
-                        TotalElePrice = _LastYeay.Money*1000,
-                        TotalWater = Math.Round( _LastYeay.FlowIn/10,1),
+                        TotalElePrice = _LastYeay.Money * 1000,
+                        TotalWater = Math.Round(_LastYeay.FlowIn / 10, 1),
                         QDSLN = Math.Round(((_LastYeay.Electric * 1000) / (_LastYeay.FlowIn / 10)) / 10, 1)
                     };
                     _CurrentModel.Add(LastYear);
                 }
             }
-         
+
             this.bindingSource1.DataSource = _CurrentModel;
             this.bindingSource1.ResetBindings(false);
-         }
+        }
 
 
         //鑷畾涔夊悎骞�
-         private void gridView2_CellMerge(object sender, CellMergeEventArgs e)
+        private void gridView2_CellMerge(object sender, CellMergeEventArgs e)
         {
             var gridViewPumpID1 = gridView2.GetRow(e.RowHandle1) as CurrentModel;
-             var gridViewPumpID2 = gridView2.GetRow(e.RowHandle2) as CurrentModel;
-             if (gridViewPumpID1 == gridViewPumpID2)
+            var gridViewPumpID2 = gridView2.GetRow(e.RowHandle2) as CurrentModel;
+            if (gridViewPumpID1 == gridViewPumpID2)
             {
                 return;
             }
@@ -530,6 +534,6 @@
                 e.Merge = false;
                 e.Handled = true;
             }
-         }
+        }
     }
 }
\ No newline at end of file

--
Gitblit v1.9.3