From 6551843c49431dacf67ea26e1ea21bf887a5246c Mon Sep 17 00:00:00 2001
From: lixiaojun <1287241240@qq.com>
Date: 星期日, 22 十二月 2024 12:43:18 +0800
Subject: [PATCH] 测点整改

---
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/00-core/04-monitor/01-monitor/SimulationMonitorHelper.cs |   81 +++++++++++++++++++++++++++++++++++-----
 1 files changed, 71 insertions(+), 10 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 266c42e..7cab58b 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
 {
@@ -10,22 +11,22 @@
         /// <summary>
         /// 
         /// </summary>
-        public SimulationMonitorHelper(long modelId)
+        public SimulationMonitorHelper(SimulationVisualListHelper visualListHelper)
         {
-            _modelId = modelId;
+            _visualListHelper = visualListHelper;
         }
 
-        private long _modelId;//妯″瀷id
+        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)
             {
-                _allMonitorList = await BLLFactory<Yw.BLL.HydroMonitor>.Instance.GetByModelID(_modelId);
+                _allMonitorList = await BLLFactory<Yw.BLL.HydroMonitor>.Instance.GetByModelID(_visualListHelper.HydroInfo.ID);
                 if (_allMonitorList == null)
                 {
                     _allMonitorList = new List<HydroMonitorVmo>();
@@ -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(_modelId, code);
+            var all = await GetAll();
+            all.RemoveAll(x => x.Relation == code);
+            var monitorList = await BLLFactory<Yw.BLL.HydroMonitor>.Instance.GetByRelation(_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.Relation == 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.Relation == 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.Relation == 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