79 lines
3.0 KiB
Python
79 lines
3.0 KiB
Python
from extensions.ext_database import db
|
|
|
|
|
|
class ComponentFailure(db.Model):
|
|
__tablename__ = "component_failure"
|
|
__table_args__ = (
|
|
db.UniqueConstraint("Date", "Component", "FailureMode", "Cause", "Technician", name="unique_failure_entry"),
|
|
)
|
|
|
|
FailureID = db.Column(db.Integer, primary_key=True, autoincrement=True)
|
|
Date = db.Column(db.Date, nullable=False)
|
|
Component = db.Column(db.String(255), nullable=False)
|
|
FailureMode = db.Column(db.String(255), nullable=False)
|
|
Cause = db.Column(db.String(255), nullable=False)
|
|
RepairAction = db.Column(db.Text, nullable=True)
|
|
Technician = db.Column(db.String(255), nullable=False)
|
|
|
|
|
|
class Maintenance(db.Model):
|
|
__tablename__ = "maintenance"
|
|
|
|
MaintenanceID = db.Column(db.Integer, primary_key=True, autoincrement=True)
|
|
MaintenanceType = db.Column(db.String(255), nullable=False)
|
|
MaintenanceDate = db.Column(db.Date, nullable=False)
|
|
ServiceDescription = db.Column(db.Text, nullable=True)
|
|
PartsReplaced = db.Column(db.Text, nullable=True)
|
|
Technician = db.Column(db.String(255), nullable=False)
|
|
|
|
|
|
class OperationalData(db.Model):
|
|
__tablename__ = "operational_data"
|
|
|
|
OperationID = db.Column(db.Integer, primary_key=True, autoincrement=True)
|
|
CraneUsage = db.Column(db.Integer, nullable=False)
|
|
LoadWeight = db.Column(db.Float, nullable=False)
|
|
LoadFrequency = db.Column(db.Integer, nullable=False)
|
|
EnvironmentalConditions = db.Column(db.Text, nullable=True)
|
|
|
|
|
|
class IncidentData(db.Model):
|
|
__tablename__ = "incident_data"
|
|
|
|
IncidentID = db.Column(db.Integer, primary_key=True, autoincrement=True)
|
|
IncidentDescription = db.Column(db.Text, nullable=False)
|
|
IncidentDate = db.Column(db.Date, nullable=False)
|
|
Consequences = db.Column(db.Text, nullable=True)
|
|
ResponseActions = db.Column(db.Text, nullable=True)
|
|
|
|
|
|
class ReliabilityData(db.Model):
|
|
__tablename__ = "reliability_data"
|
|
|
|
ComponentID = db.Column(db.Integer, primary_key=True, autoincrement=True)
|
|
ComponentName = db.Column(db.String(255), nullable=False)
|
|
MTBF = db.Column(db.Float, nullable=False)
|
|
FailureRate = db.Column(db.Float, nullable=False)
|
|
|
|
|
|
class SafetyData(db.Model):
|
|
__tablename__ = "safety_data"
|
|
|
|
SafetyID = db.Column(db.Integer, primary_key=True, autoincrement=True)
|
|
SafetyInspectionDate = db.Column(db.Date, nullable=False)
|
|
SafetyFindings = db.Column(db.Text, nullable=True)
|
|
SafetyIncidentDescription = db.Column(db.Text, nullable=True)
|
|
ComplianceStatus = db.Column(db.String(50), nullable=False)
|
|
|
|
|
|
class ComponentFailureStats(db.Model):
|
|
__tablename__ = "component_failure_stats"
|
|
|
|
StatID = db.Column(db.Integer, primary_key=True, autoincrement=True)
|
|
Component = db.Column(db.String(255), nullable=False)
|
|
FailureMode = db.Column(db.String(255), nullable=False)
|
|
Cause = db.Column(db.String(255), nullable=False)
|
|
PossibleAction = db.Column(db.Text, nullable=True)
|
|
Probability = db.Column(db.Float, nullable=False)
|
|
MTBF = db.Column(db.Float, nullable=False)
|