Class LoanWritePlatformServiceJpaRepositoryImpl

java.lang.Object
org.apache.fineract.portfolio.loanaccount.service.LoanWritePlatformServiceJpaRepositoryImpl
All Implemented Interfaces:
org.apache.fineract.portfolio.loanaccount.service.LoanWritePlatformService

public class LoanWritePlatformServiceJpaRepositoryImpl extends Object implements org.apache.fineract.portfolio.loanaccount.service.LoanWritePlatformService
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction
    acceptLoanTransfer(org.apache.fineract.portfolio.loanaccount.domain.Loan loan, LocalDate transferDate, org.apache.fineract.organisation.office.domain.Office acceptedInOffice, org.apache.fineract.organisation.staff.domain.Staff loanOfficer)
     
    org.apache.fineract.infrastructure.core.data.CommandProcessingResult
    addAndDeleteLoanDisburseDetails(Long loanId, org.apache.fineract.infrastructure.core.api.JsonCommand command)
     
    org.apache.fineract.infrastructure.core.data.CommandProcessingResult
    adjustLoanTransaction(Long loanId, Long transactionId, org.apache.fineract.infrastructure.core.api.JsonCommand command)
     
    void
    applyMeetingDateChanges(org.apache.fineract.portfolio.calendar.domain.Calendar calendar, Collection<org.apache.fineract.portfolio.calendar.domain.CalendarInstance> loanCalendarInstances)
     
    void
    applyMeetingDateChanges(org.apache.fineract.portfolio.calendar.domain.Calendar calendar, Collection<org.apache.fineract.portfolio.calendar.domain.CalendarInstance> loanCalendarInstances, Boolean rescheduleBasedOnMeetingDates, LocalDate presentMeetingDate, LocalDate newMeetingDate)
     
    bulkLoanDisbursal(org.apache.fineract.infrastructure.core.api.JsonCommand command, org.apache.fineract.portfolio.collectionsheet.command.CollectionSheetBulkDisbursalCommand bulkDisbursalCommand, Boolean isAccountTransfer)
    TODO Vishwas: Pair with Ashok and re-factor collection sheet code-base May of the changes made to disburseLoan aren't being made here, should refactor to reuse disburseLoan ASAP
    org.apache.fineract.infrastructure.core.data.CommandProcessingResult
    bulkLoanReassignment(org.apache.fineract.infrastructure.core.api.JsonCommand command)
     
    org.apache.fineract.infrastructure.core.data.CommandProcessingResult
    chargebackLoanTransaction(Long loanId, Long transactionId, org.apache.fineract.infrastructure.core.api.JsonCommand command)
     
    org.apache.fineract.infrastructure.core.data.CommandProcessingResult
    chargeOff(org.apache.fineract.infrastructure.core.api.JsonCommand command)
     
    void
    closeAsMarkedForReschedule(org.apache.fineract.portfolio.loanaccount.domain.Loan loan, org.apache.fineract.infrastructure.core.api.JsonCommand command, Map<String,Object> changes)
     
    org.apache.fineract.infrastructure.core.data.CommandProcessingResult
    closeAsRescheduled(Long loanId, org.apache.fineract.infrastructure.core.api.JsonCommand command)
     
    org.apache.fineract.infrastructure.core.data.CommandProcessingResult
    closeLoan(Long loanId, org.apache.fineract.infrastructure.core.api.JsonCommand command)
     
    org.apache.fineract.infrastructure.core.data.CommandProcessingResult
    creditBalanceRefund(Long loanId, org.apache.fineract.infrastructure.core.api.JsonCommand command)
     
    org.apache.fineract.infrastructure.core.data.CommandProcessingResult
    disburseGLIMLoan(Long loanId, org.apache.fineract.infrastructure.core.api.JsonCommand command)
     
    org.apache.fineract.infrastructure.core.data.CommandProcessingResult
    disburseLoan(Long loanId, org.apache.fineract.infrastructure.core.api.JsonCommand command, Boolean isAccountTransfer)
     
    org.apache.fineract.infrastructure.core.data.CommandProcessingResult
    disburseLoan(Long loanId, org.apache.fineract.infrastructure.core.api.JsonCommand command, Boolean isAccountTransfer, Boolean isWithoutAutoPayment)
     
    void
     
    org.apache.fineract.infrastructure.core.data.CommandProcessingResult
    forecloseLoan(Long loanId, org.apache.fineract.infrastructure.core.api.JsonCommand command)
     
    void
    handleChargebackTransaction(org.apache.fineract.portfolio.loanaccount.domain.Loan loan, org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction chargebackTransaction)
     
    org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction
    initiateLoanTransfer(org.apache.fineract.portfolio.loanaccount.domain.Loan loan, LocalDate transferDate)
     
    org.apache.fineract.infrastructure.core.data.CommandProcessingResult
    loanReassignment(Long loanId, org.apache.fineract.infrastructure.core.api.JsonCommand command)
     
    org.apache.fineract.infrastructure.core.data.CommandProcessingResult
    makeGLIMLoanRepayment(Long loanId, org.apache.fineract.infrastructure.core.api.JsonCommand command)
     
    org.apache.fineract.infrastructure.core.data.CommandProcessingResult
    makeInterestPaymentWaiver(org.apache.fineract.infrastructure.core.api.JsonCommand command)
     
    makeLoanBulkRepayment(org.apache.fineract.portfolio.collectionsheet.command.CollectionSheetBulkRepaymentCommand bulkRepaymentCommand)
     
    org.apache.fineract.infrastructure.core.data.CommandProcessingResult
    makeLoanRefund(Long loanId, org.apache.fineract.infrastructure.core.api.JsonCommand command)
     
    org.apache.fineract.infrastructure.core.data.CommandProcessingResult
    makeLoanRepayment(org.apache.fineract.portfolio.loanaccount.domain.LoanTransactionType repaymentTransactionType, Long loanId, org.apache.fineract.infrastructure.core.api.JsonCommand command, boolean isRecoveryRepayment)
     
    org.apache.fineract.infrastructure.core.data.CommandProcessingResult
    makeLoanRepaymentWithChargeRefundChargeType(org.apache.fineract.portfolio.loanaccount.domain.LoanTransactionType repaymentTransactionType, Long loanId, org.apache.fineract.infrastructure.core.api.JsonCommand command, boolean isRecoveryRepayment, String chargeRefundChargeType)
     
    org.apache.fineract.infrastructure.core.data.CommandProcessingResult
    makeManualInterestRefund(Long loanId, Long transactionId, org.apache.fineract.infrastructure.core.api.JsonCommand command)
     
    org.apache.fineract.infrastructure.core.data.CommandProcessingResult
    makeRefund(Long loanId, org.apache.fineract.portfolio.loanaccount.domain.LoanTransactionType loanTransactionType, org.apache.fineract.infrastructure.core.api.JsonCommand command)
     
    org.apache.fineract.infrastructure.core.data.CommandProcessingResult
    markLoanAsFraud(Long loanId, org.apache.fineract.infrastructure.core.api.JsonCommand command)
     
    void
    recalculateInterest(long loanId)
     
    org.apache.fineract.portfolio.loanaccount.domain.Loan
    recalculateInterest(org.apache.fineract.portfolio.loanaccount.domain.Loan loan)
     
    org.apache.fineract.infrastructure.core.data.CommandProcessingResult
     
    void
    rejectLoanTransfer(org.apache.fineract.portfolio.loanaccount.domain.Loan loan)
     
    org.apache.fineract.infrastructure.core.data.CommandProcessingResult
    removeLoanOfficer(Long loanId, org.apache.fineract.infrastructure.core.api.JsonCommand command)
     
    void
    reverseExistingTransactionsTillLastDisbursal(org.apache.fineract.portfolio.loanaccount.domain.Loan loan, org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction lastDisbursalTransaction)
    Reverse only disbursement, accruals, and repayments at disbursal transactions
    org.apache.fineract.infrastructure.core.data.CommandProcessingResult
    undoChargeOff(org.apache.fineract.infrastructure.core.api.JsonCommand command)
     
    org.apache.fineract.infrastructure.core.data.CommandProcessingResult
    undoGLIMLoanDisbursal(Long loanId, org.apache.fineract.infrastructure.core.api.JsonCommand command)
     
    org.apache.fineract.infrastructure.core.data.CommandProcessingResult
    undoLastLoanDisbursal(Long loanId, org.apache.fineract.infrastructure.core.api.JsonCommand command)
     
    org.apache.fineract.infrastructure.core.data.CommandProcessingResult
    undoLoanDisbursal(Long loanId, org.apache.fineract.infrastructure.core.api.JsonCommand command)
     
    org.apache.fineract.infrastructure.core.data.CommandProcessingResult
     
    org.apache.fineract.infrastructure.core.data.CommandProcessingResult
    updateDisbursementDateAndAmountForTranche(Long loanId, Long disbursementId, org.apache.fineract.infrastructure.core.api.JsonCommand command)
     
    void
    updateLoanToPreDisbursalState(org.apache.fineract.portfolio.loanaccount.domain.Loan loan)
     
    void
    updateOriginalSchedule(org.apache.fineract.portfolio.loanaccount.domain.Loan loan)
     
    org.apache.fineract.infrastructure.core.data.CommandProcessingResult
    waiveInterestOnLoan(Long loanId, org.apache.fineract.infrastructure.core.api.JsonCommand command)
     
    org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction
    withdrawLoanTransfer(org.apache.fineract.portfolio.loanaccount.domain.Loan loan, LocalDate transferDate)
     
    org.apache.fineract.infrastructure.core.data.CommandProcessingResult
    writeOff(Long loanId, org.apache.fineract.infrastructure.core.api.JsonCommand command)
     

    Methods inherited from class java.lang.Object

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

    • LoanWritePlatformServiceJpaRepositoryImpl

      public LoanWritePlatformServiceJpaRepositoryImpl()
  • Method Details

    • disburseGLIMLoan

      @Transactional public org.apache.fineract.infrastructure.core.data.CommandProcessingResult disburseGLIMLoan(Long loanId, org.apache.fineract.infrastructure.core.api.JsonCommand command)
      Specified by:
      disburseGLIMLoan in interface org.apache.fineract.portfolio.loanaccount.service.LoanWritePlatformService
    • disburseLoan

      public org.apache.fineract.infrastructure.core.data.CommandProcessingResult disburseLoan(Long loanId, org.apache.fineract.infrastructure.core.api.JsonCommand command, Boolean isAccountTransfer)
      Specified by:
      disburseLoan in interface org.apache.fineract.portfolio.loanaccount.service.LoanWritePlatformService
    • disburseLoan

      @Transactional public org.apache.fineract.infrastructure.core.data.CommandProcessingResult disburseLoan(Long loanId, org.apache.fineract.infrastructure.core.api.JsonCommand command, Boolean isAccountTransfer, Boolean isWithoutAutoPayment)
      Specified by:
      disburseLoan in interface org.apache.fineract.portfolio.loanaccount.service.LoanWritePlatformService
    • bulkLoanDisbursal

      @Transactional public Map<String,Object> bulkLoanDisbursal(org.apache.fineract.infrastructure.core.api.JsonCommand command, org.apache.fineract.portfolio.collectionsheet.command.CollectionSheetBulkDisbursalCommand bulkDisbursalCommand, Boolean isAccountTransfer)
      TODO Vishwas: Pair with Ashok and re-factor collection sheet code-base May of the changes made to disburseLoan aren't being made here, should refactor to reuse disburseLoan ASAP
      Specified by:
      bulkLoanDisbursal in interface org.apache.fineract.portfolio.loanaccount.service.LoanWritePlatformService
    • undoGLIMLoanDisbursal

      @Transactional public org.apache.fineract.infrastructure.core.data.CommandProcessingResult undoGLIMLoanDisbursal(Long loanId, org.apache.fineract.infrastructure.core.api.JsonCommand command)
      Specified by:
      undoGLIMLoanDisbursal in interface org.apache.fineract.portfolio.loanaccount.service.LoanWritePlatformService
    • undoLoanDisbursal

      @Transactional public org.apache.fineract.infrastructure.core.data.CommandProcessingResult undoLoanDisbursal(Long loanId, org.apache.fineract.infrastructure.core.api.JsonCommand command)
      Specified by:
      undoLoanDisbursal in interface org.apache.fineract.portfolio.loanaccount.service.LoanWritePlatformService
    • makeGLIMLoanRepayment

      @Transactional public org.apache.fineract.infrastructure.core.data.CommandProcessingResult makeGLIMLoanRepayment(Long loanId, org.apache.fineract.infrastructure.core.api.JsonCommand command)
      Specified by:
      makeGLIMLoanRepayment in interface org.apache.fineract.portfolio.loanaccount.service.LoanWritePlatformService
    • makeLoanRepayment

      @Transactional public org.apache.fineract.infrastructure.core.data.CommandProcessingResult makeLoanRepayment(org.apache.fineract.portfolio.loanaccount.domain.LoanTransactionType repaymentTransactionType, Long loanId, org.apache.fineract.infrastructure.core.api.JsonCommand command, boolean isRecoveryRepayment)
      Specified by:
      makeLoanRepayment in interface org.apache.fineract.portfolio.loanaccount.service.LoanWritePlatformService
    • makeInterestPaymentWaiver

      @Transactional public org.apache.fineract.infrastructure.core.data.CommandProcessingResult makeInterestPaymentWaiver(org.apache.fineract.infrastructure.core.api.JsonCommand command)
      Specified by:
      makeInterestPaymentWaiver in interface org.apache.fineract.portfolio.loanaccount.service.LoanWritePlatformService
    • makeLoanRepaymentWithChargeRefundChargeType

      @Transactional public org.apache.fineract.infrastructure.core.data.CommandProcessingResult makeLoanRepaymentWithChargeRefundChargeType(org.apache.fineract.portfolio.loanaccount.domain.LoanTransactionType repaymentTransactionType, Long loanId, org.apache.fineract.infrastructure.core.api.JsonCommand command, boolean isRecoveryRepayment, String chargeRefundChargeType)
      Specified by:
      makeLoanRepaymentWithChargeRefundChargeType in interface org.apache.fineract.portfolio.loanaccount.service.LoanWritePlatformService
    • makeLoanBulkRepayment

      @Transactional public Map<String,Object> makeLoanBulkRepayment(org.apache.fineract.portfolio.collectionsheet.command.CollectionSheetBulkRepaymentCommand bulkRepaymentCommand)
      Specified by:
      makeLoanBulkRepayment in interface org.apache.fineract.portfolio.loanaccount.service.LoanWritePlatformService
    • adjustLoanTransaction

      @Transactional public org.apache.fineract.infrastructure.core.data.CommandProcessingResult adjustLoanTransaction(Long loanId, Long transactionId, org.apache.fineract.infrastructure.core.api.JsonCommand command)
      Specified by:
      adjustLoanTransaction in interface org.apache.fineract.portfolio.loanaccount.service.LoanWritePlatformService
    • chargebackLoanTransaction

      @Transactional public org.apache.fineract.infrastructure.core.data.CommandProcessingResult chargebackLoanTransaction(Long loanId, Long transactionId, org.apache.fineract.infrastructure.core.api.JsonCommand command)
      Specified by:
      chargebackLoanTransaction in interface org.apache.fineract.portfolio.loanaccount.service.LoanWritePlatformService
    • waiveInterestOnLoan

      @Transactional public org.apache.fineract.infrastructure.core.data.CommandProcessingResult waiveInterestOnLoan(Long loanId, org.apache.fineract.infrastructure.core.api.JsonCommand command)
      Specified by:
      waiveInterestOnLoan in interface org.apache.fineract.portfolio.loanaccount.service.LoanWritePlatformService
    • writeOff

      @Transactional public org.apache.fineract.infrastructure.core.data.CommandProcessingResult writeOff(Long loanId, org.apache.fineract.infrastructure.core.api.JsonCommand command)
      Specified by:
      writeOff in interface org.apache.fineract.portfolio.loanaccount.service.LoanWritePlatformService
    • closeLoan

      @Transactional public org.apache.fineract.infrastructure.core.data.CommandProcessingResult closeLoan(Long loanId, org.apache.fineract.infrastructure.core.api.JsonCommand command)
      Specified by:
      closeLoan in interface org.apache.fineract.portfolio.loanaccount.service.LoanWritePlatformService
    • closeAsRescheduled

      @Transactional public org.apache.fineract.infrastructure.core.data.CommandProcessingResult closeAsRescheduled(Long loanId, org.apache.fineract.infrastructure.core.api.JsonCommand command)
      Specified by:
      closeAsRescheduled in interface org.apache.fineract.portfolio.loanaccount.service.LoanWritePlatformService
    • initiateLoanTransfer

      @Transactional public org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction initiateLoanTransfer(org.apache.fineract.portfolio.loanaccount.domain.Loan loan, LocalDate transferDate)
      Specified by:
      initiateLoanTransfer in interface org.apache.fineract.portfolio.loanaccount.service.LoanWritePlatformService
    • acceptLoanTransfer

      @Transactional public org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction acceptLoanTransfer(org.apache.fineract.portfolio.loanaccount.domain.Loan loan, LocalDate transferDate, org.apache.fineract.organisation.office.domain.Office acceptedInOffice, org.apache.fineract.organisation.staff.domain.Staff loanOfficer)
      Specified by:
      acceptLoanTransfer in interface org.apache.fineract.portfolio.loanaccount.service.LoanWritePlatformService
    • withdrawLoanTransfer

      @Transactional public org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction withdrawLoanTransfer(org.apache.fineract.portfolio.loanaccount.domain.Loan loan, LocalDate transferDate)
      Specified by:
      withdrawLoanTransfer in interface org.apache.fineract.portfolio.loanaccount.service.LoanWritePlatformService
    • rejectLoanTransfer

      @Transactional public void rejectLoanTransfer(org.apache.fineract.portfolio.loanaccount.domain.Loan loan)
      Specified by:
      rejectLoanTransfer in interface org.apache.fineract.portfolio.loanaccount.service.LoanWritePlatformService
    • loanReassignment

      @Transactional public org.apache.fineract.infrastructure.core.data.CommandProcessingResult loanReassignment(Long loanId, org.apache.fineract.infrastructure.core.api.JsonCommand command)
      Specified by:
      loanReassignment in interface org.apache.fineract.portfolio.loanaccount.service.LoanWritePlatformService
    • bulkLoanReassignment

      @Transactional public org.apache.fineract.infrastructure.core.data.CommandProcessingResult bulkLoanReassignment(org.apache.fineract.infrastructure.core.api.JsonCommand command)
      Specified by:
      bulkLoanReassignment in interface org.apache.fineract.portfolio.loanaccount.service.LoanWritePlatformService
    • removeLoanOfficer

      @Transactional public org.apache.fineract.infrastructure.core.data.CommandProcessingResult removeLoanOfficer(Long loanId, org.apache.fineract.infrastructure.core.api.JsonCommand command)
      Specified by:
      removeLoanOfficer in interface org.apache.fineract.portfolio.loanaccount.service.LoanWritePlatformService
    • applyMeetingDateChanges

      @Transactional public void applyMeetingDateChanges(org.apache.fineract.portfolio.calendar.domain.Calendar calendar, Collection<org.apache.fineract.portfolio.calendar.domain.CalendarInstance> loanCalendarInstances)
      Specified by:
      applyMeetingDateChanges in interface org.apache.fineract.portfolio.loanaccount.service.LoanWritePlatformService
    • applyMeetingDateChanges

      @Transactional public void applyMeetingDateChanges(org.apache.fineract.portfolio.calendar.domain.Calendar calendar, Collection<org.apache.fineract.portfolio.calendar.domain.CalendarInstance> loanCalendarInstances, Boolean rescheduleBasedOnMeetingDates, LocalDate presentMeetingDate, LocalDate newMeetingDate)
      Specified by:
      applyMeetingDateChanges in interface org.apache.fineract.portfolio.loanaccount.service.LoanWritePlatformService
    • undoWriteOff

      public org.apache.fineract.infrastructure.core.data.CommandProcessingResult undoWriteOff(Long loanId)
      Specified by:
      undoWriteOff in interface org.apache.fineract.portfolio.loanaccount.service.LoanWritePlatformService
    • addAndDeleteLoanDisburseDetails

      @Transactional public org.apache.fineract.infrastructure.core.data.CommandProcessingResult addAndDeleteLoanDisburseDetails(Long loanId, org.apache.fineract.infrastructure.core.api.JsonCommand command)
      Specified by:
      addAndDeleteLoanDisburseDetails in interface org.apache.fineract.portfolio.loanaccount.service.LoanWritePlatformService
    • updateDisbursementDateAndAmountForTranche

      @Transactional public org.apache.fineract.infrastructure.core.data.CommandProcessingResult updateDisbursementDateAndAmountForTranche(Long loanId, Long disbursementId, org.apache.fineract.infrastructure.core.api.JsonCommand command)
      Specified by:
      updateDisbursementDateAndAmountForTranche in interface org.apache.fineract.portfolio.loanaccount.service.LoanWritePlatformService
    • recalculateInterest

      @Transactional @Retry(name="recalculateInterest", fallbackMethod="fallbackRecalculateInterest") public void recalculateInterest(long loanId)
      Specified by:
      recalculateInterest in interface org.apache.fineract.portfolio.loanaccount.service.LoanWritePlatformService
    • recalculateInterest

      @Transactional public org.apache.fineract.portfolio.loanaccount.domain.Loan recalculateInterest(org.apache.fineract.portfolio.loanaccount.domain.Loan loan)
      Specified by:
      recalculateInterest in interface org.apache.fineract.portfolio.loanaccount.service.LoanWritePlatformService
    • recoverFromGuarantor

      public org.apache.fineract.infrastructure.core.data.CommandProcessingResult recoverFromGuarantor(Long loanId)
      Specified by:
      recoverFromGuarantor in interface org.apache.fineract.portfolio.loanaccount.service.LoanWritePlatformService
    • fallbackRecalculateInterest

      public void fallbackRecalculateInterest(Throwable t)
    • updateOriginalSchedule

      public void updateOriginalSchedule(org.apache.fineract.portfolio.loanaccount.domain.Loan loan)
      Specified by:
      updateOriginalSchedule in interface org.apache.fineract.portfolio.loanaccount.service.LoanWritePlatformService
    • creditBalanceRefund

      public org.apache.fineract.infrastructure.core.data.CommandProcessingResult creditBalanceRefund(Long loanId, org.apache.fineract.infrastructure.core.api.JsonCommand command)
      Specified by:
      creditBalanceRefund in interface org.apache.fineract.portfolio.loanaccount.service.LoanWritePlatformService
    • markLoanAsFraud

      @Transactional public org.apache.fineract.infrastructure.core.data.CommandProcessingResult markLoanAsFraud(Long loanId, org.apache.fineract.infrastructure.core.api.JsonCommand command)
      Specified by:
      markLoanAsFraud in interface org.apache.fineract.portfolio.loanaccount.service.LoanWritePlatformService
    • makeLoanRefund

      @Transactional public org.apache.fineract.infrastructure.core.data.CommandProcessingResult makeLoanRefund(Long loanId, org.apache.fineract.infrastructure.core.api.JsonCommand command)
      Specified by:
      makeLoanRefund in interface org.apache.fineract.portfolio.loanaccount.service.LoanWritePlatformService
    • undoLastLoanDisbursal

      @Transactional public org.apache.fineract.infrastructure.core.data.CommandProcessingResult undoLastLoanDisbursal(Long loanId, org.apache.fineract.infrastructure.core.api.JsonCommand command)
      Specified by:
      undoLastLoanDisbursal in interface org.apache.fineract.portfolio.loanaccount.service.LoanWritePlatformService
    • forecloseLoan

      @Transactional public org.apache.fineract.infrastructure.core.data.CommandProcessingResult forecloseLoan(Long loanId, org.apache.fineract.infrastructure.core.api.JsonCommand command)
      Specified by:
      forecloseLoan in interface org.apache.fineract.portfolio.loanaccount.service.LoanWritePlatformService
    • chargeOff

      @Transactional public org.apache.fineract.infrastructure.core.data.CommandProcessingResult chargeOff(org.apache.fineract.infrastructure.core.api.JsonCommand command)
      Specified by:
      chargeOff in interface org.apache.fineract.portfolio.loanaccount.service.LoanWritePlatformService
    • undoChargeOff

      @Transactional public org.apache.fineract.infrastructure.core.data.CommandProcessingResult undoChargeOff(org.apache.fineract.infrastructure.core.api.JsonCommand command)
      Specified by:
      undoChargeOff in interface org.apache.fineract.portfolio.loanaccount.service.LoanWritePlatformService
    • makeRefund

      public org.apache.fineract.infrastructure.core.data.CommandProcessingResult makeRefund(Long loanId, org.apache.fineract.portfolio.loanaccount.domain.LoanTransactionType loanTransactionType, org.apache.fineract.infrastructure.core.api.JsonCommand command)
      Specified by:
      makeRefund in interface org.apache.fineract.portfolio.loanaccount.service.LoanWritePlatformService
    • makeManualInterestRefund

      @Transactional public org.apache.fineract.infrastructure.core.data.CommandProcessingResult makeManualInterestRefund(Long loanId, Long transactionId, org.apache.fineract.infrastructure.core.api.JsonCommand command)
      Specified by:
      makeManualInterestRefund in interface org.apache.fineract.portfolio.loanaccount.service.LoanWritePlatformService
    • handleChargebackTransaction

      public void handleChargebackTransaction(org.apache.fineract.portfolio.loanaccount.domain.Loan loan, org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction chargebackTransaction)
    • updateLoanToPreDisbursalState

      public void updateLoanToPreDisbursalState(org.apache.fineract.portfolio.loanaccount.domain.Loan loan)
    • reverseExistingTransactionsTillLastDisbursal

      public void reverseExistingTransactionsTillLastDisbursal(org.apache.fineract.portfolio.loanaccount.domain.Loan loan, org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction lastDisbursalTransaction)
      Reverse only disbursement, accruals, and repayments at disbursal transactions
    • closeAsMarkedForReschedule

      public void closeAsMarkedForReschedule(org.apache.fineract.portfolio.loanaccount.domain.Loan loan, org.apache.fineract.infrastructure.core.api.JsonCommand command, Map<String,Object> changes)