From 2b31b7e3926134da96d384ab3bdac345691a179c Mon Sep 17 00:00:00 2001
From: duheng <2784771470@qq.com>
Date: 星期五, 10 一月 2025 10:48:45 +0800
Subject: [PATCH] 优化权限

---
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/00-core/04-monitor/01-monitor/SimulationMonitorHelper.cs |   75 ++++++++++++++++++++++++++++++++++---
 1 files changed, 68 insertions(+), 7 deletions(-)

diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/00-core/04-monitor/01-monitor/SimulationMonitorHelper.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/00-core/04-monitor/01-monitor/SimulationMonitorHelper.cs
index ff23617..e37342c 100644
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/00-core/04-monitor/01-monitor/SimulationMonitorHelper.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/00-core/04-monitor/01-monitor/SimulationMonitorHelper.cs
@@ -1,4 +1,5 @@
-锘縰sing Yw.Vmo;
+锘縰sing Yw.Hydro;
+using Yw.Vmo;
 
 namespace HStation.WinFrmUI
 {
@@ -15,13 +16,13 @@
             _visualListHelper = visualListHelper;
         }
 
-        private SimulationVisualListHelper _visualListHelper = null;//鍙鏋勪欢鍒楄〃杈呭姪绫�
+        private readonly SimulationVisualListHelper _visualListHelper = null;//鍙鏋勪欢鍒楄〃杈呭姪绫�
         private List<HydroMonitorVmo> _allMonitorList = null;//鎵�鏈夌洃娴嬬偣鍒楄〃
 
         /// <summary>
         /// 鑾峰彇
         /// </summary>
-        public async Task<List<HydroMonitorVmo>> Get()
+        public async Task<List<HydroMonitorVmo>> GetAll()
         {
             if (_allMonitorList == null)
             {
@@ -35,20 +36,80 @@
         }
 
         /// <summary>
+        /// 鑾峰彇瀵规帴鍒楄〃
+        /// </summary>
+        public async Task<List<HydroMonitorVmo>> GetDockingList()
+        {
+            var all = await GetAll();
+            return all?.Where(x => x.SourceType == Yw.Hydro.eSourceType.Docking).ToList();
+        }
+
+        /// <summary>
+        /// 鑾峰彇鍒嗘瀽鍒楄〃
+        /// </summary>
+        public async Task<List<HydroMonitorVmo>> GetAnalyseList()
+        {
+            var all = await GetAll();
+            return all?.Where(x => x.SourceType == Yw.Hydro.eSourceType.Analyse).ToList();
+        }
+
+        /// <summary>
         /// 鏇存柊
         /// </summary>
         public async Task<List<HydroMonitorVmo>> Update(string code)
         {
-            var allMonitorList = await Get();
-            allMonitorList.RemoveAll(x => x.Relation == code);
-            var monitorList = await BLLFactory<Yw.BLL.HydroMonitor>.Instance.GetByRelation(_visualListHelper.HydroInfo.ID, code);
+            var all = await GetAll();
+            all.RemoveAll(x => x.Parter == code);
+            var monitorList = await BLLFactory<Yw.BLL.HydroMonitor>.Instance.GetByParter(_visualListHelper.HydroInfo.ID, code);
             if (monitorList != null && monitorList.Count > 0)
             {
-                allMonitorList.AddRange(monitorList);
+                all.AddRange(monitorList);
             }
             return monitorList;
         }
 
+        /// <summary>
+        /// 鏇存柊瀵规帴
+        /// </summary>
+        public async Task<List<HydroMonitorVmo>> UpdateDocking(string code)
+        {
+            var all = await GetAll();
+            all.RemoveAll(x => x.Parter == code && x.SourceType == Yw.Hydro.eSourceType.Docking);
+            var monitorList = await BLLFactory<Yw.BLL.HydroMonitor>.Instance.GetBySourceType(_visualListHelper.HydroInfo.ID, code, Yw.Hydro.eSourceType.Docking);
+            if (monitorList != null && monitorList.Count > 0)
+            {
+                all.AddRange(monitorList);
+            }
+            return monitorList;
+        }
+
+        /// <summary>
+        /// 鏇存柊
+        /// </summary>
+        public async Task Update(string code, eSourceType sourceType, List<HydroMonitorVmo> monitorList)
+        {
+            var all = await GetAll();
+            all.RemoveAll(x => x.Parter == code && x.SourceType == sourceType);
+            if (monitorList != null && monitorList.Count > 0)
+            {
+                all.AddRange(monitorList);
+            }
+        }
+
+        /// <summary>
+        /// 鏇存柊鍒嗘瀽
+        /// </summary>
+        public async Task<List<HydroMonitorVmo>> UpdateAnalyse(string code)
+        {
+            var all = await GetAll();
+            all.RemoveAll(x => x.Parter == code && x.SourceType == Yw.Hydro.eSourceType.Analyse);
+            var monitorList = await BLLFactory<Yw.BLL.HydroMonitor>.Instance.GetBySourceType(_visualListHelper.HydroInfo.ID, code, Yw.Hydro.eSourceType.Analyse);
+            if (monitorList != null && monitorList.Count > 0)
+            {
+                all.AddRange(monitorList);
+            }
+            return monitorList;
+        }
 
 
 

--
Gitblit v1.9.3