Skip to content

Commit 2e720e3

Browse files
francisguchieptuomola
authored andcommitted
Fineract-1135 error at loan repayment
1 parent 665fde4 commit 2e720e3

File tree

1 file changed

+22
-21
lines changed

1 file changed

+22
-21
lines changed

fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/service/LoanReadPlatformServiceImpl.java

+22-21
Original file line numberDiff line numberDiff line change
@@ -431,7 +431,7 @@ public LoanTransactionData retrieveLoanTransactionTemplate(final Long loanId) {
431431
this.context.authenticatedUser();
432432

433433
RepaymentTransactionTemplateMapper mapper = new RepaymentTransactionTemplateMapper();
434-
String sql = "select " + mapper.schema() + " where l.id =?";
434+
String sql = "select " + mapper.schema();
435435
LoanTransactionData loanTransactionData = this.jdbcTemplate.queryForObject(sql, mapper, LoanTransactionType.REPAYMENT.getValue(),
436436
loanId, loanId);
437437
final Collection<PaymentTypeData> paymentOptions = this.paymentTypeReadPlatformService.retrieveAllPaymentTypes();
@@ -2176,35 +2176,36 @@ private static final class RepaymentTransactionTemplateMapper implements RowMapp
21762176
public String schema() {
21772177
StringBuilder sqlBuilder = new StringBuilder();
21782178

2179-
sqlBuilder.append("if(max(tr.transaction_date)>ls.dueDate,max(tr.transaction_date),ls.dueDate) as transactionDate,");
2179+
sqlBuilder.append("if(max(tr.transaction_date)>ls.dueDate,max(tr.transaction_date),ls.dueDate) as transactionDate, ");
21802180
sqlBuilder.append(
2181-
"ls.principal_amount - IFNULL(ls.principal_writtenoff_derived,0) - IFNULL(ls.principal_completed_derived,0) as principalDue,");
2181+
"ls.principal_amount - IFNULL(ls.principal_writtenoff_derived,0) - IFNULL(ls.principal_completed_derived,0) as principalDue, ");
21822182
sqlBuilder.append(
2183-
"ls.interest_amount - IFNULL(ls.interest_completed_derived,0) - IFNULL(ls.interest_waived_derived,0) - IFNULL(ls.interest_writtenoff_derived,0) as interestDue,");
2183+
"ls.interest_amount - IFNULL(ls.interest_completed_derived,0) - IFNULL(ls.interest_waived_derived,0) - IFNULL(ls.interest_writtenoff_derived,0) as interestDue, ");
21842184
sqlBuilder.append(
2185-
"ls.fee_charges_amount - IFNULL(ls.fee_charges_completed_derived,0) - IFNULL(ls.fee_charges_writtenoff_derived,0) - IFNULL(ls.fee_charges_waived_derived,0) as feeDue,");
2185+
"ls.fee_charges_amount - IFNULL(ls.fee_charges_completed_derived,0) - IFNULL(ls.fee_charges_writtenoff_derived,0) - IFNULL(ls.fee_charges_waived_derived,0) as feeDue, ");
21862186
sqlBuilder.append(
2187-
"ls.penalty_charges_amount - IFNULL(ls.penalty_charges_completed_derived,0) - IFNULL(ls.penalty_charges_writtenoff_derived,0) - IFNULL(ls.penalty_charges_waived_derived,0) as penaltyDue,");
2187+
"ls.penalty_charges_amount - IFNULL(ls.penalty_charges_completed_derived,0) - IFNULL(ls.penalty_charges_writtenoff_derived,0) - IFNULL(ls.penalty_charges_waived_derived,0) as penaltyDue, ");
21882188
sqlBuilder.append(
2189-
" l.currency_code as currencyCode, l.currency_digits as currencyDigits, l.currency_multiplesof as inMultiplesOf, rc.`name` as currencyName, ");
2190-
sqlBuilder.append(" rc.display_symbol as currencyDisplaySymbol, rc.internationalized_name_code as currencyNameCode ");
2191-
sqlBuilder.append(" FROM m_loan l");
2189+
"l.currency_code as currencyCode, l.currency_digits as currencyDigits, l.currency_multiplesof as inMultiplesOf, rc.`name` as currencyName, ");
2190+
sqlBuilder.append("rc.display_symbol as currencyDisplaySymbol, rc.internationalized_name_code as currencyNameCode ");
2191+
sqlBuilder.append("FROM m_loan l ");
21922192
sqlBuilder.append(
2193-
" LEFT JOIN m_loan_transaction tr ON tr.loan_id = l.id AND tr.transaction_type_enum = ? and tr.is_reversed = 0");
2194-
sqlBuilder.append(" join m_currency rc on rc.`code` = l.currency_code ");
2195-
sqlBuilder.append(" JOIN m_loan_repayment_schedule ls ON ls.loan_id = l.id AND ls.completed_derived = 0 ");
2196-
sqlBuilder.append(" join( ");
2197-
sqlBuilder.append(" (select min(ls.duedate) datedue,ls.loan_id from m_loan_repayment_schedule ls ");
2198-
sqlBuilder.append(" where ls.loan_id = ? and ls.completed_derived = 0)");
2199-
sqlBuilder.append(" )asq on asq.loan_id = ls.loan_id and asq.datedue = ls.duedate");
2200-
sqlBuilder.append(" GROUP BY ls.duedate");
2201-
sqlBuilder.append(",ls.principal_amount,ls.principal_completed_derived,ls.principal_writtenoff_derived");
2193+
"LEFT JOIN m_loan_transaction tr ON tr.loan_id = l.id AND tr.transaction_type_enum = ? and tr.is_reversed = 0 ");
2194+
sqlBuilder.append("join m_currency rc on rc.`code` = l.currency_code ");
2195+
sqlBuilder.append("JOIN m_loan_repayment_schedule ls ON ls.loan_id = l.id AND ls.completed_derived = 0 ");
2196+
sqlBuilder.append("join( ");
2197+
sqlBuilder.append("(select min(ls.duedate) datedue,ls.loan_id from m_loan_repayment_schedule ls ");
2198+
sqlBuilder.append("where ls.loan_id = ? and ls.completed_derived = 0) )asq ");
2199+
sqlBuilder.append("on asq.loan_id = ls.loan_id and asq.datedue = ls.duedate ");
2200+
sqlBuilder.append("WHERE l.id = ? ");
2201+
sqlBuilder.append("GROUP BY ls.duedate, ");
2202+
sqlBuilder.append("ls.principal_amount,ls.principal_completed_derived,ls.principal_writtenoff_derived, ");
22022203
sqlBuilder
2203-
.append(",ls.interest_amount,ls.interest_completed_derived,ls.interest_waived_derived,ls.interest_writtenoff_derived");
2204+
.append("ls.interest_amount,ls.interest_completed_derived,ls.interest_waived_derived,ls.interest_writtenoff_derived, ");
22042205
sqlBuilder.append(
2205-
",ls.fee_charges_amount,ls.fee_charges_completed_derived, ls.fee_charges_writtenoff_derived, ls.fee_charges_waived_derived");
2206+
"ls.fee_charges_amount,ls.fee_charges_completed_derived, ls.fee_charges_writtenoff_derived, ls.fee_charges_waived_derived, ");
22062207
sqlBuilder.append(
2207-
",ls.penalty_charges_amount, ls.penalty_charges_completed_derived, ls.penalty_charges_writtenoff_derived, ls.penalty_charges_waived_derived");
2208+
"ls.penalty_charges_amount, ls.penalty_charges_completed_derived, ls.penalty_charges_writtenoff_derived, ls.penalty_charges_waived_derived ");
22082209
return sqlBuilder.toString();
22092210

22102211
}

0 commit comments

Comments
 (0)