浏览代码

Merge branch 'master' of http://dev.dp.sagacloud.cn:8886/r/Revit/SAGA.MBI

xulisong 6 年之前
父节点
当前提交
ac4775e269

+ 2 - 1
MBI/SAGA.GplotRelationComputerManage/Common/MBIInfoUtil.cs

@@ -7,6 +7,7 @@ using System.Collections.Generic;
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
+using SAGA.MBI.DataArrange;
 
 namespace SAGA.GplotRelationComputerManage
 {
@@ -35,7 +36,7 @@ namespace SAGA.GplotRelationComputerManage
                 var floorId=fi.Document.PathName.GetFileName();
                 string bimId = string.Format($"{floorId}:{useName}");
                 //var equip = CommonConvert.QueryObjectById(bimId);
-                var equip = CommonConvert.QueryObjectByFloorIdAndRevitId(floorId, bimId);
+                var equip = DalCommon.QueryObjectByBIMID(bimId);
                 if (equip != null)
                 {
                     var jo = equip.CloundJObject;

+ 1 - 1
MBI/SAGA.MBI/Common/RevitModelFileUpload.cs

@@ -78,7 +78,7 @@ namespace SAGA.MBI.Common
         /// <param name="space"></param>
         public static void ShowSpaceProperty(string floorId,string revitId)
         {
-            MRevitEquipBase equipment = CommonConvert.QueryObjectByFloorIdAndRevitId(floorId,revitId);
+            MRevitEquipBase equipment = DalCommon.QueryObjectByBIMID(revitId);
             ShowSpaceProperty(equipment);
         }
     }

+ 12 - 2
MBI/SAGA.MBI/DataArrange/DalCommon.cs

@@ -433,7 +433,7 @@ namespace SAGA.MBI.DataArrange
         /// </summary>
         /// <param name="bimId"></param>
         /// <returns></returns>
-        public static MRevitEquipBase GetRevitObjectsByBIMID(string bimId)
+        public static MRevitEquipBase QueryObjectByBIMID(string bimId)
         {
             MRevitEquipBase rbase = null;
             if (m_AllRevitObjects != null)
@@ -466,7 +466,17 @@ namespace SAGA.MBI.DataArrange
         /// <returns></returns>
         public static string QueryDutyIdByBIMID(string bimId)
         {
-            return GetRevitObjectsByBIMID(bimId)?.Id;
+            return QueryObjectByBIMID(bimId)?.Id;
+        }
+
+        /// <summary>
+        /// 由id查询岗位信息
+        /// </summary>
+        /// <param name="id"></param>
+        /// <returns></returns>
+        public static MRevitEquipBase QueryObjectById(string id)
+        {
+            return CommonConvert.QueryObjectById(id);
         }
     }
 }

+ 13 - 0
MBI/SAGA.MBI/DataArrange/DalSpace.cs

@@ -78,5 +78,18 @@ namespace SAGA.MBI.DataArrange
             defaultName = roomname;
             return defaultName;
         }
+
+        /// <summary>
+        /// 由设备id跟据设备所在空间获取 空间对象的信息
+        /// </summary>
+        /// <param name="id"></param>
+        /// <returns></returns>
+        public static MSpace GetMSpace(string equipId)
+        {
+            MSpace mSpace = null;
+            var spaceId = RelationConvert.GetSpaceByRelationElementInSpace(equipId);
+            mSpace = DalCommon.QueryObjectById(spaceId) as MSpace;
+            return mSpace;
+        }
     }
 }

+ 0 - 15
MBI/SAGA.MBI/JsonConvert/CommonConvert.cs

@@ -156,21 +156,6 @@ namespace SAGA.MBI.RequestData
             var mode = JsonToEquipBase("", (JObject)jObject["Content"][0]);
             return mode;
         }
-
-        /// <summary>
-        /// 由物理世界BimId获取岗位信息
-        /// </summary>
-        /// <param name="floorId"></param>
-        /// <param name="bimId">物理世界格式BimId</param>
-        /// <returns></returns>
-        public static MRevitEquipBase QueryObjectByFloorIdAndRevitId(string floorId, string bimId)
-        {
-            string json = CommonRequest.QueryObjectByBIMID(floorId, bimId);
-            if (!json.IsRequestHasItem()) return null;
-            JObject jObject = JObject.Parse(json);
-            var mode = JsonToEquipBase("", (JObject)jObject["Content"][0]);
-            return mode;
-        }
         /// <summary>
         /// 查询某个建筑/项目内没有绑定某种图类型/图实例, 关系类型的指定类型
         /// </summary>

+ 25 - 0
MBI/SAGA.MBI/JsonConvert/RelationConvert.cs

@@ -86,6 +86,31 @@ namespace SAGA.MBI.JsonConvert
                 MessageShowBase.Show(e);
             }
         }
+        /// <summary>
+        /// 跟据设备所在空间关系,取出空间
+        /// </summary>
+        /// <param name="fromid"></param>
+        /// <returns></returns>
+        public static string GetSpaceByRelationElementInSpace(string fromid)
+        {
+            string toid = null;
+            string graphType = RelationConst.EquipInSpaceGraphId;
+            string relType = RelationConst.EquipInSpaceGraphRelationType;
+            var graphid = RelationRequest.GetCurrentGraphId(graphType);
+            if (graphid == null) return null;
+            string json = RelationRequest.QueryRelation(graphid, fromid, null, relType);
+            if (json.IsRequestHasItem())
+            {
+                JObject jObject = JObject.Parse(json);
 
+                foreach (JObject jobj in jObject["Content"])
+                {
+                    toid = jobj.GetValueEx("to_id");
+                    //取第一个即可
+                    break;
+                }
+            }
+            return toid;
+        }
     }
 }

+ 12 - 1
MBI/SAGA.MBI/Model/MEquipment.cs

@@ -22,6 +22,7 @@ using SAGA.DotNetUtils.Logger;
 using SAGA.DotNetUtils.Others;
 using SAGA.DotNetUtils.WPF;
 using SAGA.MBI.Common;
+using SAGA.MBI.DataArrange;
 using SAGA.MBI.JsonConvert;
 using SAGA.MBI.RequestData;
 using SAGA.MBI.Tools;
@@ -84,7 +85,7 @@ namespace SAGA.MBI.Model
         }
 
         #endregion CloudProperty
-
+        
         #region VirtualMethod
 
         public override string ToString()
@@ -168,6 +169,16 @@ namespace SAGA.MBI.Model
                 propertyi2.Value = this.FMID.IsNullOrEmpty() ? null : "点击查看二维码图片";
                 item.Items.Add(propertyi2);
             }
+            MSpace = DalSpace.GetMSpace(this.Id);
+            Property propertySpace = new Property(this);
+            //属性窗格用到的信息
+            propertySpace.Category = "编码及关系";
+            propertySpace.Name = "所在元空间";
+            //Type应该先于Value进行赋值
+            propertySpace.PropertyType = typeof(UcHyperlink);
+            propertySpace.ItemClickAction = PWGInstace.WinISpaceItemClick;
+            propertySpace.Value = this.MSpace?.ToString();
+            item.Items.Add(propertySpace);
 
 
             Property property3 = new Property(this);

+ 12 - 0
MBI/SAGA.MBI/Model/MEquipmentPart.cs

@@ -21,6 +21,7 @@ using SAGA.DotNetUtils.Logger;
 using SAGA.DotNetUtils.Others;
 using SAGA.DotNetUtils.WPF;
 using SAGA.MBI.Common;
+using SAGA.MBI.DataArrange;
 using SAGA.MBI.JsonConvert;
 using SAGA.MBI.RequestData;
 using SAGA.MBI.Tools;
@@ -182,6 +183,17 @@ namespace SAGA.MBI.Model
                 item.Items.Add(propertyi2);
             }
 
+            MSpace = DalSpace.GetMSpace(this.Id);
+            Property propertySpace = new Property(this);
+            //属性窗格用到的信息
+            propertySpace.Category = "编码及关系";
+            propertySpace.Name = "所在元空间";
+            //Type应该先于Value进行赋值
+            propertySpace.PropertyType = typeof(UcHyperlink);
+            propertySpace.ItemClickAction = PWGInstace.WinISpaceItemClick;
+            propertySpace.Value = this.MSpace?.ToString();
+            item.Items.Add(propertySpace);
+
             return item;
         }
 

+ 6 - 0
MBI/SAGA.MBI/Model/MRevitEquipBase.cs

@@ -62,7 +62,13 @@ namespace SAGA.MBI.Model
         }
 
         #endregion
+
         #region AttachProperty
+
+        /// <summary>
+        /// 设备所在元空间
+        /// </summary>
+        public MSpace MSpace { get; set; }
         //是否上传
         public bool HasUpload { get; set; }
         //设备族名称

+ 29 - 1
MBI/SAGA.MBI/WinView/ModeInfoMaintenance/PWGInstace.cs

@@ -11,11 +11,13 @@ using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
 using System.Windows;
+using CEFSharpWpf;
 using Newtonsoft.Json.Linq;
 using SAGA.DotNetUtils;
 using SAGA.DotNetUtils.Extend;
 using SAGA.DotNetUtils.Others;
 using SAGA.MBI.Calc;
+using SAGA.MBI.Common;
 using SAGA.MBI.Extension;
 using SAGA.MBI.JsonConvert;
 using SAGA.MBI.Model;
@@ -438,10 +440,36 @@ namespace SAGA.MBI.WinView.ModeInfoMaintenance
             if (property is Property property0)
                 property0.Value = $"共{mViewMode.ServiceImages.Count}个文件";
         }
+        /// <summary>
+        /// 元空间-点击查看
+        /// </summary>
+        /// <param name="property"></param>
+        /// <param name="instance"></param>
+        public static void WinISpaceItemClick(object property, object instance)
+        {
+            var equip = instance as MRevitEquipBase;
+            if (equip == null) return;
+            try
+            {
+                var url =
+                    $"{MBIConst.Html5DetailLocalHost}details?perjectId={MBIControl.ProjectCur.Id}&secret={MBIControl.ProjectCur.Password}&FmId={equip.MSpace?.Id}&type=0&code={"space"}";
+                //var url = "www.baidu.com";
+                var win = WinBrowser.Instance;
+                win.Width = 1233;
+                win.Height = 902;
+                win.Show(url);
+
+            }
+            catch (Exception e)
+            {
+                MessageShowBase.Show(e);
+            }
+
+        }
         #endregion
 
         #region 部分符合值的初始化
-     
+
         public static void InitValues(MRevitEquipBase equipment)
         {
             //var json = equipment.CloudInfos;