duheng
2024-09-20 57051b41eb245cd3dc68ed9167f492df5de9d04c
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/XhsProjectSimulationCorePage.cs
@@ -2,6 +2,7 @@
using HStation.WinFrmUI.Xhs;
using HStation.WinFrmUI.Xhs.Core;
using NPOI.SS.Formula.Functions;
using Yw.WinFrmUI.HydroL2d;
namespace HStation.WinFrmUI
{
@@ -14,6 +15,7 @@
            this.PageTitle.HeaderSvgImage = this.svgImg32[0];
            this.docPnlHydroCheck.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Hidden;
            this.docPnlHydroCalcu.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Hidden;
            this.docPnlHydroParterList.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Hidden;
        }
        private HStation.Vmo.XhsProjectVmo _project = null;//项目
@@ -52,7 +54,6 @@
                    .GetDefaultByObjectTypeAndObjectIDOfPurpose(HStation.Xhs.DataType.XhsProjectSite, _projectSite.ID, HStation.Xhs.Purpose.Simulation);
                _hydroInfo = await BLLFactory<Yw.BLL.HydroModelInfo>.Instance.GetByID(hydroRelation.ModelID);
            }
            this.xhsProjectSimulationPropertyCtrl1.SetBindingData(_hydroInfo);
            this.xhsProjectSimulationQ3dCtrl1.SetBindingData(_hydroInfo);
        }
@@ -70,7 +71,11 @@
            await this.xhsProjectSimulationBimfaceCtrl1.SetBindingData(_project, _projectSite);
        }
        #region 模型
        //属性面板获取水力信息事件
        private Yw.Model.HydroModelInfo xhsProjectSimulationPropertyCtrl1_GetHydroInfoEvent()
        {
            return _hydroInfo;
        }
        //一键显隐
        private async void barBtnShowHide_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
@@ -95,10 +100,6 @@
            }
        }
        #endregion 模型
        #region 水力
        //水力验证
        private void barBtnHydroCheck_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
@@ -106,8 +107,9 @@
            {
                return;
            }
            this.docPnlHydroCalcu.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Hidden;
            this.docPnlHydroCheck.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Hidden;
            this.docPnlHydroCalcu.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Hidden;
            this.docPnlHydroParterList.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Hidden;
            var netWork = Yw.Hydro.ParseHelper.ToNetwork(_hydroInfo);
            _checkResult = netWork.Check();
@@ -127,8 +129,9 @@
            {
                return;
            }
            this.docPnlHydroCalcu.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Hidden;
            this.docPnlHydroCheck.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Hidden;
            this.docPnlHydroCalcu.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Hidden;
            this.docPnlHydroParterList.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Hidden;
            var netWork = Yw.Hydro.ParseHelper.ToNetwork(_hydroInfo);
            _calcuResult = netWork.Calcu();
@@ -145,16 +148,16 @@
        //水力构件列表
        private void barBtnHydroParterList_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            var dlg = new HydroParterListDlg();
            dlg.TopMost = true;
            dlg.HydroClickEvent += async (parter) =>
            if (_hydroInfo == null)
            {
                _parter = parter;
                await this.xhsProjectSimulationBimfaceCtrl1.SetSelectedComponents(new List<string>() { parter.Code });
                ShowProperty();
            };
            dlg.SetBindingData(_hydroInfo);
            dlg.Show();
                return;
            }
            this.docPnlHydroCheck.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Hidden;
            this.docPnlHydroCalcu.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Hidden;
            this.docPnlHydroParterList.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Hidden;
            this.hydroParterListCtrl1.SetBindingData(_hydroInfo);
            this.docPnlHydroParterList.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Visible;
        }
        //导出水力INP文件
@@ -237,10 +240,6 @@
            }
        }
        #endregion 水力
        #region 更多
        //保存
        private async void barBtnSave_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
@@ -255,74 +254,16 @@
                return;
            }
            _hydroInfo = await BLLFactory<Yw.BLL.HydroModelInfo>.Instance.GetByID(id);
            //     this.xhsProjectSimulationBimfaceCtrl1.
            //this.xhsProjectSimulationPropertyCtrl1.SetBindingData(_hydroInfo);
            TipFormHelper.ShowSucceed("保存成功!");
        }
        #endregion 更多
        #region 自动匹配
        //自动匹配
        private void barBtnAllAutoMatching_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            //   _hydroInfo
            var pump = _hydroInfo.Pumps;
            var threelinks = _hydroInfo.Threelinks;
            var aa = new AssetsAutoMatchingInputViewModel();
            foreach (var item in pump)
            {
                aa = new AssetsAutoMatchingInputViewModel
                {
                    PumpMatchingModels = new List<PumpMatchingViewModel>
                    {
             new PumpMatchingViewModel
                {
        RatedH = item.RatedH, // 假设item已经定义并且包含了RatedH等属性
        RatedP = item.RatedP,
        RatedQ = item.RatedQ,
        RatedN = item.RatedN,
        ModelType=item.ModelType,
        DbID=item.DbId,
        DbLocked=item.DbLocked
                }
                     }
                };
            }
            foreach (var item in threelinks)
            {
                aa = new AssetsAutoMatchingInputViewModel
                {
                    ThreeLinkMatchingModels = new List<ThreeLinkMatchingViewModel>
                    {
                        new ThreeLinkMatchingViewModel
                        {
                            Caliber=item.Caliber,
                            Material=item.Material,
                            ModelType=item.ModelType,
                            DbLocked=item.DbLocked,
                            ID=item.ID,
                            Code=item.Code,
                            MinorLoss=item.MinorLoss
                        },
                           new ThreeLinkMatchingViewModel
                        {
                            Caliber="11",
                            Material="22",
                            ModelType=item.ModelType,
                            DbLocked=item.DbLocked,
                            ID=item.ID,
                            Code=item.Code,
                            MinorLoss=item.MinorLoss
                        }
                    }
                };
            }
            var dlg = new AssetsAutoMatchingMainDlg(aa);
            var dlg = new AssetsAutoMatchingMainDlg(new AssetsAutoMatchingInputViewModel());
            dlg.ShowDialog();
        }
        #endregion 自动匹配
        private void BtnPerformChart_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
@@ -342,5 +283,15 @@
            _parter = allParterList.Find(x => x.Code == obj);
            ShowProperty();
        }
        //水力构件明细面板点击事件
        private async void hydroParterListCtrl1_HydroClickEvent(Yw.Model.HydroParterInfo parter)
        {
            _parter = parter;
            await this.xhsProjectSimulationBimfaceCtrl1.SetSelectedComponents(new List<string>() { parter.Code });
            ShowProperty();
        }
    }
}