lixiaojun
2024-12-06 8d4f5bb9c83d42d1e83caccdb23665279f8e7094
WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/XhsProjectSimulationCorePage.cs
@@ -66,10 +66,10 @@
        #region BIM控件
        //bimface控件
        private XhsProjectSimulationBimfaceCtrl _bimfaceCtrl = null;
        private SimulationBimfaceCtrl _bimfaceCtrl = null;
        //获取 bimface 控件
        private async Task<XhsProjectSimulationBimfaceCtrl> GetBimfaceCtrl()
        private async Task<SimulationBimfaceCtrl> GetBimfaceCtrl()
        {
            if (_hydroInfo == null)
            {
@@ -78,7 +78,7 @@
            if (_bimfaceCtrl == null)
            {
                var overlay = this.ShowOverlay();
                _bimfaceCtrl = new XhsProjectSimulationBimfaceCtrl();
                _bimfaceCtrl = new SimulationBimfaceCtrl();
                _bimfaceCtrl.Dock = DockStyle.Fill;
                await _bimfaceCtrl.InitialData(_project, _projectSite);
                _bimfaceCtrl.LoadCompletedEvent += () =>
@@ -286,15 +286,6 @@
            _propertyCtrl?.UpdateRows();
        }
        //清理属性控件
        private void ClearPropertyCtrl()
        {
            if (_propertyCtrl != null)
            {
                _propertyCtrl.SelectedObject = null;
            }
        }
        #endregion
        #region 选择构件
@@ -444,6 +435,13 @@
                _visualVmListHelper = new SimulationVisualVmListHelper(visualListHelper, calcuResultHelper);
            }
            return _visualVmListHelper;
        }
        //获取可见视图列表
        private List<HydroVisualViewModel> GetVisualViewModelList()
        {
            var helper = GetVisualVmListHelper();
            return helper.GetVisualList();
        }
        #endregion
@@ -662,12 +660,9 @@
            //水库
            this.barBtnSetReservoirList.ItemClick += delegate
            {
                if (_hydroInfo == null)
                {
                    return;
                }
                var allVisualViewModelList = GetVisualViewModelList();
                var dlg = new SetHydroReservoirListDlg();
                dlg.SetBindingData(_hydroInfo);
                dlg.SetBindingData(allVisualViewModelList);
                dlg.HydroClickInfoEvent += (visual) =>
                {
                    SelectVisual(visual, eVisualSource.Set);
@@ -675,18 +670,16 @@
                dlg.HydroChangedInfoEvent += visuals =>
                {
                    SelectVisual(visuals?.FirstOrDefault(), eVisualSource.Set);
                    UpdateVisualListCtrl();
                };
                dlg.ShowDialog();
            };
            //水池
            this.barBtnSetTankList.ItemClick += delegate
            {
                if (_hydroInfo == null)
                {
                    return;
                }
                var allVisualViewModelList = GetVisualViewModelList();
                var dlg = new SetHydroTankListDlg();
                dlg.SetBindingData(_hydroInfo);
                dlg.SetBindingData(allVisualViewModelList);
                dlg.HydroClickInfoEvent += (visual) =>
                {
                    SelectVisual(visual, eVisualSource.Set);
@@ -694,18 +687,16 @@
                dlg.HydroChangedInfoEvent += visuals =>
                {
                    SelectVisual(visuals?.FirstOrDefault(), eVisualSource.Set);
                    UpdateVisualListCtrl();
                };
                dlg.ShowDialog();
            };
            //水箱
            this.barBtnSetWaterboxList.ItemClick += delegate
            {
                if (_hydroInfo == null)
                {
                    return;
                }
                var allVisualViewModelList = GetVisualViewModelList();
                var dlg = new SetHydroWaterboxListDlg();
                dlg.SetBindingData(_hydroInfo);
                dlg.SetBindingData(allVisualViewModelList);
                dlg.HydroClickInfoEvent += (visual) =>
                {
                    SelectVisual(visual, eVisualSource.Set);
@@ -713,18 +704,16 @@
                dlg.HydroChangedInfoEvent += visuals =>
                {
                    SelectVisual(visuals?.FirstOrDefault(), eVisualSource.Set);
                    UpdateVisualListCtrl();
                };
                dlg.ShowDialog();
            };
            //连接节点
            this.barBtnSetJunctionList.ItemClick += delegate
            {
                if (_hydroInfo == null)
                {
                    return;
                }
                var allVisualViewModelList = GetVisualViewModelList();
                var dlg = new SetHydroJunctionListDlg();
                dlg.SetBindingData(_hydroInfo);
                dlg.SetBindingData(allVisualViewModelList);
                dlg.HydroClickInfoEvent += (visual) =>
                {
                    SelectVisual(visual, eVisualSource.Set);
@@ -732,18 +721,16 @@
                dlg.HydroChangedInfoEvent += visuals =>
                {
                    SelectVisual(visuals?.FirstOrDefault(), eVisualSource.Set);
                    UpdateVisualListCtrl();
                };
                dlg.ShowDialog();
            };
            //闷头
            this.barBtnSetBluntheadList.ItemClick += delegate
            {
                if (_hydroInfo == null)
                {
                    return;
                }
                var allVisualViewModelList = GetVisualViewModelList();
                var dlg = new SetHydroBluntheadListDlg();
                dlg.SetBindingData(_hydroInfo);
                dlg.SetBindingData(allVisualViewModelList);
                dlg.HydroClickInfoEvent += (visual) =>
                {
                    SelectVisual(visual, eVisualSource.Set);
@@ -751,18 +738,16 @@
                dlg.HydroChangedInfoEvent += visuals =>
                {
                    SelectVisual(visuals?.FirstOrDefault(), eVisualSource.Set);
                    UpdateVisualListCtrl();
                };
                dlg.ShowDialog();
            };
            //弯头
            this.barBtnSetElbowsList.ItemClick += delegate
            {
                if (_hydroInfo == null)
                {
                    return;
                }
                var allVisualVmList = GetVisualViewModelList();
                var dlg = new SetHydroElbowListDlg();
                dlg.SetBindingData(_hydroInfo);
                dlg.SetBindingData(allVisualVmList);
                dlg.HydroClickInfoEvent += (visual) =>
                {
                    SelectVisual(visual, eVisualSource.Set);
@@ -770,18 +755,16 @@
                dlg.HydroChangedInfoEvent += visuals =>
                {
                    SelectVisual(visuals?.FirstOrDefault(), eVisualSource.Set);
                    UpdateVisualListCtrl();
                };
                dlg.ShowDialog();
            };
            //三通
            this.barBtnSetThreelinkList.ItemClick += delegate
            {
                if (_hydroInfo == null)
                {
                    return;
                }
                var allVisualViewModelList = GetVisualViewModelList();
                var dlg = new SetHydroThreelinkListDlg();
                dlg.SetBindingData(_hydroInfo);
                dlg.SetBindingData(allVisualViewModelList);
                dlg.HydroClickInfoEvent += (visual) =>
                {
                    SelectVisual(visual, eVisualSource.Set);
@@ -789,18 +772,16 @@
                dlg.HydroChangedInfoEvent += visuals =>
                {
                    SelectVisual(visuals?.FirstOrDefault(), eVisualSource.Set);
                    UpdateVisualListCtrl();
                };
                dlg.ShowDialog();
            };
            //四通
            this.barBtnSetFourlinkList.ItemClick += delegate
            {
                if (_hydroInfo == null)
                {
                    return;
                }
                var allVisualViewModelList = GetVisualViewModelList();
                var dlg = new SetHydroFourlinkListDlg();
                dlg.SetBindingData(_hydroInfo);
                dlg.SetBindingData(allVisualViewModelList);
                dlg.HydroClickInfoEvent += (visual) =>
                {
                    SelectVisual(visual, eVisualSource.Set);
@@ -808,18 +789,16 @@
                dlg.HydroChangedInfoEvent += visuals =>
                {
                    SelectVisual(visuals?.FirstOrDefault(), eVisualSource.Set);
                    UpdateVisualListCtrl();
                };
                dlg.ShowDialog();
            };
            //水表
            this.barBtnSetMeterList.ItemClick += delegate
            {
                if (_hydroInfo == null)
                {
                    return;
                }
                var allVisualViewModelList = GetVisualViewModelList();
                var dlg = new SetHydroMeterListDlg();
                dlg.SetBindingData(_hydroInfo);
                dlg.SetBindingData(allVisualViewModelList);
                dlg.HydroClickInfoEvent += (visual) =>
                {
                    SelectVisual(visual, eVisualSource.Set);
@@ -827,18 +806,16 @@
                dlg.HydroChangedInfoEvent += visuals =>
                {
                    SelectVisual(visuals?.FirstOrDefault(), eVisualSource.Set);
                    UpdateVisualListCtrl();
                };
                dlg.ShowDialog();
            };
            //流量计
            this.barBtnSetFlowmeterList.ItemClick += delegate
            {
                if (_hydroInfo == null)
                {
                    return;
                }
                var allVisualViewModelList = GetVisualViewModelList();
                var dlg = new SetHydroFlowmeterListDlg();
                dlg.SetBindingData(_hydroInfo);
                dlg.SetBindingData(allVisualViewModelList);
                dlg.HydroClickInfoEvent += (visual) =>
                {
                    SelectVisual(visual, eVisualSource.Set);
@@ -846,18 +823,16 @@
                dlg.HydroChangedInfoEvent += visuals =>
                {
                    SelectVisual(visuals?.FirstOrDefault(), eVisualSource.Set);
                    UpdateVisualListCtrl();
                };
                dlg.ShowDialog();
            };
            //压力表
            this.barBtnSetPressmeterList.ItemClick += delegate
            {
                if (_hydroInfo == null)
                {
                    return;
                }
                var allVisualViewModelList = GetVisualViewModelList();
                var dlg = new SetHydroPressmeterListDlg();
                dlg.SetBindingData(_hydroInfo);
                dlg.SetBindingData(allVisualViewModelList);
                dlg.HydroClickInfoEvent += (visual) =>
                {
                    SelectVisual(visual, eVisualSource.Set);
@@ -865,18 +840,16 @@
                dlg.HydroChangedInfoEvent += visuals =>
                {
                    SelectVisual(visuals?.FirstOrDefault(), eVisualSource.Set);
                    UpdateVisualListCtrl();
                };
                dlg.ShowDialog();
            };
            //管道
            this.barBtnSetPipeList.ItemClick += delegate
            {
                if (_hydroInfo == null)
                {
                    return;
                }
                var allVisualViewModelList = GetVisualViewModelList();
                var dlg = new SetHydroPipeListDlg();
                dlg.SetBindingData(_hydroInfo);
                dlg.SetBindingData(allVisualViewModelList);
                dlg.HydroClickInfoEvent += (visual) =>
                {
                    SelectVisual(visual, eVisualSource.Set);
@@ -884,18 +857,16 @@
                dlg.HydroChangedInfoEvent += visuals =>
                {
                    SelectVisual(visuals?.FirstOrDefault(), eVisualSource.Set);
                    UpdateVisualListCtrl();
                };
                dlg.ShowDialog();
            };
            //过渡件
            this.barBtnSetTranslationList.ItemClick += delegate
            {
                if (_hydroInfo == null)
                {
                    return;
                }
                var allVisualViewModelList = GetVisualViewModelList();
                var dlg = new SetHydroTranslationListDlg();
                dlg.SetBindingData(_hydroInfo);
                dlg.SetBindingData(allVisualViewModelList);
                dlg.HydroClickInfoEvent += (visual) =>
                {
                    SelectVisual(visual, eVisualSource.Set);
@@ -903,18 +874,16 @@
                dlg.HydroChangedInfoEvent += visuals =>
                {
                    SelectVisual(visuals?.FirstOrDefault(), eVisualSource.Set);
                    UpdateVisualListCtrl();
                };
                dlg.ShowDialog();
            };
            //水泵
            this.barBtnSetPumpList.ItemClick += delegate
            {
                if (_hydroInfo == null)
                {
                    return;
                }
                var allVisualViewModelList = GetVisualViewModelList();
                var dlg = new SetHydroPumpListDlg();
                dlg.SetBindingData(_hydroInfo);
                dlg.SetBindingData(allVisualViewModelList);
                dlg.HydroClickInfoEvent += (visual) =>
                {
                    SelectVisual(visual, eVisualSource.Set);
@@ -922,18 +891,16 @@
                dlg.HydroChangedInfoEvent += visuals =>
                {
                    SelectVisual(visuals?.FirstOrDefault(), eVisualSource.Set);
                    UpdateVisualListCtrl();
                };
                dlg.ShowDialog();
            };
            //阀门
            this.barBtnSetValveList.ItemClick += delegate
            {
                if (_hydroInfo == null)
                {
                    return;
                }
                var allVisualViewModelList = GetVisualViewModelList();
                var dlg = new SetHydroValveListDlg();
                dlg.SetBindingData(_hydroInfo);
                dlg.SetBindingData(allVisualViewModelList);
                dlg.HydroClickInfoEvent += (visual) =>
                {
                    SelectVisual(visual, eVisualSource.Set);
@@ -941,18 +908,16 @@
                dlg.HydroChangedInfoEvent += visuals =>
                {
                    SelectVisual(visuals?.FirstOrDefault(), eVisualSource.Set);
                    UpdateVisualListCtrl();
                };
                dlg.ShowDialog();
            };
            //换热器
            this.barBtnSetExchangerList.ItemClick += delegate
            {
                if (_hydroInfo == null)
                {
                    return;
                }
                var allVisualViewModelList = GetVisualViewModelList();
                var dlg = new SetHydroExchangerListDlg();
                dlg.SetBindingData(_hydroInfo);
                dlg.SetBindingData(allVisualViewModelList);
                dlg.HydroClickInfoEvent += (visual) =>
                {
                    SelectVisual(visual, eVisualSource.Set);
@@ -960,18 +925,16 @@
                dlg.HydroChangedInfoEvent += visuals =>
                {
                    SelectVisual(visuals?.FirstOrDefault(), eVisualSource.Set);
                    UpdateVisualListCtrl();
                };
                dlg.ShowDialog();
            };
            //换热器
            this.barBtnSetCompressorList.ItemClick += delegate
            {
                if (_hydroInfo == null)
                {
                    return;
                }
                var allVisualViewModelList = GetVisualViewModelList();
                var dlg = new SetHydroCompressorListDlg();
                dlg.SetBindingData(_hydroInfo);
                dlg.SetBindingData(allVisualViewModelList);
                dlg.HydroClickInfoEvent += (visual) =>
                {
                    SelectVisual(visual, eVisualSource.Set);
@@ -979,6 +942,7 @@
                dlg.HydroChangedInfoEvent += visuals =>
                {
                    SelectVisual(visuals?.FirstOrDefault(), eVisualSource.Set);
                    UpdateVisualListCtrl();
                };
                dlg.ShowDialog();
            };
@@ -2141,10 +2105,10 @@
                    return;
                }
                WaitFormHelper.ShowWaitForm(this, "正在计算分析中,请稍候...");
                //WaitFormHelper.ShowWaitForm(this, "正在计算分析中,请稍候...");
                //await Task.Delay(3000);
                var calcuResult = _hydroInfo.Calcu(Yw.EPAnet.CalcuMode.MinorLoss);
                WaitFormHelper.HideWaitForm();
                //WaitFormHelper.HideWaitForm();
                workingHelper.InitialData(hydroInfo, working, checkResult, calcuResult);
                if (calcuResult.Succeed)
                {
@@ -2284,12 +2248,26 @@
        }
        //更新工况选择列表
        public void UpdateWorkingCheckedList(HydroWorkingVmo working)
        {
            var helper = GetWorkingCheckedListHelper();
            helper.Update(working);
        }
        //更新工况选择列表
        public void UpdateWorkingCheckedList(HydroWorkingVmo working, bool hasChecked)
        {
            var helper = GetWorkingCheckedListHelper();
            helper.Update(working, hasChecked);
        }
        //移除工况选择列表
        public void RemoveWorkingCheckedList(HydroWorkingVmo working)
        {
            var helper = GetWorkingCheckedListHelper();
            helper.Remove(working);
        }
        #endregion