Class LoanAccrualsProcessingServiceImpl
java.lang.Object
org.apache.fineract.portfolio.loanaccount.service.LoanAccrualsProcessingServiceImpl
- All Implemented Interfaces:
org.apache.fineract.portfolio.loanaccount.service.LoanAccrualsProcessingService
@Component
public class LoanAccrualsProcessingServiceImpl
extends Object
implements org.apache.fineract.portfolio.loanaccount.service.LoanAccrualsProcessingService
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddAccruals(LocalDate tillDate) method adds accrual for batch job "Add Accrual Transactions"voidaddIncomePostingAndAccruals(Long loanId) voidaddPeriodicAccruals(LocalDate tillDate) method adds accrual for batch job "Add Periodic Accrual Transactions" and add accruals api for LoanvoidaddPeriodicAccruals(LocalDate tillDate, org.apache.fineract.portfolio.loanaccount.domain.Loan loan) method adds accrual for Loan COB business stepbooleanisProgressiveAccrual(org.apache.fineract.portfolio.loanaccount.domain.Loan loan) voidprocessAccrualsOnInterestRecalculation(org.apache.fineract.portfolio.loanaccount.domain.Loan loan, boolean isInterestRecalculationEnabled, boolean addJournal) method calculates accruals for loan with interest recalculation on loan schedule when interest is recalculatedvoidprocessAccrualsOnLoanClosure(org.apache.fineract.portfolio.loanaccount.domain.Loan loan, boolean addJournal) method calculates accruals for loan on loan closurevoidprocessAccrualsOnLoanForeClosure(org.apache.fineract.portfolio.loanaccount.domain.Loan loan, LocalDate foreClosureDate, List<org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction> newAccrualTransactions) method calculates accruals for loan on loan fore closurevoidprocessIncomePostingAndAccruals(org.apache.fineract.portfolio.loanaccount.domain.Loan loan, boolean addEvent) method calculates accruals for loan with interest recalculation and compounding to be posted as incomevoidreprocessExistingAccruals(org.apache.fineract.portfolio.loanaccount.domain.Loan loan, boolean addEvent) method updates accrual derived fields on installments and reverse the unprocessed transactions for loan reschedule
-
Constructor Details
-
LoanAccrualsProcessingServiceImpl
public LoanAccrualsProcessingServiceImpl()
-
-
Method Details
-
addPeriodicAccruals
@Transactional public void addPeriodicAccruals(@NonNull LocalDate tillDate) throws org.apache.fineract.infrastructure.jobs.exception.JobExecutionException method adds accrual for batch job "Add Periodic Accrual Transactions" and add accruals api for Loan- Specified by:
addPeriodicAccrualsin interfaceorg.apache.fineract.portfolio.loanaccount.service.LoanAccrualsProcessingService- Throws:
org.apache.fineract.infrastructure.jobs.exception.JobExecutionException
-
addPeriodicAccruals
@Transactional public void addPeriodicAccruals(@NonNull LocalDate tillDate, @NonNull org.apache.fineract.portfolio.loanaccount.domain.Loan loan) method adds accrual for Loan COB business step- Specified by:
addPeriodicAccrualsin interfaceorg.apache.fineract.portfolio.loanaccount.service.LoanAccrualsProcessingService
-
addAccruals
@Transactional public void addAccruals(@NonNull LocalDate tillDate) throws org.apache.fineract.infrastructure.jobs.exception.JobExecutionException method adds accrual for batch job "Add Accrual Transactions"- Specified by:
addAccrualsin interfaceorg.apache.fineract.portfolio.loanaccount.service.LoanAccrualsProcessingService- Throws:
org.apache.fineract.infrastructure.jobs.exception.JobExecutionException
-
reprocessExistingAccruals
public void reprocessExistingAccruals(@NonNull org.apache.fineract.portfolio.loanaccount.domain.Loan loan, boolean addEvent) method updates accrual derived fields on installments and reverse the unprocessed transactions for loan reschedule- Specified by:
reprocessExistingAccrualsin interfaceorg.apache.fineract.portfolio.loanaccount.service.LoanAccrualsProcessingService
-
processAccrualsOnInterestRecalculation
@Transactional public void processAccrualsOnInterestRecalculation(@NonNull org.apache.fineract.portfolio.loanaccount.domain.Loan loan, boolean isInterestRecalculationEnabled, boolean addJournal) method calculates accruals for loan with interest recalculation on loan schedule when interest is recalculated- Specified by:
processAccrualsOnInterestRecalculationin interfaceorg.apache.fineract.portfolio.loanaccount.service.LoanAccrualsProcessingService
-
addIncomePostingAndAccruals
@Transactional public void addIncomePostingAndAccruals(Long loanId) throws org.apache.fineract.portfolio.loanaccount.exception.LoanNotFoundException - Specified by:
addIncomePostingAndAccrualsin interfaceorg.apache.fineract.portfolio.loanaccount.service.LoanAccrualsProcessingService- Throws:
org.apache.fineract.portfolio.loanaccount.exception.LoanNotFoundException
-
processIncomePostingAndAccruals
public void processIncomePostingAndAccruals(@NonNull org.apache.fineract.portfolio.loanaccount.domain.Loan loan, boolean addEvent) method calculates accruals for loan with interest recalculation and compounding to be posted as income- Specified by:
processIncomePostingAndAccrualsin interfaceorg.apache.fineract.portfolio.loanaccount.service.LoanAccrualsProcessingService
-
processAccrualsOnLoanClosure
public void processAccrualsOnLoanClosure(@NonNull org.apache.fineract.portfolio.loanaccount.domain.Loan loan, boolean addJournal) method calculates accruals for loan on loan closure- Specified by:
processAccrualsOnLoanClosurein interfaceorg.apache.fineract.portfolio.loanaccount.service.LoanAccrualsProcessingService
-
processAccrualsOnLoanForeClosure
public void processAccrualsOnLoanForeClosure(@NonNull org.apache.fineract.portfolio.loanaccount.domain.Loan loan, @NonNull LocalDate foreClosureDate, @NonNull List<org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction> newAccrualTransactions) method calculates accruals for loan on loan fore closure- Specified by:
processAccrualsOnLoanForeClosurein interfaceorg.apache.fineract.portfolio.loanaccount.service.LoanAccrualsProcessingService
-
isProgressiveAccrual
public boolean isProgressiveAccrual(@NonNull org.apache.fineract.portfolio.loanaccount.domain.Loan loan)
-