[ 
https://issues.apache.org/jira/browse/FINERACT-9?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Edward Cable updated FINERACT-9:
--------------------------------
    Priority: Major  (was: Critical)

> Repayment Transactions allocated to FINANCIAL_ACTIVITY.LIABILITY_TRANSFER
> -------------------------------------------------------------------------
>
>                 Key: FINERACT-9
>                 URL: https://issues.apache.org/jira/browse/FINERACT-9
>             Project: Apache Fineract
>          Issue Type: Bug
>          Components: Loan
>            Reporter: Dayna Harp
>            Assignee: Markus Geiss
>              Labels: p2
>
> https://mifosforge.jira.com/browse/MIFOSX-2438
>  All repayment transactions after an account transfer transaction are 
> allocated to FINANCIAL_ACTIVITY.LIABILITY_TRANSFER accountAll repayment 
> transactions after an account transfer transaction are allocated to 
> FINANCIAL_ACTIVITY.LIABILITY_TRANSFER account.
> This is cause by the "isAccountTransfer" boolean outside the for loop on line 
> 108 in 
> "https://github.com/openMF/mifosx/blob/develop/mifosng-provider/src/main/java/org/mifosplatform/accounting/journalentry/service/AccountingProcessorHelper.java";
> The boolean should be in the for loop.
> boolean isAccountTransfer = (Boolean) 
> accountingBridgeData.get("isAccountTransfer");
>         @SuppressWarnings("unchecked")
>         final List<Map<String, Object>> newTransactionsMap = 
> (List<Map<String, Object>>) accountingBridgeData.get("newLoanTransactions");
>         for (final Map<String, Object> map : newTransactionsMap) {
>             final Long transactionOfficeId = (Long) map.get("officeId");
>             final String transactionId = ((Long) map.get("id")).toString();
>             final Date transactionDate = ((LocalDate) 
> map.get("date")).toDate();
>             final LoanTransactionEnumData transactionType = 
> (LoanTransactionEnumData) map.get("type");
>             final BigDecimal amount = (BigDecimal) map.get("amount");
>             final BigDecimal principal = (BigDecimal) 
> map.get("principalPortion");
>             final BigDecimal interest = (BigDecimal) 
> map.get("interestPortion");
>             final BigDecimal fees = (BigDecimal) map.get("feeChargesPortion");
>             final BigDecimal penalties = (BigDecimal) 
> map.get("penaltyChargesPortion");
>             final BigDecimal overPayments = (BigDecimal) 
> map.get("overPaymentPortion");
>             final boolean reversed = (Boolean) map.get("reversed");
>             final Long paymentTypeId = (Long) map.get("paymentTypeId");
>             final List<ChargePaymentDTO> feePaymentDetails = new 
> ArrayList<>();
>             final List<ChargePaymentDTO> penaltyPaymentDetails = new 
> ArrayList<>();
>             // extract charge payment details (if exists)
>             if (map.containsKey("loanChargesPaid")) {
>                 @SuppressWarnings("unchecked")
>                 final List<Map<String, Object>> loanChargesPaidData = 
> (List<Map<String, Object>>) map.get("loanChargesPaid");
>                 for (final Map<String, Object> loanChargePaid : 
> loanChargesPaidData) {
>                     final Long chargeId = (Long) 
> loanChargePaid.get("chargeId");
>                     final Long loanChargeId = (Long) 
> loanChargePaid.get("loanChargeId");
>                     final boolean isPenalty = (Boolean) 
> loanChargePaid.get("isPenalty");
>                     final BigDecimal chargeAmountPaid = (BigDecimal) 
> loanChargePaid.get("amount");
>                     final ChargePaymentDTO chargePaymentDTO = new 
> ChargePaymentDTO(chargeId, loanChargeId, chargeAmountPaid);
>                     if (isPenalty) {
>                         penaltyPaymentDetails.add(chargePaymentDTO);
>                     } else {
>                         feePaymentDetails.add(chargePaymentDTO);
>                     }
>                 }
>             }
>             if (!isAccountTransfer) {



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to