lixiaojun
2024-12-23 c2b56fc9401718620dd2a280557b8c716e4ad05a
WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/08-working/XhsProjectSimulationWorkingPage.cs
@@ -111,7 +111,7 @@
                {//鼠标左键点击事件
                    var visualListHelper = GetVisualListHelper();
                    var visual = visualListHelper.GetVisual(code);
                    SelectVisual(visual, eVisualSource.Bimface);
                    SelectVisual(visual, eSimulationVisualSource.Bimface);
                };
            }
            return _bimfaceCtrl;
@@ -148,7 +148,7 @@
                {
                    var visualListHelper = GetVisualListHelper();
                    var visuals = visualListHelper.GetVisualList(codes);
                    SelectVisual(visuals?.LastOrDefault(), eVisualSource.Q3d);
                    SelectVisual(visuals?.LastOrDefault(), eSimulationVisualSource.Q3d);
                };
            }
            return _q3dCtrl;
@@ -183,7 +183,7 @@
                _propertyCtrl.AllowEdit = false;
                _propertyCtrl.HydroViewEvent += (visual) =>
                {
                    SelectVisual(visual, eVisualSource.Property);
                    SelectVisual(visual, eSimulationVisualSource.Property);
                };
                _propertyCtrl.BlinkLinkNodeEvent += async (link, linkNodeCode) =>
                { //强调连接节点
@@ -280,83 +280,74 @@
        #region 选择构件
        //可见来源
        protected enum eVisualSource
        {
            None,
            Bimface,
            Q3d,
            Property,
            List,
            Search,
            Monitor,
            Check,
            Calcu,
            Warning,
        }
        //选择构件
        private Yw.Model.HydroVisualInfo _visual = null;
        //选择构件
        private void SelectVisual(HydroVisualInfo visual, eVisualSource source)
        private void SelectVisual(HydroVisualInfo visual, eSimulationVisualSource source)
        {
            _visual = visual;
            switch (source)
            {
                case eVisualSource.None:
                case eSimulationVisualSource.None:
                    {
                        _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code);
                        SetPropertyCtrl(visual);
                    }
                    break;
                case eVisualSource.Bimface:
                case eSimulationVisualSource.Bimface:
                    {
                        SetPropertyCtrl(visual);
                    }
                    break;
                case eVisualSource.Q3d:
                case eSimulationVisualSource.Q3d:
                    {
                        _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code);
                        SetPropertyCtrl(visual);
                    }
                    break;
                case eVisualSource.Property:
                case eSimulationVisualSource.Property:
                    {
                        _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code);
                    }
                    break;
                case eVisualSource.List:
                case eSimulationVisualSource.List:
                    {
                        _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code);
                        SetPropertyCtrl(visual);
                    }
                    break;
                case eVisualSource.Search:
                case eSimulationVisualSource.Set:
                    {
                        _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code);
                        SetPropertyCtrl(visual);
                    }
                    break;
                case eVisualSource.Monitor:
                case eSimulationVisualSource.Search:
                    {
                        _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code);
                        SetPropertyCtrl(visual);
                    }
                    break;
                case eVisualSource.Check:
                case eSimulationVisualSource.Monitor:
                    {
                        _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code);
                        SetPropertyCtrl(visual);
                    }
                    break;
                case eVisualSource.Calcu:
                case eSimulationVisualSource.Check:
                    {
                        _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code);
                        SetPropertyCtrl(visual);
                    }
                    break;
                case eVisualSource.Warning:
                case eSimulationVisualSource.Calcu:
                    {
                        _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code);
                        SetPropertyCtrl(visual);
                    }
                    break;
                case eSimulationVisualSource.Warning:
                    {
                        _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code);
                        SetPropertyCtrl(visual);
@@ -367,7 +358,7 @@
        }
        //选择构件
        private void SelectVisual(string code, eVisualSource source)
        private void SelectVisual(string code, eSimulationVisualSource source)
        {
            var visual = GetVisual(code);
            SelectVisual(visual, source);
@@ -478,7 +469,7 @@
                _visualListCtrl.Dock = DockStyle.Fill;
                _visualListCtrl.HydroClickInfoEvent += (visual) =>
                {
                    SelectVisual(visual, eVisualSource.List);
                    SelectVisual(visual, eSimulationVisualSource.List);
                };
            }
            return _visualListCtrl;
@@ -596,10 +587,30 @@
        #region 一键显隐
        private List<string> _allDecoratorCodes = null;
        //获取装饰件code列表
        private async Task<List<string>> GetDecoratorCodes()
        {
            if (_hydroInfo == null)
            {
                return default;
            }
            if (_allDecoratorCodes != null)
            {
                return default;
            }
            _allDecoratorCodes = await BLLFactory<Yw.BLL.HydroDecoratorInfo>.Instance.GetCodeListByModelID(_hydroInfo.ID, null);
            if (_allDecoratorCodes == null)
            {
                _allDecoratorCodes = new List<string>();
            }
            return _allDecoratorCodes;
        }
        //设置装饰件可见性
        private async void SetDecoratorVisible(bool isDecoratorVisible)
        {
            var codes = _hydroInfo.Decorators?.Select(x => x.Code).Distinct().ToList();
            var codes = await GetDecoratorCodes();
            if (isDecoratorVisible)
            {
                await _bimfaceCtrl?.ShowComponents(codes);
@@ -635,12 +646,12 @@
                _searchCtrl.InitialData(allVisualVmList);
                _searchCtrl.HydroClickInfoEvent += (visual) =>
                {
                    SelectVisual(visual, eVisualSource.Check);
                    SelectVisual(visual, eSimulationVisualSource.Check);
                };
                _searchCtrl.HydroSearchInfoEvent += (list) =>
                {
                    var visual = list?.FirstOrDefault();
                    SelectVisual(visual, eVisualSource.Search);
                    SelectVisual(visual, eSimulationVisualSource.Search);
                };
            }
            return _searchCtrl;
@@ -907,7 +918,7 @@
        private async Task<List<HydroMonitorVmo>> GetMonitorList()
        {
            var helper = GetMonitorHelper();
            return await helper.Get();
            return await helper.GetAll();
        }
        #endregion
@@ -924,7 +935,8 @@
            {
                var visualListHelper = GetVisualListHelper();
                var monitorHelper = GetMonitorHelper();
                _monitorValueHelper = new SimulationMonitorValueHelper(visualListHelper, monitorHelper);
                var calcuResultHelper = GetCalcuResultHelper();
                _monitorValueHelper = new SimulationMonitorValueHelper(visualListHelper, monitorHelper, calcuResultHelper);
            }
            return _monitorValueHelper;
        }
@@ -948,7 +960,7 @@
                {
                    var visualListHelper = GetVisualListHelper();
                    var visual = visualListHelper.GetVisual(code);
                    SelectVisual(visual, eVisualSource.Monitor);
                    SelectVisual(visual, eSimulationVisualSource.Monitor);
                };
            }
            return _monitorValueListCtrl;
@@ -986,7 +998,7 @@
                this.docPnlBottom.Height = 350;
            }
            var monitorValueHelper = GetMonitorValueHelper();
            var allMonitorValueList = await monitorValueHelper.Get();
            var allMonitorValueList = await monitorValueHelper.GetAll();
            monitorValueListCtrl.SetBindingData(allMonitorValueList);
        }
@@ -1047,7 +1059,7 @@
                {
                    var visualListHelper = GetVisualListHelper();
                    var visual = visualListHelper.GetVisual(code);
                    SelectVisual(visual, eVisualSource.Check);
                    SelectVisual(visual, eSimulationVisualSource.Check);
                };
            }
            return _checkCtrl;
@@ -1200,7 +1212,7 @@
                {
                    var visualListHelper = GetVisualListHelper();
                    var visual = visualListHelper.GetVisual(code);
                    SelectVisual(visual, eVisualSource.Warning);
                    SelectVisual(visual, eSimulationVisualSource.Warning);
                };
            }
            return _calcuWarningCtrl;
@@ -1503,7 +1515,7 @@
            }
            _hydroInfo.UpdateWorkingInfo(_working.WorkingInfo);
            var monitorValueHelper = GetMonitorValueHelper();
            var allMonitorValueList = await monitorValueHelper.Get();
            var allMonitorValueList = await monitorValueHelper.GetAll();
            allMonitorValueList.UpdateMonitorValue(_working.MonitorInfo);
            var workingHelper = GetWorkingHelper();
@@ -1546,14 +1558,14 @@
            {
                if (sources.Count == 1)
                {
                    SelectVisual(sources[0], eVisualSource.None);
                    SelectVisual(sources[0], eSimulationVisualSource.None);
                }
                else
                {
                    var source = sources.FirstOrDefault(x => x.Flags.Contains(HStation.Xhs.Flags.进口));
                    if (source != null)
                    {
                        SelectVisual(source, eVisualSource.None);
                        SelectVisual(source, eSimulationVisualSource.None);
                    }
                }
            }
@@ -1632,7 +1644,7 @@
            var dlg = new HydroSingleWorkingLossCurveDlg();
            dlg.HydroClickEvent += (code) =>
            {
                SelectVisual(code, eVisualSource.None);
                SelectVisual(code, eSimulationVisualSource.None);
            };
            dlg.SetBindingData(workingHelper.HydroInfo, workingHelper.CalcuResult, visual);
            dlg.ShowDialog();