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