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