From 288e87195c7b604e87fe4b98aa759c5fff6e2346 Mon Sep 17 00:00:00 2001
From: lixiaojun <1287241240@qq.com>
Date: 星期三, 19 二月 2025 00:10:12 +0800
Subject: [PATCH] 能效分析

---
 WinFrmUI/Yw.WinFrmUI.Hydro.Core/00-core/03-helper/HydroPropStatusHelper.cs |   60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 58 insertions(+), 2 deletions(-)

diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/00-core/03-helper/HydroPropStatusHelper.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/00-core/03-helper/HydroPropStatusHelper.cs
index c9a1228..39642fc 100644
--- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/00-core/03-helper/HydroPropStatusHelper.cs
+++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/00-core/03-helper/HydroPropStatusHelper.cs
@@ -24,6 +24,7 @@
 
         private Yw.Model.HydroModelInfo _hydroInfo = null;//姘村姏淇℃伅
         private Dictionary<string, List<Yw.Model.HydroParterPropStatusInfo>> _dict = null;//瀛楀吀
+        private Dictionary<string, List<Yw.Model.HydroParterPropStatusInfo>> _dictUpdate = null;//鏇存柊瀛楀吀
 
         /// <summary>
         /// 鑾峰彇灞炴�х姸鎬佷俊鎭�
@@ -65,6 +66,23 @@
         }
 
         /// <summary>
+        /// 鑾峰彇鏇存柊灞炴�х姸鎬丏b鍒楄〃
+        /// </summary>
+        /// <returns></returns>
+        public List<Yw.Model.HydroParterPropStatusInfo> GetUpdatePropStatusDbList()
+        {
+            return _hydroInfo.ToPropStatusDbList(_dictUpdate);
+        }
+
+        /// <summary>
+        /// 閲嶇疆
+        /// </summary>
+        public void Reset()
+        {
+            _dictUpdate?.Clear();
+        }
+
+        /// <summary>
         /// 鏇存柊灞炴�х姸鎬�
         /// </summary>
         public void UpdatePropStatus(Yw.Model.HydroParterInfo parter, string propNameInfo, ePropStatus propStatus, string statusInfo)
@@ -101,11 +119,49 @@
             var propStatusInfo = list.Find(x => x.PropName == propNameInfo);
             if (propStatusInfo == null)
             {
-                propStatusInfo.Parter = code;
-                propStatusInfo.PropName = propNameInfo;
+                propStatusInfo = new HydroParterPropStatusInfo()
+                {
+                    Parter = code,
+                    PropName = propNameInfo
+                };
+                list.Add(propStatusInfo);
             }
             propStatusInfo.PropStatus = propStatus;
             propStatusInfo.StatusInfo = statusInfo;
+
+            AppendUpdatePropStatus(propStatusInfo);
+        }
+
+        //闄勫姞鏇存柊灞炴�х姸鎬�
+        private void AppendUpdatePropStatus(HydroParterPropStatusInfo propStatusInfo)
+        {
+            if (propStatusInfo == null)
+            {
+                return;
+            }
+            if (string.IsNullOrEmpty(propStatusInfo.Parter))
+            {
+                return;
+            }
+            if (string.IsNullOrEmpty(propStatusInfo.PropName))
+            {
+                return;
+            }
+            if (_dictUpdate == null)
+            {
+                _dictUpdate = new Dictionary<string, List<HydroParterPropStatusInfo>>();
+            }
+            if (!_dictUpdate.ContainsKey(propStatusInfo.Parter))
+            {
+                _dictUpdate.Add(propStatusInfo.Parter, new List<HydroParterPropStatusInfo>());
+            }
+            if (_dictUpdate[propStatusInfo.Parter] == null)
+            {
+                _dictUpdate[propStatusInfo.Parter] = new List<Model.HydroParterPropStatusInfo>();
+            }
+            var list = _dictUpdate[propStatusInfo.Parter];
+            list.RemoveAll(x => x.PropName == propStatusInfo.PropName);
+            list.Add(propStatusInfo);
         }
 
 

--
Gitblit v1.9.3