Переглянути джерело

mxg:修改创建设备和创建部件的接口;godhand创建设备和部件乱码;信息点同步时,同步CADID

mengxiangge 5 роки тому
батько
коміт
49743edd41

+ 1 - 1
MBI/SAGA.MBI/Calc/CalcContext.cs

@@ -95,7 +95,7 @@ namespace SAGA.MBI.Calc
                 //修改设备
                 DalEquip.BatchUpdate(MEquipments);
                 //修改部件
-                DalCommon.BatchUpdate(MEquipmentParts);
+                DalEquipPart.BatchUpdate(MEquipmentParts);
                 //修改设备所在空间关系
                 DalCommon.BetchUpdateRelation(RltEquipInSpaces);
                 //修改信标

+ 46 - 0
MBI/SAGA.MBI/DataArrange/DalEquipPart.cs

@@ -10,10 +10,13 @@ using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
 using Autodesk.Revit.DB;
+using Newtonsoft.Json.Linq;
 using SAGA.DotNetUtils.Extend;
+using SAGA.DotNetUtils.Logger;
 using SAGA.MBI.Common;
 using SAGA.MBI.JsonConvert;
 using SAGA.MBI.Model;
+using SAGA.MBI.RequestData;
 using SAGA.MBI.Tools;
 using SAGA.RevitUtils.Extends;
 
@@ -79,5 +82,48 @@ namespace SAGA.MBI.DataArrange
             var equip = DalEquip.GetEquipment(parentInst);
             return equip;
         }
+
+        /// <summary>
+        /// 批量更新Infos
+        /// </summary>
+        /// <param name="datas"></param>
+        public static void BatchUpdate(IEnumerable<MEquipmentPart> datas)
+        {
+            var addJArray = new JArray();
+            var updateJArray = new JArray();
+            foreach (MEquipmentPart mode in datas)
+            {
+                switch (mode.Operator)
+                {
+                    case DocumentChangedOperator.Add:
+                        JObject addJObject = new JObject();
+                        addJObject.Add("building_id", DalProjectTree.GetBuildingIdByFloor(mode.FloorId));
+                        addJObject.Add("floor_id", mode.FloorId);
+                        var equipId = mode.MEquipment?.GetColudId();
+                        if (equipId == null)
+                            break;
+                        addJObject.Add("equip_id", equipId);
+                        addJObject.Add("component_category", mode.EquipClassCode);
+                        addJObject.Add("infos", mode.GetInfosJObject());
+                        addJArray.Add(addJObject);
+                        break;
+                    case DocumentChangedOperator.Modified:
+                        JObject criteria = CommonConvert.GetUpdateInfosJObject(mode.Id, mode.GetInfosJObject());
+                        updateJArray.Add(criteria);
+                        break;
+                    case DocumentChangedOperator.None:
+                        break;
+
+                    case DocumentChangedOperator.Delete:
+                    default:
+                        mode.AddorUpdateObject();
+                        break;
+                }
+            }
+            if (addJArray.Count > 0)
+                EquipmentPartRequest.BatchAdd(addJArray);
+            if (updateJArray.Count > 0)
+                CommonRequest.BatchUpdate(updateJArray);
+        }
     }
 }

+ 2 - 2
MBI/SAGA.MBI/JsonConvert/EquipmentPartConvert.cs

@@ -56,8 +56,8 @@ namespace SAGA.MBI.JsonConvert
             if (json.IsSuccessRequest())
             {
                 JObject jObject = JObject.Parse(json);
-                mode.Id = (string)jObject["id"];
-                mode.Name = (string)jObject["CompName"];
+                mode.Id = (string)jObject["Content"][0]["id"];
+                mode.Name = (string)jObject["Content"][0]["EquipName"];
                 return true;
             }
             return false;

+ 3 - 3
MBI/SAGA.MBI/Model/MEquipment.cs

@@ -144,11 +144,11 @@ namespace SAGA.MBI.Model
         /// <summary>
         /// 从Revit读取需要的参数
         /// </summary>
-        public override void ReadRevitParamter(Element elem, bool isSubjectToMode = false)
+        public override void ReadRevitParamter(Element elem)
         {
             base.ReadRevitParamter(elem);
-            this.LocalId = isSubjectToMode||LocalId.IsNullOrEmpty()?elem.GetParameterString(RevitBuiltInParameter.EquipLocalID):LocalId;
-            this.LocalName = isSubjectToMode||LocalName.IsNullOrEmpty()?elem.GetParameterString(RevitBuiltInParameter.EquipLocalName):LocalName;
+            this.LocalId = elem.GetParameterString(RevitBuiltInParameter.EquipLocalID);
+            this.LocalName = elem.GetParameterString(RevitBuiltInParameter.EquipLocalName);
         }
         #endregion
 

+ 3 - 3
MBI/SAGA.MBI/Model/MEquipmentPart.cs

@@ -158,11 +158,11 @@ namespace SAGA.MBI.Model
         /// <summary>
         /// 从Revit读取需要的参数
         /// </summary>
-        public override void ReadRevitParamter(Element elem, bool isSubjectToMode = false)
+        public override void ReadRevitParamter(Element elem)
         {
             base.ReadRevitParamter(elem);
-            this.LocalId = LocalId.IsNullOrEmpty() ? elem.GetParameterString(RevitBuiltInParameter.EquipLocalID) : LocalId;
-            this.LocalName = LocalName.IsNullOrEmpty() ? elem.GetParameterString(RevitBuiltInParameter.EquipLocalName) : LocalName;
+            this.LocalId =  elem.GetParameterString(RevitBuiltInParameter.EquipLocalID);
+            this.LocalName = elem.GetParameterString(RevitBuiltInParameter.EquipLocalName);
         }
         #endregion
 

+ 1 - 1
MBI/SAGA.MBI/Model/MRevitEquipBase.cs

@@ -420,7 +420,7 @@ namespace SAGA.MBI.Model
         /// <summary>
         /// 从Revit读取需要的参数
         /// </summary>
-        public virtual void ReadRevitParamter(Element elem, bool isSubjectToMode = false)
+        public virtual void ReadRevitParamter(Element elem)
         {
             this.Location = elem.GetLocationPointMBI();
         }

+ 30 - 11
MBI/SAGA.MBI/RequestData/EquipmentPartRequest.cs

@@ -11,6 +11,7 @@ using System.Threading.Tasks;
 using Newtonsoft.Json.Linq;
 using SAGA.DotNetUtils.Http;
 using SAGA.MBI.Common;
+using SAGA.MBI.DataArrange;
 using SAGA.MBI.Model;
 using SAGA.MBI.Tools;
 
@@ -30,17 +31,16 @@ namespace SAGA.MBI.RequestData
         /// <returns></returns>
         public static string AddEquipmentPart(string floorid,string equipId, string category, JObject infos)
         {
-            string url = MBIConst.GoodHandLocalHost + $"component/create?secret={MBIControl.ProjectCur.Password}&projectId={MBIControl.ProjectCur.Id}";
-
-            JObject idJObject = new JObject();
-            idJObject.Add("floor_id", floorid);
-            idJObject.Add("equip_id", equipId);
-            idJObject.Add("component_category", category);
-            idJObject.Add("infos", infos);
-
-            string postData = idJObject.ToString();
-            RestClient client = new RestClient(url, HttpVerb.POST, postData);
-            string request = client.PostRequest();
+            var addJArray = new JArray();
+            JObject addJObject = new JObject();
+            addJObject.Add("building_id", DalProjectTree.GetBuildingIdByFloor(floorid));
+            addJObject.Add("floor_id", floorid);
+            addJObject.Add("equip_id", equipId);
+            addJObject.Add("component_category", category);
+            addJObject.Add("infos", infos);
+            addJArray.Add(addJObject);
+            
+            string request = EquipmentPartRequest.BatchAdd(addJArray);
             return request;
         }
 
@@ -63,5 +63,24 @@ namespace SAGA.MBI.RequestData
             string request = client.PostRequest();
             return request;
         }
+
+
+        /// <summary>
+        /// 批量增加设备
+        /// </summary>
+        /// <param name="criterias"></param>
+        /// <returns></returns>
+        public static string BatchAdd(JArray criterias)
+        {
+            string url = MBIConst.DataPlatformLocalHost + $"data-platform-3/component/batch/create?secret={MBIControl.ProjectCur.Password}&projectId={MBIControl.ProjectCur.Id}";
+
+            JObject updateJObject = new JObject();
+            updateJObject.Add("criterias", criterias);
+
+            string postData = updateJObject.ToString();
+            RestClient client = new RestClient(url, HttpVerb.POST, postData);
+            string request = client.PostRequest();
+            return request;
+        }
     }
 }

+ 8 - 11
MBI/SAGA.MBI/RequestData/EquipmentRequest.cs

@@ -30,18 +30,15 @@ namespace SAGA.MBI.RequestData
         /// <returns></returns>
         public static string AddEquipment(string floorId,string category, JObject infos)
         {
-            string url = MBIConst.GoodHandLocalHost + $"equipment/create?secret={MBIControl.ProjectCur.Password}&projectId={MBIControl.ProjectCur.Id}";
-            
-            string buildingId = DalProjectTree.GetBuildingIdByFloor(floorId);
-            JObject idJObject = new JObject();
-            idJObject.Add("floor_id", floorId);
-            idJObject.Add("building_id", buildingId);
-            idJObject.Add("equipment_category", category);
-            idJObject.Add("infos", infos);
+            var addJArray = new JArray();
+            JObject addJObject = new JObject();
+            addJObject.Add("building_id", DalProjectTree.GetBuildingIdByFloor(floorId));
+            addJObject.Add("floor_id", floorId);
+            addJObject.Add("equipment_category", category);
+            addJObject.Add("infos", infos);
+            addJArray.Add(addJObject);
 
-            string postData = idJObject.ToString();
-            RestClient client = new RestClient(url, HttpVerb.POST, postData);
-            string request = client.PostRequest();
+            string request = EquipmentPartRequest.BatchAdd(addJArray);
             return request;
         }
 

+ 1 - 1
MBI/SAGA.MBI/ToolsData/CheckBase/CheckOperation.cs

@@ -80,7 +80,7 @@ namespace SAGA.MBI.ToolsData.CheckBase
         {
             List<DataCheckBase> list = new List<DataCheckBase>();
             list.Add(new DutyFMInfoCheck());
-            list.Add(new QRCodeContextCheck());
+            //list.Add(new QRCodeContextCheck());
             list.Add(new SpaceEquipFloorCheck());
             list.Add(new MissDutyOrMode());
             list.Add(new BIMDuplicationCheck());

+ 1 - 1
MBI/SAGA.MBI/ToolsData/CheckBase/WinDataCheckProgressBar.xaml.cs

@@ -19,6 +19,7 @@ namespace SAGA.MBI.ToolsData.CheckBase
             bar.Dispatcher.Invoke(
                 () =>
                 {
+                    bar.myTraceLog.Text = "";
                     bar.myBigTip.Content = tip;
                     bar.myProgrssBar.Maximum = max;
                 },
@@ -63,7 +64,6 @@ namespace SAGA.MBI.ToolsData.CheckBase
             this.Dispatcher.Invoke(() =>
                 {
                     this.Visibility = Visibility.Collapsed;
-                    myTraceLog.Text = "";
                 },
                 System.Windows.Threading.DispatcherPriority.Background);
         }

+ 14 - 0
MBI/SAGA.MBI/ToolsData/CorrectPropertyReadFromRevitHandler.cs

@@ -84,6 +84,20 @@ namespace SAGA.MBI.ToolsData
                     if (elem == null) continue;
                     mode.Operator = DocumentChangedOperator.Modified;
                     mode.ReadRevitParamter(elem);
+
+                    #region 重置CADID
+
+                    if (mode is MEquipment mEquipment)
+                    {
+                        mEquipment.CADID = MBIElementUtils.GetCADID(mEquipment.LocalId, mEquipment.LocalName);
+                    }
+                    if (mode is MEquipmentPart mPart)
+                    {
+                        mPart.CADID = MBIElementUtils.GetCADID(mPart.LocalId, mPart.LocalName);
+                    }
+
+                    #endregion
+
                     context.Add(mode);
                 }
             }