FINERACT-2081: Loan account summary interest refund field
This commit is contained in:
committed by
Adam Saghy
parent
b1798a66df
commit
8d43565b09
+6
-4
@@ -31,11 +31,12 @@ import org.apache.fineract.infrastructure.event.business.domain.loan.LoanBusines
|
||||
import org.apache.fineract.infrastructure.event.external.service.serialization.mapper.loan.LoanAccountDataMapper;
|
||||
import org.apache.fineract.infrastructure.event.external.service.serialization.serializer.BusinessEventSerializer;
|
||||
import org.apache.fineract.portfolio.delinquency.service.DelinquencyReadPlatformService;
|
||||
import org.apache.fineract.portfolio.loanaccount.api.LoanApiConstants;
|
||||
import org.apache.fineract.portfolio.loanaccount.data.CollectionData;
|
||||
import org.apache.fineract.portfolio.loanaccount.data.LoanAccountData;
|
||||
import org.apache.fineract.portfolio.loanaccount.data.LoanChargeData;
|
||||
import org.apache.fineract.portfolio.loanaccount.data.LoanSummaryData;
|
||||
import org.apache.fineract.portfolio.loanaccount.data.LoanTransactionData;
|
||||
import org.apache.fineract.portfolio.loanaccount.domain.LoanSummaryBalancesRepository;
|
||||
import org.apache.fineract.portfolio.loanaccount.service.LoanChargeReadPlatformService;
|
||||
import org.apache.fineract.portfolio.loanaccount.service.LoanReadPlatformService;
|
||||
import org.springframework.stereotype.Component;
|
||||
@@ -49,6 +50,7 @@ public class LoanBusinessEventSerializer implements BusinessEventSerializer {
|
||||
private final LoanChargeReadPlatformService loanChargeReadPlatformService;
|
||||
private final DelinquencyReadPlatformService delinquencyReadPlatformService;
|
||||
private final LoanInstallmentLevelDelinquencyEventProducer installmentLevelDelinquencyEventProducer;
|
||||
private final LoanSummaryBalancesRepository loanSummaryBalancesRepository;
|
||||
|
||||
@Override
|
||||
public <T> boolean canSerialize(BusinessEvent<T> event) {
|
||||
@@ -72,9 +74,9 @@ public class LoanBusinessEventSerializer implements BusinessEventSerializer {
|
||||
data.setDelinquent(delinquentData);
|
||||
|
||||
if (data.getSummary() != null) {
|
||||
final Collection<LoanTransactionData> currentLoanTransactions = service.retrieveLoanTransactions(loanId);
|
||||
data.setSummary(
|
||||
LoanSummaryData.withTransactionAmountsSummary(data.getSummary(), currentLoanTransactions, data.getRepaymentSchedule()));
|
||||
data.setSummary(LoanSummaryData.withTransactionAmountsSummary(data.getSummary(), data.getRepaymentSchedule(),
|
||||
loanSummaryBalancesRepository.retrieveLoanSummaryBalancesByTransactionType(loanId,
|
||||
LoanApiConstants.LOAN_SUMMARY_TRANSACTION_TYPES)));
|
||||
} else {
|
||||
data.setSummary(LoanSummaryData.withOnlyCurrencyData(data.getCurrency()));
|
||||
}
|
||||
|
||||
+5
-2
@@ -130,6 +130,7 @@ import org.apache.fineract.portfolio.loanaccount.data.LoanTransactionData;
|
||||
import org.apache.fineract.portfolio.loanaccount.data.PaidInAdvanceData;
|
||||
import org.apache.fineract.portfolio.loanaccount.data.RepaymentScheduleRelatedLoanData;
|
||||
import org.apache.fineract.portfolio.loanaccount.domain.LoanStatus;
|
||||
import org.apache.fineract.portfolio.loanaccount.domain.LoanSummaryBalancesRepository;
|
||||
import org.apache.fineract.portfolio.loanaccount.domain.LoanTermVariationType;
|
||||
import org.apache.fineract.portfolio.loanaccount.exception.LoanNotFoundException;
|
||||
import org.apache.fineract.portfolio.loanaccount.exception.LoanTemplateTypeRequiredException;
|
||||
@@ -281,6 +282,7 @@ public class LoansApiResource {
|
||||
private final DefaultToApiJsonSerializer<LoanDelinquencyTagHistoryData> jsonSerializerTagHistory;
|
||||
private final DelinquencyReadPlatformService delinquencyReadPlatformService;
|
||||
private final SqlValidator sqlValidator;
|
||||
private final LoanSummaryBalancesRepository loanSummaryBalancesRepository;
|
||||
|
||||
/*
|
||||
* This template API is used for loan approval, ideally this should be invoked on loan that are pending for
|
||||
@@ -1114,8 +1116,9 @@ public class LoansApiResource {
|
||||
|
||||
// updating summary with transaction amounts summary
|
||||
if (loanBasicDetails.getSummary() != null) {
|
||||
loanBasicDetails.setSummary(
|
||||
LoanSummaryData.withTransactionAmountsSummary(loanBasicDetails.getSummary(), currentLoanRepayments, repaymentSchedule));
|
||||
loanBasicDetails.setSummary(LoanSummaryData.withTransactionAmountsSummary(loanBasicDetails.getSummary(), repaymentSchedule,
|
||||
loanSummaryBalancesRepository.retrieveLoanSummaryBalancesByTransactionType(loanBasicDetails.getId(),
|
||||
LoanApiConstants.LOAN_SUMMARY_TRANSACTION_TYPES)));
|
||||
}
|
||||
|
||||
final LoanAccountData loanAccount = LoanAccountData.associationsAndTemplate(loanBasicDetails, repaymentSchedule, loanRepayments,
|
||||
|
||||
+2
@@ -643,6 +643,8 @@ final class LoansApiResourceSwagger {
|
||||
public BigDecimal totalUnpaidAccruedDueInterest;
|
||||
@Schema(example = "0.000000")
|
||||
public BigDecimal totalUnpaidAccruedNotDueInterest;
|
||||
@Schema(example = "0.000000")
|
||||
public BigDecimal totalInterestRefund;
|
||||
public Set<GetLoansLoanIdOverdueCharges> overdueCharges;
|
||||
@Schema(example = "1")
|
||||
public Long chargeOffReasonId;
|
||||
|
||||
Reference in New Issue
Block a user