[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,
|
||||
'paid': schedule.paid,
|
||||
'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,
|
||||
'updated_at': schedule.updated_at.isoformat() if schedule.updated_at else None
|
||||
})
|
||||
|
||||
@@ -116,6 +116,8 @@ class LoanService:
|
||||
'verifyDescription': loan.verify_description,
|
||||
'disburseDate': loan.disburse_date.isoformat() if loan.disburse_date 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
|
||||
|
||||
@@ -45,6 +45,10 @@ class Loan(db.Model):
|
||||
reference = db.Column(db.String(50), nullable=True)
|
||||
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",
|
||||
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,
|
||||
'reference': self.reference,
|
||||
'balance': self.balance,
|
||||
'totalPenalCharge': self.total_penal_charge,
|
||||
'lastPenalDate': self.last_penal_date.isoformat() if self.last_penal_date else None,
|
||||
}
|
||||
|
||||
def __repr__(self):
|
||||
|
||||
@@ -20,6 +20,12 @@ class LoanRepaymentSchedule(db.Model):
|
||||
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))
|
||||
|
||||
|
||||
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",
|
||||
# primaryjoin="LoanRepaymentSchedule.loan_id == Loan.id",
|
||||
@@ -96,6 +102,9 @@ class LoanRepaymentSchedule(db.Model):
|
||||
'total_repayment_amount': self.total_repayment_amount,
|
||||
'paid': self.paid,
|
||||
'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,
|
||||
'updated_at': self.updated_at.isoformat() if self.updated_at else None
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user