patches and updates related to mifosx-175 Loan Derived Fields

This commit is contained in:
John Woodlock
2013-03-04 13:22:11 +00:00
parent d81316541d
commit b6c09cab38
6 changed files with 242 additions and 29 deletions
@@ -0,0 +1,53 @@
/*
This patch (or something like it) needs to run daily (after midnight and before next day opening)
against each tenant to keep the arrears values accurate
*/
truncate table m_loan_arrears_aging;
INSERT INTO m_loan_arrears_aging
(`loan_id`,
`principal_overdue_derived`,
`interest_overdue_derived`,
`fee_charges_overdue_derived`,
`penalty_charges_overdue_derived`,
`total_overdue_derived`,
`overdue_since_date_derived`)
select ml.id as loanId,
SUM(
(ifnull(mr.principal_amount,0) - ifnull(mr.principal_completed_derived, 0))
) as principal_overdue_derived,
SUM(
(ifnull(mr.interest_amount,0) - ifnull(mr.interest_completed_derived, 0))
) as interest_overdue_derived,
SUM(
(ifnull(mr.fee_charges_amount,0) - ifnull(mr.fee_charges_completed_derived, 0))
) as fee_charges_overdue_derived,
SUM(
(ifnull(mr.penalty_charges_amount,0) - ifnull(mr.penalty_charges_completed_derived, 0))
) as penalty_charges_overdue_derived,
SUM(
(ifnull(mr.principal_amount,0) - ifnull(mr.principal_completed_derived, 0))
) +
SUM(
(ifnull(mr.interest_amount,0) - ifnull(mr.interest_completed_derived, 0))
) +
SUM(
(ifnull(mr.fee_charges_amount,0) - ifnull(mr.fee_charges_completed_derived, 0))
) +
SUM(
(ifnull(mr.penalty_charges_amount,0) - ifnull(mr.penalty_charges_completed_derived, 0))
) as total_overdue_derived,
MIN(mr.duedate) as overdue_since_date_derived
FROM m_loan ml
INNER JOIN m_loan_repayment_schedule mr on mr.loan_id = ml.id
WHERE ml.loan_status_id = 300 /*active*/
and mr.completed_derived is false
and mr.duedate < CURDATE()
GROUP BY ml.id;