From 66d482d739c0edeb0b79465e991cb11da50f7741 Mon Sep 17 00:00:00 2001
From: tangxu <tangxu76880903>
Date: 星期四, 10 十月 2024 14:19:30 +0800
Subject: [PATCH] 历史记录不显示总量

---
 WebApi/Controllers/AnaPrjController.cs |    6 +
 WebApi/Controllers/ZyPrjController.cs  |  203 +++++++++++++++++++++++++++-----------------------
 2 files changed, 116 insertions(+), 93 deletions(-)

diff --git a/WebApi/Controllers/AnaPrjController.cs b/WebApi/Controllers/AnaPrjController.cs
index c72968e..9d7a97c 100644
--- a/WebApi/Controllers/AnaPrjController.cs
+++ b/WebApi/Controllers/AnaPrjController.cs
@@ -473,7 +473,11 @@
                 return new IStation.Dto.ApiResult() { Code = ApiResultCode.Error, Message = "prj null" };
             }
 
-            var ret = Common.HistoryAnaPrjFileHelper.SavePrj(request.settting, request.requestBase, request.prj);
+            var ret = Common.HistoryAnaPrjFileHelper.SavePrj(
+                request.settting,
+                false,
+                request.requestBase, 
+                request.prj);
 
             //鎻掑叆鍒版暟鎹簱
             //var dal = new IStation.DAL.AnaProject();
diff --git a/WebApi/Controllers/ZyPrjController.cs b/WebApi/Controllers/ZyPrjController.cs
index 7bc5f03..9e2822c 100644
--- a/WebApi/Controllers/ZyPrjController.cs
+++ b/WebApi/Controllers/ZyPrjController.cs
@@ -48,7 +48,7 @@
     public class ZyPrjController : ApiController
     {
         /// <summary>
-        ///
+        ///  璁$畻
         /// </summary>
         /// <param name="request"></param>
         /// <returns></returns>
@@ -161,7 +161,8 @@
 
             double TotalFlowOut鎵嬪姩杈撳叆闇�姹� = 0;//棰勬祴鍊肩殑渚涙按鎬婚噺(鍗曚綅 鍚�)
             double TotalFlowOut棰勬祴鍊肩殑渚涙按鎬婚噺 = 0;//棰勬祴鍊肩殑渚涙按鎬婚噺 (鍗曚綅 鍚�)
-
+            double FlowTotalOut闇�姹� = 0;
+            bool isPredictRecord = false; //鏄惁鏄敤鍒版按閲忛娴�
             if (string.IsNullOrEmpty(request.TotalFlowOut) || string.IsNullOrWhiteSpace(request.TotalFlowOut))
             {//鐢ㄩ娴嬪��
                 #region 鐢ㄩ娴嬪��
@@ -202,7 +203,8 @@
                 IStation.LogHelper.Info(
                     string.Format("鑾峰彇姘撮噺棰勬祴鍊�:  {0} ,  棰勬祴鍊兼�讳緵姘存�婚噺:{1} ", 
                     string.Join(",", anaRequest.PerHourFlowOut), TotalFlowOut棰勬祴鍊肩殑渚涙按鎬婚噺));
-
+                FlowTotalOut闇�姹� = TotalFlowOut棰勬祴鍊肩殑渚涙按鎬婚噺;
+                isPredictRecord = true ;
                 #endregion 鐢ㄩ娴嬪��
             }
             else
@@ -225,6 +227,9 @@
                     list.Add(Math.Round(TotalFlowOut鎵嬪姩杈撳叆闇�姹� / count, 1));
                 }
                 anaRequest.PerHourFlowOut = list;
+
+                FlowTotalOut闇�姹� = TotalFlowOut鎵嬪姩杈撳叆闇�姹�;
+                isPredictRecord = false ;
             }
 
             #endregion 渚涙按閲�
@@ -292,19 +297,13 @@
             }
             IStation.LogHelper.Info("-----------------------------END--------------------------------------");
 
-            //淇濆瓨鏂规
-            var ret = Common.HistoryAnaPrjFileHelper.SavePrj(IStation.AnaGlobalParas.Setting, anaRequest, defaultPrj);
+            //淇濆瓨鏂规 
+            var ret = Common.HistoryAnaPrjFileHelper.SavePrj(IStation.AnaGlobalParas.Setting, isPredictRecord, anaRequest, defaultPrj);
 
             //
             var dto_prj = ToPrjDto(defaultPrj);
-            if (TotalFlowOut棰勬祴鍊肩殑渚涙按鎬婚噺 > 1)
-            {
-                dto_prj.FlowTotalOut = TotalFlowOut棰勬祴鍊肩殑渚涙按鎬婚噺;// Math.Round(TotalFlowOut棰勬祴鍊肩殑渚涙按鎬婚噺 / 10000, 1);
-            }
-            else
-            {
-                dto_prj.FlowTotalOut = TotalFlowOut鎵嬪姩杈撳叆闇�姹�;
-            }
+            dto_prj.FlowTotalOut = FlowTotalOut闇�姹�;
+           
 
             #region 鎺ㄩ��
 
@@ -418,81 +417,7 @@
             }
         }
 
-        #region 鎹㈢畻鎴怐TO
 
-        private IStation.ZyDto.SubmitPrj ToPrjDto(AnaPrj defaultPrj)
-        {
-            IStation.ZyDto.SubmitPrj dto_prj = new ZyDto.SubmitPrj();
-
-            if (string.IsNullOrEmpty(defaultPrj.ID))
-            {
-                var time = DateTime.Now;
-                defaultPrj.ID = $"{time.Year}{time.Month}{time.Day}{time.Hour}{time.Minute}{time.Second}";
-            }
-            dto_prj.schemeID = defaultPrj.ID;
-            dto_prj.schemeName = defaultPrj.Name;
-            dto_prj.Day = defaultPrj.StartTime.ToString("yyyy-MM-dd");
-            dto_prj.StartTime = defaultPrj.StartTime.ToString("yyyy-MM-dd HH:mm:ss");
-            dto_prj.EndTime = defaultPrj.EndTime.ToString("yyyy-MM-dd HH:mm:ss");
-
-            dto_prj.FlowTotalIn = Math.Round(defaultPrj.SumFlow, 0);
-            dto_prj.PowerTotal = Math.Round(defaultPrj.SumPower, 0);
-            dto_prj.MoneyTotal = Math.Round(defaultPrj.SumMoney, 0);
-
-            dto_prj.BlockTimes = new List<ZyDto.SubmitPrjBlockTime>();
-            double maxHeight = 0;
-            double startHeight = 0;
-
-            if (defaultPrj.BlockTimes != null)
-            {
-                startHeight = defaultPrj.BlockTimes.First().ReservoirStartHeight;
-                foreach (var bt in defaultPrj.BlockTimes)
-                {
-                    if (bt.OpenPumpIndexs == null)
-                        continue;
-                    ZyDto.SubmitPrjBlockTime dto_item = new ZyDto.SubmitPrjBlockTime();
-                    dto_item.StartTime = bt.StartTime;
-                    dto_item.EndTime = bt.EndTime;
-                    dto_item.OpenPumpCount = bt.OpenPumpIndexs.Count;
-                    dto_item.OpenPumpIndexs = bt.OpenPumpIndexs;
-                    dto_item.StartSwitchGroupID = bt.StartSwitchGroupID;
-
-                    if (bt.PointTimes != null)
-                    {
-                        dto_item.Records = new List<SubmitPrjTime>();
-                        foreach (var bt2 in bt.PointTimes)
-                        {
-                            maxHeight = Math.Max(maxHeight, bt2.WaterLevelH);
-                            dto_item.Records.Add(new SubmitPrjTime(bt2));
-                        }
-                    }
-
-                    dto_prj.BlockTimes.Add(dto_item);
-                }
-            }
-            dto_prj.MaxWaterLevelH = maxHeight;
-            dto_prj.StartWaterLevelH = startHeight;
-            dto_prj.Switchs = new List<SubmitPrjSwitchInfo>();
-            if (defaultPrj.PumpSwitchs != null)
-            {
-                var fi_PumpSwitchs = from x in defaultPrj.PumpSwitchs orderby x.Time select x;
-                foreach (var bt in fi_PumpSwitchs)
-                {
-                    ZyDto.SubmitPrjSwitchInfo dto_item = new ZyDto.SubmitPrjSwitchInfo();
-                    dto_item.Index = bt.Index;
-                    dto_item.GroupID = bt.GroupID;//鍒嗙粍ID
-                    dto_item.PumpIndex = bt.PumpIndex;//娉佃鏍�
-                    dto_item.Time = bt.Time.ToString("yyyy-MM-dd HH:mm:ss");//鏃堕棿
-                    dto_item.SwitchType = bt.SwitchType;///1 寮�鏈� 0 鍏虫満
-
-                    dto_prj.Switchs.Add(dto_item);
-                }
-            }
-
-            return dto_prj;
-        }
-
-        #endregion 鎹㈢畻鎴怐TO
 
         /// <summary>
         ///  鑾峰彇鏌愪竴澶�,鏈�杩戜竴鏉�
@@ -518,8 +443,14 @@
             var prj = Common.HistoryAnaPrjFileHelper.GetByCreateDay(d, out requestBase);
             if (prj != null)
             {
-                IStation.LogHelper.Info(string.Format(" api GetHistoryByDay {0}    format: {1}  OK", day, d));
+                //IStation.LogHelper.Info(string.Format(" api GetHistoryByDay {0}    format: {1}  OK", day, d));
                 var dto_prj = ToPrjDto(prj);
+                if (requestBase != null && requestBase.PerHourFlowOut != null)
+                {
+                    var sumFlow = (from x in requestBase.PerHourFlowOut select x).Sum();
+                    dto_prj.FlowTotalOut = sumFlow;
+                }
+
                 return new IStation.Dto.ApiResult<IStation.ZyDto.SubmitPrj>(dto_prj) { Code = ApiResultCode.Success };
             }
             else
@@ -549,9 +480,14 @@
             IStation.CalcModel.AnaRequestBase requestBase = null;
             var prj = Common.HistoryAnaPrjFileHelper.GetByStartTime(record.StartTime, out requestBase);
             if (prj != null)
-            {
-                //IStation.LogHelper.Info(" api GetLastHistoryRecord is   ID: " + prj.ID);
+            { 
                 var dto_prj = ToPrjDto(prj);
+                if (requestBase != null && requestBase.PerHourFlowOut != null)
+                {
+                    var sumFlow = (from x in requestBase.PerHourFlowOut select x).Sum();
+                    dto_prj.FlowTotalOut = sumFlow;
+                }
+
                 return new IStation.Dto.ApiResult<IStation.ZyDto.SubmitPrj>(dto_prj) { Code = ApiResultCode.Success };
             }
             else
@@ -584,9 +520,14 @@
             IStation.CalcModel.AnaRequestBase requestBase = null;
             var prj = Common.HistoryAnaPrjFileHelper.GetByStartTime(record.StartTime, out requestBase);
             if (prj != null)
-            {
-                //IStation.LogHelper.Info(" api GetLastHistoryRecord is   ID: " + prj.ID);
+            { 
                 var dto_prj = ToPrjDto(prj);
+                if (requestBase != null && requestBase.PerHourFlowOut != null )
+                {
+                    var sumFlow = (from x in requestBase.PerHourFlowOut select x).Sum();
+                    dto_prj.FlowTotalOut = sumFlow;
+                }
+
                 return new IStation.Dto.ApiResult<IStation.ZyDto.SubmitPrj>(dto_prj) { Code = ApiResultCode.Success };
             }
             else
@@ -1036,5 +977,83 @@
 
             return timeValues;
         }
+
+        #region 鎹㈢畻鎴怐TO
+
+        private IStation.ZyDto.SubmitPrj ToPrjDto(AnaPrj defaultPrj)
+        {
+            IStation.ZyDto.SubmitPrj dto_prj = new ZyDto.SubmitPrj();
+
+            if (string.IsNullOrEmpty(defaultPrj.ID))
+            {
+                var time = DateTime.Now;
+                defaultPrj.ID = $"{time.Year}{time.Month}{time.Day}{time.Hour}{time.Minute}{time.Second}";
+            }
+            dto_prj.schemeID = defaultPrj.ID;
+            dto_prj.schemeName = defaultPrj.Name;
+            dto_prj.Day = defaultPrj.StartTime.ToString("yyyy-MM-dd");
+            dto_prj.StartTime = defaultPrj.StartTime.ToString("yyyy-MM-dd HH:mm:ss");
+            dto_prj.EndTime = defaultPrj.EndTime.ToString("yyyy-MM-dd HH:mm:ss");
+
+            dto_prj.FlowTotalIn = Math.Round(defaultPrj.SumFlow, 0);
+            dto_prj.FlowTotalOut = 0; //澶栭潰璧嬪��
+            dto_prj.PowerTotal = Math.Round(defaultPrj.SumPower, 0);
+            dto_prj.MoneyTotal = Math.Round(defaultPrj.SumMoney, 0);
+
+            dto_prj.BlockTimes = new List<ZyDto.SubmitPrjBlockTime>();
+            double maxHeight = 0;
+            double startHeight = 0;
+
+            if (defaultPrj.BlockTimes != null)
+            {
+                startHeight = defaultPrj.BlockTimes.First().ReservoirStartHeight;
+                foreach (var bt in defaultPrj.BlockTimes)
+                {
+                    if (bt.OpenPumpIndexs == null)
+                        continue;
+                    ZyDto.SubmitPrjBlockTime dto_item = new ZyDto.SubmitPrjBlockTime();
+                    dto_item.StartTime = bt.StartTime;
+                    dto_item.EndTime = bt.EndTime;
+                    dto_item.OpenPumpCount = bt.OpenPumpIndexs.Count;
+                    dto_item.OpenPumpIndexs = bt.OpenPumpIndexs;
+                    dto_item.StartSwitchGroupID = bt.StartSwitchGroupID;
+
+                    if (bt.PointTimes != null)
+                    {
+                        dto_item.Records = new List<SubmitPrjTime>();
+                        foreach (var bt2 in bt.PointTimes)
+                        {
+                            maxHeight = Math.Max(maxHeight, bt2.WaterLevelH);
+                            dto_item.Records.Add(new SubmitPrjTime(bt2));
+                        }
+                    }
+
+                    dto_prj.BlockTimes.Add(dto_item);
+                }
+            }
+            dto_prj.MaxWaterLevelH = maxHeight;
+            dto_prj.StartWaterLevelH = startHeight;
+            dto_prj.Switchs = new List<SubmitPrjSwitchInfo>();
+            if (defaultPrj.PumpSwitchs != null)
+            {
+                var fi_PumpSwitchs = from x in defaultPrj.PumpSwitchs orderby x.Time select x;
+                foreach (var bt in fi_PumpSwitchs)
+                {
+                    ZyDto.SubmitPrjSwitchInfo dto_item = new ZyDto.SubmitPrjSwitchInfo();
+                    dto_item.Index = bt.Index;
+                    dto_item.GroupID = bt.GroupID;//鍒嗙粍ID
+                    dto_item.PumpIndex = bt.PumpIndex;//娉佃鏍�
+                    dto_item.Time = bt.Time.ToString("yyyy-MM-dd HH:mm:ss");//鏃堕棿
+                    dto_item.SwitchType = bt.SwitchType;///1 寮�鏈� 0 鍏虫満
+
+                    dto_prj.Switchs.Add(dto_item);
+                }
+            }
+
+            return dto_prj;
+        }
+
+        #endregion 鎹㈢畻鎴怐TO
+
     }
 }
\ No newline at end of file

--
Gitblit v1.9.3