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 | 142 +++++++++++++++++++++++++++++++--------------- 1 files changed, 95 insertions(+), 47 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 bfb05bd..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,15 +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); + structFileMsgList?.ForEach(x => feedBackMsg?.Invoke(x, Color.Red)); + } + //Revit灞炴�ч敊璇鐞� + var hasRevitPropError = false; + if (structRevitModel != null) + { + var allRevitParterList = structRevitModel.GetAllParters(); + foreach (var revitParter in allRevitParterList) + { + if (revitParter.PropStatusList != null && revitParter.PropStatusList.Count > 0) + { + foreach (var revitParterPropStatus in revitParter.PropStatusList) + { + 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 (hasRevitPropError || !structFileResult) + { + 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) @@ -177,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 { @@ -204,14 +246,24 @@ { feedBackMsg?.Invoke("浜у搧鍖归厤澶辫触锛侊紒锛�", Color.Red); } + 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) @@ -244,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); @@ -263,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); @@ -275,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); @@ -303,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); @@ -328,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);//鍙戣捣杞崲 @@ -361,7 +412,7 @@ feedBackMsg?.Invoke("Bimface妯″瀷杞婚噺鍖栧畬鎴愩�傘�傘��", Color.Green); } - feedBackProgress?.Invoke(100, 80); + feedBackProgress?.Invoke(100, 90); #endregion @@ -385,9 +436,6 @@ return true; #endregion - } - - } } \ No newline at end of file -- Gitblit v1.9.3