lixiaojun
2024-10-25 ba4fd2f2456a3cee97cc90204c9e21505a42b2aa
Service/HStation.Service.Revit.Core/04-service/01-json/RevitJsonHelper.cs
@@ -1,4 +1,6 @@
namespace HStation.Service
using System.Transactions;
namespace HStation.Service
{
    /// <summary>
    /// Revit Json辅助类
@@ -301,6 +303,7 @@
            }
            var junction = new Model.RevitJunction();
            junction.Catalog = RevitJsonCatalog.Junction;
            #region Id 
@@ -533,6 +536,7 @@
            }
            var nozzle = new Model.RevitNozzle();
            nozzle.Catalog = RevitJsonCatalog.Nozzle;
            #region Id 
@@ -795,6 +799,7 @@
            }
            var hydrant = new Model.RevitHydrant();
            hydrant.Catalog = RevitJsonCatalog.Hydrant;
            #region Id 
@@ -1055,6 +1060,7 @@
            }
            var blunthead = new Model.RevitBlunthead();
            blunthead.Catalog = RevitJsonCatalog.Blunthead;
            #region Id 
@@ -1330,6 +1336,7 @@
            }
            var elbow = new Model.RevitElbow();
            elbow.Catalog = RevitJsonCatalog.Elbow;
            #region Id 
@@ -1605,6 +1612,7 @@
            }
            var threelink = new Model.RevitThreelink();
            threelink.Catalog = RevitJsonCatalog.Threelink;
            #region Id 
@@ -1880,6 +1888,7 @@
            }
            var fourlink = new Model.RevitFourlink();
            fourlink.Catalog = RevitJsonCatalog.Fourlink;
            #region Id 
@@ -2155,6 +2164,7 @@
            }
            var meter = new Model.RevitMeter();
            meter.Catalog = RevitJsonCatalog.Meter;
            #region Id 
@@ -2387,6 +2397,7 @@
            }
            var flowmeter = new Model.RevitFlowmeter();
            flowmeter.Catalog = RevitJsonCatalog.Flowmeter;
            #region Id 
@@ -2607,6 +2618,19 @@
            #endregion
            #region Flow
            if (jobject[RevitJsonProp.Flow].MatchNumeric(out double flow))
            {
                flowmeter.CurrentFlow = flow;
            }
            else
            {
                flowmeter.AppendOrUpdatePropStatus(nameof(flowmeter.CurrentFlow), ePropStatus.Abnormal, "[流量]缺少或者数据格式错误");
            }
            #endregion
            return flowmeter;
        }
@@ -2619,6 +2643,7 @@
            }
            var pressmeter = new Model.RevitPressmeter();
            pressmeter.Catalog = RevitJsonCatalog.Pressmeter;
            #region Id 
@@ -2839,6 +2864,19 @@
            #endregion
            #region Press
            if (jobject[RevitJsonProp.Press].MatchNumeric(out double press))
            {
                pressmeter.CurrentPress = Yw.Pump.CalculationHelper.Mpa2M(press);
            }
            else
            {
                pressmeter.AppendOrUpdatePropStatus(nameof(pressmeter.CurrentPress), ePropStatus.Abnormal, "[压力]缺少或者数据格式错误");
            }
            #endregion
            return pressmeter;
        }
@@ -2851,6 +2889,7 @@
            }
            var reservoir = new Model.RevitReservoir();
            reservoir.Catalog = RevitJsonCatalog.Reservoir;
            #region Id 
@@ -3083,6 +3122,7 @@
            }
            var tank = new Model.RevitTank();
            tank.Catalog = RevitJsonCatalog.Tank;
            #region Id 
@@ -3372,6 +3412,7 @@
            }
            var waterbox = new Model.RevitWaterbox();
            waterbox.Catalog = RevitJsonCatalog.Waterbox;
            #region Id 
@@ -3661,6 +3702,7 @@
            }
            var pipe = new Model.RevitPipe();
            pipe.Catalog = RevitJsonCatalog.Pipe;
            #region Id 
@@ -4063,6 +4105,7 @@
            }
            var translation = new Model.RevitTranslation();
            translation.Catalog = RevitJsonCatalog.Translation;
            #region Id 
@@ -4465,6 +4508,7 @@
            }
            var exchanger = new Model.RevitExchanger();
            exchanger.Catalog = RevitJsonCatalog.Exchanger;
            #region Id 
@@ -4855,6 +4899,19 @@
            #endregion
            #region MinorLossK
            if (jobject[RevitJsonProp.MinorLossK].MatchNumeric(out double minorLossK))
            {
                exchanger.MinorLossK = minorLossK;
            }
            else
            {
                exchanger.AppendOrUpdatePropStatus(nameof(exchanger.MinorLossK), ePropStatus.Abnormal, "[换热器][损失K系数]缺少或者数据格式错误");
            }
            #endregion
            return exchanger;
        }
@@ -4867,6 +4924,7 @@
            }
            var compressor = new Model.RevitCompressor();
            compressor.Catalog = RevitJsonCatalog.Compressor;
            #region Id 
@@ -5257,6 +5315,19 @@
            #endregion
            #region MinorLossK
            if (jobject[RevitJsonProp.MinorLossK].MatchNumeric(out double minorLossK))
            {
                compressor.MinorLossK = minorLossK;
            }
            else
            {
                compressor.AppendOrUpdatePropStatus(nameof(compressor.MinorLossK), ePropStatus.Abnormal, "[空压机][损失K系数]缺少或者数据格式错误");
            }
            #endregion
            return compressor;
        }
@@ -5268,6 +5339,7 @@
                return default;
            }
            var pump = new Model.RevitPump();
            pump.Catalog = RevitJsonCatalog.Pump;
            #region Id 
@@ -5758,6 +5830,7 @@
                return default;
            }
            var valve = new Model.RevitValve();
            valve.Catalog = RevitJsonCatalog.Valve;
            #region Id 
@@ -6114,6 +6187,20 @@
            #endregion
            #region OpeningDegree
            if (jobject[RevitJsonProp.ValveOpeningDegree].MatchNumeric(out double openingDegree))
            {
                valve.OpeningDegree = openingDegree;
            }
            else
            {
                valve.OpeningDegree = 100;
                valve.AppendOrUpdatePropStatus(nameof(valve.MinorLoss), ePropStatus.Abnormal, "[阀门开度]缺少或者数据格式错误,使用默认值(100)进行修正");
            }
            #endregion
            #region ValveSetting
            if (jobject.ParseString(RevitJsonProp.ValveSetting, out string valveSetting))