From b7d09737c7e3af8eb31ddfd4be992da4a2c322da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Markus=20Clau=C3=9F?= Date: Tue, 23 May 2023 16:58:24 +0200 Subject: [PATCH] change enumNorm to norm from db --- src/paveit/datamodels/enumeration.py | 14 ------------ src/paveit/datamodels/material.py | 24 +++++++-------------- src/paveit/datamodels/norm_specification.py | 8 ------- 3 files changed, 8 insertions(+), 38 deletions(-) diff --git a/src/paveit/datamodels/enumeration.py b/src/paveit/datamodels/enumeration.py index 1e5af26..f407bb2 100755 --- a/src/paveit/datamodels/enumeration.py +++ b/src/paveit/datamodels/enumeration.py @@ -35,17 +35,3 @@ class BitumenCategoryEnum(Enum): PmbA = "Elastomermodifizierte Bitumen" PmbB = "Plastomermodifizierte Bitumen" - -# Normen - -class NormEnum(Enum): - #Bitumen - DINEN1426 = "DIN EN 1426" - DINEN1427 = "DIN EN 1427" - DINEN12607_1 = "DIN EN 12607-1" - DINEN12592 = "DIN EN 12592" - DINEN12593 = "DIN EN 12593" - DINISO2592 = "DIN EN ISO 2592" - TLBitumen2019 = "TL Bitumen-StB (08/2019)" - #Gestein - TLGestein2018 = "TL Gestein-StB 04 (2018)" \ No newline at end of file diff --git a/src/paveit/datamodels/material.py b/src/paveit/datamodels/material.py index 6c8757f..ed51fc0 100755 --- a/src/paveit/datamodels/material.py +++ b/src/paveit/datamodels/material.py @@ -4,8 +4,10 @@ from re import T from bson.json_util import loads from mongoengine import * -from .enumeration import BitumenCategoryEnum, NormEnum +from .enumeration import BitumenCategoryEnum from .norm_specification import DeliveryGrain, EnumerateBase +from .norm_documents import NormDocumentAggregate, NormDocumentBitumen, NormDocumentAsphalt + from .project import Project from .usermanagement import Organisation, User @@ -49,7 +51,7 @@ class Material(Document): class Asphalt(Material): - norm = StringField(required=False, default='TP Asphalt Teil 24') + norm = LazyReferenceField(NormDocumentAsphalt, required=True) name = StringField() material = StringField() @@ -59,25 +61,14 @@ class Asphalt(Material): fatigue = DictField() # Bitumen - -class BitumenParameterStrassenbaubitumen(Material): - - penetration = FloatField(min_value=0, max_value=1000) - softening_point = FloatField(min_value=0, max_value =500) - flash_point = FloatField(min_value=0, max_value=500) - solubility = FloatField(default=99.0, min_value=0, max_value=100) - fraass_breaking_point = FloatField(min_value=-100, max_value=100) - hardening_resistance_penetration = FloatField(min_value=0, max_value=100) - hardening_resistance_softening_point= FloatField(min_value=0, max_value=100) - hardening_resistance_masschange = FloatField(min_value=0, max_value=100) - class Bitumen(Material): + name = StringField() producer = StringField() batch_number = StringField() category = EnumField(BitumenCategoryEnum, required=True) - norm = EnumField(NormEnum, default=NormEnum.TLBitumen2019) + norm = LazyReferenceField(NormDocumentBitumen, required=True) parameter = ReferenceField(Material) limits = LazyReferenceField(EnumerateBase) @@ -122,7 +113,8 @@ class Kompaktasphalt(Material): class Aggregate(Material): - norm = EnumField(NormEnum, default=NormEnum.TLGestein2018) + norm = LazyReferenceField(NormDocumentAggregate, required=True) + name = StringField(required=True) producer = StringField(required=True) supply_source = StringField(required=True) #Bezugsquelle diff --git a/src/paveit/datamodels/norm_specification.py b/src/paveit/datamodels/norm_specification.py index c485e3a..f464ea0 100644 --- a/src/paveit/datamodels/norm_specification.py +++ b/src/paveit/datamodels/norm_specification.py @@ -31,52 +31,44 @@ class BitumenParameterLimitsStrassenbaubitumen(EnumerateBase): norm = LazyReferenceField(NormDocumentBitumen, required=True) - penetration_norm = EnumField(NormEnum, default=NormEnum.DINEN1426) penetration_unit = StringField('0.1 mm') penetration_operator = EnumField(RelationalOperatorsEnum, default=RelationalOperatorsEnum.between) penetration_max = FloatField(min_value=0, max_value=1000) penetration_min = FloatField(min_value=0, max_value=1000) # Erweichungspunkt Ring und Kugel - softening_point_norm = EnumField(NormEnum, default=NormEnum.DINEN1427) softening_point_unit = StringField('°C') softening_point_operator = EnumField(RelationalOperatorsEnum, default=RelationalOperatorsEnum.between) softening_point_min = FloatField(min_value=0, max_value=500) softening_point_max = FloatField(min_value=0, max_value=500) # Flammpunk - flash_point_norm = EnumField(NormEnum, default=NormEnum.DINISO2592) flash_point_unit = StringField('°C') flash_point_operator = EnumField(RelationalOperatorsEnum, default=RelationalOperatorsEnum.gt) flash_point_min = FloatField(min_value=0, max_value=500) # Löslichkeit - solubility_norm = EnumField(NormEnum, default=NormEnum.DINEN12592) solubility_unit = StringField('%') solubility_operator = EnumField(RelationalOperatorsEnum, default=RelationalOperatorsEnum.gt) solubility_min = FloatField(default=99.0, min_value=0, max_value=100) # Brechpunkt nach Fraaß - fraass_breaking_point_norm = EnumField(NormEnum, default=NormEnum.DINEN12593) fraass_breaking_point_unit = StringField('°C') fraass_breaking_point_operator = EnumField(RelationalOperatorsEnum, default=RelationalOperatorsEnum.lt) fraass_breaking_point_max = FloatField(min_value=-100, max_value=100) # Beständigkeit gegen Verhärtung unter Einfluss von Wärme und Luft ## verbleibende Penetration - hardening_resistance_penetration_norm = EnumField(NormEnum, default=NormEnum.DINEN1426) hardening_resistance_penetration_unit = StringField('%') hardening_resistance_penetration_operator = EnumField(RelationalOperatorsEnum, default=RelationalOperatorsEnum.gt) hardening_resistance_penetration_min = FloatField(min_value=0, max_value=100) ## Zunahme des Erweichungspunktes Ring und Kugel - hardening_resistance_softening_point_norm = EnumField(NormEnum, default=NormEnum.DINEN1427) hardening_resistance_softening_point_unit = StringField('°C') hardening_resistance_softening_point_operator = EnumField(RelationalOperatorsEnum, default=RelationalOperatorsEnum.lt) hardening_resistance_softening_point_max = FloatField(min_value=0, max_value=100) ## Massenänderung - hardening_resistance_masschange_norm = EnumField(NormEnum, default=NormEnum.DINEN12607_1) hardening_resistance_masschange_unit = StringField('%') hardening_resistance_masschange_operator = EnumField(RelationalOperatorsEnum, default=RelationalOperatorsEnum.lt) hardening_resistance_masschange_max = FloatField(min_value=0, max_value=100)