import laying model of client side

This commit is contained in:
2026-01-15 23:50:08 +05:30
parent 0bb670b152
commit c9a27b098b
5 changed files with 54 additions and 34 deletions

View File

@@ -1,34 +1,3 @@
# from flask import Flask
# from app.config import Config
# from app.services.db_service import db
# def create_app():
# app = Flask(__name__)
# app.config.from_object(Config)
# db.init_app(app)
# from app.routes.auth import auth_bp
# from app.routes.user import user_bp
# from app.routes.dashboard import dashboard_bp
# from app.routes.subcontractor_routes import subcontractor_bp
# from app.routes.file_import import file_import_bp
# from app.routes.file_report import file_report_bp
# from app.routes.generate_comparison_report import generate_report_bp
# from app.routes.file_format import file_format
# app.register_blueprint(auth_bp)
# app.register_blueprint(user_bp)
# app.register_blueprint(dashboard_bp)
# app.register_blueprint(subcontractor_bp)
# app.register_blueprint(file_import_bp)
# app.register_blueprint(file_report_bp)
# app.register_blueprint(generate_report_bp)
# app.register_blueprint(file_format)
# return app
from flask import Flask, redirect, url_for
from app.config import Config
from app.services.db_service import db

View File

@@ -0,0 +1,47 @@
from app import db
from datetime import datetime
class LayingClient(db.Model):
__tablename__ = "laying_client"
id = db.Column(db.Integer, primary_key=True)
# Foreign Key to Subcontractor tables
# 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")
# Basic Fields
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}

View File

@@ -5,7 +5,7 @@ class Laying(db.Model):
__tablename__ = "laying"
id = db.Column(db.Integer, primary_key=True)
# Foreign Key to Subcontractor table
# Foreign Key to Subcontractor tables
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")

View File

@@ -16,6 +16,7 @@ from app.models.laying_model import Laying
from app.models.tr_ex_client_model import TrenchExcavationClient
from app.models.mh_ex_client_model import ManholeExcavationClient
from app.models.mh_dc_client_model import ManholeDomesticChamberClient
from app.models.laying_client_model import LayingClient
@@ -335,10 +336,12 @@ class FileService:
df_tr_ex = pd.read_excel(filepath, sheet_name="Tr.Ex.", header=4)
df_mh_ex = pd.read_excel(filepath, sheet_name="MH Ex.", header=4)
df_mh_dc = pd.read_excel(filepath, sheet_name="MH & DC", header=3)
df_lay = pd.read_excel(filepath, sheet_name="Laying & Bedding", header=3)
self.save_client_data(df_tr_ex, TrenchExcavationClient, RA_Bill_No)
self.save_client_data(df_mh_ex, ManholeExcavationClient, RA_Bill_No)
self.save_client_data(df_mh_dc, ManholeDomesticChamberClient, RA_Bill_No)
self.save_client_data(df_lay, LayingClient, RA_Bill_No)
db.session.commit()
return True, "Client file uploaded successfully."
@@ -369,3 +372,4 @@ class FileService:
record = model(RA_Bill_No=RA_Bill_No, **record_data)
db.session.add(record)

View File

@@ -2,7 +2,7 @@
{% block content %}
<div class="container-fluid mt-4">
<h2 class="mb-4">File Comparison</h2>
<h2 class="mb-4">Client File Reports</h2>
{% with messages = get_flashed_messages(with_categories=true) %}
{% if messages %}