add machine and calibration data
This commit is contained in:
@@ -1,7 +1,10 @@
|
|||||||
|
from .calibration import *
|
||||||
from .citt import *
|
from .citt import *
|
||||||
|
from .components import *
|
||||||
from .data import *
|
from .data import *
|
||||||
from .enumeration import *
|
from .enumeration import *
|
||||||
from .infrastructure import *
|
from .infrastructure import *
|
||||||
|
from .machines import *
|
||||||
from .material import *
|
from .material import *
|
||||||
from .metrics import *
|
from .metrics import *
|
||||||
from .norm_documents import *
|
from .norm_documents import *
|
||||||
|
|||||||
91
src/paveit/datamodels/calibration.py
Normal file
91
src/paveit/datamodels/calibration.py
Normal file
@@ -0,0 +1,91 @@
|
|||||||
|
import datetime
|
||||||
|
|
||||||
|
from mongoengine import *
|
||||||
|
|
||||||
|
from paveit.datamodels.components import Components
|
||||||
|
from paveit.helper import fetch_recursive, mongo_to_dict
|
||||||
|
|
||||||
|
from .usermanagement import Organisation
|
||||||
|
|
||||||
|
|
||||||
|
class Calibrarion(Document):
|
||||||
|
""" Durchführung von Kalibrierungen der Prüfmittel, externer Dienst """
|
||||||
|
|
||||||
|
company = StringField(required=True)
|
||||||
|
name = StringField(required=True)
|
||||||
|
|
||||||
|
department = StringField(required=False)
|
||||||
|
room = StringField(required=False)
|
||||||
|
serialnumber = StringField(required=False)
|
||||||
|
|
||||||
|
extrainfo = StringField(required=False)
|
||||||
|
|
||||||
|
component = LazyReferenceField(Components, required=True)
|
||||||
|
|
||||||
|
date = DateTimeField(default=datetime.datetime.now,
|
||||||
|
wtf_options={"render_kw": {
|
||||||
|
"step": "60"
|
||||||
|
}})
|
||||||
|
|
||||||
|
org_id = LazyReferenceField(Organisation,
|
||||||
|
required=True,
|
||||||
|
reverse_delete_rule=CASCADE)
|
||||||
|
|
||||||
|
tags = ListField(StringField())
|
||||||
|
|
||||||
|
def to_dict(self):
|
||||||
|
# convert data to dict
|
||||||
|
data = fetch_recursive(self)
|
||||||
|
data = mongo_to_dict(data)
|
||||||
|
|
||||||
|
return data
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
'allow_inheritance': True,
|
||||||
|
'index_opts': {},
|
||||||
|
'index_background': True,
|
||||||
|
'index_cls': False,
|
||||||
|
'auto_create_index': True,
|
||||||
|
'collection': 'calibration',
|
||||||
|
"db_alias": 'dblabtests',
|
||||||
|
'indexes': [
|
||||||
|
[("name", 1)],
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
#####################
|
||||||
|
class Monitoring(Document):
|
||||||
|
""" Eigenüberwachung der Prüfmittel, interne Durchführung """
|
||||||
|
|
||||||
|
date = DateTimeField(default=datetime.datetime.now,
|
||||||
|
wtf_options={"render_kw": {
|
||||||
|
"step": "60"
|
||||||
|
}})
|
||||||
|
|
||||||
|
component = LazyReferenceField(Components, required=True)
|
||||||
|
|
||||||
|
org_id = LazyReferenceField(Organisation,
|
||||||
|
required=True,
|
||||||
|
reverse_delete_rule=CASCADE)
|
||||||
|
|
||||||
|
tags = ListField(StringField())
|
||||||
|
|
||||||
|
def to_dict(self):
|
||||||
|
# convert data to dict
|
||||||
|
data = fetch_recursive(self)
|
||||||
|
data = mongo_to_dict(data)
|
||||||
|
|
||||||
|
return data
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
'allow_inheritance': True,
|
||||||
|
'index_opts': {},
|
||||||
|
'index_background': True,
|
||||||
|
'index_cls': False,
|
||||||
|
'auto_create_index': True,
|
||||||
|
'collection': 'calibration',
|
||||||
|
"db_alias": 'dblabtests',
|
||||||
|
'indexes': [
|
||||||
|
[("name", 1)],
|
||||||
|
]
|
||||||
|
}
|
||||||
66
src/paveit/datamodels/components.py
Executable file
66
src/paveit/datamodels/components.py
Executable file
@@ -0,0 +1,66 @@
|
|||||||
|
import datetime
|
||||||
|
|
||||||
|
from mongoengine import *
|
||||||
|
|
||||||
|
from paveit.helper import fetch_recursive, mongo_to_dict
|
||||||
|
|
||||||
|
from .usermanagement import Organisation
|
||||||
|
|
||||||
|
|
||||||
|
class Components(Document):
|
||||||
|
|
||||||
|
company = StringField(required=True)
|
||||||
|
name = StringField(required=True)
|
||||||
|
|
||||||
|
department = StringField(required=False)
|
||||||
|
room = StringField(required=False)
|
||||||
|
|
||||||
|
serialnumber = StringField(required=True) # Seriennummer
|
||||||
|
internalnumber = StringField(required=False) # Interne Bezeichnung
|
||||||
|
|
||||||
|
extrainfo = StringField(required=False)
|
||||||
|
|
||||||
|
date = DateTimeField(default=datetime.datetime.now,
|
||||||
|
wtf_options={"render_kw": {
|
||||||
|
"step": "60"
|
||||||
|
}})
|
||||||
|
|
||||||
|
org_id = LazyReferenceField(Organisation,
|
||||||
|
required=True,
|
||||||
|
reverse_delete_rule=CASCADE)
|
||||||
|
|
||||||
|
tags = ListField(StringField())
|
||||||
|
|
||||||
|
def to_dict(self):
|
||||||
|
# convert data to dict
|
||||||
|
data = fetch_recursive(self)
|
||||||
|
data = mongo_to_dict(data)
|
||||||
|
|
||||||
|
return data
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
'allow_inheritance': True,
|
||||||
|
'index_opts': {},
|
||||||
|
'index_background': True,
|
||||||
|
'index_cls': False,
|
||||||
|
'auto_create_index': True,
|
||||||
|
'collection': 'components',
|
||||||
|
"db_alias": 'dblabtests',
|
||||||
|
'indexes': [
|
||||||
|
[("name", 1)],
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
# Servohydraulik
|
||||||
|
class ComponentsServoHydraulicMachineTemperatureControl(Components):
|
||||||
|
""" Kraftmessdosen """
|
||||||
|
pass
|
||||||
|
|
||||||
|
class ComponentsServoHydraulicMachineKMD(Components):
|
||||||
|
""" Kraftmessdosen """
|
||||||
|
pass
|
||||||
|
|
||||||
|
class ComponentsServoHydraulicMachineLVDT(Components):
|
||||||
|
""" Wegaufnehmer """
|
||||||
|
pass
|
||||||
|
|
||||||
@@ -1,11 +1,11 @@
|
|||||||
|
import datetime
|
||||||
from enum import Enum
|
from enum import Enum
|
||||||
|
|
||||||
|
from mongoengine import *
|
||||||
|
|
||||||
|
from .usermanagement import Organisation
|
||||||
|
|
||||||
|
|
||||||
class LabtestsEnum(Enum):
|
|
||||||
CITTStiffness = 'CITTStiffness'
|
|
||||||
SHEARStiffness = 'SheartestStiffness'
|
|
||||||
|
|
||||||
|
|
||||||
class ProcessStatusEnum(Enum):
|
class ProcessStatusEnum(Enum):
|
||||||
"""Status eines Prozesses wie Projekt, Task
|
"""Status eines Prozesses wie Projekt, Task
|
||||||
|
|
||||||
@@ -37,3 +37,63 @@ class BitumenCategoryEnum(Enum):
|
|||||||
|
|
||||||
class AsphaltCategoryEnum(Enum):
|
class AsphaltCategoryEnum(Enum):
|
||||||
ATS = "Asphalttragschichtmischgut"
|
ATS = "Asphalttragschichtmischgut"
|
||||||
|
|
||||||
|
|
||||||
|
class LabtestsEnum(Enum):
|
||||||
|
# Performance
|
||||||
|
CITTStiffness = 'CITTStiffness'
|
||||||
|
SHEARStiffness = 'SheartestStiffness'
|
||||||
|
|
||||||
|
class Config(Document):
|
||||||
|
|
||||||
|
date = DateTimeField(default=datetime.datetime.now,
|
||||||
|
wtf_options={"render_kw": {
|
||||||
|
"step": "60"
|
||||||
|
}})
|
||||||
|
|
||||||
|
tags = ListField(StringField())
|
||||||
|
|
||||||
|
def to_dict(self):
|
||||||
|
# convert data to dict
|
||||||
|
data = fetch_recursive(self)
|
||||||
|
data = mongo_to_dict(data)
|
||||||
|
|
||||||
|
return data
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
'allow_inheritance': True,
|
||||||
|
'index_opts': {},
|
||||||
|
'index_background': True,
|
||||||
|
'index_cls': False,
|
||||||
|
'auto_create_index': True,
|
||||||
|
'collection': 'enumeration',
|
||||||
|
"db_alias": 'dblabtests',
|
||||||
|
'indexes': [
|
||||||
|
[("material", 1)],
|
||||||
|
[("name", 1)],
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
class Labtest(Config):
|
||||||
|
""" Speicherung der Zuordnung zwischen Firma und Labortest. Die hier
|
||||||
|
definierten Tests können die Kunden verwenden. Somit muss erstmal jeder
|
||||||
|
Einzeltest für jeden Kunden neu angelegt werden, jedoch ermöglicht dies auch
|
||||||
|
eine Steuerung der verfügbaren Module. Die Versuche werden nachfolgend in
|
||||||
|
Klasse/Kategorien eingeteil, um eine Trennung in Module zu ermöglichen."""
|
||||||
|
|
||||||
|
org_id = LazyReferenceField(Organisation,
|
||||||
|
required=True,
|
||||||
|
reverse_delete_rule=CASCADE)
|
||||||
|
|
||||||
|
test = EnumField(LabtestsEnum, required=True)
|
||||||
|
|
||||||
|
enabled = BooleanField(required=True, default=False)
|
||||||
|
|
||||||
|
class LabtestPerformAsphalt(Labtest):
|
||||||
|
""" Performanceprüfung Asphalt """
|
||||||
|
pass
|
||||||
|
|
||||||
|
class LabtestPerformBitumen(Labtest):
|
||||||
|
""" Performanceprüfung Bitumen """
|
||||||
|
pass
|
||||||
73
src/paveit/datamodels/machines.py
Executable file
73
src/paveit/datamodels/machines.py
Executable file
@@ -0,0 +1,73 @@
|
|||||||
|
import datetime
|
||||||
|
|
||||||
|
from mongoengine import *
|
||||||
|
|
||||||
|
from paveit.datamodels import (
|
||||||
|
ComponentsServoHydraulicMachineKMD,
|
||||||
|
ComponentsServoHydraulicMachineLVDT,
|
||||||
|
ComponentsServoHydraulicMachineTemperatureControl,
|
||||||
|
Labtest,
|
||||||
|
)
|
||||||
|
from paveit.helper import fetch_recursive, mongo_to_dict
|
||||||
|
|
||||||
|
from .usermanagement import Organisation
|
||||||
|
|
||||||
|
|
||||||
|
# ??? Labtest: Ist das richtig hier?
|
||||||
|
class Experiment(EmbeddedDocument):
|
||||||
|
test = LazyReferenceField(Labtest, required=True)
|
||||||
|
config = ListField(StringField(), required=True)
|
||||||
|
|
||||||
|
|
||||||
|
class Machine(Document):
|
||||||
|
|
||||||
|
company = StringField(required=True)
|
||||||
|
name = StringField(required=True)
|
||||||
|
|
||||||
|
department = StringField(required=False)
|
||||||
|
room = StringField(required=False)
|
||||||
|
|
||||||
|
serialnumber = StringField(required=True)
|
||||||
|
|
||||||
|
extrainfo = StringField(required=False)
|
||||||
|
|
||||||
|
tests = ListField(EmbeddedDocumentField(Experiment), required=True)
|
||||||
|
|
||||||
|
# Standartkomponenten festlegen: wenn ortsveränderlich, dann leer lassen
|
||||||
|
component_temperature = LazyReferenceField(ComponentsServoHydraulicMachineTemperatureControl, required=True)
|
||||||
|
component_kmd = LazyReferenceField(ComponentsServoHydraulicMachineKMD, required=False)
|
||||||
|
component_lvdt = ListField(LazyReferenceField(ComponentsServoHydraulicMachineLVDT), required=False)
|
||||||
|
|
||||||
|
date = DateTimeField(default=datetime.datetime.now,
|
||||||
|
wtf_options={"render_kw": {
|
||||||
|
"step": "60"
|
||||||
|
}})
|
||||||
|
|
||||||
|
org_id = LazyReferenceField(Organisation,
|
||||||
|
required=True,
|
||||||
|
reverse_delete_rule=CASCADE)
|
||||||
|
|
||||||
|
tags = ListField(StringField())
|
||||||
|
|
||||||
|
def to_dict(self):
|
||||||
|
# convert data to dict
|
||||||
|
data = fetch_recursive(self)
|
||||||
|
data = mongo_to_dict(data)
|
||||||
|
|
||||||
|
return data
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
'allow_inheritance': True,
|
||||||
|
'index_opts': {},
|
||||||
|
'index_background': True,
|
||||||
|
'index_cls': False,
|
||||||
|
'auto_create_index': True,
|
||||||
|
'collection': 'machines',
|
||||||
|
"db_alias": 'dblabtests',
|
||||||
|
'indexes': [
|
||||||
|
[("name", 1)],
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
class ServoHydraulicMachine(Machine):
|
||||||
|
pass
|
||||||
@@ -18,6 +18,10 @@ from .usermanagement import Organisation, User
|
|||||||
|
|
||||||
|
|
||||||
class Material(Document):
|
class Material(Document):
|
||||||
|
|
||||||
|
name = StringField(required=True)
|
||||||
|
producer = StringField(required=True)
|
||||||
|
|
||||||
|
|
||||||
date = DateTimeField(default=datetime.datetime.now,
|
date = DateTimeField(default=datetime.datetime.now,
|
||||||
wtf_options={"render_kw": {
|
wtf_options={"render_kw": {
|
||||||
@@ -63,66 +67,48 @@ class Material(Document):
|
|||||||
|
|
||||||
class Asphalt(Material):
|
class Asphalt(Material):
|
||||||
|
|
||||||
name = StringField()
|
|
||||||
producer = StringField()
|
|
||||||
batch_number = StringField()
|
|
||||||
|
|
||||||
norm = LazyReferenceField(NormDocumentAsphalt, required=True)
|
norm = LazyReferenceField(NormDocumentAsphalt, required=True)
|
||||||
|
|
||||||
limits = LazyReferenceField(EnumerateBase)
|
limits = LazyReferenceField(EnumerateBase)
|
||||||
|
ce_marking = StringField(required=False) #CE Kennzeichen
|
||||||
|
|
||||||
# Bitumen
|
# Bitumen
|
||||||
class Bitumen(Material):
|
class Bitumen(Material):
|
||||||
|
|
||||||
name = StringField()
|
|
||||||
producer = StringField()
|
|
||||||
batch_number = StringField()
|
|
||||||
|
|
||||||
category = EnumField(BitumenCategoryEnum, required=True)
|
|
||||||
norm = LazyReferenceField(NormDocumentBitumen, required=True)
|
norm = LazyReferenceField(NormDocumentBitumen, required=True)
|
||||||
|
|
||||||
parameter = ReferenceField(Material)
|
|
||||||
limits = LazyReferenceField(EnumerateBase)
|
limits = LazyReferenceField(EnumerateBase)
|
||||||
|
ce_marking = StringField(required=False) #CE Kennzeichen
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class Bitumenemulsion(Material):
|
class Bitumenemulsion(Material):
|
||||||
|
|
||||||
norm = StringField(required=False, default='TP Asphalt Teil 24')
|
norm = StringField(required=False, default='TP Asphalt Teil 24')
|
||||||
|
limits = LazyReferenceField(EnumerateBase)
|
||||||
name = StringField()
|
ce_marking = StringField(required=False) #CE Kennzeichen
|
||||||
material = StringField()
|
|
||||||
|
|
||||||
young_modulus = DictField()
|
|
||||||
|
|
||||||
|
|
||||||
class Epoxy(Material):
|
class Epoxy(Material):
|
||||||
norm = StringField(required=False, default='TP Asphalt Teil 24')
|
|
||||||
name = StringField()
|
|
||||||
|
|
||||||
material = StringField()
|
|
||||||
|
|
||||||
young_modulus = DictField()
|
norm = StringField(required=False, default='TP Asphalt Teil 24')
|
||||||
|
limits = LazyReferenceField(EnumerateBase)
|
||||||
|
ce_marking = StringField(required=False) #CE Kennzeichen
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class Kompaktasphalt(Material):
|
class Kompaktasphalt(Material):
|
||||||
norm = StringField(required=False, default='TP Asphalt Teil 24')
|
norm = StringField(required=False, default='TP Asphalt Teil 24')
|
||||||
name = StringField()
|
name = StringField()
|
||||||
|
ce_marking = StringField(required=False) #CE Kennzeichen
|
||||||
|
|
||||||
|
|
||||||
class Aggregate(Material):
|
class Aggregate(Material):
|
||||||
|
|
||||||
norm = LazyReferenceField(NormDocumentAggregate, required=True)
|
norm = LazyReferenceField(NormDocumentAggregate, required=True)
|
||||||
|
limits = LazyReferenceField(DeliveryGrain, required=True,
|
||||||
name = StringField(required=True)
|
|
||||||
producer = StringField(required=True)
|
|
||||||
supply_source = StringField(required=True) #Bezugsquelle
|
|
||||||
batch_number = StringField()
|
|
||||||
ce_marking = StringField(required=True) #CE Kennzeichen
|
|
||||||
|
|
||||||
delivery_grain = LazyReferenceField(DeliveryGrain,
|
|
||||||
required=True,
|
|
||||||
reverse_delete_rule=CASCADE) #Lieferkörnung
|
reverse_delete_rule=CASCADE) #Lieferkörnung
|
||||||
|
|
||||||
|
ce_marking = StringField(required=False) #CE Kennzeichen
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -70,7 +70,7 @@ def mongo_get_results(resultsmodel, results: DataFrame, datamodel,
|
|||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def fetch_recursive(data, fetch_parameter=['norm']):
|
def fetch_recursive(data, fetch_parameter=['norm', 'limits']):
|
||||||
|
|
||||||
fields = data._fields
|
fields = data._fields
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user