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

Adam Saghy updated FINERACT-2274:
---------------------------------
    Fix Version/s: 1.12.0

> Rework LoanAccrualsProcessingServiceImpl to not use loan.getLoanTransactions()
> ------------------------------------------------------------------------------
>
>                 Key: FINERACT-2274
>                 URL: https://issues.apache.org/jira/browse/FINERACT-2274
>             Project: Apache Fineract
>          Issue Type: Sub-task
>            Reporter: Adam Saghy
>            Priority: Major
>             Fix For: 1.12.0
>
>
> org.apache.fineract.portfolio.loanaccount.service.LoanAccrualsProcessingServiceImpl#addAccruals(org.apache.fineract.portfolio.loanaccount.domain.Loan,
>  java.time.LocalDate, boolean, boolean, boolean, boolean) method are fetching 
> all the existing accrual transactions of the loan.
> *We should rework this logic and make sure we are not fetching something that 
> is not absolutely necessary!*
>  # 
> org.apache.fineract.portfolio.loanaccount.service.LoanAccrualsProcessingServiceImpl#reverseTransactionsAfter
>  ** Make sure we dont use loan.getLoanTransactions() rather lets fetch the 
> transactions based on the date and reversal status explicitly!
>  # 
> org.apache.fineract.portfolio.loanaccount.service.LoanAccrualsProcessingServiceImpl#ensureAccrualTransactionMappings
>  ** Make sure we dont use loan.getLoanTransactions() rather lets fetch 
> LoanChargePaidBy based on the date, the reversal status and loan charge paid 
> by details explicitly!
>  # 
> org.apache.fineract.portfolio.loanaccount.service.LoanAccrualsProcessingServiceImpl#calcInterestAccruedAmount
>  ** Make sure we dont use loan.getLoanTransactions() rather lets fetch the 
> aggregated amount of Accrual and Accrual adjustments for interest!
>  # 
> org.apache.fineract.portfolio.loanaccount.service.LoanAccrualsProcessingServiceImpl#calcChargeAccruedAmount
>  ** Make sure we dont use loan.getLoanTransactions() rather lets fetch the 
> aggregated amount of Accrual and Accrual adjustments for charges! (1 query 
> for 3rd and 4th might be even better!)
>  # 
> org.apache.fineract.portfolio.loanaccount.service.LoanAccrualsProcessingServiceImpl#calcInterestUnrecognizedWaivedAmount
>  ** Make sure we dont use loan.getLoanTransactions() rather lets fetch the 
> transactions based on the date and reversal status explicitly!
>  # 
> org.apache.fineract.portfolio.loanaccount.service.LoanAccrualsProcessingServiceImpl#createIncomePostingAndAccrualTransactionOnLoanClosure
>  ** Make sure we only set the loan on the new loan transaction, but we dont 
> call loan.getLoanTransactions() or loan.addLoanTransaction()
>  # 
> org.apache.fineract.portfolio.loanaccount.service.LoanAccrualsProcessingServiceImpl#addAccrualTransaction
>  ** Make sure we only set the loan on the new loan transaction, but we dont 
> call loan.getLoanTransactions() or loan.addLoanTransaction()
>  # 
> org.apache.fineract.portfolio.loanaccount.service.LoanAccrualsProcessingServiceImpl#reprocessNonPeriodicAccruals
>  ** Make sure we only set the loan on the new loan transaction, but we dont 
> call loan.getLoanTransactions() or loan.addLoanTransaction()
>  # 
> org.apache.fineract.portfolio.loanaccount.service.LoanAccrualsProcessingServiceImpl#createUpdateIncomePostingTransaction
>  ** Make sure we only set the loan on the new loan transaction, but we dont 
> call loan.getLoanTransactions() or loan.addLoanTransaction()
>  # 
> org.apache.fineract.portfolio.loanaccount.service.LoanAccrualsProcessingServiceImpl#createUpdateAccrualTransaction
>  ** Make sure we only set the loan on the new loan transaction, but we dont 
> call loan.getLoanTransactions() or loan.addLoanTransaction()
>  # 
> org.apache.fineract.portfolio.loanaccount.service.LoanAccrualsProcessingServiceImpl#createAccrualTransactionAndUpdateChargesPaidBy
>  ** Make sure we only set the loan on the new loan transaction, but we dont 
> call loan.getLoanTransactions() or loan.addLoanTransaction()



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to