From d2ccacb3317aa6310f1b1bb5eb19fbdecba39ff9 Mon Sep 17 00:00:00 2001
From: duheng <2286773002@qq.com>
Date: 星期四, 27 三月 2025 11:50:43 +0800
Subject: [PATCH] 增加设施最高楼层标高字段

---
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/03-mgr/XhsProjectMgrPage.cs |  552 ++++++++++++++++++++++++++++++------------------------
 1 files changed, 306 insertions(+), 246 deletions(-)

diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/03-mgr/XhsProjectMgrPage.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/03-mgr/XhsProjectMgrPage.cs
index 0fd185c..39fd51a 100644
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/03-mgr/XhsProjectMgrPage.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/03-mgr/XhsProjectMgrPage.cs
@@ -1,7 +1,5 @@
 锘縰sing DevExpress.Utils;
 using DevExpress.XtraTreeList;
-using HStation.WinFrmUI.Xhs;
-using Timer = System.Threading.Timer;
 
 namespace HStation.WinFrmUI
 {
@@ -13,16 +11,14 @@
             this.treeList1.InitialMultiColSettings();
             this.treeList1.Appearance.Row.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Default;
             this.PageTitle.Caption = "椤圭洰绠$悊";
-            this.PageTitle.HeaderSvgImage = this.svgImg32[0];
+            this.PageTitle.HeaderSvgImage = XhsMainSvgImageHelper.Project;
             this.PageTitle.SvgImageSize = new Size(24, 24);
             this.Load += XhsProjectMgrPage_Load;
         }
 
-        private void XhsProjectMgrPage_Load
-            (object sender, EventArgs e)
+        private void XhsProjectMgrPage_Load(object sender, EventArgs e)
         {
-            repositoryItemImageComboBox1.Items.AddEnum(typeof(XhsProjectMgrViewModel.eFileStatus));
-            var a = typeof(XhsProjectMgrViewModel.eFileStatus);
+            repositoryItemImageComboBox1.Items.AddEnum(typeof(eXhsProjectStatus));
             repositoryItemImageComboBox1.Items[0].ImageIndex = 0;
             repositoryItemImageComboBox1.Items[1].ImageIndex = 1;
             repositoryItemImageComboBox1.Items[2].ImageIndex = 2;
@@ -34,84 +30,60 @@
             repositoryItemImageComboBox1.Items[8].ImageIndex = 8;
         }
 
-        private List<XhsProjectMgrViewModel> _allProjectList = null;
-
-        private BLL.XhsProjectExtensions _bll = null;
-
-        private event Action ImportProjectCompletedEvent = null;
+        private List<XhsProjectMgrViewModel> _allBindingList = null;
 
         /// <summary>
         /// 鍒濆鍖栨暟鎹簮
         /// </summary>
-        public override async void InitialDataSource()
+        public override void InitialDataSource()
         {
             base.InitialDataSource();
-            this.SetBindingData();
+            this.barBtnViewBimface.ImageOptions.SvgImage = Yw.WinFrmUI.BimfaceMainSvgImageHelper.Bimface;
+            this.barBtnViewHydro.ImageOptions.SvgImage = Yw.WinFrmUI.HydroMainSvgImageHelper.Hydro;
+            this.barBtnSetMap.ImageOptions.SvgImage = XhsMainSvgImageHelper.Map;
+            InitialData();
         }
 
-        private async void SetBindingData()
+        //鍒濆鍖栨暟鎹�
+        private async void InitialData()
         {
-            _bll = new BLL.XhsProjectExtensions();
-            var allProjectList = await _bll.GetAll();
-            _allProjectList = new List<XhsProjectMgrViewModel>();
+            var overlay = this.ShowOverlay();
+            _allBindingList = new List<XhsProjectMgrViewModel>();
+            var allProjectList = await BLLFactory<HStation.BLL.XhsProjectExtensions>.Instance.GetAll();
             if (allProjectList != null && allProjectList.Count > 0)
             {
                 foreach (var project in allProjectList)
                 {
-                    var mapinfo = await new Yw.BLL.MapInfo().Get(HStation.Xhs.DataType.XhsProject, project.ID, Yw.Map.Kind.Gaodei, Yw.Map.Purpose.Location);
-                    var bimFile = await BimfaceFileStateHelper.IsHaveBimFace(project.ID);
-                    if (bimFile != null)
+                    var mapInfo = await BLLFactory<Yw.BLL.MapInfo>.Instance
+                        .Get(HStation.Xhs.DataType.XhsProject, project.ID, Yw.Map.Kind.Gaodei, Yw.Map.Purpose.Location);
+                    Yw.Vmo.BimfaceFileVmo bimfaceFile = null;
+                    var projectSite = project.SiteList?.FirstOrDefault();
+                    if (projectSite != null)
                     {
-                        //濡傛灉鏂囦欢鐘舵�佷负涓婁紶涓垯杩涜瀹氭椂璇锋眰鍒锋柊鐘舵��
-                        if (bimFile.FileStatus == 0)
+                        var bimfaceFileRelation = await BLLFactory<Yw.BLL.BimfaceFileRelation>.Instance
+                            .GetDefaultByObjectTypeAndObjectIDOfPurpose(HStation.Xhs.DataType.XhsProjectSite, projectSite.ID, HStation.Xhs.Purpose.Simulation); ;
+                        if (bimfaceFileRelation != null)
                         {
-                            Task.Factory.StartNew(() =>
-                            {
-                                StartTimer(300, bimFile.ID);
-                            });
+                            bimfaceFile = await BLLFactory<Yw.BLL.BimfaceFile>.Instance
+                                .GetByID(bimfaceFileRelation.BimfaceFileID);
                         }
-                        var vm = new XhsProjectMgrViewModel(project, true, bimFile.FileStatus, mapinfo);
-                        _allProjectList.Add(vm);
                     }
-                    else
-                    {
-                        var vm = new XhsProjectMgrViewModel(project, false, 8, mapinfo);
-                        _allProjectList.Add(vm);
-                    }
+                    var vm = new XhsProjectMgrViewModel(project, mapInfo, bimfaceFile);
+                    _allBindingList.Add(vm);
                 }
             }
-            this.xhsProjectMgrViewModelBindingSource.DataSource = _allProjectList;
+            this.xhsProjectMgrViewModelBindingSource.DataSource = _allBindingList;
+            this.xhsProjectMgrViewModelBindingSource.ResetBindings(false);
+            overlay.Close();
         }
 
-        //璁℃椂鍣�(鍒锋柊涓婁紶鐘舵��)
-        public void StartTimer(int intervalMilliseconds, long ID)
+        /// <summary>
+        /// 鍒锋柊鏁版嵁
+        /// </summary>
+        public override void RefreshData()
         {
-            // 鍒涘缓涓�涓� Timer锛屽畠灏嗗湪缁欏畾鐨勬椂闂撮棿闅斿悗瑙﹀彂鍥炶皟鏂规硶
-            var timer = new System.Threading.Timer(TimerCallback, ID, Timeout.Infinite, intervalMilliseconds);
-            // 鍚姩 Timer
-            timer.Change(intervalMilliseconds, intervalMilliseconds);
-        }
-
-        private async void TimerCallback(object state)
-        {
-            var tupleState = (Tuple<long, Timer>)state;
-            long iD = tupleState.Item1;
-            Timer timer = tupleState.Item2;
-            try
-            {
-                var stateResult = await BimfaceHelper.GetFileTranslateStatus(iD);
-                if (stateResult == 0)
-                {
-                    this.SetBindingData();
-                }
-                else
-                {
-                    timer.Dispose();
-                }
-            }
-            catch (Exception ex)
-            {
-            }
+            base.RefreshData();
+            InitialData();
         }
 
         #region 褰撳墠
@@ -119,192 +91,319 @@
         //鑾峰彇褰撳墠
         private XhsProjectMgrViewModel GetCurrentViewModel()
         {
-            if (_allProjectList == null)
+            if (_allBindingList == null)
             {
-                Yw.WinFrmUI.MessageBoxHelper.ShowError("鏁版嵁鍒濆鍖栭敊璇紒");
+                TipFormHelper.ShowError("鏁版嵁鍒濆鍖栭敊璇紒");
                 return null;
             }
-            if (_allProjectList == null)
+            if (_allBindingList.Count < 1)
             {
-                Yw.WinFrmUI.MessageBoxHelper.ShowInfo("鏃犳暟鎹�");
+                TipFormHelper.ShowWarn("鏃犳暟鎹紒");
                 return null;
             }
-            var vm = this.treeList1.GetCurrentViewModel(_allProjectList);
+            var vm = this.treeList1.GetCurrentViewModel(_allBindingList);
             if (vm == null)
             {
-                Yw.WinFrmUI.MessageBoxHelper.ShowInfo("璇烽�夋嫨鏁版嵁琛�!");
+                TipFormHelper.ShowWarn("璇烽�夋嫨鏁版嵁琛岋紒");
                 return null;
             }
             return vm;
         }
 
-        #endregion 褰撳墠
+        #endregion
 
         #region 鍩虹鎿嶄綔
 
-        //娣诲姞
-        private async void barBtnAdd_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
+        //瀵煎叆椤圭洰
+        private void barBtnImport_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
         {
-            /*            var dlg = new AddProjectDlg();
-                        dlg.ReloadDataEvent += async (rhs, mapinfo) =>
-                        {
-                            var bll = new BLL.XhsProjectExtensions();
-                            var id = await bll.Insert(rhs);
-                            if (id > 0)
-                            {
-                                rhs.ID = id;
-                                var vmo = await _bll.GetByID(id);
-                                _allProjectList.Add(new XhsProjectMgrViewModel(vmo, false));
-                                this.xhsProjectMgrViewModelBindingSource.ResetBindings(false);
-                                if (mapinfo != null)
-                                {
-                                    mapinfo.ObjectID = id;
-                                    mapinfo.ObjectName = rhs.Name;
-                                    var mapinfoid = await new Yw.BLL.MapInfo().Insert(mapinfo);
-                                    if (mapinfoid < 0)
-                                    {
-                                        TipFormHelper.ShowError("鍦板浘淇℃伅娣诲姞閿欒");
-                                    }
-                                }
-                                return true;
-                            }
-                            return false;
-                        };
-                        dlg.ShowDialog();
-            */
+            if (_allBindingList == null)
+            {
+                TipFormHelper.ShowError("鏁版嵁鍒濆鍖栧け璐ワ紒");
+                return;
+            }
             var dlg = new ImportXhsProjectDlg();
             dlg.SetBindingData();
             if (dlg.ShowDialog() == DialogResult.OK)
             {
-                var prj = dlg.ViewModel;
-                if (prj.ProjectID == null)
-                    return;
-                var vmo = await _bll.GetByID((long)prj.ProjectID);
-                if (vmo == null)
+                var viewModel = dlg.ViewModel;
+                var vm = new XhsProjectMgrViewModel(viewModel.Project, viewModel.MapInfo, viewModel.BimfaceFile);
+                _allBindingList.Add(vm);
+                this.treeList1.RefreshDataSource();
+            }
+        }
+
+        //涓婁紶妯″瀷
+        private void barBtnUploadBimface_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
+        {
+            var vm = GetCurrentViewModel();
+            if (vm == null)
+            {
+                return;
+            }
+            if (vm.BimfaceFile != null)
+            {
+                TipFormHelper.ShowWarn("妯″瀷宸蹭笂浼狅紝涓嶈兘閲嶅涓婁紶锛�");
+                return;
+            }
+            var dlg = new ImportXhsProjectDlg();
+            dlg.SetBindingData(vm.Project, vm.MapInfo);
+            if (dlg.ShowDialog() == DialogResult.OK)
+            {
+                var viewModel = dlg.ViewModel;
+                var project = viewModel.Project;
+                if (project == null)
                 {
-                    TipFormHelper.ShowError("瀵煎叆澶辫触!");
                     return;
                 }
-                else
+                if (project.ID < 1)
                 {
-                    TipFormHelper.ShowSucceed("瀵煎叆鎴愬姛!");
-                    var mapinfo = await new Yw.BLL.MapInfo().Get(HStation.Xhs.DataType.XhsProject, (long)prj.ProjectID, Yw.Map.Kind.Gaodei, Yw.Map.Purpose.Location);
-                    var bimFile = await BimfaceFileStateHelper.IsHaveBimFace((long)prj.ProjectID);
-                    if (bimFile != null)
-                    {
-                        _allProjectList.Add(new XhsProjectMgrViewModel(vmo, true, bimFile.FileStatus, mapinfo));
-                    }
-                    else
-                    {
-                        _allProjectList.Add(new XhsProjectMgrViewModel(vmo, false, 8, mapinfo));
-                    }
-                    this.xhsProjectMgrViewModelBindingSource.ResetBindings(false);
+                    return;
                 }
+                var mapInfo = viewModel.MapInfo;
+                if (mapInfo != null)
+                {
+                    if (mapInfo.ID < 1)
+                    {
+                        mapInfo = null;
+                    }
+                }
+                var bimfaceFile = viewModel.BimfaceFile;
+                if (bimfaceFile != null)
+                {
+                    if (bimfaceFile.ID < 1)
+                    {
+                        bimfaceFile = null;
+                    }
+                }
+                vm.Reset(project, mapInfo, bimfaceFile);
+                this.treeList1.RefreshDataSource();
             }
         }
 
         //缂栬緫
         private void barBtnEdit_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
         {
-            var currentVm = this.GetCurrentViewModel();
-            if (currentVm == null)
+            var vm = GetCurrentViewModel();
+            if (vm == null)
             {
-                MessageBoxHelper.ShowWarning("璇烽�夋嫨鏁版嵁琛�!");
                 return;
             }
-            var dlg = new EditProjectDlg();
-            dlg.SetBindingData(currentVm.ID);
-            dlg.ReloadDataEvent += async (rhs, mapinfo) =>
+            var dlg = new EditXhsProjectDlg();
+            dlg.ReloadDataEvent += (project) =>
             {
-                if (await _bll.Update(rhs))
-                {
-                    currentVm.Reset(rhs);
-                    this.xhsProjectMgrViewModelBindingSource.ResetBindings(false);
-                    if (mapinfo != null)
-                    {
-                        //  mapinfo.ObjectID = id;
-                        mapinfo.ObjectName = rhs.Name;
-                        var bol = await new Yw.BLL.MapInfo().Update(mapinfo);
-                        if (!bol)
-                        {
-                            TipFormHelper.ShowError("鍦板浘淇℃伅缂栬緫閿欒");
-                        }
-                    }
-                    return true;
-                }
-                return false;
+                vm.Reset(project, vm.MapInfo, vm.BimfaceFile);
+                this.treeList1.RefreshNode(this.treeList1.FocusedNode);
             };
+            dlg.SetBindingData(vm.Project);
             dlg.ShowDialog();
         }
 
         //鍒犻櫎
         private async void barBtnDelete_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
         {
-            var currentVm = GetCurrentViewModel();
-            if (currentVm == null)
+            var vm = this.treeList1.GetCurrentViewModel(_allBindingList);
+            if (vm == null)
             {
-                MessageBoxHelper.ShowWarning("璇烽�夋嫨鏁版嵁琛岋紒");
+                TipFormHelper.ShowWarn("璇烽�夋嫨椤圭洰锛�");
                 return;
             }
-            if (MessageBoxHelper.IsClickOk($"纭鍒犻櫎鏁版嵁琛�?", "鎻愮ず"))
-                return;
-            var groupresult = await _bll.DeleteByID(currentVm.ID);
-            if (groupresult)
+            var result = XtraMessageBox.Show("鏄惁纭鍒犻櫎姝ら」鐩紵", "璇㈤棶", MessageBoxButtons.YesNo) == DialogResult.Yes;
+            if (!result)
             {
-                _allProjectList.Remove(currentVm);
-                this.xhsProjectMgrViewModelBindingSource.ResetBindings(false);
-                TipFormHelper.ShowSucceed("鍒犻櫎鎴愬姛!");
-            }
-            else
-            {
-                TipFormHelper.ShowSucceed("鍒犻櫎澶辫触!");
                 return;
             }
-        }
+            if (vm.Project.SiteList != null && vm.Project.SiteList.Count > 0)
+            {
+                foreach (var projectSite in vm.Project.SiteList)
+                {
+                    var allSchemeList = await BLLFactory<HStation.BLL.XhsScheme>.Instance.GetBySiteID(projectSite.ID);
+                    if (allSchemeList != null && allSchemeList.Count > 0)
+                    {
+                        foreach (var scheme in allSchemeList)
+                        {
+                            var schemeRelation = await BLLFactory<Yw.BLL.HydroModelRelation>.Instance
+                                .GetDefaultByObjectTypeAndObjectIDOfPurpose(HStation.Xhs.DataType.XhsScheme, scheme.ID, HStation.Xhs.Purpose.Simulation);
+                            if (schemeRelation != null)
+                            {
+                                if (!await BLLFactory<Yw.BLL.HydroModelInfo>.Instance.DeleteByID(schemeRelation.ModelID))
+                                {
+                                    TipFormHelper.ShowError("椤圭洰鏂规妯″瀷鍒犻櫎澶辫触锛岃閲嶈瘯锛�");
+                                    return;
+                                }
+                            }
+                            if (!await BLLFactory<HStation.BLL.XhsScheme>.Instance.DeleteByID(scheme.ID))
+                            {
+                                TipFormHelper.ShowError("椤圭洰鏂规鍒犻櫎澶辫触锛岃閲嶈瘯锛�");
+                                return;
+                            }
+                        }
+                    }
+                    var bimfaceFileRelation = await BLLFactory<Yw.BLL.BimfaceFileRelation>.Instance
+                        .GetDefaultByObjectTypeAndObjectIDOfPurpose(HStation.Xhs.DataType.XhsProjectSite, projectSite.ID, HStation.Xhs.Purpose.Simulation);
+                    if (bimfaceFileRelation != null)
+                    {
+                        if (!await BLLFactory<Yw.BLL.BimfaceFileRelation>.Instance.DeleteAllByID(bimfaceFileRelation.ID))
+                        {
+                            TipFormHelper.ShowError("椤圭洰涓夌淮妯″瀷鍒犻櫎澶辫触锛岃閲嶈瘯锛�");
+                            return;
+                        }
+                    }
+                    var hydroRelation = await BLLFactory<Yw.BLL.HydroModelRelation>.Instance
+                        .GetDefaultByObjectTypeAndObjectIDOfPurpose(HStation.Xhs.DataType.XhsProjectSite, projectSite.ID, HStation.Xhs.Purpose.Simulation);
+                    if (hydroRelation != null)
+                    {
+                        if (!await BLLFactory<Yw.BLL.HydroModelInfo>.Instance.DeleteByID(hydroRelation.ModelID))
+                        {
+                            TipFormHelper.ShowError("椤圭洰妯″瀷鍒犻櫎澶辫触锛岃閲嶈瘯锛�");
+                            return;
+                        }
+                    }
+                    if (!await BLLFactory<HStation.BLL.XhsProjectSite>.Instance.DeleteByID(projectSite.ID))
+                    {
+                        TipFormHelper.ShowError("椤圭洰绔欏垹闄ゅけ璐ワ紝璇烽噸璇曪紒");
+                        return;
+                    }
+                }
+            }
 
-        //璇︾粏淇℃伅
-        private void barBtnInfo_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
-        {
-        }
+            if (vm.MapInfo != null)
+            {
+                if (!await BLLFactory<Yw.BLL.MapInfo>.Instance.DeleteByObjectTypeAndObjectID(HStation.Xhs.DataType.XhsProject, vm.Project.ID))
+                {
+                    TipFormHelper.ShowError("椤圭洰鍦板浘浣嶇疆鍒犻櫎澶辫触锛岃閲嶈瘯锛�");
+                    return;
+                }
+            }
 
-        #endregion 鍩虹鎿嶄綔
-
-        private void treeList1_CustomDrawRow(object sender, DevExpress.XtraTreeList.CustomDrawRowEventArgs e)
-        {
-            var a = repositoryItemButtonEdit1.ReadOnly = true;
-        }
-
-        private async void treeList1_RowCellClick(object sender, RowCellClickEventArgs e)
-        {
-            if (_allProjectList == null || _allProjectList.Count < 1)
+            var bol = await BLLFactory<HStation.BLL.XhsProject>.Instance.DeleteByID(vm.Project.ID);
+            if (!bol)
+            {
+                TipFormHelper.ShowError("椤圭洰鍒犻櫎澶辫触锛岃閲嶈瘯锛�");
                 return;
+            }
+
+            _allBindingList.Remove(vm);
+            this.xhsProjectMgrViewModelBindingSource.ResetBindings(false);
+            TipFormHelper.ShowSucceed("椤圭洰鍒犻櫎鎴愬姛锛�");
+        }
+
+        //鍦板浘
+        private void barBtnSetMap_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
+        {
             var vm = GetCurrentViewModel();
             if (vm == null)
             {
                 return;
             }
-            if (e.Column != this.ColViewBimface)
-                return;
-            if (!vm.IsHaveBimface)
+            var dlg = new SetXhsProjectMapDlg();
+            dlg.ReloadDataEvent += (project, mapInfo) =>
             {
-                TipFormHelper.ShowWarn("璇峰厛涓婁紶鏂囦欢鍐嶈繘琛屾搷浣�!");
+                vm.Reset(project, mapInfo, vm.BimfaceFile);
+                this.treeList1.RefreshNode(this.treeList1.FocusedNode);
+            };
+            dlg.SetBindingData(vm.Project, vm.MapInfo);
+            dlg.ShowDialog();
+        }
+
+        //璇︾粏淇℃伅
+        private void barBtnInfo_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
+        {
+            var vm = GetCurrentViewModel();
+            if (vm == null)
+            {
                 return;
             }
+            var dlg = new ViewXhsProjectDlg();
+            dlg.SetBindingData(vm.Project);
+            dlg.ShowDialog();
+        }
+
+        #endregion
+
+        #region 妯″瀷
+
+        //鏌ョ湅bimface妯″瀷
+        private void barBtnViewBimface_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
+        {
+            var vm = GetCurrentViewModel();
+            if (vm == null)
+            {
+                return;
+            }
+            if (vm.BimfaceFile == null)
+            {
+                TipFormHelper.ShowWarn("璇峰厛涓婁紶鏂囦欢鍐嶈繘琛屾搷浣滐紒");
+                return;
+            }
+            if (vm.ModelStatus < eXhsProjectStatus.UploadSucceed)
+            {
+                TipFormHelper.ShowWarn("璇峰厛涓婁紶鏂囦欢鍐嶈繘琛屾搷浣滐紒");
+                return;
+            }
+            if (vm.ModelStatus < eXhsProjectStatus.ConvertSucceed)
+            {
+                TipFormHelper.ShowWarn("妯″瀷姝e湪杞婚噺鍖栵紝璇风◢鍚庨噸璇曪紒");
+                return;
+            }
+
             var guid = new PageGuid()
             {
-                Modular = Yw.WinFrmUI.PageModular.Bimface,
+                Modular = XhsFunctionHelper.Modular,
                 MoudingType = Yw.WinFrmUI.Page.eMoudingType.Tab,
-                Function = Yw.WinFrmUI.PageFunction.ViewSchemeMgr,
+                Function = XhsFunctionHelper.ProjectBimfaceView,
                 TagName = $"{vm.ID}"
             };
 
             if (!IsExistPage(guid, true))
             {
-                var page = new XhsProjectSimulationMgrPage();
-                await page.SetBindingData(vm.ID);
+                var page = new XhsProjectBimfaceViewPage();
+                page.SetBindingData(vm.Project);
                 CreatePage(page, guid);
             }
         }
+
+        //鏌ョ湅姘村姏妯″瀷
+        private void barBtnViewHydro_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
+        {
+            var vm = GetCurrentViewModel();
+            if (vm == null)
+            {
+                return;
+            }
+            if (vm.BimfaceFile == null)
+            {
+                TipFormHelper.ShowWarn("璇峰厛涓婁紶鏂囦欢鍐嶈繘琛屾搷浣滐紒");
+                return;
+            }
+            if (vm.ModelStatus < eXhsProjectStatus.UploadSucceed)
+            {
+                TipFormHelper.ShowWarn("璇峰厛涓婁紶鏂囦欢鍐嶈繘琛屾搷浣滐紒");
+                return;
+            }
+            if (vm.ModelStatus < eXhsProjectStatus.ConvertSucceed)
+            {
+                TipFormHelper.ShowWarn("妯″瀷姝e湪杞婚噺鍖栵紝璇风◢鍚庨噸璇曪紒");
+                return;
+            }
+
+            var guid = new PageGuid()
+            {
+                Modular = XhsFunctionHelper.Modular,
+                MoudingType = Yw.WinFrmUI.Page.eMoudingType.Tab,
+                Function = XhsFunctionHelper.ProjectQ3dView,
+                TagName = $"{vm.ID}"
+            };
+
+            if (!IsExistPage(guid, true))
+            {
+                var page = new XhsProjectQ3dViewPage();
+                page.SetBindingData(vm.Project);
+                CreatePage(page, guid);
+            }
+        }
+
+        #endregion
 
         #region 鏇村鎿嶄綔
 
@@ -337,99 +436,60 @@
         //鍒锋柊
         private void barBtnRefresh_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
         {
-            this.SetBindingData();
+            this.RefreshData();
         }
 
-        #endregion 鏇村鎿嶄綔
+        #endregion
 
-        //鏌ョ湅bimface妯″瀷
-        private async void barBtnViewBimface_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
+        #region 鏍戜簨浠�
+
+        //妯℃嫙
+        private void treeList1_RowCellClick(object sender, RowCellClickEventArgs e)
         {
+            if (e.Column != this.colSimulation)
+            {
+                return;
+            }
             var vm = GetCurrentViewModel();
             if (vm == null)
             {
                 return;
             }
-            if (!vm.IsHaveBimface)
+            if (vm.BimfaceFile == null)
             {
-                TipFormHelper.ShowWarn("璇峰厛涓婁紶鏂囦欢鍐嶈繘琛屾搷浣�!");
+                TipFormHelper.ShowWarn("璇峰厛涓婁紶鏂囦欢鍐嶈繘琛屾搷浣滐紒");
+                return;
+            }
+            if (vm.ModelStatus < eXhsProjectStatus.UploadSucceed)
+            {
+                TipFormHelper.ShowWarn("璇峰厛涓婁紶鏂囦欢鍐嶈繘琛屾搷浣滐紒");
+                return;
+            }
+            if (vm.ModelStatus < eXhsProjectStatus.ConvertSucceed)
+            {
+                TipFormHelper.ShowWarn("妯″瀷姝e湪杞婚噺鍖栵紝璇风◢鍚庨噸璇曪紒");
                 return;
             }
             var guid = new PageGuid()
             {
-                Modular = Yw.WinFrmUI.PageModular.Bimface,
+                Modular = XhsFunctionHelper.Modular,
                 MoudingType = Yw.WinFrmUI.Page.eMoudingType.Tab,
-                Function = Yw.WinFrmUI.PageFunction.ViewBimface3d,
+                Function = XhsFunctionHelper.ProjectSimulation,
                 TagName = $"{vm.ID}"
             };
 
             if (!IsExistPage(guid, true))
             {
-                var page = new ViewXhsProjectBimfacePage();
-                await page.SetBindingData(vm.ID);
+                var page = new XhsProjectSimulationMgrPage();
+                page.SetBindingData(vm.Project);
                 CreatePage(page, guid);
             }
         }
 
-        //鏌ョ湅姘村姏妯″瀷
-        private void barBtnViewHydro_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
-        {
-            if (_allProjectList == null || _allProjectList.Count < 1)
-                return;
-            var vm = GetCurrentViewModel();
-            if (vm == null)
-            {
-                return;
-            }
-            if (!vm.IsHaveBimface)
-            {
-                TipFormHelper.ShowWarn("璇峰厛涓婁紶鏂囦欢鍐嶈繘琛屾搷浣�!");
-                return;
-            }
-            var guid = new PageGuid()
-            {
-                Modular = "Hydro",
-                MoudingType = Yw.WinFrmUI.Page.eMoudingType.Tab,
-                Function = "ViewModel",
-            };
-            if (!IsExistPage(guid, true))
-            {
-                var page = new HydroQ3dViewPage();
-                page.SetBindingData(vm.ID);
-                CreatePage(page, guid);
-            }
-        }
+        #endregion
 
-        //瀵煎叆鏂囦欢
-        private async void BtnAddBimfaceFile_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
-        {
-            var currentVm = this.GetCurrentViewModel();
-            if (currentVm == null)
-            {
-                MessageBoxHelper.ShowWarning("璇烽�夋嫨鏁版嵁琛�!");
-                return;
-            }
-            if (currentVm.ModelState != XhsProjectMgrViewModel.eFileStatus.Noupload)
-            {
-                MessageBoxHelper.ShowWarning("宸茬粡瀛樺湪妯″瀷鏂囦欢!");
-                return;
-            }
-            var dlg = new ImportXhsProjectFileDlg();
-            dlg.SetBindingData(currentVm.ID);
-            if (dlg.ShowDialog() == DialogResult.OK)
-            {
-                var prj = dlg.ViewModel;
-                if (prj.ProjectID == null)
-                    return;
-                var mapinfo = await new Yw.BLL.MapInfo().Get(HStation.Xhs.DataType.XhsProject, (long)prj.ProjectID, Yw.Map.Kind.Gaodei, Yw.Map.Purpose.Location);
-                var bimFile = await BimfaceFileStateHelper.IsHaveBimFace((long)prj.ProjectID);
-                if (bimFile != null)
-                {
-                    currentVm.Reset(currentVm, bimFile.FileStatus);
-                    this.xhsProjectMgrViewModelBindingSource.ResetBindings(false);
-                }
-            }
-        }
+
+
 
 
     }

--
Gitblit v1.9.3