From 935a8a4996853c51188402c57f905ee9c9eac898 Mon Sep 17 00:00:00 2001 From: duheng <2784771470@qq.com> Date: 星期三, 04 十二月 2024 22:51:50 +0800 Subject: [PATCH] Merge branch 'master' of http://47.103.154.90:83/r/HStation/XHS.V1.0 --- WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/XhsProjectSimulationCorePage.cs | 382 ++++++++++++++++++++++++++++------------------------- 1 files changed, 201 insertions(+), 181 deletions(-) diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/XhsProjectSimulationCorePage.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/XhsProjectSimulationCorePage.cs index 0704349..4759b3e 100644 --- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/XhsProjectSimulationCorePage.cs +++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/XhsProjectSimulationCorePage.cs @@ -147,10 +147,10 @@ #region 灞炴�ф帶浠� //灞炴�ф帶浠� - private XhsProjectSimulationPropertyCtrl _propertyCtrl = null; + private SimulationPropertyCtrl _propertyCtrl = null; //鑾峰彇灞炴�ф帶浠� - private XhsProjectSimulationPropertyCtrl GetPropertyCtrl() + private SimulationPropertyCtrl GetPropertyCtrl() { if (_hydroInfo == null) { @@ -158,7 +158,7 @@ } if (_propertyCtrl == null) { - _propertyCtrl = new XhsProjectSimulationPropertyCtrl(); + _propertyCtrl = new SimulationPropertyCtrl(); _propertyCtrl.Dock = DockStyle.Fill; _propertyCtrl.HydroViewEvent += (visual) => { @@ -246,7 +246,7 @@ { if (this.controlContainerRight.Controls.Count > 0) { - if (this.controlContainerRight.Controls[0] is XhsProjectSimulationPropertyCtrl) + if (this.controlContainerRight.Controls[0] is SimulationPropertyCtrl) { return true; } @@ -662,14 +662,40 @@ //姘村簱 this.barBtnSetReservoirList.ItemClick += delegate { - //var dlg = new HydroReservoirBulkSetListDlg(); - //dlg.ShowDialog(); + if (_hydroInfo == null) + { + return; + } + var dlg = new SetHydroReservoirListDlg(); + dlg.SetBindingData(_hydroInfo); + dlg.HydroClickInfoEvent += (visual) => + { + SelectVisual(visual, eVisualSource.Set); + }; + dlg.HydroChangedInfoEvent += visuals => + { + SelectVisual(visuals?.FirstOrDefault(), eVisualSource.Set); + }; + dlg.ShowDialog(); }; //姘存睜 this.barBtnSetTankList.ItemClick += delegate { - //var dlg = new HydroTankBulkSetListDlg(); - //dlg.ShowDialog(); + if (_hydroInfo == null) + { + return; + } + var dlg = new SetHydroTankListDlg(); + dlg.SetBindingData(_hydroInfo); + dlg.HydroClickInfoEvent += (visual) => + { + SelectVisual(visual, eVisualSource.Set); + }; + dlg.HydroChangedInfoEvent += visuals => + { + SelectVisual(visuals?.FirstOrDefault(), eVisualSource.Set); + }; + dlg.ShowDialog(); }; //姘寸 this.barBtnSetWaterboxList.ItemClick += delegate @@ -682,11 +708,11 @@ dlg.SetBindingData(_hydroInfo); dlg.HydroClickInfoEvent += (visual) => { - SelectVisual(visual, eVisualSource.List); + SelectVisual(visual, eVisualSource.Set); }; dlg.HydroChangedInfoEvent += visuals => { - SelectVisual(visuals?.FirstOrDefault(), eVisualSource.List); + SelectVisual(visuals?.FirstOrDefault(), eVisualSource.Set); }; dlg.ShowDialog(); }; @@ -701,11 +727,11 @@ dlg.SetBindingData(_hydroInfo); dlg.HydroClickInfoEvent += (visual) => { - SelectVisual(visual, eVisualSource.List); + SelectVisual(visual, eVisualSource.Set); }; dlg.HydroChangedInfoEvent += visuals => { - SelectVisual(visuals?.FirstOrDefault(), eVisualSource.List); + SelectVisual(visuals?.FirstOrDefault(), eVisualSource.Set); }; dlg.ShowDialog(); }; @@ -720,11 +746,11 @@ dlg.SetBindingData(_hydroInfo); dlg.HydroClickInfoEvent += (visual) => { - SelectVisual(visual, eVisualSource.List); + SelectVisual(visual, eVisualSource.Set); }; dlg.HydroChangedInfoEvent += visuals => { - SelectVisual(visuals?.FirstOrDefault(), eVisualSource.List); + SelectVisual(visuals?.FirstOrDefault(), eVisualSource.Set); }; dlg.ShowDialog(); }; @@ -739,11 +765,11 @@ dlg.SetBindingData(_hydroInfo); dlg.HydroClickInfoEvent += (visual) => { - SelectVisual(visual, eVisualSource.List); + SelectVisual(visual, eVisualSource.Set); }; dlg.HydroChangedInfoEvent += visuals => { - SelectVisual(visuals?.FirstOrDefault(), eVisualSource.List); + SelectVisual(visuals?.FirstOrDefault(), eVisualSource.Set); }; dlg.ShowDialog(); }; @@ -758,11 +784,11 @@ dlg.SetBindingData(_hydroInfo); dlg.HydroClickInfoEvent += (visual) => { - SelectVisual(visual, eVisualSource.List); + SelectVisual(visual, eVisualSource.Set); }; dlg.HydroChangedInfoEvent += visuals => { - SelectVisual(visuals?.FirstOrDefault(), eVisualSource.List); + SelectVisual(visuals?.FirstOrDefault(), eVisualSource.Set); }; dlg.ShowDialog(); }; @@ -777,11 +803,11 @@ dlg.SetBindingData(_hydroInfo); dlg.HydroClickInfoEvent += (visual) => { - SelectVisual(visual, eVisualSource.List); + SelectVisual(visual, eVisualSource.Set); }; dlg.HydroChangedInfoEvent += visuals => { - SelectVisual(visuals?.FirstOrDefault(), eVisualSource.List); + SelectVisual(visuals?.FirstOrDefault(), eVisualSource.Set); }; dlg.ShowDialog(); }; @@ -796,11 +822,11 @@ dlg.SetBindingData(_hydroInfo); dlg.HydroClickInfoEvent += (visual) => { - SelectVisual(visual, eVisualSource.List); + SelectVisual(visual, eVisualSource.Set); }; dlg.HydroChangedInfoEvent += visuals => { - SelectVisual(visuals?.FirstOrDefault(), eVisualSource.List); + SelectVisual(visuals?.FirstOrDefault(), eVisualSource.Set); }; dlg.ShowDialog(); }; @@ -815,11 +841,11 @@ dlg.SetBindingData(_hydroInfo); dlg.HydroClickInfoEvent += (visual) => { - SelectVisual(visual, eVisualSource.List); + SelectVisual(visual, eVisualSource.Set); }; dlg.HydroChangedInfoEvent += visuals => { - SelectVisual(visuals?.FirstOrDefault(), eVisualSource.List); + SelectVisual(visuals?.FirstOrDefault(), eVisualSource.Set); }; dlg.ShowDialog(); }; @@ -834,11 +860,11 @@ dlg.SetBindingData(_hydroInfo); dlg.HydroClickInfoEvent += (visual) => { - SelectVisual(visual, eVisualSource.List); + SelectVisual(visual, eVisualSource.Set); }; dlg.HydroChangedInfoEvent += visuals => { - SelectVisual(visuals?.FirstOrDefault(), eVisualSource.List); + SelectVisual(visuals?.FirstOrDefault(), eVisualSource.Set); }; dlg.ShowDialog(); }; @@ -853,11 +879,30 @@ dlg.SetBindingData(_hydroInfo); dlg.HydroClickInfoEvent += (visual) => { - SelectVisual(visual, eVisualSource.List); + SelectVisual(visual, eVisualSource.Set); }; dlg.HydroChangedInfoEvent += visuals => { - SelectVisual(visuals?.FirstOrDefault(), eVisualSource.List); + SelectVisual(visuals?.FirstOrDefault(), eVisualSource.Set); + }; + dlg.ShowDialog(); + }; + //杩囨浮浠� + this.barBtnSetTranslationList.ItemClick += delegate + { + if (_hydroInfo == null) + { + return; + } + var dlg = new SetHydroTranslationListDlg(); + dlg.SetBindingData(_hydroInfo); + dlg.HydroClickInfoEvent += (visual) => + { + SelectVisual(visual, eVisualSource.Set); + }; + dlg.HydroChangedInfoEvent += visuals => + { + SelectVisual(visuals?.FirstOrDefault(), eVisualSource.Set); }; dlg.ShowDialog(); }; @@ -872,11 +917,11 @@ dlg.SetBindingData(_hydroInfo); dlg.HydroClickInfoEvent += (visual) => { - SelectVisual(visual, eVisualSource.List); + SelectVisual(visual, eVisualSource.Set); }; dlg.HydroChangedInfoEvent += visuals => { - SelectVisual(visuals?.FirstOrDefault(), eVisualSource.List); + SelectVisual(visuals?.FirstOrDefault(), eVisualSource.Set); }; dlg.ShowDialog(); }; @@ -891,11 +936,49 @@ dlg.SetBindingData(_hydroInfo); dlg.HydroClickInfoEvent += (visual) => { - SelectVisual(visual, eVisualSource.List); + SelectVisual(visual, eVisualSource.Set); }; dlg.HydroChangedInfoEvent += visuals => { - SelectVisual(visuals?.FirstOrDefault(), eVisualSource.List); + SelectVisual(visuals?.FirstOrDefault(), eVisualSource.Set); + }; + dlg.ShowDialog(); + }; + //鎹㈢儹鍣� + this.barBtnSetExchangerList.ItemClick += delegate + { + if (_hydroInfo == null) + { + return; + } + var dlg = new SetHydroExchangerListDlg(); + dlg.SetBindingData(_hydroInfo); + dlg.HydroClickInfoEvent += (visual) => + { + SelectVisual(visual, eVisualSource.Set); + }; + dlg.HydroChangedInfoEvent += visuals => + { + SelectVisual(visuals?.FirstOrDefault(), eVisualSource.Set); + }; + dlg.ShowDialog(); + }; + //鎹㈢儹鍣� + this.barBtnSetCompressorList.ItemClick += delegate + { + if (_hydroInfo == null) + { + return; + } + var dlg = new SetHydroCompressorListDlg(); + dlg.SetBindingData(_hydroInfo); + dlg.HydroClickInfoEvent += (visual) => + { + SelectVisual(visual, eVisualSource.Set); + }; + dlg.HydroChangedInfoEvent += visuals => + { + SelectVisual(visuals?.FirstOrDefault(), eVisualSource.Set); }; dlg.ShowDialog(); }; @@ -1066,6 +1149,26 @@ this.barBtnSetTranslationList.Visibility = DevExpress.XtraBars.BarItemVisibility.Always; } + //姘存车 + if (_hydroInfo.Pumps == null || _hydroInfo.Pumps.Count < 1) + { + this.barBtnSetPumpList.Visibility = DevExpress.XtraBars.BarItemVisibility.Never; + } + else + { + this.barBtnSetPumpList.Visibility = DevExpress.XtraBars.BarItemVisibility.Always; + } + + //闃�闂� + if (_hydroInfo.Valves == null || _hydroInfo.Valves.Count < 1) + { + this.barBtnSetValveList.Visibility = DevExpress.XtraBars.BarItemVisibility.Never; + } + else + { + this.barBtnSetValveList.Visibility = DevExpress.XtraBars.BarItemVisibility.Always; + } + //鎹㈢儹鍣� if (_hydroInfo.Exchangers == null || _hydroInfo.Exchangers.Count < 1) { @@ -1086,25 +1189,6 @@ this.barBtnSetCompressorList.Visibility = DevExpress.XtraBars.BarItemVisibility.Always; } - //姘存车 - if (_hydroInfo.Pumps == null || _hydroInfo.Pumps.Count < 1) - { - this.barBtnSetPumpList.Visibility = DevExpress.XtraBars.BarItemVisibility.Never; - } - else - { - this.barBtnSetPumpList.Visibility = DevExpress.XtraBars.BarItemVisibility.Always; - } - - //闃�闂� - if (_hydroInfo.Valves == null || _hydroInfo.Valves.Count < 1) - { - this.barBtnSetValveList.Visibility = DevExpress.XtraBars.BarItemVisibility.Never; - } - else - { - this.barBtnSetValveList.Visibility = DevExpress.XtraBars.BarItemVisibility.Always; - } } @@ -1935,7 +2019,38 @@ #region 姘存车鍒楄〃 - #region 骞惰仈妯℃嫙 + //鎬ц兘鏇茬嚎 + private void PumpFeat() + { + if (_hydroInfo == null) + { + return; + } + var pumps = _hydroInfo.Pumps; + if (pumps == null || pumps.Count < 1) + { + XtraMessageBox.Show("鏃犳按娉典俊鎭�"); + return; + } + var dlg = new SimulationPumpFeatDlg(); + dlg.SaveEvent += async (list) => + { + pumps.ForEach(x => x.UpdateWorkingInfo(list)); + var visualVmListHelper = GetVisualVmListHelper(); + visualVmListHelper.UpdateProperty(pumps.Select(x => x as Yw.Model.HydroVisualInfo).ToList()); + SelectVisual(_visual, eVisualSource.None); + var gradingHelper = await GetGradingHelper(); + gradingHelper.Set(); + }; + dlg.SetBindingData(_hydroInfo); + dlg.ShowDialog(); + } + + //鎬ц兘鏇茬嚎 + private void barBtnPumpCurve_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) + { + PumpFeat(); + } //骞惰仈妯℃嫙 private void PumpParallel() @@ -1950,71 +2065,34 @@ XtraMessageBox.Show("鏃犳按娉典俊鎭�"); return; } - var vmList = new List<XhsSinglePumpViewModel>(); - foreach (var pump in pumps) - { - if (!pump.RatedN.HasValue) - { - continue; - } - var qh = _hydroInfo.Curves?.Find(t => t.Code == pump.CurveQH)?.CurveData; - var qe = _hydroInfo.Curves?.Find(t => t.Code == pump.CurveQE)?.CurveData; - var qp = _hydroInfo.Curves?.Find(t => t.Code == pump.CurveQP)?.CurveData; - if (qh == null) - { - continue; - } - - var qhPtList = qh.Select(x => new XhsSplinePointViewModel(x.X, x.Y)).ToList(); - var qePtList = qe?.Select(x => new XhsSplinePointViewModel(x.X, x.Y)).ToList(); - var qpPtList = qp?.Select(x => new XhsSplinePointViewModel(x.X, x.Y)).ToList(); - - var vm = new XhsSinglePumpViewModel(); - vmList.Add(vm); - vm.ID = pump.ID; - vm.Name = pump.Name; - vm.Code = pump.Code; - vm.IsBp = true; - vm.RunStatus = pump.LinkStatus == Yw.Hydro.LinkStatus.Open; - vm.RatedHz = pump.RatedHz; - vm.CurrentHz = Math.Round(pump.RatedHz * pump.SpeedRatio, 1); - vm.RatedSpeed = pump.RatedN.Value; - vm.CurrentSpeed = Math.Round(pump.RatedN.Value * pump.SpeedRatio, 1); - vm.CurveQH = qhPtList; - vm.CurveQE = qePtList; - vm.CurveQP = qpPtList; - - } - - var dlg = new PumpParallelAnalyDlg(); - dlg.SetBindingData(vmList); - dlg.ReloadDataEvent += (list) => + var dlg = new SimulationPumpParallelDlg(); + dlg.SaveEvent += async (list) => { list?.ForEach(x => { var pump = pumps.Find(t => t.Code == x.Code); if (pump != null) { - pump.LinkStatus = x.RunStatus ? Yw.Hydro.PumpStatus.Open : Yw.Hydro.PumpStatus.Closed; - pump.SpeedRatio = x.CurrentHz / pump.RatedHz; + pump.LinkStatus = x.LinkStatus; + pump.SpeedRatio = x.SpeedRatio; } }); - var codes = list?.Select(x => x.Code).ToList(); - //UpdateVisualViewModelProperty(codes); - //ShowSelectedProperty(); - UpdateVisualListCtrl(); - return true; + var visualVmListHelper = GetVisualVmListHelper(); + visualVmListHelper.UpdateProperty(pumps.Select(x => x as Yw.Model.HydroVisualInfo).ToList()); + SelectVisual(_visual, eVisualSource.None); + var gradingHelper = await GetGradingHelper(); + gradingHelper.Set(); }; + dlg.SetBindingData(_hydroInfo); dlg.ShowDialog(); } //骞惰仈妯℃嫙 private void barBtnPumpParallel_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { + PumpParallel(); } - - #endregion #endregion @@ -2087,6 +2165,12 @@ var visualVmListHelper = GetVisualVmListHelper(); visualVmListHelper.UpdateCalcuProperty(calcuResult); + + #endregion + + #region 褰撳墠鏋勪欢 + + SelectVisual(_visual, eVisualSource.Calcu); #endregion @@ -2168,6 +2252,7 @@ { this.barBtnAddWorking.Enabled = false; workingHelper.ResetWorking(rhs); + UpdateWorkingCheckedList(rhs, false); this.AppendWorkingEvent?.Invoke(rhs); }; dlg.ShowDialog(); @@ -2241,92 +2326,26 @@ //姘存车鍒嗘瀽 private void barBtnPumpAnaly_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { - if (_hydroInfo == null) + var workingCheckedListHelper = GetWorkingCheckedListHelper(); + var allCheckedWorkingList = workingCheckedListHelper.GetCheckedWorkingList(); + if (allCheckedWorkingList == null || allCheckedWorkingList.Count < 1) { - return; - } - if (_hydroInfo.Pumps == null || _hydroInfo.Pumps.Count < 1) - { - return; - } - - var calcuResultHelper = GetCalcuResultHelper(); - var vmList = new List<XhsSinglePumpViewModel>(); - foreach (var pump in _hydroInfo.Pumps) - { - if (!pump.RatedN.HasValue) + var workingHelper = GetWorkingHelper(); + if (!workingHelper.Initialized) { - continue; + TipFormHelper.ShowWarn("璇疯绠楀悗閲嶈瘯锛�"); + return; } - var qh = _hydroInfo.Curves?.Find(t => t.Code == pump.CurveQH)?.CurveData; - var qe = _hydroInfo.Curves?.Find(t => t.Code == pump.CurveQE)?.CurveData; - var qp = _hydroInfo.Curves?.Find(t => t.Code == pump.CurveQP)?.CurveData; - if (qh == null) - { - continue; - } - - var qhPtList = qh.Select(x => new XhsSplinePointViewModel(x.X, x.Y)).ToList(); - var qePtList = qe?.Select(x => new XhsSplinePointViewModel(x.X, x.Y)).ToList(); - var qpPtList = qp?.Select(x => new XhsSplinePointViewModel(x.X, x.Y)).ToList(); - - var vm = new XhsSinglePumpViewModel(); - vmList.Add(vm); - vm.ID = pump.ID; - vm.Name = pump.Name; - vm.Code = pump.Code; - vm.IsBp = true; - vm.RunStatus = pump.LinkStatus == Yw.Hydro.LinkStatus.Open; - vm.RatedHz = pump.RatedHz; - vm.CurrentHz = Math.Round(pump.RatedHz * pump.SpeedRatio, 1); - vm.RatedSpeed = pump.RatedN.Value; - vm.CurrentSpeed = Math.Round(pump.RatedN.Value * pump.SpeedRatio); - vm.CurveQH = qhPtList; - vm.CurveQE = qePtList; - vm.CurveQP = qpPtList; - - var calcuResultVisualDict = calcuResultHelper.GetVisualDict(); - if (calcuResultVisualDict != null && calcuResultVisualDict.Count > 0) - { - //var calcuResult = allCalcuResultList.Find(x => x.Code == pump.Code) as HydroCalcuLinkResult; - //if (calcuResult != null) - //{ - // if (calcuResult.CalcuFlow.HasValue) - // { - // vm.CalcuQ = Math.Abs(calcuResult.CalcuFlow.Value); - // } - - // var calcuResultStart = allCalcuResultList.Find(x => x.Code == pump.StartCode) as HydroCalcuNodeResult; - // var calcuResultEnd = allCalcuResultList.Find(x => x.Code == pump.EndCode) as HydroCalcuNodeResult; - // if (calcuResultStart != null && calcuResultEnd != null) - // { - // if (calcuResultStart.CalcuHead.HasValue && calcuResultEnd.CalcuHead.HasValue) - // { - // vm.CalcuH = Math.Round(Math.Abs(calcuResultStart.CalcuHead.Value - calcuResultEnd.CalcuHead.Value), 4); - // } - // } - //} - } - + var dlg = new SimulationSingleWorkingPumpAnalyDlg(); + dlg.SetBindingData(workingHelper.HydroInfo, workingHelper.CalcuResult); + dlg.ShowDialog(); } - - var dlg = new PumpParallelAnalyDlg(); - dlg.SetBindingData(vmList); - dlg.ReloadDataEvent += (list) => + else { - list?.ForEach(x => - { - var pump = _hydroInfo.Pumps?.Find(t => t.Code == x.Code); - if (pump != null) - { - pump.LinkStatus = x.RunStatus ? Yw.Hydro.PumpStatus.Open : Yw.Hydro.PumpStatus.Closed; - pump.SpeedRatio = Math.Round(x.CurrentHz / pump.RatedHz, 1); - } - }); - //ShowSelectedProperty(); - return true; - }; - dlg.ShowDialog(); + var dlg = new SimulationMultiWorkingPumpAnalyDlg(); + dlg.SetBindingData(_hydroInfo, allCheckedWorkingList); + dlg.ShowDialog(); + } } //鑳芥晥鍒嗘瀽 @@ -2463,5 +2482,6 @@ + } } \ No newline at end of file -- Gitblit v1.9.3