From 09f3cdf4eec25526c4e5b924b67f8cfd4a089fec Mon Sep 17 00:00:00 2001
From: ningshuxia <ningshuxia0927@outlook.com>
Date: 星期一, 31 十月 2022 14:28:41 +0800
Subject: [PATCH] 修改 计算泵站能效权重比 (叠加扬程)

---
 TopShelf/IStation.TopShelf.DataDocking4Socket/Properties/PublishProfiles/FolderProfile.pubxml.user |    2 +-
 TopShelf/IStation.TopShelf.Eta/Properties/PublishProfiles/FolderProfile.pubxml.user                |    2 +-
 Calculation/IStation.EtaCalculation4Custom/shys/logic/EtaAnalyCalculator4Logic.cs                  |   11 ++++++++++-
 Calculation/IStation.EtaCalculation4Custom/shys/logic/EtaAnalyCalculator4Logic一个泵站.cs              |   36 ++++++++++++++++++++++++++----------
 4 files changed, 38 insertions(+), 13 deletions(-)

diff --git a/Calculation/IStation.EtaCalculation4Custom/shys/logic/EtaAnalyCalculator4Logic.cs b/Calculation/IStation.EtaCalculation4Custom/shys/logic/EtaAnalyCalculator4Logic.cs
index 1c5e1be..14970eb 100644
--- a/Calculation/IStation.EtaCalculation4Custom/shys/logic/EtaAnalyCalculator4Logic.cs
+++ b/Calculation/IStation.EtaCalculation4Custom/shys/logic/EtaAnalyCalculator4Logic.cs
@@ -124,11 +124,16 @@
 
 
                 double qa_total = 0;
+                double qh_total = 0;
                 foreach (var item in child_ana_records)
                 {
                     if (item.Ea.HasValue && item.Qa.HasValue && item.Ea.Value > 10 && item.Qa.Value > 10)
                     {
                         qa_total += item.Qa.Value;
+                        if (item.Ha.HasValue)
+                        {
+                            qh_total += item.Qa.Value * item.Ha.Value;
+                        }
                     }
                 }
 
@@ -139,7 +144,11 @@
                     {
                         if (item.Ea.HasValue && item.Qa.HasValue && item.Ea.Value > 10 && item.Qa.Value > 10)
                         {
-                            eta += item.Ea.Value * item.Qa.Value / qa_total;
+                            if (item.Ha.HasValue && item.Ha.Value != 0)
+                            {
+                                eta += item.Ea.Value * (item.Qa.Value * item.Ha.Value / qh_total);//鍙犲姞鎵▼鎹㈢畻
+                            }
+                            // eta += item.Ea.Value * item.Qa.Value / qa_total; 鏃х畻娉�
                         }
                     }
 
diff --git "a/Calculation/IStation.EtaCalculation4Custom/shys/logic/EtaAnalyCalculator4Logic\344\270\200\344\270\252\346\263\265\347\253\231.cs" "b/Calculation/IStation.EtaCalculation4Custom/shys/logic/EtaAnalyCalculator4Logic\344\270\200\344\270\252\346\263\265\347\253\231.cs"
index 006dfe7..ee96c13 100644
--- "a/Calculation/IStation.EtaCalculation4Custom/shys/logic/EtaAnalyCalculator4Logic\344\270\200\344\270\252\346\263\265\347\253\231.cs"
+++ "b/Calculation/IStation.EtaCalculation4Custom/shys/logic/EtaAnalyCalculator4Logic\344\270\200\344\270\252\346\263\265\347\253\231.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);
diff --git a/TopShelf/IStation.TopShelf.DataDocking4Socket/Properties/PublishProfiles/FolderProfile.pubxml.user b/TopShelf/IStation.TopShelf.DataDocking4Socket/Properties/PublishProfiles/FolderProfile.pubxml.user
index a16801e..5b6bbfc 100644
--- a/TopShelf/IStation.TopShelf.DataDocking4Socket/Properties/PublishProfiles/FolderProfile.pubxml.user
+++ b/TopShelf/IStation.TopShelf.DataDocking4Socket/Properties/PublishProfiles/FolderProfile.pubxml.user
@@ -4,7 +4,7 @@
 -->
 <Project>
   <PropertyGroup>
-    <History>True|2022-10-28T10:12:41.9095520Z;True|2022-10-28T15:43:16.2950292+08:00;True|2022-10-28T15:41:52.2233941+08:00;True|2022-10-28T15:30:14.2215199+08:00;True|2022-10-28T11:51:16.0785196+08:00;True|2022-10-28T11:44:51.8315664+08:00;True|2022-10-28T10:33:52.2698494+08:00;True|2022-10-28T09:35:47.1875028+08:00;True|2022-10-28T09:10:26.0008427+08:00;True|2022-10-27T18:39:24.9534804+08:00;True|2022-10-27T18:33:34.4681116+08:00;True|2022-10-27T18:13:21.7875951+08:00;True|2022-10-27T18:12:44.3890244+08:00;True|2022-10-27T18:07:26.1755739+08:00;True|2022-10-27T17:57:58.0347320+08:00;True|2022-10-27T17:34:58.8259465+08:00;True|2022-10-27T17:22:06.3154634+08:00;False|2022-10-27T17:20:19.9004059+08:00;True|2022-10-27T17:18:10.4716763+08:00;True|2022-10-27T17:05:00.4099257+08:00;True|2022-10-27T16:54:07.3727699+08:00;True|2022-10-27T16:42:08.7868428+08:00;True|2022-10-27T16:20:40.9187590+08:00;True|2022-10-27T16:15:48.8887876+08:00;True|2022-10-27T15:32:23.6326778+08:00;True|2022-10-27T15:31:21.2898598+08:00;True|2022-10-27T15:31:06.9752171+08:00;True|2022-10-27T15:30:12.3351290+08:00;True|2022-10-27T15:16:06.6376480+08:00;True|2022-10-27T15:04:16.6181644+08:00;True|2022-10-27T14:56:07.3371453+08:00;True|2022-10-27T14:55:40.9994920+08:00;True|2022-10-26T14:21:13.7358061+08:00;True|2022-10-26T13:58:17.8518712+08:00;True|2022-10-26T10:50:57.8305616+08:00;True|2022-10-26T10:41:24.0512951+08:00;True|2022-10-26T10:36:18.9669938+08:00;True|2022-10-26T10:23:42.5700603+08:00;True|2022-10-26T09:49:18.1242267+08:00;True|2022-10-24T17:44:25.5039390+08:00;True|2022-07-02T00:06:16.6338790+08:00;True|2022-07-02T00:02:49.1000053+08:00;True|2022-07-01T23:23:53.1924783+08:00;True|2022-07-01T14:02:38.1190102+08:00;True|2022-07-01T13:55:33.4591108+08:00;</History>
+    <History>True|2022-10-31T05:50:19.2799744Z;True|2022-10-28T18:12:41.9095520+08:00;True|2022-10-28T15:43:16.2950292+08:00;True|2022-10-28T15:41:52.2233941+08:00;True|2022-10-28T15:30:14.2215199+08:00;True|2022-10-28T11:51:16.0785196+08:00;True|2022-10-28T11:44:51.8315664+08:00;True|2022-10-28T10:33:52.2698494+08:00;True|2022-10-28T09:35:47.1875028+08:00;True|2022-10-28T09:10:26.0008427+08:00;True|2022-10-27T18:39:24.9534804+08:00;True|2022-10-27T18:33:34.4681116+08:00;True|2022-10-27T18:13:21.7875951+08:00;True|2022-10-27T18:12:44.3890244+08:00;True|2022-10-27T18:07:26.1755739+08:00;True|2022-10-27T17:57:58.0347320+08:00;True|2022-10-27T17:34:58.8259465+08:00;True|2022-10-27T17:22:06.3154634+08:00;False|2022-10-27T17:20:19.9004059+08:00;True|2022-10-27T17:18:10.4716763+08:00;True|2022-10-27T17:05:00.4099257+08:00;True|2022-10-27T16:54:07.3727699+08:00;True|2022-10-27T16:42:08.7868428+08:00;True|2022-10-27T16:20:40.9187590+08:00;True|2022-10-27T16:15:48.8887876+08:00;True|2022-10-27T15:32:23.6326778+08:00;True|2022-10-27T15:31:21.2898598+08:00;True|2022-10-27T15:31:06.9752171+08:00;True|2022-10-27T15:30:12.3351290+08:00;True|2022-10-27T15:16:06.6376480+08:00;True|2022-10-27T15:04:16.6181644+08:00;True|2022-10-27T14:56:07.3371453+08:00;True|2022-10-27T14:55:40.9994920+08:00;True|2022-10-26T14:21:13.7358061+08:00;True|2022-10-26T13:58:17.8518712+08:00;True|2022-10-26T10:50:57.8305616+08:00;True|2022-10-26T10:41:24.0512951+08:00;True|2022-10-26T10:36:18.9669938+08:00;True|2022-10-26T10:23:42.5700603+08:00;True|2022-10-26T09:49:18.1242267+08:00;True|2022-10-24T17:44:25.5039390+08:00;True|2022-07-02T00:06:16.6338790+08:00;True|2022-07-02T00:02:49.1000053+08:00;True|2022-07-01T23:23:53.1924783+08:00;True|2022-07-01T14:02:38.1190102+08:00;True|2022-07-01T13:55:33.4591108+08:00;</History>
     <LastFailureDetails />
   </PropertyGroup>
 </Project>
\ No newline at end of file
diff --git a/TopShelf/IStation.TopShelf.Eta/Properties/PublishProfiles/FolderProfile.pubxml.user b/TopShelf/IStation.TopShelf.Eta/Properties/PublishProfiles/FolderProfile.pubxml.user
index 64493dd..560d974 100644
--- a/TopShelf/IStation.TopShelf.Eta/Properties/PublishProfiles/FolderProfile.pubxml.user
+++ b/TopShelf/IStation.TopShelf.Eta/Properties/PublishProfiles/FolderProfile.pubxml.user
@@ -4,7 +4,7 @@
 -->
 <Project>
   <PropertyGroup>
-    <History>True|2022-10-26T04:02:14.4228296Z;True|2022-10-25T16:32:34.6113737+08:00;True|2022-10-25T16:29:35.7980293+08:00;True|2022-10-24T14:01:39.4175627+08:00;True|2022-10-21T18:55:37.1960388+08:00;True|2022-10-21T18:37:47.3142064+08:00;True|2022-10-19T11:11:19.9748484+08:00;True|2022-10-18T14:53:08.5305852+08:00;True|2022-10-18T09:19:14.0442732+08:00;True|2022-10-17T11:35:09.6040323+08:00;True|2022-10-17T10:52:29.3004702+08:00;True|2022-10-17T10:34:49.0817739+08:00;True|2022-10-17T09:35:57.5450395+08:00;True|2022-10-17T09:19:39.4916147+08:00;True|2022-10-14T14:45:04.5959774+08:00;True|2022-10-08T13:42:45.7291582+08:00;True|2022-10-08T13:31:33.0167880+08:00;True|2022-10-08T11:09:08.8028943+08:00;True|2022-10-08T10:04:57.3573208+08:00;True|2022-09-28T16:12:17.1471133+08:00;True|2022-09-28T15:11:17.3924597+08:00;True|2022-09-28T15:07:24.1542712+08:00;True|2022-09-28T15:01:05.9450589+08:00;True|2022-09-28T13:14:26.7038834+08:00;True|2022-09-27T16:32:29.0286484+08:00;True|2022-09-27T14:15:56.0426476+08:00;True|2022-09-26T16:16:45.3404775+08:00;True|2022-09-26T15:50:09.2992619+08:00;True|2022-09-26T15:47:20.6418528+08:00;True|2022-09-25T16:30:19.2053341+08:00;True|2022-09-22T17:08:02.6481758+08:00;True|2022-09-22T10:24:35.0635421+08:00;True|2022-09-16T15:41:38.0594228+08:00;True|2022-09-16T15:23:44.1558393+08:00;True|2022-07-01T21:10:56.8914203+08:00;True|2022-07-01T15:16:47.4260591+08:00;True|2022-06-29T09:41:10.5136306+08:00;True|2022-06-08T10:45:13.3564100+08:00;True|2022-06-08T10:41:35.1533091+08:00;True|2022-06-06T14:07:28.9893476+08:00;True|2022-06-01T09:15:01.3097804+08:00;True|2022-05-29T10:18:06.7001434+08:00;</History>
+    <History>True|2022-10-31T05:52:26.4575268Z;True|2022-10-26T12:02:14.4228296+08:00;True|2022-10-25T16:32:34.6113737+08:00;True|2022-10-25T16:29:35.7980293+08:00;True|2022-10-24T14:01:39.4175627+08:00;True|2022-10-21T18:55:37.1960388+08:00;True|2022-10-21T18:37:47.3142064+08:00;True|2022-10-19T11:11:19.9748484+08:00;True|2022-10-18T14:53:08.5305852+08:00;True|2022-10-18T09:19:14.0442732+08:00;True|2022-10-17T11:35:09.6040323+08:00;True|2022-10-17T10:52:29.3004702+08:00;True|2022-10-17T10:34:49.0817739+08:00;True|2022-10-17T09:35:57.5450395+08:00;True|2022-10-17T09:19:39.4916147+08:00;True|2022-10-14T14:45:04.5959774+08:00;True|2022-10-08T13:42:45.7291582+08:00;True|2022-10-08T13:31:33.0167880+08:00;True|2022-10-08T11:09:08.8028943+08:00;True|2022-10-08T10:04:57.3573208+08:00;True|2022-09-28T16:12:17.1471133+08:00;True|2022-09-28T15:11:17.3924597+08:00;True|2022-09-28T15:07:24.1542712+08:00;True|2022-09-28T15:01:05.9450589+08:00;True|2022-09-28T13:14:26.7038834+08:00;True|2022-09-27T16:32:29.0286484+08:00;True|2022-09-27T14:15:56.0426476+08:00;True|2022-09-26T16:16:45.3404775+08:00;True|2022-09-26T15:50:09.2992619+08:00;True|2022-09-26T15:47:20.6418528+08:00;True|2022-09-25T16:30:19.2053341+08:00;True|2022-09-22T17:08:02.6481758+08:00;True|2022-09-22T10:24:35.0635421+08:00;True|2022-09-16T15:41:38.0594228+08:00;True|2022-09-16T15:23:44.1558393+08:00;True|2022-07-01T21:10:56.8914203+08:00;True|2022-07-01T15:16:47.4260591+08:00;True|2022-06-29T09:41:10.5136306+08:00;True|2022-06-08T10:45:13.3564100+08:00;True|2022-06-08T10:41:35.1533091+08:00;True|2022-06-06T14:07:28.9893476+08:00;True|2022-06-01T09:15:01.3097804+08:00;True|2022-05-29T10:18:06.7001434+08:00;</History>
     <LastFailureDetails />
   </PropertyGroup>
 </Project>
\ No newline at end of file

--
Gitblit v1.9.3