Class LoanReadPlatformServiceImpl

java.lang.Object
org.apache.fineract.portfolio.loanaccount.service.LoanReadPlatformServiceImpl
All Implemented Interfaces:
org.apache.fineract.portfolio.loanaccount.service.LoanReadPlatformService, org.apache.fineract.portfolio.loanaccount.service.LoanReadPlatformServiceCommon

@Transactional(readOnly=true) public class LoanReadPlatformServiceImpl extends Object implements org.apache.fineract.portfolio.loanaccount.service.LoanReadPlatformService, org.apache.fineract.portfolio.loanaccount.service.LoanReadPlatformServiceCommon
  • Constructor Details

    • LoanReadPlatformServiceImpl

      public LoanReadPlatformServiceImpl()
  • Method Details

    • retrieveOne

      public org.apache.fineract.portfolio.loanaccount.data.LoanAccountData retrieveOne(Long loanId)
      Specified by:
      retrieveOne in interface org.apache.fineract.portfolio.loanaccount.service.LoanReadPlatformService
    • retrieveLoanByLoanAccount

      public org.apache.fineract.portfolio.loanaccount.data.LoanAccountData retrieveLoanByLoanAccount(String loanAccountNumber)
      Specified by:
      retrieveLoanByLoanAccount in interface org.apache.fineract.portfolio.loanaccount.service.LoanReadPlatformService
    • retrieveGLIMChildLoansByGLIMParentAccount

      public List<org.apache.fineract.portfolio.loanaccount.data.LoanAccountData> retrieveGLIMChildLoansByGLIMParentAccount(String parentloanAccountNumber)
      Specified by:
      retrieveGLIMChildLoansByGLIMParentAccount in interface org.apache.fineract.portfolio.loanaccount.service.LoanReadPlatformService
    • fetchRepaymentScheduleData

      public org.apache.fineract.portfolio.loanaccount.data.LoanAccountData fetchRepaymentScheduleData(org.apache.fineract.portfolio.loanaccount.data.LoanAccountData accountData)
      Specified by:
      fetchRepaymentScheduleData in interface org.apache.fineract.portfolio.loanaccount.service.LoanReadPlatformService
    • retrieveRepaymentSchedule

      public org.apache.fineract.portfolio.loanaccount.loanschedule.data.LoanScheduleData retrieveRepaymentSchedule(Long loanId, org.apache.fineract.portfolio.loanaccount.data.RepaymentScheduleRelatedLoanData repaymentScheduleRelatedLoanData, Collection<org.apache.fineract.portfolio.loanaccount.data.DisbursementData> disbursementData, Collection<org.apache.fineract.portfolio.loanaccount.domain.LoanTransactionRepaymentPeriodData> capitalizedIncomeData, boolean isInterestRecalculationEnabled, org.apache.fineract.portfolio.loanaccount.loanschedule.domain.LoanScheduleType loanScheduleType)
      Specified by:
      retrieveRepaymentSchedule in interface org.apache.fineract.portfolio.loanaccount.service.LoanReadPlatformService
    • retrieveLoanTransactions

      public Collection<org.apache.fineract.portfolio.loanaccount.data.LoanTransactionData> retrieveLoanTransactions(Long loanId)
      Specified by:
      retrieveLoanTransactions in interface org.apache.fineract.portfolio.loanaccount.service.LoanReadPlatformService
    • retrieveAll

      public org.apache.fineract.infrastructure.core.service.Page<org.apache.fineract.portfolio.loanaccount.data.LoanAccountData> retrieveAll(org.apache.fineract.infrastructure.core.service.SearchParameters searchParameters)
      Specified by:
      retrieveAll in interface org.apache.fineract.portfolio.loanaccount.service.LoanReadPlatformService
    • retrieveTemplateWithClientAndProductDetails

      public org.apache.fineract.portfolio.loanaccount.data.LoanAccountData retrieveTemplateWithClientAndProductDetails(Long clientId, Long productId)
      Specified by:
      retrieveTemplateWithClientAndProductDetails in interface org.apache.fineract.portfolio.loanaccount.service.LoanReadPlatformService
    • retrieveTemplateWithGroupAndProductDetails

      public org.apache.fineract.portfolio.loanaccount.data.LoanAccountData retrieveTemplateWithGroupAndProductDetails(Long groupId, Long productId)
      Specified by:
      retrieveTemplateWithGroupAndProductDetails in interface org.apache.fineract.portfolio.loanaccount.service.LoanReadPlatformService
    • retrieveTemplateWithCompleteGroupAndProductDetails

      public org.apache.fineract.portfolio.loanaccount.data.LoanAccountData retrieveTemplateWithCompleteGroupAndProductDetails(Long groupId, Long productId)
      Specified by:
      retrieveTemplateWithCompleteGroupAndProductDetails in interface org.apache.fineract.portfolio.loanaccount.service.LoanReadPlatformService
    • retrieveLoanTransactionTemplate

      public org.apache.fineract.portfolio.loanaccount.data.LoanTransactionData retrieveLoanTransactionTemplate(Long loanId, org.apache.fineract.portfolio.loanaccount.domain.LoanTransactionType transactionType, Long transactionId)
      Specified by:
      retrieveLoanTransactionTemplate in interface org.apache.fineract.portfolio.loanaccount.service.LoanReadPlatformService
    • retrieveLoanTransactionTemplate

      public org.apache.fineract.portfolio.loanaccount.data.LoanTransactionData retrieveLoanTransactionTemplate(Long loanId)
      Specified by:
      retrieveLoanTransactionTemplate in interface org.apache.fineract.portfolio.loanaccount.service.LoanReadPlatformService
    • retrieveLoanPrePaymentTemplate

      public org.apache.fineract.portfolio.loanaccount.data.LoanTransactionData retrieveLoanPrePaymentTemplate(org.apache.fineract.portfolio.loanaccount.domain.LoanTransactionType repaymentTransactionType, Long loanId, LocalDate onDate)
      Specified by:
      retrieveLoanPrePaymentTemplate in interface org.apache.fineract.portfolio.loanaccount.service.LoanReadPlatformService
    • retrieveWaiveInterestDetails

      public org.apache.fineract.portfolio.loanaccount.data.LoanTransactionData retrieveWaiveInterestDetails(Long loanId)
      Specified by:
      retrieveWaiveInterestDetails in interface org.apache.fineract.portfolio.loanaccount.service.LoanReadPlatformService
    • retrieveNewClosureDetails

      public org.apache.fineract.portfolio.loanaccount.data.LoanTransactionData retrieveNewClosureDetails()
      Specified by:
      retrieveNewClosureDetails in interface org.apache.fineract.portfolio.loanaccount.service.LoanReadPlatformService
    • retrieveApprovalTemplate

      public org.apache.fineract.portfolio.loanaccount.data.LoanApprovalData retrieveApprovalTemplate(Long loanId)
      Specified by:
      retrieveApprovalTemplate in interface org.apache.fineract.portfolio.loanaccount.service.LoanReadPlatformService
    • retrieveDisbursalTemplate

      public org.apache.fineract.portfolio.loanaccount.data.LoanTransactionData retrieveDisbursalTemplate(Long loanId, boolean paymentDetailsRequired)
      Specified by:
      retrieveDisbursalTemplate in interface org.apache.fineract.portfolio.loanaccount.service.LoanReadPlatformService
    • retrieveNumberOfRepayments

      public Integer retrieveNumberOfRepayments(Long loanId)
      Specified by:
      retrieveNumberOfRepayments in interface org.apache.fineract.portfolio.loanaccount.service.LoanReadPlatformService
    • getRepaymentDataResponse

      public List<org.apache.fineract.portfolio.loanaccount.data.LoanRepaymentScheduleInstallmentData> getRepaymentDataResponse(Long loanId)
      Specified by:
      getRepaymentDataResponse in interface org.apache.fineract.portfolio.loanaccount.service.LoanReadPlatformService
    • retrieveLoanTransaction

      public org.apache.fineract.portfolio.loanaccount.data.LoanTransactionData retrieveLoanTransaction(Long loanId, Long transactionId)
      Specified by:
      retrieveLoanTransaction in interface org.apache.fineract.portfolio.loanaccount.service.LoanReadPlatformService
    • retrieveLoanTransactions

      public org.springframework.data.domain.Page<org.apache.fineract.portfolio.loanaccount.data.LoanTransactionData> retrieveLoanTransactions(@NotNull @NotNull Long loanId, Set<org.apache.fineract.portfolio.loanaccount.domain.LoanTransactionType> excludedTransactionTypes, org.springframework.data.domain.Pageable pageable)
      Specified by:
      retrieveLoanTransactions in interface org.apache.fineract.portfolio.loanaccount.service.LoanReadPlatformService
    • getLoanIdByLoanExternalId

      public Long getLoanIdByLoanExternalId(String externalId)
      Specified by:
      getLoanIdByLoanExternalId in interface org.apache.fineract.portfolio.loanaccount.service.LoanReadPlatformServiceCommon
    • retrieveLoanProductDetailsTemplate

      public org.apache.fineract.portfolio.loanaccount.data.LoanAccountData retrieveLoanProductDetailsTemplate(Long productId, Long clientId, Long groupId)
      Specified by:
      retrieveLoanProductDetailsTemplate in interface org.apache.fineract.portfolio.loanaccount.service.LoanReadPlatformService
    • retrieveCalendars

      public Collection<org.apache.fineract.portfolio.calendar.data.CalendarData> retrieveCalendars(Long groupId)
      Specified by:
      retrieveCalendars in interface org.apache.fineract.portfolio.loanaccount.service.LoanReadPlatformService
    • retrieveAllowedLoanOfficers

      public Collection<org.apache.fineract.organisation.staff.data.StaffData> retrieveAllowedLoanOfficers(Long selectedOfficeId, boolean staffInSelectedOfficeOnly)
      Specified by:
      retrieveAllowedLoanOfficers in interface org.apache.fineract.portfolio.loanaccount.service.LoanReadPlatformService
    • retrieveAllLoansWithOverdueInstallments

      public Collection<org.apache.fineract.portfolio.loanaccount.loanschedule.data.OverdueLoanScheduleData> retrieveAllLoansWithOverdueInstallments(Long penaltyWaitPeriod, Boolean backdatePenalties)
      Specified by:
      retrieveAllLoansWithOverdueInstallments in interface org.apache.fineract.portfolio.loanaccount.service.LoanReadPlatformService
    • retrieveAllOverdueInstallmentsForLoan

      public Collection<org.apache.fineract.portfolio.loanaccount.loanschedule.data.OverdueLoanScheduleData> retrieveAllOverdueInstallmentsForLoan(org.apache.fineract.portfolio.loanaccount.domain.Loan loan)
      Specified by:
      retrieveAllOverdueInstallmentsForLoan in interface org.apache.fineract.portfolio.loanaccount.service.LoanReadPlatformService
    • retriveLoanCounter

      public Integer retriveLoanCounter(Long groupId, Integer loanType, Long productId)
      Specified by:
      retriveLoanCounter in interface org.apache.fineract.portfolio.loanaccount.service.LoanReadPlatformService
    • retriveLoanCounter

      public Integer retriveLoanCounter(Long clientId, Long productId)
      Specified by:
      retriveLoanCounter in interface org.apache.fineract.portfolio.loanaccount.service.LoanReadPlatformService
    • retrieveLoanDisbursementDetails

      public Collection<org.apache.fineract.portfolio.loanaccount.data.DisbursementData> retrieveLoanDisbursementDetails(Long loanId)
      Specified by:
      retrieveLoanDisbursementDetails in interface org.apache.fineract.portfolio.loanaccount.service.LoanReadPlatformService
    • retrieveLoanDisbursementDetail

      public org.apache.fineract.portfolio.loanaccount.data.DisbursementData retrieveLoanDisbursementDetail(Long loanId, Long disbursementId)
      Specified by:
      retrieveLoanDisbursementDetail in interface org.apache.fineract.portfolio.loanaccount.service.LoanReadPlatformService
    • retrieveRecoveryPaymentTemplate

      public org.apache.fineract.portfolio.loanaccount.data.LoanTransactionData retrieveRecoveryPaymentTemplate(Long loanId)
      Specified by:
      retrieveRecoveryPaymentTemplate in interface org.apache.fineract.portfolio.loanaccount.service.LoanReadPlatformService
    • retrieveLoanWriteoffTemplate

      public org.apache.fineract.portfolio.loanaccount.data.LoanTransactionData retrieveLoanWriteoffTemplate(Long loanId)
      Specified by:
      retrieveLoanWriteoffTemplate in interface org.apache.fineract.portfolio.loanaccount.service.LoanReadPlatformService
    • retrieveLoanChargeOffTemplate

      public org.apache.fineract.portfolio.loanaccount.data.LoanTransactionData retrieveLoanChargeOffTemplate(Long loanId)
      Specified by:
      retrieveLoanChargeOffTemplate in interface org.apache.fineract.portfolio.loanaccount.service.LoanReadPlatformService
    • fetchLoansForInterestRecalculation

      public Collection<Long> fetchLoansForInterestRecalculation()
      Specified by:
      fetchLoansForInterestRecalculation in interface org.apache.fineract.portfolio.loanaccount.service.LoanReadPlatformService
    • fetchLoansForInterestRecalculation

      public List<Long> fetchLoansForInterestRecalculation(Integer pageSize, Long maxLoanIdInList, String officeHierarchy)
      Specified by:
      fetchLoansForInterestRecalculation in interface org.apache.fineract.portfolio.loanaccount.service.LoanReadPlatformService
    • isGuaranteeRequired

      public boolean isGuaranteeRequired(Long loanId)
      Specified by:
      isGuaranteeRequired in interface org.apache.fineract.portfolio.loanaccount.service.LoanReadPlatformService
    • retrieveMinimumDateOfRepaymentTransaction

      public LocalDate retrieveMinimumDateOfRepaymentTransaction(Long loanId)
      Specified by:
      retrieveMinimumDateOfRepaymentTransaction in interface org.apache.fineract.portfolio.loanaccount.service.LoanReadPlatformService
    • retrieveTotalPaidInAdvance

      public org.apache.fineract.portfolio.loanaccount.data.PaidInAdvanceData retrieveTotalPaidInAdvance(Long loanId)
      Specified by:
      retrieveTotalPaidInAdvance in interface org.apache.fineract.portfolio.loanaccount.service.LoanReadPlatformService
    • retrieveRefundByCashTemplate

      public org.apache.fineract.portfolio.loanaccount.data.LoanTransactionData retrieveRefundByCashTemplate(Long loanId)
      Specified by:
      retrieveRefundByCashTemplate in interface org.apache.fineract.portfolio.loanaccount.service.LoanReadPlatformService
    • retrieveCreditBalanceRefundTemplate

      public org.apache.fineract.portfolio.loanaccount.data.LoanTransactionData retrieveCreditBalanceRefundTemplate(Long loanId)
      Specified by:
      retrieveCreditBalanceRefundTemplate in interface org.apache.fineract.portfolio.loanaccount.service.LoanReadPlatformService
    • retrieveLoanInterestRatePeriodData

      public Collection<org.apache.fineract.portfolio.floatingrates.data.InterestRatePeriodData> retrieveLoanInterestRatePeriodData(org.apache.fineract.portfolio.loanaccount.data.LoanAccountData loanData)
      Specified by:
      retrieveLoanInterestRatePeriodData in interface org.apache.fineract.portfolio.loanaccount.service.LoanReadPlatformService
    • retrieveLoanIdsWithPendingIncomePostingTransactions

      public Collection<Long> retrieveLoanIdsWithPendingIncomePostingTransactions()
      Specified by:
      retrieveLoanIdsWithPendingIncomePostingTransactions in interface org.apache.fineract.portfolio.loanaccount.service.LoanReadPlatformService
    • retrieveLoanForeclosureTemplate

      public org.apache.fineract.portfolio.loanaccount.data.LoanTransactionData retrieveLoanForeclosureTemplate(Long loanId, LocalDate transactionDate)
      Specified by:
      retrieveLoanForeclosureTemplate in interface org.apache.fineract.portfolio.loanaccount.service.LoanReadPlatformService
    • retrieveLoanIdByAccountNumber

      public Long retrieveLoanIdByAccountNumber(String loanAccountNumber)
      Specified by:
      retrieveLoanIdByAccountNumber in interface org.apache.fineract.portfolio.loanaccount.service.LoanReadPlatformService
    • retrieveAccountNumberByAccountId

      public String retrieveAccountNumberByAccountId(Long accountId)
      Specified by:
      retrieveAccountNumberByAccountId in interface org.apache.fineract.portfolio.loanaccount.service.LoanReadPlatformService
    • retrieveNumberOfActiveLoans

      public Integer retrieveNumberOfActiveLoans()
      Specified by:
      retrieveNumberOfActiveLoans in interface org.apache.fineract.portfolio.loanaccount.service.LoanReadPlatformService
    • retrieveLoanTransactionIdByExternalId

      public Long retrieveLoanTransactionIdByExternalId(org.apache.fineract.infrastructure.core.domain.ExternalId externalId)
      Specified by:
      retrieveLoanTransactionIdByExternalId in interface org.apache.fineract.portfolio.loanaccount.service.LoanReadPlatformService
    • retrieveLoanIdByExternalId

      public Long retrieveLoanIdByExternalId(org.apache.fineract.infrastructure.core.domain.ExternalId externalId)
      Specified by:
      retrieveLoanIdByExternalId in interface org.apache.fineract.portfolio.loanaccount.service.LoanReadPlatformService
    • retrieveLoanIdsByExternalIds

      public List<Long> retrieveLoanIdsByExternalIds(List<org.apache.fineract.infrastructure.core.domain.ExternalId> externalIds)
      Specified by:
      retrieveLoanIdsByExternalIds in interface org.apache.fineract.portfolio.loanaccount.service.LoanReadPlatformService
    • existsByLoanId

      public boolean existsByLoanId(Long loanId)
      Specified by:
      existsByLoanId in interface org.apache.fineract.portfolio.loanaccount.service.LoanReadPlatformService