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

---
 WebApi/Controllers/ReservoirWaterLevelController.cs |  132 ++++++++++++++++++++++++++++++++++---------
 1 files changed, 103 insertions(+), 29 deletions(-)

diff --git a/WebApi/Controllers/ReservoirWaterLevelController.cs b/WebApi/Controllers/ReservoirWaterLevelController.cs
index b2bfe59..120ce46 100644
--- a/WebApi/Controllers/ReservoirWaterLevelController.cs
+++ b/WebApi/Controllers/ReservoirWaterLevelController.cs
@@ -8,8 +8,9 @@
 using System.Net.Http;
 using System.Security.Permissions;
 using System.Text;
+using System.Threading.Tasks;
 using System.Web;
-using System.Web.Http; 
+using System.Web.Http;
 
 namespace IStation.WebApi.Controllers
 {
@@ -19,51 +20,124 @@
     [RoutePrefix("ReservoirWaterLevel")]
     public class ReservoirWaterLevelController : ApiController
     {
-
         /// <summary>
-        /// 鑾峰彇瀹炴椂鍊� 
-        /// </summary> 
+        /// 鑾峰彇瀹炴椂鍊�
+        /// </summary>
         /// <returns></returns>
         [Route("GetRealValue")]
         [HttpGet]
-        public IStation.Dto.ApiResult GetRealValue()
+        public   IStation.Dto.ApiResult  GetRealValue()
         {
-            var d = ZyConnectHelper.GetRealReservoirWaterLevel().Result;
+            var d = ZyConnectHelper.GetRealReservoirWaterLevel();
 
             return new IStation.Dto.ApiResult<double>(d);
         }
 
         /// <summary>
-        /// 鑾峰彇浠婃棩棰勬祴鍊�(24鐐规椂) 
-        /// </summary> 
+        /// 鑾峰彇鏈�鍚庝竴鏉�
+        /// </summary>
         /// <returns></returns>
-        [Route("GetTodayEndPredictiveValue")]
+        [Route("GetLastPredictValue")]
         [HttpGet]
-        public IStation.Dto.ApiResult GetTodayEndPredictiveValue()
+        public IStation.Dto.ApiResult GetLastPredictValue()
         {
-            var now_value = ZyConnectHelper.GetRealReservoirWaterLevel().Result;
-
-            var today_prj = Common.HistoryAnaPrjFileHelper.GetPrj(DateTime.Today);
-
-            if(today_prj == null || today_prj.BlockTimes == null || today_prj.PointTimes == null)
+            try
             {
-                return new IStation.Dto.ApiResult<double>(-100);
-            }
-
-            var now = DateTime.Now;
-            double predictiveValue = now_value;
-
-            foreach(var pt in today_prj.PointTimes)
-            {
-                if (now > pt.Time)
+                IStation.DAL.WaterPredictRecord dal = new DAL.WaterPredictRecord();
+                var records = dal.GetLast(1);
+                if (records == null || records.Count == 0)
                 {
-                    predictiveValue = now_value + today_prj.PointTimes.Last().WaterLevelH - pt.WaterLevelH;
-                    return new IStation.Dto.ApiResult<double>(predictiveValue);
+                    return new IStation.Dto.ApiResult<string>() { Code = ApiResultCode.Error, Data = "鏁版嵁涓虹┖" };
                 }
+                return new IStation.Dto.ApiResult<string>() { Code = ApiResultCode.Error, Data = records.Last().PredictValueList };
             }
-
-
-            return new IStation.Dto.ApiResult<double>(now_value);
+            catch (Exception ex)
+            {
+                return new IStation.Dto.ApiResult<string>() { Code = ApiResultCode.Error, Data = ex.Message };
+            }
         }
+        /// <summary>
+        /// 鑾峰彇鏈�鍚庝竴鏉�
+        /// </summary>
+        /// <returns></returns>
+        [Route("GetPredictRecordBySingleHour")]
+        [HttpGet]
+        public IStation.Dto.ApiResult GetPredictRecordBySingleHour(DateTime time)
+        {
+            try
+            {
+                IStation.DAL.WaterPredictRecord dal = new DAL.WaterPredictRecord();
+                var records = dal.GetBySingleHour(time);
+                if (records == null  )
+                {
+                    return new IStation.Dto.ApiResult<string>() { Code = ApiResultCode.Error, Data = "鏁版嵁涓虹┖" };
+                }
+                return new IStation.Dto.ApiResult<IStation.Model.WaterPredictRecord>() { Code = ApiResultCode.Error, Data = records  };
+            }
+            catch (Exception ex)
+            {
+                return new IStation.Dto.ApiResult<string>() { Code = ApiResultCode.Error, Data = ex.Message };
+            }
+        }
+
+        /// <summary>
+        /// 鑾峰彇鏈�鍚庝竴鏉�
+        /// </summary>
+        /// <returns></returns>
+        [Route("GetPredictRecordByHourRange")]
+        [HttpGet]
+        public IStation.Dto.ApiResult GetPredictRecordByHourRange(string  start_time, string  end_time)
+        {
+            if (string .IsNullOrEmpty(start_time) || string .IsNullOrEmpty(end_time))
+            {
+                return new IStation.Dto.ApiResult<string>() { Code = ApiResultCode.Error, Data = "start_time 鎴栬�� end_time 鏁版嵁涓虹┖" };
+            }
+            try
+            {
+                IStation.DAL.WaterPredictRecord dal = new DAL.WaterPredictRecord();
+                var records = dal.GetByHourRangle(DateTime.Parse( start_time), DateTime.Parse(end_time));
+                if (records == null)
+                {
+                    return new IStation.Dto.ApiResult<string>() { Code = ApiResultCode.Error, Data = "鏁版嵁涓虹┖" };
+                }
+                return new IStation.Dto.ApiResult<List<IStation.Model.WaterPredictRecord>>() { Code = ApiResultCode.Error, Data = records };
+            }
+            catch (Exception ex)
+            {
+                return new IStation.Dto.ApiResult<string>() { Code = ApiResultCode.Error, Data = ex.Message };
+            }
+        }
+
+        ///// <summary>
+        ///// 鑾峰彇浠婃棩棰勬祴鍊�(24鐐规椂)
+        ///// </summary>
+        ///// <returns></returns>
+        //[Route("GetTodayEndPredictiveValue")]
+        //[HttpGet]
+        //public async Task<IStation.Dto.ApiResult> GetTodayEndPredictiveValue()
+        //{
+        //    var now_value = await ZyConnectHelper.GetRealReservoirWaterLevel();
+        //    IStation.CalcModel.AnaRequestBase requestBase
+        //    var today_prj = Common.HistoryAnaPrjFileHelper.GetPrj(DateTime.Today);
+
+        //    if(today_prj == null || today_prj.BlockTimes == null || today_prj.PointTimes == null)
+        //    {
+        //        return new IStation.Dto.ApiResult<double>(-100);
+        //    }
+
+        //    var now = DateTime.Now;
+        //    double predictiveValue = now_value;
+
+        //    foreach(var pt in today_prj.PointTimes)
+        //    {
+        //        if (now > pt.Time)
+        //        {
+        //            predictiveValue = now_value + today_prj.PointTimes.Last().WaterLevelH - pt.WaterLevelH;
+        //            return new IStation.Dto.ApiResult<double>(predictiveValue);
+        //        }
+        //    }
+
+        //    return new IStation.Dto.ApiResult<double>(now_value);
+        //}
     }
 }
\ No newline at end of file

--
Gitblit v1.9.3