From a01861a95ede48fa4979a47b24f21616e362e534 Mon Sep 17 00:00:00 2001
From: Shuxia Ning <NingShuxia0927@outlook.com>
Date: 星期二, 19 十一月 2024 16:29:46 +0800
Subject: [PATCH] 用水当量模块

---
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/00-core/ImportXhsProjectHelper.cs |  164 ++++++++++++++++++++++++++++--------------------------
 1 files changed, 84 insertions(+), 80 deletions(-)

diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/00-core/ImportXhsProjectHelper.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/00-core/ImportXhsProjectHelper.cs
index 6d9f1a7..8a3b3c7 100644
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/00-core/ImportXhsProjectHelper.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/00-core/ImportXhsProjectHelper.cs
@@ -1,8 +1,4 @@
 锘縰sing Castle.Core.Internal;
-using DevExpress.XtraEditors;
-using HStation.Vmo;
-using static DevExpress.XtraEditors.XtraInputBox;
-using static System.Windows.Forms.VisualStyles.VisualStyleElement.Window;
 
 namespace HStation.WinFrmUI
 {
@@ -114,13 +110,22 @@
 
             #endregion
 
-            #region 绗洓姝� 鍘嬬缉鏂囦欢瑙f瀽 锛堣繘搴�25%锛�
-
-            msg = "姝e湪瑙f瀽妯″瀷鏂囦欢...";
-            feedBackMsg?.Invoke(msg, Color.Black);
+            #region 绗洓姝� 鍘嬬缉鏂囦欢瑙f瀽 锛堣繘搴�30%锛�
 
             var zipFilePwd = HStation.Settings.XhsParasHelper.Xhs.File.Password;
-            var bol = Yw.FileFolderZipHelper.UnZip(vm.ZipFile, tempFolder, zipFilePwd);
+            var localZipFile = vm.LocalZipFile;
+            if (!vm.IsLocal)
+            {
+                if (vm.TransferRevitFile != null)
+                {
+                    feedBackMsg?.Invoke("姝e湪涓嬭浇妯″瀷鏂囦欢...", Color.Black);
+                    localZipFile = await BLLFactory<HStation.BLL.TransferRevitFile>.Instance.Download(vm.TransferRevitFile.StorageHouse, vm.TransferRevitFile.StorageCode);
+                    feedBackMsg?.Invoke("妯″瀷鏂囦欢涓嬭浇瀹屾垚锛侊紒锛�", Color.Green);
+                }
+            }
+            msg = "姝e湪瑙f瀽妯″瀷鏂囦欢...";
+            feedBackMsg?.Invoke(msg, Color.Black);
+            var bol = Yw.FileFolderZipHelper.UnZip(localZipFile, tempFolder, zipFilePwd);
             if (!bol)
             {
                 feedBackMsg?.Invoke("妯″瀷鏂囦欢瑙f瀽澶辫触锛侊紒锛�", Color.Red);
@@ -139,14 +144,13 @@
                 return true;
             }
 
-
             feedBackMsg?.Invoke("妯″瀷鏂囦欢瑙f瀽鎴愬姛銆傘�傘��", Color.Green);
 
-            feedBackProgress?.Invoke(100, 25);
+            feedBackProgress?.Invoke(100, 30);
 
             #endregion
 
-            #region 绗簲姝� 瑙f瀽姘村姏缁撴瀯鏂囦欢 锛堣繘搴�30%锛�
+            #region 绗簲姝� 瑙f瀽姘村姏缁撴瀯鏂囦欢 锛堣繘搴�40%锛�
 
             feedBackMsg?.Invoke("姝e湪瑙f瀽姘村姏缁撴瀯鏂囦欢...", Color.Black);
             var structFileInfo = allFileInfoList.Find(x => x.Name == HStation.Revit.ConstParas.StructFileName);
@@ -158,58 +162,63 @@
                 return true;
             }
             var structOthersFileInfo = allFileInfoList.Find(x => x.Name == HStation.Revit.ConstParas.StructOthersFileName);
-
-            var structRevitModel = HStation.Service.RevitParseHelper.FromJsonFile(structFileInfo.FullName, structOthersFileInfo?.FullName, out msg);
-            if (structRevitModel == null)
+            var structRevitModel = HStation.Service.RevitParseHelper.FromJsonFile
+                (structFileInfo.FullName, structOthersFileInfo?.FullName, out bool structFileResult, out List<string> structFileMsgList);
+            //瑙f瀽缁撴灉鍒ゆ柇
+            if (!structFileResult)
             {
-                feedBackMsg?.Invoke($"{msg}锛侊紒锛�", Color.Red);
-                feedBackMsg?.Invoke("椤圭洰瀵煎叆缁撴潫銆傘�傘��", Color.Blue);
-                feedBackProgress?.Invoke(100, 100);
-                return true;
+                structFileMsgList?.ForEach(x => feedBackMsg?.Invoke(x, Color.Red));
             }
-
-            //Revit 灞炴�ч敊璇鐞�
-            var hasRevitError = false;
-            var allRevitParterList = structRevitModel.GetAllParters();
-            foreach (var revitParter in allRevitParterList)
+            //Revit灞炴�ч敊璇鐞�
+            var hasRevitPropError = false;
+            if (structRevitModel != null)
             {
-                if (revitParter.PropStatusList != null && revitParter.PropStatusList.Count > 0)
+                var allRevitParterList = structRevitModel.GetAllParters();
+                foreach (var revitParter in allRevitParterList)
                 {
-                    foreach (var revitParterPropStatus in revitParter.PropStatusList)
+                    if (revitParter.PropStatusList != null && revitParter.PropStatusList.Count > 0)
                     {
-                        if (revitParterPropStatus.PropStatus == HStation.Revit.ePropStatus.Error)
+                        foreach (var revitParterPropStatus in revitParter.PropStatusList)
                         {
-                            hasRevitError = true;
-                        }
-                        switch (revitParterPropStatus.PropStatus)
-                        {
-                            case Revit.ePropStatus.Error:
-                                {
-                                    feedBackMsg?.Invoke($"鏋勪欢缂栫爜锛歿revitParter.Code}锛屾瀯浠跺睘鎬э細{revitParterPropStatus.PropName}锛岄敊璇細{revitParterPropStatus.StatusInfo} ", Color.Red);
-                                }
-                                break;
-                            case Revit.ePropStatus.Lack:
-                                {
-                                    feedBackMsg?.Invoke($"鏋勪欢缂栫爜锛歿revitParter.Code}锛屾瀯浠跺睘鎬э細{revitParterPropStatus.PropName}锛岀己鐪侊細{revitParterPropStatus.StatusInfo} ", Color.Gray);
-                                }
-                                break;
-                            case Revit.ePropStatus.Abnormal:
-                                {
-                                    feedBackMsg?.Invoke($"鏋勪欢缂栫爜锛歿revitParter.Code}锛屾瀯浠跺睘鎬э細{revitParterPropStatus.PropName}锛屽紓甯革細{revitParterPropStatus.StatusInfo} ", Color.Orange);
-                                }
-                                break;
+                            if (revitParterPropStatus.PropStatus == HStation.Revit.ePropStatus.Error)
+                            {
+                                hasRevitPropError = true;
+                            }
+                            switch (revitParterPropStatus.PropStatus)
+                            {
+                                case Revit.ePropStatus.Error:
+                                    {
+                                        feedBackMsg?.Invoke($"鏋勪欢绫诲瀷锛歿revitParter.Catalog}锛屾瀯浠剁紪鐮侊細{revitParter.Id}锛屾瀯浠跺睘鎬э細{revitParterPropStatus.PropName}锛岄敊璇細{revitParterPropStatus.StatusInfo} ", Color.Red);
+                                    }
+                                    break;
+
+                                case Revit.ePropStatus.Lack:
+                                    {
+                                        //feedBackMsg?.Invoke($"鏋勪欢缂栫爜锛歿revitParter.Id}锛屾瀯浠跺睘鎬э細{revitParterPropStatus.PropName}锛岀己鐪侊細{revitParterPropStatus.StatusInfo} ", Color.Gray);
+                                    }
+                                    break;
+
+                                case Revit.ePropStatus.Abnormal:
+                                    {
+                                        //feedBackMsg?.Invoke($"鏋勪欢缂栫爜锛歿revitParter.Id}锛屾瀯浠跺睘鎬э細{revitParterPropStatus.PropName}锛屽紓甯革細{revitParterPropStatus.StatusInfo} ", Color.Orange);
+                                    }
+                                    break;
+
+                                default: break;
+                            }
                         }
                     }
                 }
             }
-            if (hasRevitError)
+            if (hasRevitPropError || !structFileResult)
             {
-                feedBackMsg?.Invoke($"姘村姏缁撴瀯鏂囦欢灞炴�ч敊璇紒锛侊紒", Color.Red);
+                feedBackMsg?.Invoke($"姘村姏缁撴瀯鏂囦欢瑙f瀽閿欒锛侊紒锛�", Color.Red);
                 feedBackMsg?.Invoke("椤圭洰瀵煎叆缁撴潫銆傘�傘��", Color.Blue);
                 feedBackProgress?.Invoke(100, 100);
                 return true;
             }
 
+            vm.RevitModel = structRevitModel;
 
             var hydroInfo = HStation.Hydro.TransferHelper.FromRevit(structRevitModel, out msg);
             if (hydroInfo == null)
@@ -220,23 +229,13 @@
                 return true;
             }
 
-            var hydroId = await BLLFactory<Yw.BLL.HydroModelInfo>.Instance.Save(hydroInfo);
-            if (hydroId < 1)
-            {
-                feedBackMsg?.Invoke("姘村姏缁撴瀯淇℃伅淇濆瓨澶辫触锛侊紒锛�", Color.Red);
-                feedBackMsg?.Invoke("椤圭洰瀵煎叆缁撴潫銆傘�傘��", Color.Blue);
-                feedBackProgress?.Invoke(100, 100);
-                return true;
-            }
-
             feedBackMsg?.Invoke("姝e湪杩涜浜у搧鍖归厤...", Color.Black);
-            hydroInfo = await BLLFactory<Yw.BLL.HydroModelInfo>.Instance.GetByID(hydroId);
-            var matchingParas = AssetsMatchingParasHelper.Create(hydroInfo);
-            if (await AssetsMatchingHelper.Matching(matchingParas))
+            var matchingParas = AssetsMatchingParasHelper.Create(hydroInfo, null);
+            if (AssetsMatchingHelper.Matching(matchingParas, out string error))
             {
                 if (AssetsMatchingParasHelper.Apply(hydroInfo, matchingParas))
                 {
-                    feedBackMsg?.Invoke("浜у搧鍖归厤鎴愬姛銆傘�傘��", Color.Green);
+                    feedBackMsg?.Invoke("浜у搧鍖归厤瀹屾垚銆傘�傘��", Color.Green);
                 }
                 else
                 {
@@ -247,15 +246,24 @@
             {
                 feedBackMsg?.Invoke("浜у搧鍖归厤澶辫触锛侊紒锛�", Color.Red);
             }
-            hydroId = await BLLFactory<Yw.BLL.HydroModelInfo>.Instance.Save(hydroInfo);
+            feedBackMsg?.Invoke("姝e湪淇濆瓨姘村姏缁撴瀯淇℃伅...", Color.Black);
+            var hydroId = await BLLFactory<Yw.BLL.HydroModelInfo>.Instance.Save(hydroInfo);
+            if (hydroId < 1)
+            {
+                feedBackMsg?.Invoke("姘村姏缁撴瀯淇℃伅淇濆瓨澶辫触锛侊紒锛�", Color.Red);
+                feedBackMsg?.Invoke("椤圭洰瀵煎叆缁撴潫銆傘�傘��", Color.Blue);
+                feedBackProgress?.Invoke(100, 100);
+                return true;
+            }
+            feedBackMsg?.Invoke("姘村姏缁撴瀯淇℃伅淇濆瓨鎴愬姛銆傘�傘��", Color.Green);
 
             feedBackMsg?.Invoke("姘村姏缁撴瀯鏂囦欢瑙f瀽鎴愬姛銆傘�傘��", Color.Green);
-            feedBackProgress?.Invoke(100, 30);
+            feedBackProgress?.Invoke(100, 40);
             vm.HydroID = hydroId;
 
             #endregion
 
-            #region 绗叚姝� 鍏宠仈姘村姏缁撴瀯妯″瀷锛堣繘搴� 40%锛�
+            #region 绗叚姝� 鍏宠仈姘村姏缁撴瀯妯″瀷锛堣繘搴� 50%锛�
 
             var projectSite = await BLLFactory<HStation.BLL.XhsProjectSite>.Instance.GetDefaultByProjectID(projectId);
             if (projectSite == null)
@@ -288,14 +296,13 @@
                 return true;
             }
 
-
             vm.HydroRelationID = hydroRelationId;
             feedBackMsg?.Invoke("鍏宠仈姘村姏缁撴瀯妯″瀷鎴愬姛銆傘�傘��", Color.Green);
-            feedBackProgress?.Invoke(100, 40);
+            feedBackProgress?.Invoke(100, 50);
 
-            #endregion 
+            #endregion
 
-            #region 绗竷姝� 涓婁紶Revit妯″瀷鏂囦欢锛堣繘搴� 45%锛�
+            #region 绗竷姝� 涓婁紶Revit妯″瀷鏂囦欢锛堣繘搴� 60%锛�
 
             feedBackMsg?.Invoke("姝e湪瑙f瀽Revit妯″瀷鏂囦欢...", Color.Black);
             var rvtFileInfo = allFileInfoList.Find(x => x.Name == HStation.Revit.ConstParas.RvtFileName);
@@ -307,8 +314,8 @@
                 return true;
             }
 
-            // var bimfaceId = await Yw.WinFrmUI.BimfaceHelper.UploadFile(rvtFileInfo.FullName);//涓婁紶
-            var bimfaceId = 10000878572231; //娴嬭瘯鐢ㄤ緥
+            //var bimfaceId = await Yw.WinFrmUI.BimfaceHelper.UploadFile(rvtFileInfo.FullName);//涓婁紶
+            var bimfaceId = 10000884893369; //娴嬭瘯鐢ㄤ緥 10000878572231 10000882826621  10000884283372 10000884362886 10000884702464 10000884893369
             if (bimfaceId < 1)
             {
                 feedBackMsg?.Invoke("Revit妯″瀷鏂囦欢涓婁紶澶辫触锛侊紒锛�", Color.Red);
@@ -319,11 +326,11 @@
 
             vm.BimfaceId = bimfaceId;
             feedBackMsg?.Invoke("瑙f瀽Revit妯″瀷鏂囦欢鎴愬姛銆傘�傘��", Color.Green);
-            feedBackProgress?.Invoke(100, 45);
+            feedBackProgress?.Invoke(100, 60);
 
             #endregion
 
-            #region 绗叓姝� 淇濆瓨Bimface鏂囦欢 锛堣繘搴� 50%锛�
+            #region 绗叓姝� 淇濆瓨Bimface鏂囦欢 锛堣繘搴� 65%锛�
 
             feedBackMsg?.Invoke("姝e湪淇濆瓨Bimface鏂囦欢...", Color.Black);
 
@@ -347,11 +354,11 @@
 
             vm.BimfaceFileID = bimfaceFileId;
             feedBackMsg?.Invoke("Bimface鏂囦欢淇濆瓨鎴愬姛銆傘�傘��", Color.Green);
-            feedBackProgress?.Invoke(100, 50);
+            feedBackProgress?.Invoke(100, 65);
 
             #endregion
 
-            #region 绗節姝� 鍏宠仈Bimface鏂囦欢锛堣繘搴� 55%锛�
+            #region 绗節姝� 鍏宠仈Bimface鏂囦欢锛堣繘搴� 70%锛�
 
             feedBackMsg?.Invoke("姝e湪鍏宠仈Bimface鏂囦欢...", Color.Black);
 
@@ -372,11 +379,11 @@
             }
             vm.BimfaceFileRelationID = bimfaceRelationId;
             feedBackMsg?.Invoke("Bimface鏂囦欢鍏宠仈鎴愬姛銆傘�傘��", Color.Green);
-            feedBackProgress?.Invoke(100, 55);
+            feedBackProgress?.Invoke(100, 70);
 
             #endregion
 
-            #region 绗崄姝� 鍙戣捣bimface杞崲锛堣繘搴� 80%锛�
+            #region 绗崄姝� 鍙戣捣bimface杞崲锛堣繘搴� 90%锛�
 
             feedBackMsg?.Invoke("姝e湪杩涜Bimface妯″瀷杞婚噺鍖�...", Color.Black);
             //var bimfaceTranslateStatus = await Yw.WinFrmUI.BimfaceHelper.TranslateRvtFile(bimfaceId);//鍙戣捣杞崲
@@ -405,7 +412,7 @@
                 feedBackMsg?.Invoke("Bimface妯″瀷杞婚噺鍖栧畬鎴愩�傘�傘��", Color.Green);
             }
 
-            feedBackProgress?.Invoke(100, 80);
+            feedBackProgress?.Invoke(100, 90);
 
             #endregion
 
@@ -429,9 +436,6 @@
             return true;
 
             #endregion
-
         }
-
-
     }
 }
\ No newline at end of file

--
Gitblit v1.9.3