From 05f522e321a742f03bf1e3e26edaeb5147da42f4 Mon Sep 17 00:00:00 2001
From: tangxu <76880903@qq.com>
Date: 星期三, 02 十一月 2022 16:18:47 +0800
Subject: [PATCH] 解决南汇北 计划计算

---
 Calculation/IStation.Calculation.Dispatch/general/OptAna.cs |   62 ++++++++++---------------------
 1 files changed, 20 insertions(+), 42 deletions(-)

diff --git a/Calculation/IStation.Calculation.Dispatch/general/OptAna.cs b/Calculation/IStation.Calculation.Dispatch/general/OptAna.cs
index 3623389..a75d59d 100644
--- a/Calculation/IStation.Calculation.Dispatch/general/OptAna.cs
+++ b/Calculation/IStation.Calculation.Dispatch/general/OptAna.cs
@@ -29,38 +29,6 @@
             out string error_info)
         { 
             var isUsePress = complex_request_paras.PressValueType == Model.RequestParasComplex.ePressValueType.鍘嬪姏 ? true : false;
-
-            if (eta_ana_records != null && eta_ana_records.Q.HasValue && eta_ana_records.H.HasValue)
-            {
-                if (complex_request_paras.OutletPipePara[0].TargetFlow < 50 ||
-                     complex_request_paras.OutletPipePara[1].TargetFlow < 50)
-                {
-                    complex_request_paras.ValvePara[0].OpenStatus = 0;//鍏抽棴
-                    if (complex_request_paras.OutletPipePara[0].TargetFlow < 50)
-                    {
-                        complex_request_paras.OutletPipePara[0].TargetFlow = 0;
-                        complex_request_paras.OutletPipePara[1].TargetFlow = eta_ana_records.Q.Value;
-
-                        complex_request_paras.OutletPipePara[0].TargetPress = eta_ana_records.H.Value;
-                        complex_request_paras.OutletPipePara[1].TargetPress = eta_ana_records.H.Value;
-                    }
-                    else
-                    {
-                        complex_request_paras.OutletPipePara[1].TargetFlow = 0;
-                        complex_request_paras.OutletPipePara[0].TargetFlow = eta_ana_records.Q.Value;
-
-                        complex_request_paras.OutletPipePara[0].TargetPress = eta_ana_records.H.Value;
-                        complex_request_paras.OutletPipePara[1].TargetPress = eta_ana_records.H.Value;
-                    }
-                }
-                else
-                {
-                    complex_request_paras.OutletPipePara[0].TargetPress = eta_ana_records.H.Value;
-                    complex_request_paras.OutletPipePara[1].TargetPress = eta_ana_records.H.Value;
-                }
-
-            }
-
             if (isUsePress)
                 return CalcSchemes鍘嬪姏(complex_request_paras, machine_run_status, out error_info);
             else
@@ -99,27 +67,37 @@
                 return null;
             }
 
-            double target_press = complex_request_paras.OutletPipePara[0].TargetPress;
-            if (target_press < 0.01)
+            double outlet_para_value = complex_request_paras.OutletPipePara[0].TargetPress;
+            bool outlet_isWaterLevel = complex_request_paras.OutletPipePara[0].IsWaterLevel;
+            if (outlet_para_value < 0.01)
             {
                 error_info = "鍘嬪姏鍊艰繃浣�, 璇风‘璁ゆ槸鍚﹁祴鍊�, ERROR 68";
                 return null;
             }
 
-            double water_level = 0;//姘翠綅
+            double inlet_para_value = 0;//姘翠綅
+            bool inlet_isWaterLevel = true;
             if (complex_request_paras.InletPipePara != null && complex_request_paras.InletPipePara.Count > 0)
             {
-                water_level = complex_request_paras.InletPipePara.First().Value;
-                if (!complex_request_paras.InletPipePara.First().IsWaterLevel)
-                {//鎹㈡垚M
-                    water_level = water_level * 102;
+                inlet_isWaterLevel = complex_request_paras.InletPipePara.First().IsWaterLevel;
+                if (complex_request_paras.InletPipePara.Count == 1)
+                {
+                    inlet_para_value = complex_request_paras.InletPipePara.First().Value;
+                }
+                else
+                {//澶氫釜鐢ㄥ钩鍧囧��
+                    for (int i = 0; i < complex_request_paras.InletPipePara.Count; i++)
+                    {
+                        inlet_para_value += complex_request_paras.InletPipePara[i].Value;
+                    }
+                    inlet_para_value = inlet_para_value / complex_request_paras.InletPipePara.Count;
                 }
             }
 
 
 
 
-           if(allMachineList == null)
+            if (allMachineList == null)
             {
                 if (!BuildMachineList(
                     out allMachineList,
@@ -136,8 +114,8 @@
                 new IStation.Calculation.DispatchAna.Common.DispatchAnaGeneralHelper鍘嬪姏();
             calc_pipe_helper.InitialParas(
                 target_flow,
-                water_level,true ,
-                target_press,false ,
+                inlet_para_value, inlet_isWaterLevel,
+                outlet_para_value, outlet_isWaterLevel,
                 complex_request_paras.OutletPipePara[0].TargetFlowRangeMin,
                 complex_request_paras.OutletPipePara[0].TargetFlowRangeMax,
                 allMachineList,

--
Gitblit v1.9.3