added overdue loan methods
This commit was merged in pull request #61.
This commit is contained in:
@@ -89,13 +89,50 @@ class LoanRepaymentSchedule(db.Model):
|
||||
@classmethod
|
||||
def get_overdue_repayment_schedule(cls):
|
||||
"""
|
||||
Get all overdue repayment schedules.
|
||||
Get all overdue repayment schedules that are not repaid.
|
||||
"""
|
||||
try:
|
||||
return cls.query.filter(cls.due_date < datetime.now(timezone.utc), cls.paid == False).all()
|
||||
return cls.query.filter(cls.due_date < datetime.now(timezone.utc), cls.paid == False).order_by(cls.due_date.asc()).all()
|
||||
except Exception as e:
|
||||
logger.error(f"Error fetching overdue repayment schedules: {e}")
|
||||
return []
|
||||
@classmethod
|
||||
def get_active_overdue_repayment_schedule(cls):
|
||||
"""
|
||||
Get all overdue repayment schedules that are active.
|
||||
"""
|
||||
try:
|
||||
return (
|
||||
cls.query
|
||||
.filter(
|
||||
cls.due_date < datetime.now(timezone.utc),
|
||||
cls.paid_status == RepaymentScheduleStatus.ACTIVE
|
||||
)
|
||||
.order_by(cls.due_date.asc())
|
||||
.all()
|
||||
)
|
||||
except Exception as e:
|
||||
logger.error(f"Error fetching active overdue repayment schedules: {e}")
|
||||
return []
|
||||
@classmethod
|
||||
def get_partially_paid_overdue_repayment_schedule(cls):
|
||||
"""
|
||||
Get all overdue repayment schedules that are partially paid.
|
||||
"""
|
||||
try:
|
||||
return (
|
||||
cls.query
|
||||
.filter(
|
||||
cls.due_date < datetime.now(timezone.utc),
|
||||
cls.paid_status == RepaymentScheduleStatus.PARTIALLY_PAID
|
||||
)
|
||||
.order_by(cls.due_date.asc())
|
||||
.all()
|
||||
)
|
||||
except Exception as e:
|
||||
logger.error(f"Error fetching partially paid overdue repayment schedules: {e}")
|
||||
return []
|
||||
|
||||
|
||||
@classmethod
|
||||
def get_repayment_schedule_by_transaction_id(cls, transaction_id):
|
||||
|
||||
Reference in New Issue
Block a user