Class LoanAccountDomainServiceJpa

java.lang.Object
org.apache.fineract.portfolio.loanaccount.domain.LoanAccountDomainServiceJpa
All Implemented Interfaces:
org.apache.fineract.portfolio.loanaccount.domain.LoanAccountDomainService

@Service public class LoanAccountDomainServiceJpa extends Object implements org.apache.fineract.portfolio.loanaccount.domain.LoanAccountDomainService
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction
    applyInterestRefund(org.apache.fineract.portfolio.loanaccount.domain.Loan loan, org.apache.fineract.portfolio.loanaccount.data.LoanRefundRequestData loanRefundRequest)
     
    org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction
    creditBalanceRefund(org.apache.fineract.portfolio.loanaccount.domain.Loan loan, LocalDate transactionDate, BigDecimal transactionAmount, String noteText, org.apache.fineract.infrastructure.core.domain.ExternalId externalId, org.apache.fineract.portfolio.paymentdetail.domain.PaymentDetail paymentDetail)
     
    void
    disableStandingInstructionsLinkedToClosedLoan(org.apache.fineract.portfolio.loanaccount.domain.Loan loan)
     
    org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction
    foreCloseLoan(org.apache.fineract.portfolio.loanaccount.domain.Loan loan, LocalDate foreClosureDate, String noteText, org.apache.fineract.infrastructure.core.domain.ExternalId externalId, Map<String,Object> changes)
     
    org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction
    makeChargePayment(org.apache.fineract.portfolio.loanaccount.domain.Loan loan, Long chargeId, LocalDate transactionDate, BigDecimal transactionAmount, org.apache.fineract.portfolio.paymentdetail.domain.PaymentDetail paymentDetail, String noteText, org.apache.fineract.infrastructure.core.domain.ExternalId txnExternalId, Integer transactionType, Integer installmentNumber)
     
    org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction
    makeDisburseTransaction(Long loanId, LocalDate transactionDate, BigDecimal transactionAmount, org.apache.fineract.portfolio.paymentdetail.domain.PaymentDetail paymentDetail, String noteText, org.apache.fineract.infrastructure.core.domain.ExternalId txnExternalId)
     
    org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction
    makeDisburseTransaction(Long loanId, LocalDate transactionDate, BigDecimal transactionAmount, org.apache.fineract.portfolio.paymentdetail.domain.PaymentDetail paymentDetail, String noteText, org.apache.fineract.infrastructure.core.domain.ExternalId txnExternalId, boolean isLoanToLoanTransfer)
     
    org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction
    makeRefund(Long accountId, org.apache.fineract.infrastructure.core.data.CommandProcessingResultBuilder builderResult, LocalDate transactionDate, BigDecimal transactionAmount, org.apache.fineract.portfolio.paymentdetail.domain.PaymentDetail paymentDetail, String noteText, org.apache.fineract.infrastructure.core.domain.ExternalId txnExternalId)
     
    org.apache.commons.lang3.tuple.Pair<org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction,org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction>
    makeRefund(org.apache.fineract.portfolio.loanaccount.domain.Loan loan, org.apache.fineract.portfolio.loanaccount.data.ScheduleGeneratorDTO scheduleGeneratorDTO, org.apache.fineract.portfolio.loanaccount.domain.LoanTransactionType loanTransactionType, LocalDate transactionDate, BigDecimal transactionAmount, org.apache.fineract.portfolio.paymentdetail.domain.PaymentDetail paymentDetail, org.apache.fineract.infrastructure.core.domain.ExternalId txnExternalId, Boolean interestRefundCalculationOverride)
     
    org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction
    makeRefundForActiveLoan(Long accountId, org.apache.fineract.infrastructure.core.data.CommandProcessingResultBuilder builderResult, LocalDate transactionDate, BigDecimal transactionAmount, org.apache.fineract.portfolio.paymentdetail.domain.PaymentDetail paymentDetail, String noteText, org.apache.fineract.infrastructure.core.domain.ExternalId txnExternalId)
     
    org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction
    makeRepayment(org.apache.fineract.portfolio.loanaccount.domain.LoanTransactionType repaymentTransactionType, org.apache.fineract.portfolio.loanaccount.domain.Loan loan, LocalDate transactionDate, BigDecimal transactionAmount, org.apache.fineract.portfolio.paymentdetail.domain.PaymentDetail paymentDetail, String noteText, org.apache.fineract.infrastructure.core.domain.ExternalId txnExternalId, boolean isRecoveryRepayment, String chargeRefundChargeType, boolean isAccountTransfer, org.apache.fineract.portfolio.loanaccount.data.HolidayDetailDTO holidayDetailDto, Boolean isHolidayValidationDone)
     
    org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction
    makeRepayment(org.apache.fineract.portfolio.loanaccount.domain.LoanTransactionType repaymentTransactionType, org.apache.fineract.portfolio.loanaccount.domain.Loan loan, LocalDate transactionDate, BigDecimal transactionAmount, org.apache.fineract.portfolio.paymentdetail.domain.PaymentDetail paymentDetail, String noteText, org.apache.fineract.infrastructure.core.domain.ExternalId txnExternalId, boolean isRecoveryRepayment, String chargeRefundChargeType, boolean isAccountTransfer, org.apache.fineract.portfolio.loanaccount.data.HolidayDetailDTO holidayDetailDto, Boolean isHolidayValidationDone, boolean isLoanToLoanTransfer)
     
    void
    reverseTransfer(org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction loanTransaction)
     
    void
    setLoanDelinquencyTag(org.apache.fineract.portfolio.loanaccount.domain.Loan loan, LocalDate transactionDate)
     
    void
    setLoanDelinquencyTag(org.apache.fineract.portfolio.loanaccount.domain.Loan loan, LocalDate transactionDate, List<org.apache.fineract.portfolio.delinquency.validator.LoanDelinquencyActionData> effectiveDelinquencyList)
     
    void
    updateAndSaveLoanCollateralTransactionsForIndividualAccounts(org.apache.fineract.portfolio.loanaccount.domain.Loan loan, org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction loanTransaction)
     
    void
    updateAndSavePostDatedChecksForIndividualAccount(org.apache.fineract.portfolio.loanaccount.domain.Loan loan, org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction transaction)
     
    void
    updateLoanCollateralStatus(Set<org.apache.fineract.portfolio.loanaccount.domain.LoanCollateralManagement> loanCollateralManagementSet, boolean isReleased)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • LoanAccountDomainServiceJpa

      public LoanAccountDomainServiceJpa()
  • Method Details

    • makeRepayment

      @Transactional public org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction makeRepayment(org.apache.fineract.portfolio.loanaccount.domain.LoanTransactionType repaymentTransactionType, org.apache.fineract.portfolio.loanaccount.domain.Loan loan, LocalDate transactionDate, BigDecimal transactionAmount, org.apache.fineract.portfolio.paymentdetail.domain.PaymentDetail paymentDetail, String noteText, org.apache.fineract.infrastructure.core.domain.ExternalId txnExternalId, boolean isRecoveryRepayment, String chargeRefundChargeType, boolean isAccountTransfer, org.apache.fineract.portfolio.loanaccount.data.HolidayDetailDTO holidayDetailDto, Boolean isHolidayValidationDone)
      Specified by:
      makeRepayment in interface org.apache.fineract.portfolio.loanaccount.domain.LoanAccountDomainService
    • updateLoanCollateralStatus

      @Transactional public void updateLoanCollateralStatus(Set<org.apache.fineract.portfolio.loanaccount.domain.LoanCollateralManagement> loanCollateralManagementSet, boolean isReleased)
      Specified by:
      updateLoanCollateralStatus in interface org.apache.fineract.portfolio.loanaccount.domain.LoanAccountDomainService
    • makeRepayment

      @Transactional public org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction makeRepayment(org.apache.fineract.portfolio.loanaccount.domain.LoanTransactionType repaymentTransactionType, org.apache.fineract.portfolio.loanaccount.domain.Loan loan, LocalDate transactionDate, BigDecimal transactionAmount, org.apache.fineract.portfolio.paymentdetail.domain.PaymentDetail paymentDetail, String noteText, org.apache.fineract.infrastructure.core.domain.ExternalId txnExternalId, boolean isRecoveryRepayment, String chargeRefundChargeType, boolean isAccountTransfer, org.apache.fineract.portfolio.loanaccount.data.HolidayDetailDTO holidayDetailDto, Boolean isHolidayValidationDone, boolean isLoanToLoanTransfer)
      Specified by:
      makeRepayment in interface org.apache.fineract.portfolio.loanaccount.domain.LoanAccountDomainService
    • makeChargePayment

      @Transactional public org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction makeChargePayment(org.apache.fineract.portfolio.loanaccount.domain.Loan loan, Long chargeId, LocalDate transactionDate, BigDecimal transactionAmount, org.apache.fineract.portfolio.paymentdetail.domain.PaymentDetail paymentDetail, String noteText, org.apache.fineract.infrastructure.core.domain.ExternalId txnExternalId, Integer transactionType, Integer installmentNumber)
      Specified by:
      makeChargePayment in interface org.apache.fineract.portfolio.loanaccount.domain.LoanAccountDomainService
    • makeRefund

      public org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction makeRefund(Long accountId, org.apache.fineract.infrastructure.core.data.CommandProcessingResultBuilder builderResult, LocalDate transactionDate, BigDecimal transactionAmount, org.apache.fineract.portfolio.paymentdetail.domain.PaymentDetail paymentDetail, String noteText, org.apache.fineract.infrastructure.core.domain.ExternalId txnExternalId)
      Specified by:
      makeRefund in interface org.apache.fineract.portfolio.loanaccount.domain.LoanAccountDomainService
    • makeDisburseTransaction

      @Transactional public org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction makeDisburseTransaction(Long loanId, LocalDate transactionDate, BigDecimal transactionAmount, org.apache.fineract.portfolio.paymentdetail.domain.PaymentDetail paymentDetail, String noteText, org.apache.fineract.infrastructure.core.domain.ExternalId txnExternalId)
      Specified by:
      makeDisburseTransaction in interface org.apache.fineract.portfolio.loanaccount.domain.LoanAccountDomainService
    • makeDisburseTransaction

      @Transactional public org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction makeDisburseTransaction(Long loanId, LocalDate transactionDate, BigDecimal transactionAmount, org.apache.fineract.portfolio.paymentdetail.domain.PaymentDetail paymentDetail, String noteText, org.apache.fineract.infrastructure.core.domain.ExternalId txnExternalId, boolean isLoanToLoanTransfer)
      Specified by:
      makeDisburseTransaction in interface org.apache.fineract.portfolio.loanaccount.domain.LoanAccountDomainService
    • reverseTransfer

      public void reverseTransfer(org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction loanTransaction)
      Specified by:
      reverseTransfer in interface org.apache.fineract.portfolio.loanaccount.domain.LoanAccountDomainService
    • setLoanDelinquencyTag

      public void setLoanDelinquencyTag(org.apache.fineract.portfolio.loanaccount.domain.Loan loan, LocalDate transactionDate)
      Specified by:
      setLoanDelinquencyTag in interface org.apache.fineract.portfolio.loanaccount.domain.LoanAccountDomainService
    • setLoanDelinquencyTag

      public void setLoanDelinquencyTag(org.apache.fineract.portfolio.loanaccount.domain.Loan loan, LocalDate transactionDate, List<org.apache.fineract.portfolio.delinquency.validator.LoanDelinquencyActionData> effectiveDelinquencyList)
      Specified by:
      setLoanDelinquencyTag in interface org.apache.fineract.portfolio.loanaccount.domain.LoanAccountDomainService
    • creditBalanceRefund

      public org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction creditBalanceRefund(org.apache.fineract.portfolio.loanaccount.domain.Loan loan, LocalDate transactionDate, BigDecimal transactionAmount, String noteText, org.apache.fineract.infrastructure.core.domain.ExternalId externalId, org.apache.fineract.portfolio.paymentdetail.domain.PaymentDetail paymentDetail)
      Specified by:
      creditBalanceRefund in interface org.apache.fineract.portfolio.loanaccount.domain.LoanAccountDomainService
    • makeRefundForActiveLoan

      public org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction makeRefundForActiveLoan(Long accountId, org.apache.fineract.infrastructure.core.data.CommandProcessingResultBuilder builderResult, LocalDate transactionDate, BigDecimal transactionAmount, org.apache.fineract.portfolio.paymentdetail.domain.PaymentDetail paymentDetail, String noteText, org.apache.fineract.infrastructure.core.domain.ExternalId txnExternalId)
      Specified by:
      makeRefundForActiveLoan in interface org.apache.fineract.portfolio.loanaccount.domain.LoanAccountDomainService
    • foreCloseLoan

      public org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction foreCloseLoan(org.apache.fineract.portfolio.loanaccount.domain.Loan loan, LocalDate foreClosureDate, String noteText, org.apache.fineract.infrastructure.core.domain.ExternalId externalId, Map<String,Object> changes)
      Specified by:
      foreCloseLoan in interface org.apache.fineract.portfolio.loanaccount.domain.LoanAccountDomainService
    • disableStandingInstructionsLinkedToClosedLoan

      @Transactional public void disableStandingInstructionsLinkedToClosedLoan(org.apache.fineract.portfolio.loanaccount.domain.Loan loan)
      Specified by:
      disableStandingInstructionsLinkedToClosedLoan in interface org.apache.fineract.portfolio.loanaccount.domain.LoanAccountDomainService
    • updateAndSaveLoanCollateralTransactionsForIndividualAccounts

      public void updateAndSaveLoanCollateralTransactionsForIndividualAccounts(org.apache.fineract.portfolio.loanaccount.domain.Loan loan, org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction loanTransaction)
      Specified by:
      updateAndSaveLoanCollateralTransactionsForIndividualAccounts in interface org.apache.fineract.portfolio.loanaccount.domain.LoanAccountDomainService
    • makeRefund

      public org.apache.commons.lang3.tuple.Pair<org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction,org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction> makeRefund(org.apache.fineract.portfolio.loanaccount.domain.Loan loan, org.apache.fineract.portfolio.loanaccount.data.ScheduleGeneratorDTO scheduleGeneratorDTO, org.apache.fineract.portfolio.loanaccount.domain.LoanTransactionType loanTransactionType, LocalDate transactionDate, BigDecimal transactionAmount, org.apache.fineract.portfolio.paymentdetail.domain.PaymentDetail paymentDetail, org.apache.fineract.infrastructure.core.domain.ExternalId txnExternalId, Boolean interestRefundCalculationOverride)
      Specified by:
      makeRefund in interface org.apache.fineract.portfolio.loanaccount.domain.LoanAccountDomainService
    • updateAndSavePostDatedChecksForIndividualAccount

      public void updateAndSavePostDatedChecksForIndividualAccount(org.apache.fineract.portfolio.loanaccount.domain.Loan loan, org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction transaction)
      Specified by:
      updateAndSavePostDatedChecksForIndividualAccount in interface org.apache.fineract.portfolio.loanaccount.domain.LoanAccountDomainService
    • applyInterestRefund

      public org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction applyInterestRefund(org.apache.fineract.portfolio.loanaccount.domain.Loan loan, org.apache.fineract.portfolio.loanaccount.data.LoanRefundRequestData loanRefundRequest)
      Specified by:
      applyInterestRefund in interface org.apache.fineract.portfolio.loanaccount.domain.LoanAccountDomainService