add Classes for Bitumen, Asphat, Aggregates, Additives and Properties of them

This commit is contained in:
2023-09-11 17:35:41 +02:00
parent 4b263f461a
commit 394d86c111
3 changed files with 134 additions and 27 deletions

View File

@@ -12,7 +12,7 @@ from .norm_documents import (
NormDocumentAsphalt, NormDocumentAsphalt,
NormDocumentBitumen, NormDocumentBitumen,
) )
from .norm_specification import DeliveryGrain, EnumerateBase from .norm_specification import DeliveryGrain, EnumerateBase, AdditiveEnum
from .project import Project from .project import Project
from .usermanagement import Organisation, User from .usermanagement import Organisation, User
@@ -102,7 +102,7 @@ class Aggregate(Material):
class Additive(Material): class Additive(Material):
typ = StringField(required=True) category = LazyReferenceField(AdditiveEnum, required=True)

View File

@@ -6,7 +6,7 @@ from paveit.helper import fetch_recursive, mongo_to_dict
from enum import Enum from enum import Enum
from .material import Material, Additive from .material import Material, Additive, Bitumen, Aggregate
from .usermanagement import Organisation, User from .usermanagement import Organisation, User
from .enumeration import AsphaltCategoryEnum, BitumenCategoryEnum from .enumeration import AsphaltCategoryEnum, BitumenCategoryEnum
@@ -17,10 +17,12 @@ from .norm_documents import (
) )
from .norm_specification import ( from .norm_specification import (
AsphaltParameterLimitsBaseEnum, AsphaltParameterLimitsBaseEnum,
BitumenParameterLimitsBaseEnum BitumenParameterLimitsBaseEnum,
AdditiveEnum,
AdditiveSubEnum,
DeliveryGrain
) )
class ProcessParameters(Enum): class ProcessParameters(Enum):
""" """
Typ der Wert: Typ der Wert:
@@ -41,14 +43,6 @@ class Address(EmbeddedDocument):
postal_code = IntField() postal_code = IntField()
country = StringField() country = StringField()
class Additive(EmbeddedDocument):
additive_id = LazyReferenceField(Additive, required=True)
quantity = IntField()
class Propertie(Document): class Propertie(Document):
@@ -63,6 +57,7 @@ class Propertie(Document):
"step": "60" "step": "60"
}}) }})
def to_dict(self): def to_dict(self):
# convert data to dict # convert data to dict
data = fetch_recursive(self) data = fetch_recursive(self)
@@ -86,10 +81,10 @@ class Propertie(Document):
# Additives # Additives
class PropertieAdditives(Propertie): class PropertieAdditive(Propertie):
pass pass
class PropertieAdditivesMeta(PropertieAdditives): class PropertieAdditiveMeta(PropertieAdditive):
name = StringField() name = StringField()
productnumber = StringField() productnumber = StringField()
@@ -99,7 +94,7 @@ class PropertieAdditivesMeta(PropertieAdditives):
address = EmbeddedDocumentField(Address) address = EmbeddedDocumentField(Address)
#category = LazyReferenceField(BitumenParameterLimitsBaseEnum, required=False) subcategory = LazyReferenceField(AdditiveSubEnum, required=True)
# Aggregates # Aggregates
@@ -118,7 +113,7 @@ class PropertieAggregateMeta(PropertieAggregate):
mine = StringField() mine = StringField()
address = EmbeddedDocumentField(Address) address = EmbeddedDocumentField(Address)
category = LazyReferenceField(BitumenParameterLimitsBaseEnum, required=False) category = LazyReferenceField(DeliveryGrain, required=False)
# Bitumen # Bitumen
@@ -151,22 +146,130 @@ class PropertieAsphaltMeta(PropertieAsphalt):
certificate_number = StringField() certificate_number = StringField()
certificate_date = IntField() certificate_date = IntField()
mixing_plant = StringField() mixingplant = StringField()
address = EmbeddedDocumentField(Address) address = EmbeddedDocumentField(Address)
category = LazyReferenceField(AsphaltParameterLimitsBaseEnum, required=True) category = LazyReferenceField(AsphaltParameterLimitsBaseEnum, required=True)
class PropertieAsphaltBitumenContent(PropertieAsphalt): class Additive(EmbeddedDocument):
process_parameter = EnumField(ProcessParameters, required=True) # Ist- oder Sollwert additive_id = LazyReferenceField(Additive, required=True)
quantity_bitumen = IntField() A = FloatField()
quantity_additive_bitumen = IntField() B = FloatField()
quantity_bitumen_total = IntField() C = FloatField()
total_bituem_content = IntField() min = FloatField()
elastic_recovery = IntField() max = FloatField()
equistiffness_temperature = IntField()
phase_angle = IntField()
class BitumenInfo(EmbeddedDocument):
added_binder_A = FloatField(required=False)
added_binder_B = FloatField(required=False)
added_binder_C = FloatField(required=False)
added_binder_min = FloatField(required=False)
added_binder_max = FloatField(required=False)
binder_from_additives_A = FloatField(required=False)
binder_from_additives_B = FloatField(required=False)
binder_from_additives_C = FloatField(required=False)
binder_from_additives_min = FloatField(required=False)
binder_from_additives_max = FloatField(required=False)
total_binder_A = FloatField(required=False)
total_binder_B = FloatField(required=False)
total_binder_C = FloatField(required=False)
total_binder_min = FloatField(required=False)
total_binder_max = FloatField(required=False)
total_binder_vol_A = FloatField(required=False)
total_binder_vol_B = FloatField(required=False)
total_binder_vol_C = FloatField(required=False)
total_binder_vol_min = FloatField(required=False)
total_binder_vol_max = FloatField(required=False)
elastic_recovery_A = FloatField(required=False)
elastic_recovery_B = FloatField(required=False)
elastic_recovery_C = FloatField(required=False)
elastic_recovery_min = FloatField(required=False)
elastic_recovery_max = FloatField(required=False)
equi_stiffness_A = FloatField(required=False)
equi_stiffness_B = FloatField(required=False)
equi_stiffness_C = FloatField(required=False)
equi_stiffness_min = FloatField(required=False)
equi_stiffness_max = FloatField(required=False)
phase_angle_A = FloatField(required=False)
phase_angle_B = FloatField(required=False)
phase_angle_C = FloatField(required=False)
phase_angle_min = FloatField(required=False)
phase_angle_max = FloatField(required=False)
class PropertieAsphaltBitumenParameters(PropertieAsphalt):
bitumen_id = LazyReferenceField(Bitumen, required=True)
bitumen = EmbeddedDocumentField(BitumenInfo)
additives = ListField(EmbeddedDocumentField(Additive)) additives = ListField(EmbeddedDocumentField(Additive))
class AggregateInfo(EmbeddedDocument):
id = LazyReferenceField(Aggregate, required=False)
size_45x0 = FloatField(required=False)
size_31x5 = FloatField(required=False)
size_22x4 = FloatField(required=False)
size_16x0 = FloatField(required=False)
size_11x2 = FloatField(required=False)
size_8x0 = FloatField(required=False)
size_5x6 = FloatField(required=False)
size_2x0 = FloatField(required=False)
size_1x0 = FloatField(required=False)
size_0x25 = FloatField(required=False)
size_0x125 = FloatField(required=False)
size_0x063 = FloatField(required=False)
size_less_0x063 = FloatField(required=False)
oversize = FloatField(required=False)
normal_grain = FloatField(required=False)
bulk_density = FloatField(required=False)
flow_coefficient = FloatField(required=False)
aggregates_bulk_density = FloatField(required=False)
class PropertieAsphaltAggregates(PropertieAsphalt):
aggregates = ListField(EmbeddedDocumentField(AggregateInfo), required=True)
class MineralMixtureInfo(EmbeddedDocument):
size_45x0 = FloatField(required=False)
size_31x5 = FloatField(required=False)
size_22x4 = FloatField(required=False)
size_16x0 = FloatField(required=False)
size_11x2 = FloatField(required=False)
size_8x0 = FloatField(required=False)
size_5x6 = FloatField(required=False)
size_2x0 = FloatField(required=False)
size_1x0 = FloatField(required=False)
size_0x25 = FloatField(required=False)
size_0x125 = FloatField(required=False)
size_0x063 = FloatField(required=False)
size_less_0x063 = FloatField(required=False)
class PropertieAsphaltMineralMixture(PropertieAsphalt):
trailing = EmbeddedDocumentField(MineralMixtureInfo, required=False)
passage = EmbeddedDocumentField(MineralMixtureInfo, required=False)
class PropertyMetrics(EmbeddedDocument):
A = FloatField(required=False)
B = FloatField(required=False)
C = FloatField(required=False)
min = FloatField(required=False)
max = FloatField(required=False)
class PropertiesAsphaltMixingParameters(PropertieAsphalt):
bulk_density = EmbeddedDocumentField(PropertyMetrics)
asphalt_density = EmbeddedDocumentField(PropertyMetrics)
marshall_density = EmbeddedDocumentField(PropertyMetrics)
cavity_content = EmbeddedDocumentField(PropertyMetrics)
cavity_filling_level = EmbeddedDocumentField(PropertyMetrics)
marshall_compression_temperature = EmbeddedDocumentField(PropertyMetrics)
expired_binder_quantity = EmbeddedDocumentField(PropertyMetrics)
water_sensitivity_ITSR = EmbeddedDocumentField(PropertyMetrics)
swelling_DIN1996 = EmbeddedDocumentField(PropertyMetrics)

View File

@@ -29,6 +29,10 @@ class EnumerateBase(Document):
class AdditiveEnum(EnumerateBase): class AdditiveEnum(EnumerateBase):
name = StringField() name = StringField()
class AdditiveSubEnum(EnumerateBase):
categoryId = LazyReferenceField(AdditiveEnum, required=True)
name = StringField()
# Gesteine # Gesteine
class DeliveryGrain(EnumerateBase): class DeliveryGrain(EnumerateBase):
name = StringField() name = StringField()