From 8d7b513f8546ed1f48fe9f4586cf5b2ea2794a3e Mon Sep 17 00:00:00 2001
From: lixiaojun <1287241240@qq.com>
Date: 星期二, 10 十二月 2024 15:42:51 +0800
Subject: [PATCH] 修复可能报错

---
 Service/HStation.Service.Xhs.Core/00-core/Flags.cs                                                           |   20 +++-
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/11-pump/04-working/SimulationPumpSingleWorkingChartCtrl.cs |   39 ++++++++-
 Hydro/Yw.Hydro.Core/Yw.Hydro.Core.csproj                                                                     |    2 
 WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-monitor/01-set/SetHydroMonitorListCtrl.cs                                 |   22 +++++
 WinFrmUI/Yw.WinFrmUI.Hydro.Core/03-calcu/01-result/HydroCalcuResultExtensions.cs                             |    2 
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/09-energy/SimulationSingleWorkingEnergyCtrl.cs             |    2 
 WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-monitor/01-set/SetHydroMonitorViewModel.cs                                |    7 +
 WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-monitor/00-core/HydroMonitorExtensions.cs                                 |   33 ++++++++
 WinFrmUI/Yw.WinFrmUI.Hydro.Core/Yw.WinFrmUI.Hydro.Core.csproj                                                |    4 
 WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-monitor/01-set/SetHydroMonitorListCtrl.Designer.cs                        |   50 +++++++++--
 10 files changed, 154 insertions(+), 27 deletions(-)

diff --git a/Hydro/Yw.Hydro.Core/Yw.Hydro.Core.csproj b/Hydro/Yw.Hydro.Core/Yw.Hydro.Core.csproj
index 06df27e..964f263 100644
--- a/Hydro/Yw.Hydro.Core/Yw.Hydro.Core.csproj
+++ b/Hydro/Yw.Hydro.Core/Yw.Hydro.Core.csproj
@@ -8,7 +8,7 @@
 
   <ItemGroup>
     <PackageReference Include="Yw.Geometry.Core" Version="3.2.8" />
-    <PackageReference Include="Yw.Service.Hydro.Core" Version="3.7.7" />
+    <PackageReference Include="Yw.Service.Hydro.Core" Version="3.7.9" />
   </ItemGroup>
 
   <ItemGroup>
diff --git a/Service/HStation.Service.Xhs.Core/00-core/Flags.cs b/Service/HStation.Service.Xhs.Core/00-core/Flags.cs
index 2c4bafe..635e73a 100644
--- a/Service/HStation.Service.Xhs.Core/00-core/Flags.cs
+++ b/Service/HStation.Service.Xhs.Core/00-core/Flags.cs
@@ -11,11 +11,6 @@
         public const string 榛樿 = "榛樿";
 
         /// <summary>
-        /// 涓氬姟
-        /// </summary>
-        public const string 涓氬姟 = "涓氬姟";
-
-        /// <summary>
         /// 杩涘彛
         /// </summary>
         public const string 杩涘彛 = "杩涘彛";
@@ -25,5 +20,20 @@
         /// </summary>
         public const string 鍑哄彛 = "鍑哄彛";
 
+        /// <summary>
+        /// 姘存簮
+        /// </summary>
+        public const string 姘存簮 = "姘存簮";
+
+        /// <summary>
+        /// 濮嬬
+        /// </summary>
+        public const string 濮嬬 = "濮嬬";
+
+        /// <summary>
+        /// 鏈
+        /// </summary>
+        public const string 鏈 = "鏈";
+
     }
 }
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/09-energy/SimulationSingleWorkingEnergyCtrl.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/09-energy/SimulationSingleWorkingEnergyCtrl.cs
index 33a18b8..a453f9e 100644
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/09-energy/SimulationSingleWorkingEnergyCtrl.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/09-energy/SimulationSingleWorkingEnergyCtrl.cs
@@ -59,7 +59,7 @@
             _hydroInfo = hydroInfo;
             _allCalcuResultVisualDict = allCalcuResultVisualDict;
             this.hydroEnergyTotalHorizViewCtrl1.SetBindingData(_hydroInfo, _allCalcuResultVisualDict);
-            this.simulationSingleWorkingPumpCtrl1.SetBindingData(_working, _hydroInfo, _allCalcuResultVisualDict);
+            this.simulationSingleWorkingPumpCtrl1.SetBindingData(_working, _hydroInfo, null, _allCalcuResultVisualDict);
         }
 
 
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/11-pump/04-working/SimulationPumpSingleWorkingChartCtrl.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/11-pump/04-working/SimulationPumpSingleWorkingChartCtrl.cs
index 5762390..c2679be 100644
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/11-pump/04-working/SimulationPumpSingleWorkingChartCtrl.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/11-pump/04-working/SimulationPumpSingleWorkingChartCtrl.cs
@@ -25,25 +25,46 @@
 
         private HydroWorkingVmo _working = null;
         private Yw.Model.HydroModelInfo _hydroInfo = null;
+        private List<HydroMonitorVmo> _allMonitorList = null;
         private Dictionary<string, HydroCalcuVisualResult> _allCalcuResultVisualDict = null;
 
+        /// <summary>
+        /// 缁戝畾鏁版嵁
+        /// </summary>
         public void SetBindingData
-            (HydroWorkingVmo working, Yw.Model.HydroModelInfo hydroInfo, HydroCalcuResult calcuResult)
+            (
+                HydroWorkingVmo working,
+                Yw.Model.HydroModelInfo hydroInfo,
+                List<HydroMonitorVmo> allMonitorList,
+                HydroCalcuResult calcuResult
+            )
         {
             var allCalcuResultVisualDict = calcuResult.GetVisualDict();
-            SetBindingData(working, hydroInfo, allCalcuResultVisualDict);
+            SetBindingData(working, hydroInfo, allMonitorList, allCalcuResultVisualDict);
         }
 
+        /// <summary>
+        /// 缁戝畾鏁版嵁
+        /// </summary>
         public void SetBindingData
-            (HydroWorkingVmo working, Yw.Model.HydroModelInfo hydroInfo, Dictionary<string, HydroCalcuVisualResult> allCalcuResultVisualDict)
+            (
+                HydroWorkingVmo working,
+                Yw.Model.HydroModelInfo hydroInfo,
+                List<HydroMonitorVmo> allMonitorList,
+                Dictionary<string, HydroCalcuVisualResult> allCalcuResultVisualDict
+            )
         {
             _working = working;
             _hydroInfo = hydroInfo;
+            _allMonitorList = allMonitorList;
             _allCalcuResultVisualDict = allCalcuResultVisualDict;
             var vm = CreateViewModel();
             SetBindingData(vm);
         }
 
+        /// <summary>
+        /// 缁戝畾鏁版嵁
+        /// </summary>
         public void SetBindingData(PumpWorkingViewViewModel vm)
         {
             this.pumpWorkingViewChart1.SetBindingData(vm);
@@ -54,8 +75,6 @@
             }
             this.barCkE.Checked = this.pumpWorkingViewChart1.QEVisible;
         }
-
-
 
         //鍒涘缓
         private PumpWorkingViewViewModel CreateViewModel()
@@ -77,6 +96,14 @@
             vm.Name = _working.Name;
             vm.CurveName = $"瑁呯疆绾�";
             vm.Color = Color.Black;
+
+            var startSourceMonitor = _allMonitorList?
+                .Matching(HydroVisualCalcuProp.CalcuHead, new List<string>()
+                { HStation.Xhs.Flags.姘存簮,HStation.Xhs.Flags.濮嬬,HStation.Xhs.Flags.榛樿});
+
+
+
+
 
             vm.StartH = 2;
 
@@ -176,5 +203,7 @@
         {
             this.pumpWorkingViewChart1.SetChartAxis();
         }
+
+
     }
 }
diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/03-calcu/01-result/HydroCalcuResultExtensions.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/03-calcu/01-result/HydroCalcuResultExtensions.cs
index f757c9b..7cb7dc8 100644
--- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/03-calcu/01-result/HydroCalcuResultExtensions.cs
+++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/03-calcu/01-result/HydroCalcuResultExtensions.cs
@@ -138,7 +138,7 @@
                                             {
                                                 var point2dList = curveqp.CurveData.Select(x => new Yw.Geometry.Point2d(x.X, x.Y)).ToList();
                                                 var point2dSimularList = point2dList.GetQPPointListByN(pump.RatedN.Value, pump.RatedN.Value * pump.SpeedRatio);
-                                                var pumpCurveQp = new Yw.Pump.CurveQP(eFeatType.Cubic, point2dSimularList);
+                                                var pumpCurveQp = new Yw.Pump.CurveQP(Yw.Ahart.eFeatType.Cubic, point2dSimularList);
                                                 var curveQpRange = pumpCurveQp.FeatCurve.GetXRange();
                                                 double minExtend = 1;
                                                 double maxExtend = 1;
diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-monitor/00-core/HydroMonitorExtensions.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-monitor/00-core/HydroMonitorExtensions.cs
new file mode 100644
index 0000000..1b0a507
--- /dev/null
+++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-monitor/00-core/HydroMonitorExtensions.cs
@@ -0,0 +1,33 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Yw.WinFrmUI
+{
+    /// <summary>
+    /// 
+    /// </summary>
+    public static class HydroMonitorExtensions
+    {
+        /// <summary>
+        /// 鍖归厤
+        /// </summary>
+        public static HydroMonitorVmo Matching(this List<HydroMonitorVmo> allMonitorList, string propName, List<string> flags)
+        {
+            if (allMonitorList == null || allMonitorList.Count < 1)
+            {
+                return default;
+            }
+            allMonitorList = allMonitorList.Where(x => x.PropName == propName).ToList();
+            allMonitorList = allMonitorList.OrderBy(x => x.Flags.Distinct().Count()).ToList();
+            return allMonitorList.Find(x => x.Flags.ContainsC(flags));
+        }
+
+
+
+
+
+    }
+}
diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-monitor/01-set/SetHydroMonitorListCtrl.Designer.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-monitor/01-set/SetHydroMonitorListCtrl.Designer.cs
index 7069869..d4d172c 100644
--- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-monitor/01-set/SetHydroMonitorListCtrl.Designer.cs
+++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-monitor/01-set/SetHydroMonitorListCtrl.Designer.cs
@@ -30,15 +30,18 @@
         {
             components = new Container();
             gridControl1 = new DevExpress.XtraGrid.GridControl();
+            setHydroMonitorViewModelBindingSource = new BindingSource(components);
             gridView1 = new DevExpress.XtraGrid.Views.Grid.GridView();
             colChecked = new DevExpress.XtraGrid.Columns.GridColumn();
             colRelation = new DevExpress.XtraGrid.Columns.GridColumn();
             colPropName = new DevExpress.XtraGrid.Columns.GridColumn();
+            colFlags = new DevExpress.XtraGrid.Columns.GridColumn();
+            repositoryItemCheckedComboBoxEdit1 = new DevExpress.XtraEditors.Repository.RepositoryItemCheckedComboBoxEdit();
             colDescription = new DevExpress.XtraGrid.Columns.GridColumn();
-            setHydroMonitorViewModelBindingSource = new BindingSource(components);
             ((ISupportInitialize)gridControl1).BeginInit();
-            ((ISupportInitialize)gridView1).BeginInit();
             ((ISupportInitialize)setHydroMonitorViewModelBindingSource).BeginInit();
+            ((ISupportInitialize)gridView1).BeginInit();
+            ((ISupportInitialize)repositoryItemCheckedComboBoxEdit1).BeginInit();
             SuspendLayout();
             // 
             // gridControl1
@@ -48,13 +51,18 @@
             gridControl1.Location = new Point(0, 0);
             gridControl1.MainView = gridView1;
             gridControl1.Name = "gridControl1";
+            gridControl1.RepositoryItems.AddRange(new DevExpress.XtraEditors.Repository.RepositoryItem[] { repositoryItemCheckedComboBoxEdit1 });
             gridControl1.Size = new Size(683, 307);
             gridControl1.TabIndex = 0;
             gridControl1.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] { gridView1 });
             // 
+            // setHydroMonitorViewModelBindingSource
+            // 
+            setHydroMonitorViewModelBindingSource.DataSource = typeof(SetHydroMonitorViewModel);
+            // 
             // gridView1
             // 
-            gridView1.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] { colChecked, colRelation, colPropName, colDescription });
+            gridView1.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] { colChecked, colRelation, colPropName, colFlags, colDescription });
             gridView1.GridControl = gridControl1;
             gridView1.Name = "gridView1";
             // 
@@ -88,27 +96,45 @@
             colPropName.VisibleIndex = 2;
             colPropName.Width = 100;
             // 
+            // colFlags
+            // 
+            colFlags.ColumnEdit = repositoryItemCheckedComboBoxEdit1;
+            colFlags.FieldName = "Flags";
+            colFlags.MaxWidth = 200;
+            colFlags.MinWidth = 100;
+            colFlags.Name = "colFlags";
+            colFlags.Visible = true;
+            colFlags.VisibleIndex = 3;
+            colFlags.Width = 100;
+            // 
+            // repositoryItemCheckedComboBoxEdit1
+            // 
+            repositoryItemCheckedComboBoxEdit1.AllowMultiSelect = true;
+            repositoryItemCheckedComboBoxEdit1.AutoHeight = false;
+            repositoryItemCheckedComboBoxEdit1.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] { new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo) });
+            repositoryItemCheckedComboBoxEdit1.Name = "repositoryItemCheckedComboBoxEdit1";
+            repositoryItemCheckedComboBoxEdit1.SelectAllItemCaption = "鍏ㄩ��";
+            // 
             // colDescription
             // 
             colDescription.FieldName = "Description";
+            colDescription.MinWidth = 100;
             colDescription.Name = "colDescription";
             colDescription.Visible = true;
-            colDescription.VisibleIndex = 3;
+            colDescription.VisibleIndex = 4;
+            colDescription.Width = 100;
             // 
-            // setHydroMonitorViewModelBindingSource
-            // 
-            setHydroMonitorViewModelBindingSource.DataSource = typeof(SetHydroMonitorViewModel);
-            // 
-            // SetHydroVisualMonitorCtrl
+            // SetHydroMonitorListCtrl
             // 
             AutoScaleDimensions = new SizeF(7F, 14F);
             AutoScaleMode = AutoScaleMode.Font;
             Controls.Add(gridControl1);
-            Name = "SetHydroVisualMonitorCtrl";
+            Name = "SetHydroMonitorListCtrl";
             Size = new Size(683, 307);
             ((ISupportInitialize)gridControl1).EndInit();
-            ((ISupportInitialize)gridView1).EndInit();
             ((ISupportInitialize)setHydroMonitorViewModelBindingSource).EndInit();
+            ((ISupportInitialize)gridView1).EndInit();
+            ((ISupportInitialize)repositoryItemCheckedComboBoxEdit1).EndInit();
             ResumeLayout(false);
         }
 
@@ -121,5 +147,7 @@
         private DevExpress.XtraGrid.Columns.GridColumn colPropName;
         private DevExpress.XtraGrid.Columns.GridColumn colDescription;
         private BindingSource setHydroMonitorViewModelBindingSource;
+        private DevExpress.XtraGrid.Columns.GridColumn colFlags;
+        private DevExpress.XtraEditors.Repository.RepositoryItemCheckedComboBoxEdit repositoryItemCheckedComboBoxEdit1;
     }
 }
diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-monitor/01-set/SetHydroMonitorListCtrl.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-monitor/01-set/SetHydroMonitorListCtrl.cs
index 3103eaa..a93fcee 100644
--- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-monitor/01-set/SetHydroMonitorListCtrl.cs
+++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-monitor/01-set/SetHydroMonitorListCtrl.cs
@@ -8,6 +8,7 @@
             this.gridView1.SetNormalEditView(30);
             this.colRelation.OptionsColumn.AllowEdit = false;
             this.colPropName.OptionsColumn.AllowEdit = false;
+            InitialFlags();
         }
 
         private Yw.Model.HydroModelInfo _hydroInfo = null;//姘村姏淇℃伅
@@ -61,13 +62,32 @@
             this.setHydroMonitorViewModelBindingSource.ResetBindings(false);
         }
 
+        private async void InitialFlags()
+        {
+            var flags = await BLLFactory<Yw.BLL.SysFlag>.Instance.GetBySysType(Yw.Hydro.DataType.HydroMonitor);
+            this.repositoryItemCheckedComboBoxEdit1.Items.BeginUpdate();
+            this.repositoryItemCheckedComboBoxEdit1.Items.Clear();
+            if (flags != null && flags.Count > 0)
+            {
+                foreach (var flag in flags)
+                {
+                    this.repositoryItemCheckedComboBoxEdit1.Items.Add(flag.Name);
+                }
+            }
+            this.repositoryItemCheckedComboBoxEdit1.Items.EndUpdate();
+        }
+
         /// <summary>
         /// 鑾峰彇鐩戞祴鍒楄〃
         /// </summary>
         public List<HydroMonitorVmo> GetMonitorList()
         {
             var list = _allBindingList?.Where(x => x.Checked).ToList();
-            list?.ForEach(x => x.Vmo.Description = x.Description);
+            list?.ForEach(x =>
+            {
+                x.Vmo.Flags = Yw.Untity.FlagsHelper.ToList(x.Flags);
+                x.Vmo.Description = x.Description;
+            });
             return list?.Select(x => x.Vmo).ToList();
         }
 
diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-monitor/01-set/SetHydroMonitorViewModel.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-monitor/01-set/SetHydroMonitorViewModel.cs
index 41c47db..e2487dd 100644
--- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-monitor/01-set/SetHydroMonitorViewModel.cs
+++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-monitor/01-set/SetHydroMonitorViewModel.cs
@@ -18,6 +18,7 @@
             this.Checked = vmo.ID > 0;
             this.Relation = visual.Name;
             this.PropName = HydroVisualCalcuPropHelper.GetName(vmo.PropName);
+            this.Flags = Yw.Untity.FlagsHelper.ToString(vmo.Flags);
             this.Description = vmo.Description;
             this.Vmo = vmo;
         }
@@ -41,6 +42,12 @@
         public string PropName { get; set; }
 
         /// <summary>
+        /// 鏍囩
+        /// </summary>
+        [DisplayName("鏍囩")]
+        public string Flags { get; set; }
+
+        /// <summary>
         /// 璇存槑
         /// </summary>	
         [DisplayName("璇存槑")]
diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/Yw.WinFrmUI.Hydro.Core.csproj b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/Yw.WinFrmUI.Hydro.Core.csproj
index 3306590..78afe38 100644
--- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/Yw.WinFrmUI.Hydro.Core.csproj
+++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/Yw.WinFrmUI.Hydro.Core.csproj
@@ -42,8 +42,8 @@
 	<ItemGroup>
 		<PackageReference Include="DevExpress.Win.Design" Version="23.2.4" />
 		<PackageReference Include="Yw.BLL.Basic.Core" Version="3.3.0" />
-		<PackageReference Include="Yw.BLL.Hydro.Core" Version="3.6.1" />
-		<PackageReference Include="Yw.Pump.Core" Version="3.1.5" />
+		<PackageReference Include="Yw.BLL.Hydro.Core" Version="3.6.2" />
+		<PackageReference Include="Yw.Pump.Core" Version="3.1.6" />
 	</ItemGroup>
 
 	<ItemGroup>

--
Gitblit v1.9.3