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