From 290cb94c5498997c7509f6955b1d3a5750c31610 Mon Sep 17 00:00:00 2001
From: tangxu <tangxu76880903>
Date: 星期五, 12 四月 2024 15:00:00 +0800
Subject: [PATCH] 添加设置接口(众毅)

---
 WebApi/Controllers/ZyPrjController.cs |  199 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 198 insertions(+), 1 deletions(-)

diff --git a/WebApi/Controllers/ZyPrjController.cs b/WebApi/Controllers/ZyPrjController.cs
index bd36cbc..a947372 100644
--- a/WebApi/Controllers/ZyPrjController.cs
+++ b/WebApi/Controllers/ZyPrjController.cs
@@ -1,4 +1,5 @@
-锘縰sing IStation.CalcModel;
+锘縰sing Antlr.Runtime.Tree;
+using IStation.CalcModel;
 using IStation.Common;
 using IStation.Dto;
 using IStation.Model;
@@ -159,6 +160,202 @@
             return new IStation.Dto.ApiResult< IStation.ZyDto.SubmitPrj>(dto_prj) { Code = ApiResultCode.Success };
         }
 
+
+        /// <summary>
+        ///  
+        /// </summary> 
+        /// <returns></returns>
+        [Route("GetSetting")]
+        [HttpGet]
+        public IStation.Dto.ApiResult GetSetting()
+        {
+            var model_setting = IStation.AnaGlobalParas.Setting;
+            IStation.Dto.ZyPrjAnaSetting dto_setting = new ZyPrjAnaSetting();
+            dto_setting.MinOpenTimeMinute = model_setting.MinOpenTimeMinute;
+            dto_setting.MinSwitchTimeMinute = model_setting.MinSwitchTimeMinute;
+            dto_setting.MaxPumpSwitchCount = model_setting.MaxPumpSwitchCountQ;
+            dto_setting.OptSortType = model_setting.OptSortType;
+            if(model_setting.SwitchPumpIgnoreTimes != null)
+            {
+                dto_setting.SwitchPumpIgnoreTimes = new List<ZyPrjAnaSetting.TimeRange>();
+                foreach(var m in model_setting.SwitchPumpIgnoreTimes)
+                {
+                    dto_setting.SwitchPumpIgnoreTimes.Add(new ZyPrjAnaSetting.TimeRange()
+                    {
+                        IsUse = m.IsUse,
+                        StartHour = m.StartHour,
+                        StartMinute = m.StartMinute,
+                        EndHour = m.EndHour,
+                        EndMinute = m.EndMinute,
+                    });
+                }
+            }
+            if (model_setting.OpenPumpTimes != null)
+            {
+                dto_setting.OpenPumpTimes = new List<ZyPrjAnaSetting.TimeRange>();
+                foreach (var m in model_setting.OpenPumpTimes)
+                {
+                    dto_setting.OpenPumpTimes.Add(new ZyPrjAnaSetting.TimeRange()
+                    {
+                        IsUse = m.IsUse,
+                        StartHour = m.StartHour,
+                        StartMinute = m.StartMinute,
+                        EndHour = m.EndHour,
+                        EndMinute = m.EndMinute,
+                    });
+                }
+            }
+ 
+ 
+ 
+
+
+            return new IStation.Dto.ApiResult<IStation.Dto.ZyPrjAnaSetting>(dto_setting);
+        }
+
+        /// <summary>
+        ///  
+        /// </summary>
+        /// <param name="ana"></param>
+        /// <returns></returns>
+        [Route("SaveSetting")]
+        [HttpPost]
+        public IStation.Dto.ApiResult SaveSetting([FromBody] IStation.Dto.ZyPrjAnaSetting dto)
+        {
+            if (dto == null)
+            {
+                return new IStation.Dto.ApiResult<bool>(false);
+            }
+            var model_setting = IStation.AnaGlobalParas.Setting;
+
+            if (dto.MinOpenTimeMinute < 5)
+            {
+                return new IStation.Dto.ApiResult() { Code = ApiResultCode.Error, Message = "鏈�灏戝紑娉垫椂闂� 璁剧疆杩囧皯" };
+            }
+            if (dto.MinOpenTimeMinute > 120)
+            {
+                return new IStation.Dto.ApiResult() { Code = ApiResultCode.Error, Message = "鏈�灏戝紑娉垫椂闂� 璁剧疆杩囬暱" };
+            }
+            model_setting.MinOpenTimeMinute = dto.MinOpenTimeMinute;
+
+            if (dto.MinSwitchTimeMinute < 5)
+            {
+                return new IStation.Dto.ApiResult() { Code = ApiResultCode.Error, Message = "鏈�灏戝垏娉垫椂闂� 璁剧疆杩囧皯" };
+            }
+            if (dto.MinSwitchTimeMinute > 120)
+            {
+                return new IStation.Dto.ApiResult() { Code = ApiResultCode.Error, Message = "鏈�灏戝垏娉垫椂闂� 璁剧疆杩囬暱" };
+            }
+            model_setting.MinSwitchTimeMinute = dto.MinSwitchTimeMinute;
+
+
+
+            if (dto.MaxPumpSwitchCount < 1)
+            {
+                return new IStation.Dto.ApiResult() { Code = ApiResultCode.Error, Message = "鏈�澶у垏娉垫鏁� 璁剧疆杩囧皯" };
+            }
+            if (dto.MaxPumpSwitchCount > 10)
+            {
+                return new IStation.Dto.ApiResult() { Code = ApiResultCode.Error, Message = "鏈�澶у垏娉垫鏁� 璁剧疆杩囬暱" };
+            }
+            model_setting.MaxPumpSwitchCountQ = dto.MaxPumpSwitchCount;
+
+
+
+            model_setting.OptSortType = dto.OptSortType;
+            if (dto.SwitchPumpIgnoreTimes != null)
+            {
+                model_setting.SwitchPumpIgnoreTimes = new List<CalcModel.AnaSetting.TimeRange>();
+                foreach (var m in dto.SwitchPumpIgnoreTimes)
+                {
+                    if (m.StartHour < 0 || m.StartHour > 24)
+                    {
+                        return new IStation.Dto.ApiResult() { Code = ApiResultCode.Error, Message = "涓嶈鍒囨车鏃堕棿 鏃堕棿鑼冨洿璁剧疆涓嶅悎鐞�" };
+                    }
+                    if (m.EndHour < 0 || m.EndHour > 24)
+                    {
+                        return new IStation.Dto.ApiResult() { Code = ApiResultCode.Error, Message = "涓嶈鍒囨车鏃堕棿 鏃堕棿鑼冨洿璁剧疆涓嶅悎鐞�" };
+                    }
+                    if (m.StartMinute < 0 || m.StartMinute > 60)
+                    {
+                        return new IStation.Dto.ApiResult() { Code = ApiResultCode.Error, Message = "涓嶈鍒囨车鏃堕棿 鏃堕棿鑼冨洿璁剧疆涓嶅悎鐞�" };
+                    }
+                    if (m.EndMinute < 0 || m.EndMinute > 60)
+                    {
+                        return new IStation.Dto.ApiResult() { Code = ApiResultCode.Error, Message = "涓嶈鍒囨车鏃堕棿 鏃堕棿鑼冨洿璁剧疆涓嶅悎鐞�" };
+                    }
+                    if(m.StartHour > m.EndHour)
+                    {
+                        return new IStation.Dto.ApiResult() { Code = ApiResultCode.Error, Message = "涓嶈鍒囨车鏃堕棿 鏃堕棿鑼冨洿璁剧疆涓嶅悎鐞�" };
+                    }
+                    if (m.StartHour == m.EndHour)
+                    {
+                        if (m.StartMinute > m.EndMinute)
+                        {
+                            return new IStation.Dto.ApiResult() { Code = ApiResultCode.Error, Message = "涓嶈鍒囨车鏃堕棿 鏃堕棿鑼冨洿璁剧疆涓嶅悎鐞�" };
+                        }
+                    }
+                    model_setting.SwitchPumpIgnoreTimes.Add(new CalcModel.AnaSetting.TimeRange()
+                    {
+                        IsUse = m.IsUse,
+                        StartHour = m.StartHour,
+                        StartMinute = m.StartMinute,
+                        EndHour = m.EndHour,
+                        EndMinute = m.EndMinute,
+                    });
+                }
+            }
+
+
+            if (dto.OpenPumpTimes != null)
+            {
+                model_setting.OpenPumpTimes = new List<CalcModel.AnaSetting.TimeRange>();
+                foreach (var m in dto.OpenPumpTimes)
+                {
+                    if (m.StartHour < 0 || m.StartHour > 24)
+                    {
+                        return new IStation.Dto.ApiResult() { Code = ApiResultCode.Error, Message = "寮�娉垫椂闂� 鏃堕棿鑼冨洿璁剧疆涓嶅悎鐞�" };
+                    }
+                    if (m.EndHour < 0 || m.EndHour > 24)
+                    {
+                        return new IStation.Dto.ApiResult() { Code = ApiResultCode.Error, Message = "寮�娉垫椂闂� 鏃堕棿鑼冨洿璁剧疆涓嶅悎鐞�" };
+                    }
+                    if (m.StartMinute < 0 || m.StartMinute > 60)
+                    {
+                        return new IStation.Dto.ApiResult() { Code = ApiResultCode.Error, Message = "寮�娉垫椂闂� 鏃堕棿鑼冨洿璁剧疆涓嶅悎鐞�" };
+                    }
+                    if (m.EndMinute < 0 || m.EndMinute > 60)
+                    {
+                        return new IStation.Dto.ApiResult() { Code = ApiResultCode.Error, Message = "寮�娉垫椂闂� 鏃堕棿鑼冨洿璁剧疆涓嶅悎鐞�" };
+                    }
+                    if (m.StartHour > m.EndHour)
+                    {
+                        return new IStation.Dto.ApiResult() { Code = ApiResultCode.Error, Message = "寮�娉垫椂闂� 鏃堕棿鑼冨洿璁剧疆涓嶅悎鐞�" };
+                    }
+                    if (m.StartHour == m.EndHour)
+                    {
+                        if (m.StartMinute > m.EndMinute)
+                        {
+                            return new IStation.Dto.ApiResult() { Code = ApiResultCode.Error, Message = "寮�娉垫椂闂� 鏃堕棿鑼冨洿璁剧疆涓嶅悎鐞�" };
+                        }
+                    }
+                    model_setting.OpenPumpTimes.Add(new CalcModel.AnaSetting.TimeRange()
+                    {
+                        IsUse = m.IsUse,
+                        StartHour = m.StartHour,
+                        StartMinute = m.StartMinute,
+                        EndHour = m.EndHour,
+                        EndMinute = m.EndMinute,
+                    });
+                }
+            }
+           
+            return new IStation.Dto.ApiResult<bool>(IStation.Common.AnaSetting.SaveSetting(model_setting));
+        }
+
+
+
+
         Model.eTideSouce _tideSouce = Model.eTideSouce.Book;
         private List<Model.TimeWaterLevel> GetTide3Day(DateTime calc_day )
         {

--
Gitblit v1.9.3