ningshuxia
2022-10-31 2967027410e4131e18c13daf9a80782c3351da4d
Calculation/IStation.EtaCalculation4Custom/base/station/EtaAnalyCalculator±ÃÕ¾4¶¼ÊǶÀÁ¢Á÷Á¿¼Æ_ÓÐÔËÐÐ״̬.cs
@@ -168,6 +168,8 @@
            //用的是泵站的总数量,
            result_pipe.InitialRunList(this._allMachineList.Count());
            double qhTotal = 0;
            #region  å¼€æœºçŠ¶æ€ å’Œæ•°é‡
            int pump_open_count = 0;
            bool allHeadMonitorOk = true;
@@ -197,6 +199,8 @@
                    continue;
                }
                bool validQ = false, validH = false;
                result_pipe.PutStationAnalyInfo(result_pump.AnalyInfo, pump.MachineID);
                pump_open_count++;
@@ -222,6 +226,7 @@
                else
                {
                    all_flow.Add(result_pump.Qa.Value);
                    validQ = true;
                }
                if (result_pump.IsHaveAnaTag(IStation.Model.EtaMultiRealRecordPure.InfoTag_Ha) || result_pump.IsHaveAnaTag(IStation.Model.EtaMultiRealRecordPure.InfoTag_P2))
@@ -239,6 +244,12 @@
                else
                {
                    all_head.Add(result_pump.Ha.Value);
                    validH = true;
                }
                if (validQ && validH)
                {
                    qhTotal += result_pump.Qa.Value * result_pump.Ha.Value;
                }
                if (result_pump.IsHaveAnaTag(IStation.Model.EtaMultiRealRecordPure.InfoTag_Pa))
@@ -292,8 +303,25 @@
                    result_pipe.Ha != null && result_pipe.Pa != null && result_pipe.Qa != null)
                {        
                    //计算效率
                    double eta = Math.Round(Model.EtaMultiRealRecordPure.Calc_Eta(result_pipe.Qa.Value, result_pipe.Ha.Value, result_pipe.Pa.Value, WaterDensity, g), 1);
                    result_pipe.Ea = eta;
                    //double eta = Math.Round(Model.EtaMultiRealRecordPure.Calc_Eta(result_pipe.Qa.Value, result_pipe.Ha.Value, result_pipe.Pa.Value, WaterDensity, g), 1);
                    double eta = 0;
                    foreach (var item in all_machine_list)
                    {
                        var result = item.AnaResult;
                        if (result == null)
                            continue;
                        if (result.IsHaveAnaTag(IStation.Model.EtaBasicRealRecord.InfoTag_Qa) || result.IsHaveAnaTag(IStation.Model.EtaBasicRealRecord.InfoTag_Ha))
                            continue;
                        if (result.Ea.HasValue && result.Qa.HasValue && result.Ha.HasValue)
                        {
                            eta += (result.Qa.Value * result.Ha.Value / qhTotal) * result.Ea.Value;
                        }
                    }
                    result_pipe.Ea = Math.Round(eta,1);
                    // æ£€æŸ¥æ•ˆçއ
                    if (eta > 98)