From bb006801e4d7fc281e8c1b43ab4b7b83da044ab6 Mon Sep 17 00:00:00 2001 From: duheng <2784771470@qq.com> Date: 星期二, 26 三月 2024 13:59:09 +0800 Subject: [PATCH] Merge branch 'master' of http://47.103.154.90:83/r/IStation/shys/ChEqCalc.V1.3 --- Calc/IStation.Calc.Core/CalcPrj.cs | 52 +++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 37 insertions(+), 15 deletions(-) diff --git a/Calc/IStation.Calc.Core/CalcPrj.cs b/Calc/IStation.Calc.Core/CalcPrj.cs index 6637510..f0ed17a 100644 --- a/Calc/IStation.Calc.Core/CalcPrj.cs +++ b/Calc/IStation.Calc.Core/CalcPrj.cs @@ -14,14 +14,38 @@ private List<Model.ElecPriceMonthSetting> _elePriceMonthList = null; private List<IStation.CalcModel.PumpInfo> _allCalcPumpInfos; + public CalcPrj() { } + + public string Calc(IStation.CalcModel.AnaRequest anaRequest, out AnaPrj defaultPrj) + { + InitalPumpInfo(); + InitialElePrice(); + + var calcHelper = GetCalcHelper(anaRequest); + //string error_info = null; + //var prj = calcHelper.CalcOptPrjs(out error_info); + + string error_info; + var anaPrjs = calcHelper.CalcOptPrjs(out error_info); + + if (!string.IsNullOrEmpty(error_info) || anaPrjs == null || anaPrjs.Count() == 0) + { + defaultPrj = null; + return error_info; + } + anaPrjs.Sort(new AnaPrj.Comparer(anaRequest.CalcOptType)); + + defaultPrj = anaPrjs.First(); + + return null; + } /// <summary> /// 鏋勫缓璁$畻杈呭姪绫� /// </summary> /// <param name="isIgnoreOpenLimitAble"></param> /// <returns></returns> - private IStation.Calc.ErQuCalcBaseHelper GetCalcHelper(IStation.CalcModel.AnaRequest _anaRequest) - { - + private IStation.Calc.ErQuCalcBaseHelper GetCalcHelper(IStation.CalcModel.AnaRequest anaRequest) + { IStation.Calc.ErQuCalcBaseHelper calcHelper = IStation.Calc.ErQuCalcBaseHelper.Build(); calcHelper.MinOpenPumpMinute = IStation.AnaGlobalParas.Setting.MinOpenTimeMinute; calcHelper.MinSwitchPumpMinute = IStation.AnaGlobalParas.Setting.MinSwitchTimeMinute; @@ -36,15 +60,15 @@ calcHelper.CalcSpaceMinute = IStation.AnaGlobalParas.Setting.CalcSpaceMinuteQ; calcHelper.MaxPumpSwitchCount = IStation.AnaGlobalParas.Setting.MaxPumpSwitchCountQ; } - DateTime rangeStartTime = _anaRequest.Day ; - DateTime rangeEndTime = _anaRequest.Day.AddDays(1); + DateTime rangeStartTime = anaRequest.StartTime ; + DateTime rangeEndTime = anaRequest.EndTime; calcHelper.SetPumpInfo(_allCalcPumpInfos); calcHelper.SetCalcTimeRange(rangeStartTime, rangeEndTime); - calcHelper.StartOpenCount = _anaRequest.StartOpenCount;// Convert.ToInt32(imageComboCurrentOpenCount.EditValue); + calcHelper.StartOpenCount = anaRequest.StartOpenCount;// Convert.ToInt32(imageComboCurrentOpenCount.EditValue); calcHelper.ElecPrice = _elePriceMonthList; - calcHelper.IsDispDebug = true; + calcHelper.IsDispDebug = false ; calcHelper.OnShowDebugInfo += (info) => { //if (tabPageDebug.PageVisible) @@ -200,7 +224,7 @@ { if (limit_times[0].Start == rangeStartTime) { - _anaRequest.StartOpenCount = -1;//涓嶈�冭檻 + anaRequest.StartOpenCount = -1;//涓嶈�冭檻 } } } @@ -208,7 +232,7 @@ - calcHelper.SetAnaRequest(_anaRequest); + calcHelper.SetAnaRequest(anaRequest); @@ -221,8 +245,7 @@ /// </summary> private void InitalPumpInfo() { - if (_allCalcPumpInfos == null) - { + var allCurveList = IStation.Common.PumpCurve.GetAll(); var allPumpMapList = IStation.Common.PumpCurveMapping.GetAll(); var allPumpList = IStation.Common.Product.GetAllPump(); @@ -247,18 +270,17 @@ _allCalcPumpInfos.Add(calcPumpInfo); } - } + } /// <summary> /// /// </summary> private void InitialElePrice() { - if (_elePriceMonthList == null) - { + var allPrices = IStation.Common.ElecPrice.GetAll(); _elePriceMonthList = allPrices.First().Settings.MonthList; - } + } #endregion -- Gitblit v1.9.3