From 1a4f7ab7af8966e9efca0d8dac4341491f82752d Mon Sep 17 00:00:00 2001
From: tangxu <tangxu76880903>
Date: 星期日, 07 四月 2024 15:40:19 +0800
Subject: [PATCH] 异步改成同步

---
 WebApi/Controllers/PumpRunController.cs |  291 ++++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 273 insertions(+), 18 deletions(-)

diff --git a/WebApi/Controllers/PumpRunController.cs b/WebApi/Controllers/PumpRunController.cs
index fddc42e..79b2d2c 100644
--- a/WebApi/Controllers/PumpRunController.cs
+++ b/WebApi/Controllers/PumpRunController.cs
@@ -1,8 +1,11 @@
 锘縰sing IStation.Dto;
+using IStation.Model;
+using IStation.ZyModel;
 using System;
+using System.Collections.Generic;
+using System.Security.Policy;
 using System.Threading.Tasks;
 using System.Web.Http;
-
 namespace IStation.WebApi.Controllers
 {
     /// <summary>
@@ -11,40 +14,292 @@
     [RoutePrefix("PumpRun")]
     public class PumpRunController : ApiController
     {
-
-        Dto.PumpRunParasDays pumpRunParasDay = new Dto.PumpRunParasDays();
-         /// <summary>
-        ///  鑾峰彇鏌愪竴澶╁弬鏁�
+        /// <summary>
+        ///  鑾峰彇娉靛疄闄呰繍琛屽弬鏁�(涓�澶�)
         /// </summary>
         /// <param name="day"></param>
         /// <returns></returns>
         [Route("GetByOneDay")]
         [HttpGet]
-        public async Task<IStation.Dto.ApiResult> GetByOneDay(DateTime startday)
+        public   IStation.Dto.ApiResult  GetByOneDay(string startday)
         {
-           
-            var PumpState = await ZyConnectHelper.GetPumpIsopen(startday,startday);
-            //    var totalWater = await ZyConnectHelper.GetTotalWaterByDayRange_In(startday, startday);
-            //   pumpRunParasDay.TotalWater = totalWater;
-         //   var PumpTotalElecty = await ZyConnectHelper.GetPumpTotalElectricity(startday, startday);
-        //    pumpRunParasDay.Totalelectricity = PumpTotalElecty;
-            pumpRunParasDay.PumpRunTotalTime1 = PumpState[0];
-            pumpRunParasDay.PumpRunTotalTime2 = PumpState[0];
-            pumpRunParasDay.PumpRunTotalTime3 = PumpState[0];
-            pumpRunParasDay.PumpRunTotalTime4 = PumpState[0];
-            pumpRunParasDay.PumpRunTotalTime5 = PumpState[0];
+            List<RealScadaData> PumpState = new List<RealScadaData>();
+            List<RealScadaData> TotalWater = new List<RealScadaData>();
+            List<RealScadaData> PumpTotalElecty = new List<RealScadaData>();
 
-            return new IStation.Dto.ApiResult<Dto.PumpRunParasDays>(pumpRunParasDay) { Code = ApiResultCode.Success, Message = "Success" };
+            Model.RunParasData runParasData = new Model.RunParasData();
+            if (startday == null)
+            {
+                return new IStation.Dto.ApiResult() { Code = ApiResultCode.Error, Message = "day null" };
+            }
+            DateTime d;
+            if (!DateTime.TryParse(startday, out d))
+            {
+                return new IStation.Dto.ApiResult() { Code = ApiResultCode.Error, Message = "day 鏍煎紡涓嶆纭�" };
+            }
+            // PumpState =  await ZyConnectHelper.GetPumpOpenStatusBySingleDay(d);  //鑾峰彇娉电殑寮�鏈烘儏鍐�             
+            //  totalWater = await ZyConnectHelper.GetTotalWaterByDayRange_In(d, d);
+            //   pumpRunParasDay.TotalWater = totalWater;
+            //   PumpTotalElecty = await ZyConnectHelper.GetPumpTotalElectricity(d, d);    //鑾峰彇鏌愭鏃堕棿鐨勭敤鐢甸噺
+
+            var debug =   Common.PumpRunParasHelper.ReadPumpRunParas(d.AddDays(-15));
+            if (debug != null)
+            {
+                debug.Electric = Math.Round(debug.Electric, 2);
+                debug.Money = Math.Round(debug.Money, 2);
+                debug.FlowIn = Math.Round(debug.FlowIn, 2);
+                if (debug.Pump1.Count != 0)
+                {
+                    foreach (var item in debug.Pump1)
+                    {
+                        item.Electric = Math.Round(item.Electric, 2);
+                        item.Money = Math.Round(item.Money, 2);
+                        item.FlowIn = Math.Round(item.FlowIn, 2);
+                    }
+                }
+                if (debug.Pump2.Count != 0)
+                {
+                    foreach (var item in debug.Pump2)
+                    {
+                        item.Electric = Math.Round(item.Electric, 2);
+                        item.Money = Math.Round(item.Money, 2);
+                        item.FlowIn = Math.Round(item.FlowIn, 2);
+                    }
+                }
+                if (debug.Pump3.Count != 0)
+                {
+                    foreach (var item in debug.Pump3)
+                    {
+                        item.Electric = Math.Round(item.Electric, 2);
+                        item.Money = Math.Round(item.Money, 2);
+                        item.FlowIn = Math.Round(item.FlowIn, 2);
+                    }
+                }
+                if (debug.Pump4.Count != 0)
+                {
+                    foreach (var item in debug.Pump4)
+                    {
+                        item.Electric = Math.Round(item.Electric, 2);
+                        item.Money = Math.Round(item.Money, 2);
+                        item.FlowIn = Math.Round(item.FlowIn, 2);
+                    }
+                }
+                if (debug.Pump5.Count != 0)
+                {
+                    foreach (var item in debug.Pump5)
+                    {
+                        item.Electric = Math.Round(item.Electric, 2);
+                        item.Money = Math.Round(item.Money, 2);
+                        item.FlowIn = Math.Round(item.FlowIn, 2);
+                    }
+                }
+            }
+            else { return null; }
+            return new IStation.Dto.ApiResult<Model.RunParasData>(debug) { Code = ApiResultCode.Success, Message = "Success" };
+        }
+
+        /// <summary>
+        /// 鑾峰彇娉靛巻鍙茶繍琛屽弬鏁�
+        /// </summary>
+        /// <param name="day"></param>
+        /// <returns></returns>
+        [Route("GetByHistoryOneDay")]
+        [HttpGet]
+        public  IStation.Dto.ApiResult  GetByHistoryOneDay(string day)
+        {
+            if (day == null)
+            {
+                return new IStation.Dto.ApiResult() { Code = ApiResultCode.Error, Message = "day null" };
+            }
+            DateTime d;
+            if (!DateTime.TryParse(day, out d))
+            {
+                return new IStation.Dto.ApiResult() { Code = ApiResultCode.Error, Message = "day 鏍煎紡涓嶆纭�" };
+            }
+
+            var history =    Common.PumpRunParasHelper.ReadPumpRunParas(d);
+            if (history == null)
+                return new IStation.Dto.ApiResult() { Code = ApiResultCode.Error, Message = "Data null" };
+            history.Electric = Math.Round(history.Electric, 2);
+            history.Money = Math.Round(history.Money, 2);
+            history.FlowIn = Math.Round(history.FlowIn, 2);
+            if (history.Pump1.Count != 0)
+            {
+                foreach (var item in history.Pump1)
+                {
+                    item.Electric = Math.Round(item.Electric, 2);
+                    item.Money = Math.Round(item.Money, 2);
+                    item.FlowIn = Math.Round(item.FlowIn, 2);
+                }
+            }
+            if (history.Pump2.Count != 0)
+            {
+                foreach (var item in history.Pump2)
+                {
+                    item.Electric = Math.Round(item.Electric, 2);
+                    item.Money = Math.Round(item.Money, 2);
+                    item.FlowIn = Math.Round(item.FlowIn, 2);
+                }
+            }
+            if (history.Pump3.Count != 0)
+            {
+                foreach (var item in history.Pump3)
+                {
+                    item.Electric = Math.Round(item.Electric, 2);
+                    item.Money = Math.Round(item.Money, 2);
+                    item.FlowIn = Math.Round(item.FlowIn, 2);
+                }
+            }
+            if (history.Pump4.Count != 0)
+            {
+                foreach (var item in history.Pump4)
+                {
+                    item.Electric = Math.Round(item.Electric, 2);
+                    item.Money = Math.Round(item.Money, 2);
+                    item.FlowIn = Math.Round(item.FlowIn, 2);
+                }
+            }
+            if (history.Pump5.Count != 0)
+            {
+                foreach (var item in history.Pump5)
+                {
+                    item.Electric = Math.Round(item.Electric, 2);
+                    item.Money = Math.Round(item.Money, 2);
+                    item.FlowIn = Math.Round(item.FlowIn, 2);
+                }
+            }
+            return new IStation.Dto.ApiResult<Model.RunParasData>(history) { Code = ApiResultCode.Success, Message = "Success" };
         }
 
 
 
+        /// <summary>
+        /// 涓�澶╁唴鐨勬�诲彇姘撮噺鍜岀敤鐢甸噺
+        /// </summary>
+        /// <param name="day"></param>
+        /// <returns></returns>
+        [Route("GetOneDayData")]
+        [HttpGet]
+        public  IStation.Dto.ApiResult  GetOneDayPumpWaterData(string day)
+        {
+            if (day == null)
+            {
+                return new IStation.Dto.ApiResult() { Code = ApiResultCode.Error, Message = "day null" };
+            }
+            DateTime d;
+            if (!DateTime.TryParse(day, out d))
+            {
+                return new IStation.Dto.ApiResult() { Code = ApiResultCode.Error, Message = "day 鏍煎紡涓嶆纭�" };
+            }
+            var WaterParas = Common.PumpRunParasHelper.ReadPumpWaterParas(d);
+
+            return new IStation.Dto.ApiResult<List<Model.PumpWater>>(WaterParas) { Code = ApiResultCode.Success, Message = "Success" };
+        }
 
 
 
+        /// <summary>
+        /// 鑾峰彇鏃堕棿娈靛唴鐨勫崟绠¢亾渚涙按鏁版嵁
+        /// </summary>
+        /// <param name="startday"></param>
+        /// <param name="endday"></param>
+        /// <param name="sign"></param>
+        /// <returns></returns>
+        [Route("GetPumpOutDayWater")]
+        [HttpGet]
+        public IStation.Dto.ApiResult  GetPumpOutWater(string startday,string endday,int sign)
+        {
+            if (startday == null||endday==null)
+            {
+                return new IStation.Dto.ApiResult() { Code = ApiResultCode.Error, Message = "day null" };
+            }
+            DateTime Start;
+            if (!DateTime.TryParse(startday, out Start))
+            {
+                return new IStation.Dto.ApiResult() { Code = ApiResultCode.Error, Message = "day 鏍煎紡涓嶆纭�" };
+            }
+            DateTime End;
+            if (!DateTime.TryParse(endday, out End))
+            {
+                return new IStation.Dto.ApiResult() { Code = ApiResultCode.Error, Message = "day 鏍煎紡涓嶆纭�" };
+            }
+            var WaterParas = Common.PumpRunParasHelper.ReadPumpOutWater(Start,End, sign);
+
+            return new IStation.Dto.ApiResult<List<Model.OutList>>(WaterParas) { Code = ApiResultCode.Success, Message = "Success" };
+        }
 
 
 
+        /// <summary>
+        /// 鑾峰彇鎵�鏈夌殑鏈堝悎璁℃暟鎹�(鍗曠閬�)
+        /// </summary>
+        /// <returns></returns>
+        [Route("GetPumpOutMonthWater")]
+        [HttpGet]
+        public  IStation.Dto.ApiResult  GetPumpOutMonthWater()
+        {
+            var WaterParas = Common.PumpRunParasHelper.ReadPumpMonthOutWater();
+             return new IStation.Dto.ApiResult<List<Model.PumpOutWater>>(WaterParas) { Code = ApiResultCode.Success, Message = "Success" };
+        }
 
+
+
+        /// <summary>
+        /// 鑾峰彇澶╃殑鍚堝苟渚涙按鐬椂鏁版嵁(鎬荤)
+        /// </summary>
+        /// <param name="startday"></param> 寮�濮嬫棩鏈�
+        /// <param name="endday"></param> 缁撴潫鏃ユ湡
+        /// <returns></returns>
+        [Route("GetPumpTotalDayOutWater")]
+        [HttpGet]
+        public  IStation.Dto.ApiResult  GetPumpTotalDayOutWater(string startday, string endday)
+        {
+            if (startday == null || endday == null)
+            {
+                return new IStation.Dto.ApiResult() { Code = ApiResultCode.Error, Message = "day null" };
+            }
+            DateTime Start;
+            if (!DateTime.TryParse(startday, out Start))
+            {
+                return new IStation.Dto.ApiResult() { Code = ApiResultCode.Error, Message = "day 鏍煎紡涓嶆纭�" };
+            }
+            DateTime End;
+            if (!DateTime.TryParse(endday, out End))
+            {
+                return new IStation.Dto.ApiResult() { Code = ApiResultCode.Error, Message = "day 鏍煎紡涓嶆纭�" };
+            }
+            var WaterParas = Common.PumpRunParasHelper.ReadPumpAllDayOutWater(Start,End);
+            return new IStation.Dto.ApiResult<List<Model.OutTotalOneDayList>>(WaterParas) { Code = ApiResultCode.Success, Message = "Success" };
+        }
+
+
+
+        /// <summary>
+        /// 鑾峰彇澶╃殑鍚堝苟渚涙按绱鏁版嵁(鎬荤)
+        /// </summary>
+        /// <param name="startday"></param> 寮�濮嬫棩鏈�
+        /// <param name="endday"></param> 缁撴潫鏃ユ湡
+        /// <returns></returns>
+        [Route("GetPumpTotalDayAccOutWater")]
+        [HttpGet]
+        public IStation.Dto.ApiResult  GetPumpTotalDayAccOutWater(string startday, string endday)
+        {
+            if (startday == null || endday == null)
+            {
+                return new IStation.Dto.ApiResult() { Code = ApiResultCode.Error, Message = "day null" };
+            }
+            DateTime Start;
+            if (!DateTime.TryParse(startday, out Start))
+            {
+                return new IStation.Dto.ApiResult() { Code = ApiResultCode.Error, Message = "day 鏍煎紡涓嶆纭�" };
+            }
+            DateTime End;
+            if (!DateTime.TryParse(endday, out End))
+            {
+                return new IStation.Dto.ApiResult() { Code = ApiResultCode.Error, Message = "day 鏍煎紡涓嶆纭�" };
+            }
+            var WaterParas = Common.PumpRunParasHelper.ReadPumpAllDayOutAccWater(Start, End);
+            return new IStation.Dto.ApiResult<List<Model.OutTotalOneDayList>>(WaterParas) { Code = ApiResultCode.Success, Message = "Success" };
+        }
     }
 }

--
Gitblit v1.9.3