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