diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/account/domain/AccountAssociationsRepository.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/account/domain/AccountAssociationsRepository.java index f4cbbf9d2..c46588db3 100755 --- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/account/domain/AccountAssociationsRepository.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/account/domain/AccountAssociationsRepository.java @@ -13,9 +13,9 @@ import org.springframework.data.repository.query.Param; public interface AccountAssociationsRepository extends JpaRepository, JpaSpecificationExecutor { - @Query("from AccountAssociations aa where aa.loanAccount.id= :loanId") - AccountAssociations findByLoanId(@Param("loanId") Long loanId); + @Query("from AccountAssociations aa where aa.loanAccount.id= :loanId and aa.associationType = :associationType") + AccountAssociations findByLoanIdAndType(@Param("loanId") Long loanId, @Param("associationType") Integer accountAssociationType); - @Query("from AccountAssociations aa where aa.savingsAccount.id= :savingsId") - AccountAssociations findBySavingsId(@Param("savingsId") Long savingsId); + @Query("from AccountAssociations aa where aa.savingsAccount.id= :savingsId and aa.associationType = :associationType") + AccountAssociations findBySavingsIdAndType(@Param("savingsId") Long savingsId, @Param("associationType") Integer accountAssociationType); } diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/service/LoanApplicationWritePlatformServiceJpaRepositoryImpl.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/service/LoanApplicationWritePlatformServiceJpaRepositoryImpl.java index ed21be812..01d71d8f9 100755 --- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/service/LoanApplicationWritePlatformServiceJpaRepositoryImpl.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/service/LoanApplicationWritePlatformServiceJpaRepositoryImpl.java @@ -685,7 +685,8 @@ public class LoanApplicationWritePlatformServiceJpaRepositoryImpl implements Loa // Save linked account information final String linkAccountIdParamName = "linkAccountId"; final Long savingsAccountId = command.longValueOfParameterNamed(linkAccountIdParamName); - AccountAssociations accountAssociations = this.accountAssociationsRepository.findByLoanId(loanId); + AccountAssociations accountAssociations = this.accountAssociationsRepository.findByLoanIdAndType(loanId, + AccountAssociationType.LINKED_ACCOUNT_ASSOCIATION.getValue()); boolean isLinkedAccPresent = false; if (savingsAccountId == null) { if (accountAssociations != null) { diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/service/LoanWritePlatformServiceJpaRepositoryImpl.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/service/LoanWritePlatformServiceJpaRepositoryImpl.java index 6be92e9a4..54b48aaae 100755 --- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/service/LoanWritePlatformServiceJpaRepositoryImpl.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/service/LoanWritePlatformServiceJpaRepositoryImpl.java @@ -50,6 +50,7 @@ import org.mifosplatform.organisation.workingdays.domain.WorkingDaysRepositoryWr import org.mifosplatform.portfolio.account.PortfolioAccountType; import org.mifosplatform.portfolio.account.data.AccountTransferDTO; import org.mifosplatform.portfolio.account.data.PortfolioAccountData; +import org.mifosplatform.portfolio.account.domain.AccountAssociationType; import org.mifosplatform.portfolio.account.domain.AccountAssociations; import org.mifosplatform.portfolio.account.domain.AccountAssociationsRepository; import org.mifosplatform.portfolio.account.domain.AccountTransferDetailRepository; @@ -436,7 +437,8 @@ public class LoanWritePlatformServiceJpaRepositoryImpl implements LoanWritePlatf private void createStandingInstruction(Loan loan) { if (loan.shouldCreateStandingInstructionAtDisbursement()) { - AccountAssociations accountAssociations = this.accountAssociationRepository.findByLoanId(loan.getId()); + AccountAssociations accountAssociations = this.accountAssociationRepository.findByLoanIdAndType(loan.getId(), + AccountAssociationType.LINKED_ACCOUNT_ASSOCIATION.getValue()); if (accountAssociations != null) { diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savings/service/DepositApplicationProcessWritePlatformServiceJpaRepositoryImpl.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savings/service/DepositApplicationProcessWritePlatformServiceJpaRepositoryImpl.java index 7f10c9fd5..15afdcfaf 100644 --- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savings/service/DepositApplicationProcessWritePlatformServiceJpaRepositoryImpl.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savings/service/DepositApplicationProcessWritePlatformServiceJpaRepositoryImpl.java @@ -364,7 +364,8 @@ public class DepositApplicationProcessWritePlatformServiceJpaRepositoryImpl impl // Save linked account information final Long savingsAccountId = command.longValueOfParameterNamed(DepositsApiConstants.linkedAccountParamName); - AccountAssociations accountAssociations = this.accountAssociationsRepository.findBySavingsId(accountId); + AccountAssociations accountAssociations = this.accountAssociationsRepository.findBySavingsIdAndType(accountId, + AccountAssociationType.LINKED_ACCOUNT_ASSOCIATION.getValue()); if (savingsAccountId == null) { if (accountAssociations != null) { if (this.fromJsonHelper.parameterExists(DepositsApiConstants.linkedAccountParamName, command.parsedJson())) {