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