ningshuxia
2022-10-31 09f3cdf4eec25526c4e5b924b67f8cfd4a089fec
Calculation/IStation.EtaCalculation4Custom/shys/logic/EtaAnalyCalculator4LogicÒ»¸ö±ÃÕ¾.cs
@@ -8,9 +8,9 @@
namespace IStation.EtaCalculation.SHYS
{
    internal partial class EtaAnalyCalculator4Logic
    {
        private IStation.Calculation.Eta.Model.LogicAnaInfoBundle Calc一个泵站(IStation.Model.EtaLogicTreeAnalyContextItem contextItem,List<IStation.Calculation.Eta.Model.StationAnaInfoBundle> allStationBundles,long onlyStationId)
        {
    {
        private IStation.Calculation.Eta.Model.LogicAnaInfoBundle Calc一个泵站(IStation.Model.EtaLogicTreeAnalyContextItem contextItem, List<IStation.Calculation.Eta.Model.StationAnaInfoBundle> allStationBundles, long onlyStationId)
        {
            var logicAnaInfo = new IStation.Calculation.Eta.Model.LogicAnaInfoBundle();
            logicAnaInfo.LogicID = contextItem.LogicID;
            logicAnaInfo.ChildLogicBundleList = new List<Calculation.Eta.Model.LogicAnaInfoBundle>();
@@ -62,7 +62,19 @@
            if (validStationAnaResults == null || validStationAnaResults.Count < 1)
                return logicAnaInfo;
            double qaTotal = validStationAnaResults.Where(x => x.Ea.HasValue && x.Ea.Value > 10).Sum(x => x.Qa.Value);
            double qaTotal = 0;
            double qhTotal = 0;
            foreach (var item in validStationAnaResults)
            {
                if (item.Ea.HasValue && item.Ea.Value > 10)
                {
                    qaTotal += item.Qa.Value;
                    if (item.Ha.HasValue)
                    {
                        qhTotal += item.Ha.Value * item.Qa.Value;
                    }
                }
            }
            if (qaTotal > 100)
            {
                double eta = 0;
@@ -70,7 +82,11 @@
                {
                    if (item.Ea.HasValue && item.Ea.Value > 10)
                    {
                        eta += item.Ea.Value * item.Qa.Value / qaTotal;
                        if (item.Ha.HasValue && item.Ha.Value != 0)
                        {
                            eta += item.Ea.Value * (item.Qa.Value * item.Ha.Value / qhTotal);//叠加扬程换算
                        }
                        // eta += item.Ea.Value * item.Qa.Value / qaTotal;
                    }
                }
@@ -84,17 +100,17 @@
                }
                double uwpa = 0;
                if (anaResult.Pa != null)
                {
                    if (!validStationAnaResults.Exists(x => !x.Ha.HasValue))
                    {
                        var haTatol = validStationAnaResults.Sum(x=>x.Ha.Value);
                        var haTatol = validStationAnaResults.Sum(x => x.Ha.Value);
                        uwpa = anaResult.Pa.Value / qaTotal / haTatol * 1000;
                    }
                    else
                    {
                    {
                        anaResult.PutAnalyInfo(Model.EtaSingleRealRecordPure.InfoTag_Ha, null);
                    }
                }
@@ -102,14 +118,14 @@
                {
                    anaResult.PutAnalyInfo(Model.EtaSingleRealRecordPure.InfoTag_Pa, null);
                }
                /*foreach (var item in validStationAnaResults)
                {
                    if (item.UWPa.HasValue && item.UWPa.Value > 0)
                    {
                        uwpa += item.UWPa.Value * item.Qa.Value / qaTotal;
                    }
                }*/
                }*/ //旧代码
                anaResult.Ea = Math.Round(eta, 1);
                anaResult.WPa = Math.Round(wpa, 2);