From 20135ab11c3c3920aaea5d812b2d393279e734b8 Mon Sep 17 00:00:00 2001 From: lixiaojun <1287241240@qq.com> Date: 星期二, 17 十二月 2024 23:03:15 +0800 Subject: [PATCH] 优化水力场景管理 --- WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/00-core/ImportXhsProjectHelper.cs | 167 ++++++++++++++++++++++++++----------------------------- 1 files changed, 80 insertions(+), 87 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 37ef2ae..a531192 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 @@ -2,6 +2,7 @@ using DevExpress.XtraEditors; using HStation.Model; using HStation.Vmo; +using Microsoft.Extensions.DependencyInjection; using static DevExpress.XtraEditors.XtraInputBox; using static System.Windows.Forms.VisualStyles.VisualStyleElement.Window; @@ -46,35 +47,40 @@ #region 绗簩姝� 鍒涘缓椤圭洰锛堣繘搴� 10%锛� - feedBackMsg?.Invoke("姝e湪鍒涘缓椤圭洰...", Color.Black); - - var project = new Vmo.XhsProjectExtensionsVmo(); - project.NO = vm.NO; - project.Name = vm.Name; - project.Address = vm.Address; - project.Customer = vm.Customer; - project.Flags = vm.Flags; - project.TagName = vm.TagName; - project.Description = vm.Description; - project.SiteList = new List<XhsProjectSiteVmo>() - { - new XhsProjectSiteVmo() - { - Name=vm.Name, - Description=vm.Description - } - }; - - var projectId = await BLLFactory<HStation.BLL.XhsProjectExtensions>.Instance.Insert(project); - if (projectId < 1) + //灏氭湭鍒涘缓椤圭洰 + if (vm.Project == null) { - feedBackMsg?.Invoke("椤圭洰鍒涘缓澶辫触锛侊紒锛�", Color.Red); - return false; + feedBackMsg?.Invoke("姝e湪鍒涘缓椤圭洰...", Color.Black); + + var project = new Vmo.XhsProjectExtensionsVmo(); + project.NO = vm.NO; + project.Name = vm.Name; + project.Address = vm.Address; + project.Customer = vm.Customer; + project.Flags = vm.Flags; + project.TagName = vm.TagName; + project.Description = vm.Description; + project.SiteList = new List<XhsProjectSiteVmo>() + { + new XhsProjectSiteVmo() + { + Name=vm.Name, + Description=vm.Description + } + }; + + var projectId = await BLLFactory<HStation.BLL.XhsProjectExtensions>.Instance.Insert(project); + if (projectId < 1) + { + feedBackMsg?.Invoke("椤圭洰鍒涘缓澶辫触锛侊紒锛�", Color.Red); + return false; + } + vm.ProjectID = projectId; + vm.Project = await BLLFactory<HStation.BLL.XhsProjectExtensions>.Instance.GetByID(projectId); + vm.ProjectSiteID = vm.Project.SiteList.FirstOrDefault().ID; + + feedBackMsg?.Invoke("椤圭洰鍒涘缓鎴愬姛銆傘�傘��", Color.Green); } - - feedBackMsg?.Invoke("椤圭洰鍒涘缓鎴愬姛銆傘�傘��", Color.Green); - - vm.ProjectID = projectId; feedBackProgress?.Invoke(100, 10); @@ -82,33 +88,37 @@ #region 绗笁姝� 璁剧疆鍦板浘浣嶇疆锛堣繘搴� 20%锛� - feedBackMsg?.Invoke("姝e湪璁剧疆鍦板浘浣嶇疆...", Color.Black); - - if (vm.Location != null) + if (vm.MapInfo == null) { - var mapInfo = new Yw.Vmo.MapInfoVmo(); - mapInfo.ObjectType = HStation.Xhs.DataType.XhsProject; - mapInfo.ObjectID = projectId; - mapInfo.ObjectName = project.Name; - mapInfo.Purpose = Yw.Map.Purpose.Location; - mapInfo.Kind = Yw.Map.Kind.Gaodei; - mapInfo.Shape = Yw.Map.Shape.Marker; - mapInfo.Position = vm.Location.ToJson(); + feedBackMsg?.Invoke("姝e湪璁剧疆鍦板浘浣嶇疆...", Color.Black); - var mapInfoId = await BLLFactory<Yw.BLL.MapInfo>.Instance.Insert(mapInfo); - if (mapInfoId < 1) + if (vm.Location != null) { - feedBackMsg?.Invoke("璁剧疆鍦板浘浣嶇疆澶辫触锛侊紒锛�", Color.Red); + var mapInfo = new Yw.Vmo.MapInfoVmo(); + mapInfo.ObjectType = HStation.Xhs.DataType.XhsProject; + mapInfo.ObjectID = vm.ProjectID.Value; + mapInfo.ObjectName = vm.Project.Name; + mapInfo.Purpose = Yw.Map.Purpose.Location; + mapInfo.Kind = Yw.Map.Kind.Gaodei; + mapInfo.Shape = Yw.Map.Shape.Marker; + mapInfo.Position = vm.Location.ToJson(); + + var mapInfoId = await BLLFactory<Yw.BLL.MapInfo>.Instance.Insert(mapInfo); + if (mapInfoId < 1) + { + feedBackMsg?.Invoke("璁剧疆鍦板浘浣嶇疆澶辫触锛侊紒锛�", Color.Red); + } + else + { + vm.MapInfoID = mapInfoId; + vm.MapInfo = await BLLFactory<Yw.BLL.MapInfo>.Instance.GetByID(mapInfoId); + feedBackMsg?.Invoke("璁剧疆鍦板浘浣嶇疆鎴愬姛銆傘�傘��", Color.Green); + } } else { - vm.MapInfoID = mapInfoId; - feedBackMsg?.Invoke("璁剧疆鍦板浘浣嶇疆鎴愬姛銆傘�傘��", Color.Green); + feedBackMsg?.Invoke("鏈缃湴鍥句綅缃俊鎭紒锛侊紒", Color.Red); } - } - else - { - feedBackMsg?.Invoke("鏈缃湴鍥句綅缃俊鎭紒锛侊紒", Color.Red); } feedBackProgress?.Invoke(100, 20); @@ -169,6 +179,7 @@ var structOthersFileInfo = allFileInfoList.Find(x => x.Name == HStation.Revit.ConstParas.StructOthersFileName); var structRevitModel = HStation.Service.RevitParseHelper.FromJsonFile (structFileInfo.FullName, structOthersFileInfo?.FullName, out bool structFileResult, out List<string> structFileMsgList); + vm.RevitModel = structRevitModel; //瑙f瀽缁撴灉鍒ゆ柇 if (!structFileResult) { @@ -196,19 +207,6 @@ 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; } } @@ -222,8 +220,6 @@ feedBackProgress?.Invoke(100, 100); return true; } - - vm.RevitModel = structRevitModel; var hydroInfo = HStation.Hydro.TransferHelper.FromRevit(structRevitModel, out msg); if (hydroInfo == null) @@ -252,15 +248,15 @@ feedBackMsg?.Invoke("浜у搧鍖归厤澶辫触锛侊紒锛�", Color.Red); } - feedBackMsg?.Invoke("姝e湪杩涜绠$綉淇...", Color.Black); - if (hydroInfo.RepairLinksDirection(out msg)) - { - feedBackMsg?.Invoke(msg, Color.Green); - } - else - { - feedBackMsg?.Invoke(msg, Color.Red); - } + //feedBackMsg?.Invoke("姝e湪杩涜绠$綉淇...", Color.Black); + //if (hydroInfo.RepairLinksDirection(out msg)) + //{ + // feedBackMsg?.Invoke(msg, Color.Green); + //} + //else + //{ + // feedBackMsg?.Invoke(msg, Color.Red); + //} feedBackMsg?.Invoke("姝e湪杩涜绠$綉鍙傛暟淇...", Color.Black); hydroInfo.RepairParas(out msg); @@ -292,24 +288,12 @@ #region 绗叚姝� 鍏宠仈姘村姏缁撴瀯妯″瀷锛堣繘搴� 50%锛� - var projectSite = await BLLFactory<HStation.BLL.XhsProjectSite>.Instance.GetDefaultByProjectID(projectId); - if (projectSite == null) - { - feedBackMsg?.Invoke("椤圭洰绔欎俊鎭敊璇�...", Color.Red); - feedBackMsg?.Invoke("椤圭洰瀵煎叆缁撴潫銆傘�傘��", Color.Blue); - feedBackProgress?.Invoke(100, 100); - return true; - } - - var projectSiteId = projectSite.ID; - vm.ProjectSiteID = projectSite.ID; - feedBackMsg?.Invoke("姝e湪鍏宠仈姘村姏缁撴瀯妯″瀷...", Color.Black); var hydroRelation = new Yw.Vmo.HydroModelRelationVmo(); hydroRelation.ObjectType = HStation.Xhs.DataType.XhsProjectSite; - hydroRelation.ObjectID = projectSiteId; - hydroRelation.ModelID = hydroId; + hydroRelation.ObjectID = vm.ProjectSiteID.Value; + hydroRelation.ModelID = vm.HydroID.Value; hydroRelation.Purpose = HStation.Xhs.Purpose.Simulation; hydroRelation.Content = null; hydroRelation.Description = null; @@ -342,7 +326,16 @@ } //var bimfaceId = await Yw.WinFrmUI.BimfaceHelper.UploadFile(rvtFileInfo.FullName);//涓婁紶 - var bimfaceId = 10000884893369; //娴嬭瘯鐢ㄤ緥 10000878572231 10000882826621 10000884283372 10000884362886 10000884702464 10000884893369 + long bimfaceId = 0; + if (hydroInfo.Pumps.Count > 6) + { + bimfaceId = 10000894297457; + } + else + { + bimfaceId = 10000884893369; + } + //var bimfaceId = 10000894297457; //娴嬭瘯鐢ㄤ緥 10000884893369 10000894297457 if (bimfaceId < 1) { feedBackMsg?.Invoke("Revit妯″瀷鏂囦欢涓婁紶澶辫触锛侊紒锛�", Color.Red); @@ -391,7 +384,7 @@ var bimfaceRelation = new Yw.Vmo.BimfaceFileRelationVmo(); bimfaceRelation.ObjectType = HStation.Xhs.DataType.XhsProjectSite; - bimfaceRelation.ObjectID = projectSiteId; + bimfaceRelation.ObjectID = vm.ProjectSiteID.Value; bimfaceRelation.BimfaceFileID = bimfaceFileId; bimfaceRelation.Purpose = HStation.Xhs.Purpose.Simulation; bimfaceRelation.Description = vm.Description; -- Gitblit v1.9.3