[add]: Penal Charges
This commit was merged in pull request #23.
This commit is contained in:
@@ -82,6 +82,9 @@ class LoanRepaymentScheduleService:
|
|||||||
'total_repayment_amount': schedule.total_repayment_amount,
|
'total_repayment_amount': schedule.total_repayment_amount,
|
||||||
'paid': schedule.paid,
|
'paid': schedule.paid,
|
||||||
'paid_at': schedule.paid_at.isoformat() if schedule.paid_at else None,
|
'paid_at': schedule.paid_at.isoformat() if schedule.paid_at else None,
|
||||||
|
'penal_charge': schedule.penal_charge,
|
||||||
|
'penal_count': schedule.penal_count,
|
||||||
|
'last_penal_date': schedule.last_penal_date.isoformat() if schedule.last_penal_date else None,
|
||||||
'created_at': schedule.created_at.isoformat() if schedule.created_at else None,
|
'created_at': schedule.created_at.isoformat() if schedule.created_at else None,
|
||||||
'updated_at': schedule.updated_at.isoformat() if schedule.updated_at else None
|
'updated_at': schedule.updated_at.isoformat() if schedule.updated_at else None
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -116,6 +116,8 @@ class LoanService:
|
|||||||
'verifyDescription': loan.verify_description,
|
'verifyDescription': loan.verify_description,
|
||||||
'disburseDate': loan.disburse_date.isoformat() if loan.disburse_date else None,
|
'disburseDate': loan.disburse_date.isoformat() if loan.disburse_date else None,
|
||||||
'disburseVerify': loan.disburse_verify.isoformat() if loan.disburse_verify else None,
|
'disburseVerify': loan.disburse_verify.isoformat() if loan.disburse_verify else None,
|
||||||
|
'totalPenalCharge': loan.total_penal_charge,
|
||||||
|
'lastPenalDate': loan.last_penal_date.isoformat() if loan.last_penal_date else None,
|
||||||
})
|
})
|
||||||
|
|
||||||
# Calculate total pages
|
# Calculate total pages
|
||||||
|
|||||||
@@ -45,6 +45,10 @@ class Loan(db.Model):
|
|||||||
reference = db.Column(db.String(50), nullable=True)
|
reference = db.Column(db.String(50), nullable=True)
|
||||||
balance = db.Column(db.Float, nullable=True, default=0.0)
|
balance = db.Column(db.Float, nullable=True, default=0.0)
|
||||||
|
|
||||||
|
total_penal_charge = db.Column(db.Float, default=0.0)
|
||||||
|
last_penal_date = db.Column(db.DateTime, nullable=True)
|
||||||
|
|
||||||
|
|
||||||
customer = relationship(
|
customer = relationship(
|
||||||
"Customer",
|
"Customer",
|
||||||
primaryjoin="Customer.id == Loan.customer_id",
|
primaryjoin="Customer.id == Loan.customer_id",
|
||||||
@@ -169,6 +173,8 @@ class Loan(db.Model):
|
|||||||
'disburseVerify': self.disburse_verify.isoformat() if self.disburse_verify else None,
|
'disburseVerify': self.disburse_verify.isoformat() if self.disburse_verify else None,
|
||||||
'reference': self.reference,
|
'reference': self.reference,
|
||||||
'balance': self.balance,
|
'balance': self.balance,
|
||||||
|
'totalPenalCharge': self.total_penal_charge,
|
||||||
|
'lastPenalDate': self.last_penal_date.isoformat() if self.last_penal_date else None,
|
||||||
}
|
}
|
||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
|
|||||||
@@ -20,6 +20,12 @@ class LoanRepaymentSchedule(db.Model):
|
|||||||
created_at = db.Column(db.DateTime, default=datetime.now(timezone.utc))
|
created_at = db.Column(db.DateTime, default=datetime.now(timezone.utc))
|
||||||
updated_at = db.Column(db.DateTime, default=datetime.now(timezone.utc), onupdate=datetime.now(timezone.utc))
|
updated_at = db.Column(db.DateTime, default=datetime.now(timezone.utc), onupdate=datetime.now(timezone.utc))
|
||||||
|
|
||||||
|
|
||||||
|
penal_charge = db.Column(db.Float, default=0.0)
|
||||||
|
penal_count = db.Column(db.Integer, default=0)
|
||||||
|
last_penal_date = db.Column(db.DateTime, nullable=True)
|
||||||
|
|
||||||
|
|
||||||
# loan = relationship(
|
# loan = relationship(
|
||||||
# "Loan",
|
# "Loan",
|
||||||
# primaryjoin="LoanRepaymentSchedule.loan_id == Loan.id",
|
# primaryjoin="LoanRepaymentSchedule.loan_id == Loan.id",
|
||||||
@@ -96,6 +102,9 @@ class LoanRepaymentSchedule(db.Model):
|
|||||||
'total_repayment_amount': self.total_repayment_amount,
|
'total_repayment_amount': self.total_repayment_amount,
|
||||||
'paid': self.paid,
|
'paid': self.paid,
|
||||||
'paid_at': self.paid_at.isoformat() if self.paid_at else None,
|
'paid_at': self.paid_at.isoformat() if self.paid_at else None,
|
||||||
|
'penal_charge': self.penal_charge,
|
||||||
|
'penal_count': self.penal_count,
|
||||||
|
'last_penal_date': self.last_penal_date.isoformat() if self.last_penal_date else None,
|
||||||
'created_at': self.created_at.isoformat() if self.created_at else None,
|
'created_at': self.created_at.isoformat() if self.created_at else None,
|
||||||
'updated_at': self.updated_at.isoformat() if self.updated_at else None
|
'updated_at': self.updated_at.isoformat() if self.updated_at else None
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user