FINERACT-1818-New-Parameter-Loan-Api
This commit is contained in:
committed by
Arnold Gálovics
parent
9f43ec235a
commit
be958b9aef
+4
-3
@@ -508,6 +508,7 @@ public class LoansApiResource {
|
|||||||
|
|
||||||
final Set<String> mandatoryResponseParameters = new HashSet<>();
|
final Set<String> mandatoryResponseParameters = new HashSet<>();
|
||||||
final Set<String> associationParameters = ApiParameterHelper.extractAssociationsForResponseIfProvided(uriInfo.getQueryParameters());
|
final Set<String> associationParameters = ApiParameterHelper.extractAssociationsForResponseIfProvided(uriInfo.getQueryParameters());
|
||||||
|
final Collection<LoanTransactionData> currentLoanRepayments = this.loanReadPlatformService.retrieveLoanTransactions(loanId);
|
||||||
if (!associationParameters.isEmpty()) {
|
if (!associationParameters.isEmpty()) {
|
||||||
if (associationParameters.contains(DataTableApiConstant.allAssociateParamName)) {
|
if (associationParameters.contains(DataTableApiConstant.allAssociateParamName)) {
|
||||||
associationParameters.addAll(Arrays.asList(DataTableApiConstant.repaymentScheduleAssociateParamName,
|
associationParameters.addAll(Arrays.asList(DataTableApiConstant.repaymentScheduleAssociateParamName,
|
||||||
@@ -530,7 +531,6 @@ public class LoansApiResource {
|
|||||||
|
|
||||||
if (associationParameters.contains(DataTableApiConstant.transactionsAssociateParamName)) {
|
if (associationParameters.contains(DataTableApiConstant.transactionsAssociateParamName)) {
|
||||||
mandatoryResponseParameters.add(DataTableApiConstant.transactionsAssociateParamName);
|
mandatoryResponseParameters.add(DataTableApiConstant.transactionsAssociateParamName);
|
||||||
final Collection<LoanTransactionData> currentLoanRepayments = this.loanReadPlatformService.retrieveLoanTransactions(loanId);
|
|
||||||
if (!CollectionUtils.isEmpty(currentLoanRepayments)) {
|
if (!CollectionUtils.isEmpty(currentLoanRepayments)) {
|
||||||
loanRepayments = currentLoanRepayments;
|
loanRepayments = currentLoanRepayments;
|
||||||
}
|
}
|
||||||
@@ -716,8 +716,9 @@ public class LoansApiResource {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// updating summary with transaction amounts summary
|
// updating summary with transaction amounts summary
|
||||||
if (loanRepayments != null) {
|
if (loanBasicDetails.getSummary() != null) {
|
||||||
loanBasicDetails.setSummary(LoanSummaryData.withTransactionAmountsSummary(loanBasicDetails.getSummary(), loanRepayments));
|
loanBasicDetails
|
||||||
|
.setSummary(LoanSummaryData.withTransactionAmountsSummary(loanBasicDetails.getSummary(), currentLoanRepayments));
|
||||||
}
|
}
|
||||||
|
|
||||||
final LoanAccountData loanAccount = LoanAccountData.associationsAndTemplate(loanBasicDetails, repaymentSchedule, loanRepayments,
|
final LoanAccountData loanAccount = LoanAccountData.associationsAndTemplate(loanBasicDetails, repaymentSchedule, loanRepayments,
|
||||||
|
|||||||
+36
-24
@@ -25,6 +25,7 @@ import lombok.Data;
|
|||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
import org.apache.fineract.organisation.monetary.data.CurrencyData;
|
import org.apache.fineract.organisation.monetary.data.CurrencyData;
|
||||||
import org.apache.fineract.portfolio.loanaccount.domain.LoanTransactionType;
|
import org.apache.fineract.portfolio.loanaccount.domain.LoanTransactionType;
|
||||||
|
import org.springframework.util.CollectionUtils;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Immutable data object representing loan summary information.
|
* Immutable data object representing loan summary information.
|
||||||
@@ -143,30 +144,41 @@ public class LoanSummaryData {
|
|||||||
public static LoanSummaryData withTransactionAmountsSummary(final LoanSummaryData defaultSummaryData,
|
public static LoanSummaryData withTransactionAmountsSummary(final LoanSummaryData defaultSummaryData,
|
||||||
final Collection<LoanTransactionData> loanTransactions) {
|
final Collection<LoanTransactionData> loanTransactions) {
|
||||||
|
|
||||||
BigDecimal totalMerchantRefund = computeTotalAmountForNonReversedTransactions(LoanTransactionType.MERCHANT_ISSUED_REFUND,
|
BigDecimal totalMerchantRefund = BigDecimal.ZERO;
|
||||||
loanTransactions);
|
BigDecimal totalMerchantRefundReversed = BigDecimal.ZERO;
|
||||||
BigDecimal totalMerchantRefundReversed = computeTotalAmountForReversedTransactions(LoanTransactionType.MERCHANT_ISSUED_REFUND,
|
BigDecimal totalPayoutRefund = BigDecimal.ZERO;
|
||||||
loanTransactions);
|
BigDecimal totalPayoutRefundReversed = BigDecimal.ZERO;
|
||||||
BigDecimal totalPayoutRefund = computeTotalAmountForNonReversedTransactions(LoanTransactionType.PAYOUT_REFUND, loanTransactions);
|
BigDecimal totalGoodwillCredit = BigDecimal.ZERO;
|
||||||
BigDecimal totalPayoutRefundReversed = computeTotalAmountForReversedTransactions(LoanTransactionType.PAYOUT_REFUND,
|
BigDecimal totalGoodwillCreditReversed = BigDecimal.ZERO;
|
||||||
loanTransactions);
|
BigDecimal totalChargeAdjustment = BigDecimal.ZERO;
|
||||||
BigDecimal totalGoodwillCredit = computeTotalAmountForNonReversedTransactions(LoanTransactionType.GOODWILL_CREDIT,
|
BigDecimal totalChargeAdjustmentReversed = BigDecimal.ZERO;
|
||||||
loanTransactions);
|
BigDecimal totalChargeback = BigDecimal.ZERO;
|
||||||
BigDecimal totalGoodwillCreditReversed = computeTotalAmountForReversedTransactions(LoanTransactionType.GOODWILL_CREDIT,
|
BigDecimal totalCreditBalanceRefund = BigDecimal.ZERO;
|
||||||
loanTransactions);
|
BigDecimal totalCreditBalanceRefundReversed = BigDecimal.ZERO;
|
||||||
BigDecimal totalChargeAdjustment = computeTotalAmountForNonReversedTransactions(LoanTransactionType.CHARGE_ADJUSTMENT,
|
BigDecimal totalRepaymentTransaction = BigDecimal.ZERO;
|
||||||
loanTransactions);
|
BigDecimal totalRepaymentTransactionReversed = BigDecimal.ZERO;
|
||||||
BigDecimal totalChargeAdjustmentReversed = computeTotalAmountForReversedTransactions(LoanTransactionType.CHARGE_ADJUSTMENT,
|
|
||||||
loanTransactions);
|
if (!CollectionUtils.isEmpty(loanTransactions)) {
|
||||||
BigDecimal totalChargeback = computeTotalAmountForNonReversedTransactions(LoanTransactionType.CHARGEBACK, loanTransactions);
|
|
||||||
BigDecimal totalCreditBalanceRefund = computeTotalAmountForNonReversedTransactions(LoanTransactionType.CREDIT_BALANCE_REFUND,
|
totalMerchantRefund = computeTotalAmountForNonReversedTransactions(LoanTransactionType.MERCHANT_ISSUED_REFUND,
|
||||||
loanTransactions);
|
loanTransactions);
|
||||||
BigDecimal totalCreditBalanceRefundReversed = computeTotalAmountForReversedTransactions(LoanTransactionType.CREDIT_BALANCE_REFUND,
|
totalMerchantRefundReversed = computeTotalAmountForReversedTransactions(LoanTransactionType.MERCHANT_ISSUED_REFUND,
|
||||||
loanTransactions);
|
loanTransactions);
|
||||||
BigDecimal totalRepaymentTransaction = computeTotalAmountForNonReversedTransactions(LoanTransactionType.REPAYMENT,
|
totalPayoutRefund = computeTotalAmountForNonReversedTransactions(LoanTransactionType.PAYOUT_REFUND, loanTransactions);
|
||||||
loanTransactions);
|
totalPayoutRefundReversed = computeTotalAmountForReversedTransactions(LoanTransactionType.PAYOUT_REFUND, loanTransactions);
|
||||||
BigDecimal totalRepaymentTransactionReversed = computeTotalAmountForReversedTransactions(LoanTransactionType.REPAYMENT,
|
totalGoodwillCredit = computeTotalAmountForNonReversedTransactions(LoanTransactionType.GOODWILL_CREDIT, loanTransactions);
|
||||||
loanTransactions);
|
totalGoodwillCreditReversed = computeTotalAmountForReversedTransactions(LoanTransactionType.GOODWILL_CREDIT, loanTransactions);
|
||||||
|
totalChargeAdjustment = computeTotalAmountForNonReversedTransactions(LoanTransactionType.CHARGE_ADJUSTMENT, loanTransactions);
|
||||||
|
totalChargeAdjustmentReversed = computeTotalAmountForReversedTransactions(LoanTransactionType.CHARGE_ADJUSTMENT,
|
||||||
|
loanTransactions);
|
||||||
|
totalChargeback = computeTotalAmountForNonReversedTransactions(LoanTransactionType.CHARGEBACK, loanTransactions);
|
||||||
|
totalCreditBalanceRefund = computeTotalAmountForNonReversedTransactions(LoanTransactionType.CREDIT_BALANCE_REFUND,
|
||||||
|
loanTransactions);
|
||||||
|
totalCreditBalanceRefundReversed = computeTotalAmountForReversedTransactions(LoanTransactionType.CREDIT_BALANCE_REFUND,
|
||||||
|
loanTransactions);
|
||||||
|
totalRepaymentTransaction = computeTotalAmountForNonReversedTransactions(LoanTransactionType.REPAYMENT, loanTransactions);
|
||||||
|
totalRepaymentTransactionReversed = computeTotalAmountForReversedTransactions(LoanTransactionType.REPAYMENT, loanTransactions);
|
||||||
|
}
|
||||||
|
|
||||||
return new LoanSummaryData(defaultSummaryData.currency, defaultSummaryData.principalDisbursed,
|
return new LoanSummaryData(defaultSummaryData.currency, defaultSummaryData.principalDisbursed,
|
||||||
defaultSummaryData.principalAdjustments, defaultSummaryData.principalPaid, defaultSummaryData.principalWrittenOff,
|
defaultSummaryData.principalAdjustments, defaultSummaryData.principalPaid, defaultSummaryData.principalWrittenOff,
|
||||||
|
|||||||
Reference in New Issue
Block a user