From b10f8e0a7cdd4fcfb92b011091ec39c1024eee33 Mon Sep 17 00:00:00 2001 From: duheng <2784771470@qq.com> Date: 星期一, 11 十一月 2024 17:21:24 +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/04-scheme/01-add/AddXhsSchemeDlg.cs | 261 ++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 201 insertions(+), 60 deletions(-) diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/04-scheme/01-add/AddXhsSchemeDlg.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/04-scheme/01-add/AddXhsSchemeDlg.cs index 15f14e9..9b2e6e0 100644 --- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/04-scheme/01-add/AddXhsSchemeDlg.cs +++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/04-scheme/01-add/AddXhsSchemeDlg.cs @@ -13,10 +13,10 @@ this.gridView2.SetNormalView(); this.gridView2.OptionsView.EnableAppearanceOddRow = false; // 浣胯兘 // 鍜屽拰涓婇潰缁戝畾 鍚屾椂浣跨敤鏈夋晥 this.gridView2.OptionsView.EnableAppearanceEvenRow = false; - + this.gridView1.OptionsView.ShowIndicator = false; this.gridView2.OptionsView.ShowIndicator = false; - + foreach (var page in this.tabPane1.Pages) { if (page.Controls[0] is ISetSchemeParterList ctrl) @@ -24,8 +24,8 @@ ctrl.ShowFindPanel = false; ctrl.HydroClickEvent += async (parter) => { - _selectedParter = parter; - await _bimfaceCtrl?.ZoomAndSelectComponent(_selectedParter.Code); + _selected_parter = parter; + await _bimfaceCtrl?.ZoomAndSelectComponent(_selected_parter.Code); }; ctrl.HydroRecordChangedEvent += (record) => { @@ -39,16 +39,15 @@ } } - } private HStation.Vmo.XhsProjectVmo _project = null;//椤圭洰 - private HStation.Vmo.XhsProjectSiteVmo _projectSite = null;//椤圭洰绔� - private Yw.Model.HydroModelInfo _hydroInfo = null;//姘村姏淇℃伅 - private Yw.Model.HydroModelInfo _hydroInfo_init = null;//鍒濆 姘村姏淇℃伅 + private HStation.Vmo.XhsProjectSiteVmo _project_site = null;//椤圭洰绔� + private Yw.Model.HydroModelInfo _hydro_info = null;//姘村姏淇℃伅 + private Yw.Model.HydroModelInfo _hydro_info_init = null;//鍒濆 姘村姏淇℃伅 - private Yw.Model.HydroParterInfo _selectedParter = null; //閫夋嫨鏋勪欢 + private Yw.Model.HydroParterInfo _selected_parter = null; //閫夋嫨鏋勪欢 private List<SetSchemeParterRecord> _set_record_list = null; /// <summary> @@ -57,8 +56,8 @@ public async Task SetBindingData ( HStation.Vmo.XhsProjectVmo project, - HStation.Vmo.XhsProjectSiteVmo projectSite, - Yw.Model.HydroModelInfo hydroInfo + HStation.Vmo.XhsProjectSiteVmo project_site, + Yw.Model.HydroModelInfo hydro_info ) { if (project == null) @@ -66,25 +65,107 @@ return; } _project = project; - _projectSite = projectSite; - _hydroInfo_init = hydroInfo; + _project_site = project_site; + _hydro_info_init = hydro_info; _set_record_list = new List<SetSchemeParterRecord>(); - if (_projectSite == null) + if (_project_site == null) { - _projectSite = await BLLFactory<HStation.BLL.XhsProjectSite>.Instance.GetDefaultByProjectID(_project.ID); + _project_site = await BLLFactory<HStation.BLL.XhsProjectSite>.Instance.GetDefaultByProjectID(_project.ID); } - if (_hydroInfo_init == null) + + if (_hydro_info_init == null) { var hydroRelation = await BLLFactory<Yw.BLL.HydroModelRelation>.Instance - .GetDefaultByObjectTypeAndObjectIDOfPurpose(HStation.Xhs.DataType.XhsProjectSite, _projectSite.ID, HStation.Xhs.Purpose.Simulation); - _hydroInfo_init = await BLLFactory<Yw.BLL.HydroModelInfo>.Instance.GetByID(hydroRelation.ModelID); - } - + .GetDefaultByObjectTypeAndObjectIDOfPurpose(HStation.Xhs.DataType.XhsProjectSite, _project_site.ID, HStation.Xhs.Purpose.Simulation); + _hydro_info_init = await BLLFactory<Yw.BLL.HydroModelInfo>.Instance.GetByID(hydroRelation.ModelID); + } this.setSchemeParterRecordBindingSource.DataSource = _set_record_list; this.setSchemeParterRecordBindingSource.ResetBindings(false); - LoadData(); - ShowBimfaceCtrl(); + SetBindingData(); + ShowBimfaceCtrl(); + FastShowHidden(false); + + InitialSchemeType(); + await InitialFlags(); + } + + //鍒濆鍖栨枃浠舵牸寮� + private void InitialSchemeType() + { + this.imgCmbSchemeType.Properties.BeginUpdate(); + this.imgCmbSchemeType.Properties.Items.Clear(); + this.imgCmbSchemeType.Properties.Items.AddEnum(typeof(HStation.Xhs.eSchemeType), false); + this.imgCmbSchemeType.EditValue = eSchemeType.Common; + this.imgCmbSchemeType.Properties.EndUpdate(); + } + + //鍒濆鍖栨爣绛� + private async Task InitialFlags() + { + var allFlagList = await BLLFactory<Yw.BLL.SysFlag>.Instance.GetBySysType(HStation.Xhs.DataType.XhsScheme); + var allFlagNameList = allFlagList?.Select(x => x.Name).ToList(); + this.setFlagsEditCtrl1.SetBindingData(allFlagNameList, null); + } + private void SetBindingData(List<SetSchemeParterRecord> set_record_list = null) + { + _hydro_info = _hydro_info_init.Adapt<Yw.Model.HydroModelInfo, Yw.Model.HydroModelInfo>(); + if (set_record_list != null && set_record_list.Any()) + { + foreach (var item in set_record_list) + { + switch (item.Catalog) + { + case Yw.Hydro.ParterCatalog.Pump: + { + var vm = item.MatchingModel as PumpMatchingViewModel; + var bol = AssetsMatchingParasHelper.Apply(_hydro_info, vm); + } + break; + + case Yw.Hydro.ParterCatalog.Valve: + { + var vm = item.MatchingModel as ValveMatchingViewModel; + var bol = AssetsMatchingParasHelper.Apply(_hydro_info, vm); + } + break; + case Yw.Hydro.ParterCatalog.Pipe: + { + var vm = item.MatchingModel as PipeMatchingViewModel; + var bol = AssetsMatchingParasHelper.Apply(_hydro_info, vm); + } + break; + default: + break; + } + } + } + + this.setSchemePumpListCtrl1.SetBindingData(_hydro_info); + this.setSchemeValveListCtrl1.SetBindingData(_hydro_info); + this.setSchemePipeListCtrl1.SetBindingData(_hydro_info); + + } + + //鎸夐挳 + private void buttonEdit_ButtonClick(object sender, ButtonPressedEventArgs e) + { + if (e.Button.Tag is not string tag) + { + return; + } + + switch (tag) + { + case "showhide": + { + _show_hidden = !_show_hidden; + FastShowHidden(_show_hidden); + } + break; + default: + break; + } } #region Bimface @@ -99,18 +180,18 @@ { _bimfaceCtrl = new XhsProjectSimulationBimfaceCtrl(); _bimfaceCtrl.Dock = DockStyle.Fill; - await _bimfaceCtrl.InitialData(_project, _projectSite, () => _hydroInfo); + await _bimfaceCtrl.InitialData(_project, _project_site, () => _hydro_info); _bimfaceCtrl.LoadCompletedEvent += () => { //view鍔犺浇瀹屾垚浜嬩欢 - if (_hydroInfo == null) + if (_hydro_info == null) { return; } }; _bimfaceCtrl.HydroMouseLeftClickEvent += (obj) => {//榧犳爣宸﹂敭鐐瑰嚮浜嬩欢 - if (_hydroInfo == null) + if (_hydro_info == null) { return; } @@ -134,7 +215,30 @@ #endregion + #region FastShowHidden + private bool _show_hidden = false; + private async void FastShowHidden(bool visible) + { + var code_list = _hydro_info.Decorators.Select(x => x.Code).ToList(); + if (code_list == null) + { + return; + } + if (visible) + { + await _bimfaceCtrl?.ShowComponents(code_list); + } + else + { + await _bimfaceCtrl?.HideComponents(code_list); + } + } + + + #endregion + + #region GridView private void gridView1_FocusedRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e) { @@ -150,51 +254,88 @@ var row = this.gridView1.GetRow(e.RowHandle) as SetSchemeParterRecord; _set_record_list.Remove(row); this.setSchemeParterRecordBindingSource.ResetBindings(false); - LoadData(_set_record_list); + SetBindingData(_set_record_list); } } - private void LoadData( List<SetSchemeParterRecord> set_record_list=null) - { - _hydroInfo = _hydroInfo_init.Adapt<Yw.Model.HydroModelInfo, Yw.Model.HydroModelInfo>(); - if (set_record_list != null && set_record_list.Any()) - { - foreach (var item in set_record_list) - { - switch (item.Catalog) - { - case Yw.Hydro.ParterCatalog.Pump: - { - var vm = item.MatchingModel as PumpMatchingViewModel; - var bol = AssetsMatchingParasHelper.Apply(_hydroInfo, vm); - } - break; - case Yw.Hydro.ParterCatalog.Valve: - { - var vm = item.MatchingModel as ValveMatchingViewModel; - var bol = AssetsMatchingParasHelper.Apply(_hydroInfo, vm); - } - break; - case Yw.Hydro.ParterCatalog.Pipe: - { - var vm = item.MatchingModel as PipeMatchingViewModel; - var bol = AssetsMatchingParasHelper.Apply(_hydroInfo, vm); - } - break; - default: - break; - } + #endregion + + + private bool Verify() + { + this.dxErrorProvider1.ClearErrors(); + if (string.IsNullOrEmpty(this.txtNo.Text)) + { + this.dxErrorProvider1.SetError(this.txtNo, "蹇呭~椤�"); + return false; + } + if (string.IsNullOrEmpty(this.txtName.Text)) + { + this.dxErrorProvider1.SetError(this.txtName, "蹇呭~椤�"); + return false; + } + + return true; + } + + private async void btnSave_Click(object sender, EventArgs e) + { + if (_hydro_info == null) + { + return; + } + if (!Verify()) + { + return; + } + var bll_hydro_model = new Yw.BLL.HydroModel(); + var bll_xhs_scheme = new BLL.XhsScheme(); + var hydro_model_id = await bll_hydro_model.Copy(_hydro_info.ID); + if (hydro_model_id > 0) + { + var xhs_scheme = new Vmo.XhsSchemeVmo(); + xhs_scheme.SiteID = _project_site.ID; + xhs_scheme.NO = this.txtNo.Text.Trim(); + xhs_scheme.Name = this.txtName.Text.Trim(); + xhs_scheme.SchemeType = eSchemeType.Common; + xhs_scheme.Paras = null; + xhs_scheme.Flags = null; + xhs_scheme.UseStatus = Yw.Model.eUseStatus.Enable; + + var xhs_scheme_id = await bll_xhs_scheme.Insert(xhs_scheme); + if (xhs_scheme_id < 0) + { + await bll_hydro_model.DeleteByID(hydro_model_id); + XtraMessageBox.Show("鏂规鍒涘缓澶辫触!"); + return; + } + + + var hydro_relation = new Yw.Vmo.HydroModelRelationVmo(); + hydro_relation.ObjectType = HStation.Xhs.DataType.XhsScheme; + hydro_relation.ObjectID = xhs_scheme_id; + hydro_relation.ModelID = hydro_model_id; + hydro_relation.Purpose = HStation.Xhs.Purpose.Simulation; + hydro_relation.Content = null; + hydro_relation.Description = this.memoDescription.Text.Trim(); + + var hydro_relation_id = await BLLFactory<Yw.BLL.HydroModelRelation>.Instance.Insert(hydro_relation); + if (hydro_relation_id < 1) + { + await bll_hydro_model.DeleteByID(hydro_model_id); + await bll_xhs_scheme.DeleteByID(xhs_scheme_id); + XtraMessageBox.Show("妯″瀷渚濊禆鍒涘缓澶辫触!"); + return; } } - this.setSchemePumpListCtrl1.SetBindingData(_hydroInfo); - this.setSchemeValveListCtrl1.SetBindingData(_hydroInfo); - this.setSchemePipeListCtrl1.SetBindingData(_hydroInfo); + TipFormHelper.Show(eTipStatus.Succeed, "鍒涘缓鎴愬姛!"); + this.Close(); } - + } } \ No newline at end of file -- Gitblit v1.9.3