2026-01-15 12:27:29 +05:30
|
|
|
from app import db
|
|
|
|
|
from datetime import datetime
|
|
|
|
|
|
|
|
|
|
class Laying(db.Model):
|
|
|
|
|
__tablename__ = "laying"
|
|
|
|
|
|
|
|
|
|
id = db.Column(db.Integer, primary_key=True)
|
2026-01-15 23:50:08 +05:30
|
|
|
# Foreign Key to Subcontractor tables
|
2026-01-15 12:27:29 +05:30
|
|
|
subcontractor_id = db.Column(db.Integer, db.ForeignKey("subcontractors.id"), nullable=False)
|
|
|
|
|
# Relationship for easy access (subcontractor.subcontractor_name)
|
|
|
|
|
subcontractor = db.relationship("Subcontractor", backref="laying_records")
|
|
|
|
|
|
2026-01-20 16:33:45 +05:30
|
|
|
# Pipe Laying Fields
|
2026-01-15 12:27:29 +05:30
|
|
|
Location = db.Column(db.String(500))
|
|
|
|
|
MH_NO = db.Column(db.String(100))
|
|
|
|
|
CC_length = db.Column(db.Float)
|
|
|
|
|
Pipe_Dia_mm = db.Column(db.Float)
|
|
|
|
|
ID_of_MH_m = db.Column(db.Float)
|
|
|
|
|
Laying_Length = db.Column(db.Float)
|
|
|
|
|
|
|
|
|
|
pipe_150_mm = db.Column(db.Float)
|
|
|
|
|
pipe_200_mm = db.Column(db.Float)
|
|
|
|
|
pipe_250_mm = db.Column(db.Float)
|
|
|
|
|
pipe_300_mm = db.Column(db.Float)
|
|
|
|
|
pipe_350_mm = db.Column(db.Float)
|
|
|
|
|
pipe_400_mm = db.Column(db.Float)
|
|
|
|
|
pipe_450_mm = db.Column(db.Float)
|
|
|
|
|
pipe_500_mm = db.Column(db.Float)
|
|
|
|
|
pipe_600_mm = db.Column(db.Float)
|
|
|
|
|
pipe_700_mm = db.Column(db.Float)
|
|
|
|
|
pipe_900_mm = db.Column(db.Float)
|
|
|
|
|
pipe_1200_mm = db.Column(db.Float)
|
|
|
|
|
|
|
|
|
|
Total = db.Column(db.Float)
|
|
|
|
|
Remarks = db.Column(db.String(500))
|
|
|
|
|
RA_Bill_No=db.Column(db.String(500))
|
|
|
|
|
|
|
|
|
|
created_at = db.Column(db.DateTime, default=datetime.today)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def __repr__(self):
|
|
|
|
|
return f"<LayingModel {self.Location}>"
|
|
|
|
|
|
|
|
|
|
def serialize(self):
|
|
|
|
|
return {c.name: getattr(self, c.name) for c in self.__table__.columns}
|
2026-01-20 16:33:45 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
def sum_laying_fields():
|
|
|
|
|
return [
|
|
|
|
|
"pipe_150_mm", "pipe_200_mm", "pipe_250_mm",
|
|
|
|
|
"pipe_300_mm", "pipe_350_mm", "pipe_400_mm",
|
|
|
|
|
"pipe_450_mm", "pipe_500_mm", "pipe_600_mm",
|
|
|
|
|
"pipe_700_mm", "pipe_900_mm", "pipe_1200_mm"
|
|
|
|
|
]
|