FINERACT-2020:Added currency field to LoanAccountSummaryData, also added integration test and swagger documentation
This commit is contained in:
+5
-2
@@ -22,6 +22,7 @@ import java.math.BigDecimal;
|
||||
import lombok.Getter;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.apache.fineract.infrastructure.core.data.EnumOptionData;
|
||||
import org.apache.fineract.organisation.monetary.data.CurrencyData;
|
||||
import org.apache.fineract.portfolio.loanaccount.data.LoanApplicationTimelineData;
|
||||
import org.apache.fineract.portfolio.loanaccount.data.LoanStatusEnumData;
|
||||
|
||||
@@ -40,6 +41,7 @@ public class LoanAccountSummaryData {
|
||||
private final String productName;
|
||||
private final String shortProductName;
|
||||
private final LoanStatusEnumData status;
|
||||
private final CurrencyData currency;
|
||||
private final EnumOptionData loanType;
|
||||
private final Integer loanCycle;
|
||||
private final LoanApplicationTimelineData timeline;
|
||||
@@ -50,8 +52,8 @@ public class LoanAccountSummaryData {
|
||||
|
||||
public LoanAccountSummaryData(final Long id, final String accountNo, final String externalId, final Long productId,
|
||||
final String loanProductName, final String shortLoanProductName, final LoanStatusEnumData loanStatus,
|
||||
final EnumOptionData loanType, final Integer loanCycle, final LoanApplicationTimelineData timeline, final Boolean inArrears,
|
||||
final BigDecimal originalLoan, final BigDecimal loanBalance, final BigDecimal amountPaid) {
|
||||
final CurrencyData currency, final EnumOptionData loanType, final Integer loanCycle, final LoanApplicationTimelineData timeline,
|
||||
final Boolean inArrears, final BigDecimal originalLoan, final BigDecimal loanBalance, final BigDecimal amountPaid) {
|
||||
this.id = id;
|
||||
this.accountNo = accountNo;
|
||||
this.parentAccountNumber = null;
|
||||
@@ -60,6 +62,7 @@ public class LoanAccountSummaryData {
|
||||
this.productName = loanProductName;
|
||||
this.shortProductName = shortLoanProductName;
|
||||
this.status = loanStatus;
|
||||
this.currency = currency;
|
||||
this.loanType = loanType;
|
||||
this.loanCycle = loanCycle;
|
||||
this.timeline = timeline;
|
||||
|
||||
+17
-1
@@ -452,6 +452,11 @@ public class AccountDetailsReadPlatformServiceJpaRepositoryImpl implements Accou
|
||||
|
||||
.append(" l.loan_product_counter as loanCycle,")
|
||||
|
||||
.append("l.currency_code as currencyCode, l.currency_digits as currencyDigits, l.currency_multiplesof as inMultiplesOf,")
|
||||
|
||||
.append("curr.name as currencyName, curr.internationalized_name_code as currencyNameCode,")
|
||||
.append("curr.display_symbol as currencyDisplaySymbol,")
|
||||
|
||||
.append(" l.submittedon_date as submittedOnDate,")
|
||||
.append(" sbu.username as submittedByUsername, sbu.firstname as submittedByFirstname, sbu.lastname as submittedByLastname,")
|
||||
|
||||
@@ -474,6 +479,7 @@ public class AccountDetailsReadPlatformServiceJpaRepositoryImpl implements Accou
|
||||
.append(" l.charged_off_on_date as chargedOffOnDate, cobu.username as chargedOffByUsername, ")
|
||||
.append(" cobu.firstname as chargedOffByFirstname, cobu.lastname as chargedOffByLastname ").append(" from m_loan l ")
|
||||
.append("LEFT JOIN m_product_loan AS lp ON lp.id = l.product_id")
|
||||
.append(" left join m_currency curr on curr.code = l.currency_code")
|
||||
.append(" left join m_appuser sbu on sbu.id = l.created_by")
|
||||
.append(" left join m_appuser rbu on rbu.id = l.rejectedon_userid")
|
||||
.append(" left join m_appuser wbu on wbu.id = l.withdrawnon_userid")
|
||||
@@ -503,6 +509,15 @@ public class AccountDetailsReadPlatformServiceJpaRepositoryImpl implements Accou
|
||||
final EnumOptionData loanType = AccountEnumerations.loanType(loanTypeId);
|
||||
final Integer loanCycle = JdbcSupport.getInteger(rs, "loanCycle");
|
||||
|
||||
final String currencyCode = rs.getString("currencyCode");
|
||||
final String currencyName = rs.getString("currencyName");
|
||||
final String currencyNameCode = rs.getString("currencyNameCode");
|
||||
final String currencyDisplaySymbol = rs.getString("currencyDisplaySymbol");
|
||||
final Integer currencyDigits = JdbcSupport.getInteger(rs, "currencyDigits");
|
||||
final Integer inMultiplesOf = JdbcSupport.getInteger(rs, "inMultiplesOf");
|
||||
final CurrencyData currency = new CurrencyData(currencyCode, currencyName, currencyDigits, inMultiplesOf, currencyDisplaySymbol,
|
||||
currencyNameCode);
|
||||
|
||||
final LocalDate submittedOnDate = JdbcSupport.getLocalDate(rs, "submittedOnDate");
|
||||
final String submittedByUsername = rs.getString("submittedByUsername");
|
||||
final String submittedByFirstname = rs.getString("submittedByFirstname");
|
||||
@@ -561,7 +576,8 @@ public class AccountDetailsReadPlatformServiceJpaRepositoryImpl implements Accou
|
||||
chargedOffOnDate, chargedOffByUsername, chargedOffByFirstname, chargedOffByLastname);
|
||||
|
||||
return new LoanAccountSummaryData(id, accountNo, parentAccountNumber, externalId, productId, loanProductName,
|
||||
shortLoanProductName, loanStatus, loanType, loanCycle, timeline, inArrears, originalLoan, loanBalance, amountPaid);
|
||||
shortLoanProductName, loanStatus, currency, loanType, loanCycle, timeline, inArrears, originalLoan, loanBalance,
|
||||
amountPaid);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+19
@@ -470,6 +470,24 @@ final class ClientsApiResourceSwagger {
|
||||
|
||||
private GetClientsLoanAccounts() {}
|
||||
|
||||
static final class GetClientsLoansAccountsCurrency {
|
||||
|
||||
private GetClientsLoansAccountsCurrency() {}
|
||||
|
||||
@Schema(example = "USD")
|
||||
public String code;
|
||||
@Schema(example = "US Dollar")
|
||||
public String name;
|
||||
@Schema(example = "2")
|
||||
public Integer decimalPlaces;
|
||||
@Schema(example = "$")
|
||||
public String displaySymbol;
|
||||
@Schema(example = "currency.USD")
|
||||
public String nameCode;
|
||||
@Schema(example = "US Dollar ($)")
|
||||
public String displayLabel;
|
||||
}
|
||||
|
||||
static final class GetClientsLoanAccountsStatus {
|
||||
|
||||
private GetClientsLoanAccountsStatus() {}
|
||||
@@ -520,6 +538,7 @@ final class ClientsApiResourceSwagger {
|
||||
public Long productId;
|
||||
@Schema(example = "TestOne")
|
||||
public String productName;
|
||||
public GetClientsLoansAccountsCurrency currency;
|
||||
public GetClientsLoanAccountsStatus status;
|
||||
public GetClientsLoanAccountsType loanType;
|
||||
@Schema(example = "1")
|
||||
|
||||
Reference in New Issue
Block a user