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