This is an automated email from the ASF dual-hosted git repository.

arnold pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/fineract.git


The following commit(s) were added to refs/heads/develop by this push:
     new aa7747c5c FINERACT-1724: Added loan external ID into transaction events
aa7747c5c is described below

commit aa7747c5ce3874dad7a87ff87021f5cf26b3dc8c
Author: Arnold Galovics <[email protected]>
AuthorDate: Mon Nov 7 13:38:35 2022 +0100

    FINERACT-1724: Added loan external ID into transaction events
---
 .../main/avro/loan/v1/LoanTransactionDataV1.avsc   |  8 ++++
 .../loanaccount/data/LoanTransactionData.java      | 47 +++++++++++++---------
 .../loanaccount/domain/LoanTransaction.java        |  3 +-
 .../service/LoanReadPlatformServiceImpl.java       | 35 +++++++++-------
 4 files changed, 58 insertions(+), 35 deletions(-)

diff --git 
a/fineract-avro-schemas/src/main/avro/loan/v1/LoanTransactionDataV1.avsc 
b/fineract-avro-schemas/src/main/avro/loan/v1/LoanTransactionDataV1.avsc
index 349212666..86bfe92be 100644
--- a/fineract-avro-schemas/src/main/avro/loan/v1/LoanTransactionDataV1.avsc
+++ b/fineract-avro-schemas/src/main/avro/loan/v1/LoanTransactionDataV1.avsc
@@ -19,6 +19,14 @@
                 "long"
             ]
         },
+        {
+            "default": null,
+            "name": "externalLoanId",
+            "type": [
+                "null",
+                "string"
+            ]
+        },
         {
             "default": null,
             "name": "officeId",
diff --git 
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/data/LoanTransactionData.java
 
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/data/LoanTransactionData.java
index 8811af493..e527fc6f6 100644
--- 
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/data/LoanTransactionData.java
+++ 
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/data/LoanTransactionData.java
@@ -37,6 +37,7 @@ public class LoanTransactionData {
 
     private final Long id;
     private final Long loanId;
+    private final String externalLoanId;
     private final Long officeId;
     private final String officeName;
 
@@ -113,6 +114,7 @@ public class LoanTransactionData {
         this.type = null;
         this.id = null;
         this.loanId = null;
+        this.externalLoanId = null;
         this.officeId = null;
         this.officeName = null;
         this.currency = null;
@@ -159,6 +161,7 @@ public class LoanTransactionData {
         this.locale = locale;
         this.id = null;
         this.loanId = null;
+        this.externalLoanId = null;
         this.officeId = null;
         this.officeName = null;
         this.type = null;
@@ -200,7 +203,8 @@ public class LoanTransactionData {
                 loanTransactionData.interestPortion, 
loanTransactionData.feeChargesPortion, 
loanTransactionData.penaltyChargesPortion,
                 loanTransactionData.overpaymentPortion, 
loanTransactionData.unrecognizedIncomePortion, paymentTypeOptions,
                 loanTransactionData.externalId, loanTransactionData.transfer, 
loanTransactionData.fixedEmiAmount,
-                loanTransactionData.outstandingLoanBalance, 
loanTransactionData.manuallyReversed, loanTransactionData.loanId);
+                loanTransactionData.outstandingLoanBalance, 
loanTransactionData.manuallyReversed, loanTransactionData.loanId,
+                loanTransactionData.externalLoanId);
 
     }
 
@@ -209,10 +213,10 @@ public class LoanTransactionData {
             final BigDecimal netDisbursalAmount, final BigDecimal 
principalPortion, final BigDecimal interestPortion,
             final BigDecimal feeChargesPortion, final BigDecimal 
penaltyChargesPortion, final BigDecimal overpaymentPortion,
             final String externalId, final AccountTransferData transfer, 
BigDecimal fixedEmiAmount, BigDecimal outstandingLoanBalance,
-            final BigDecimal unrecognizedIncomePortion, final boolean 
manuallyReversed, Long loanId) {
+            final BigDecimal unrecognizedIncomePortion, final boolean 
manuallyReversed, Long loanId, String externalLoanId) {
         this(id, officeId, officeName, transactionType, paymentDetailData, 
currency, date, amount, netDisbursalAmount, principalPortion,
                 interestPortion, feeChargesPortion, penaltyChargesPortion, 
overpaymentPortion, unrecognizedIncomePortion, null, externalId,
-                transfer, fixedEmiAmount, outstandingLoanBalance, 
manuallyReversed, loanId);
+                transfer, fixedEmiAmount, outstandingLoanBalance, 
manuallyReversed, loanId, externalLoanId);
     }
 
     public LoanTransactionData(final Long id, final Long officeId, final 
String officeName, final LoanTransactionEnumData transactionType,
@@ -221,10 +225,11 @@ public class LoanTransactionData {
             final BigDecimal feeChargesPortion, final BigDecimal 
penaltyChargesPortion, final BigDecimal overpaymentPortion,
             BigDecimal unrecognizedIncomePortion, final 
Collection<PaymentTypeData> paymentTypeOptions, final String externalId,
             final AccountTransferData transfer, final BigDecimal 
fixedEmiAmount, BigDecimal outstandingLoanBalance,
-            boolean manuallyReversed, Long loanId) {
-        this(id, loanId, officeId, officeName, transactionType, 
paymentDetailData, currency, date, amount, netDisbursalAmount,
+            boolean manuallyReversed, Long loanId, String externalLoanId) {
+        this(id, externalLoanId, officeId, officeName, transactionType, 
paymentDetailData, currency, date, amount, netDisbursalAmount,
                 principalPortion, interestPortion, feeChargesPortion, 
penaltyChargesPortion, overpaymentPortion, unrecognizedIncomePortion,
-                paymentTypeOptions, externalId, transfer, fixedEmiAmount, 
outstandingLoanBalance, null, manuallyReversed, null, null);
+                paymentTypeOptions, externalId, transfer, fixedEmiAmount, 
outstandingLoanBalance, null, manuallyReversed, null, null,
+                loanId);
     }
 
     public LoanTransactionData(final Long id, final Long officeId, final 
String officeName, final LoanTransactionEnumData transactionType,
@@ -233,23 +238,24 @@ public class LoanTransactionData {
             final BigDecimal feeChargesPortion, final BigDecimal 
penaltyChargesPortion, final BigDecimal overpaymentPortion,
             final BigDecimal unrecognizedIncomePortion, final String 
externalId, final AccountTransferData transfer,
             BigDecimal fixedEmiAmount, BigDecimal outstandingLoanBalance, 
LocalDate submittedOnDate, final boolean manuallyReversed,
-            final String reversalExternalId, final LocalDate reversedOnDate, 
Long loanId) {
-        this(id, loanId, officeId, officeName, transactionType, 
paymentDetailData, currency, date, amount, netDisbursalAmount,
+            final String reversalExternalId, final LocalDate reversedOnDate, 
Long loanId, String externalLoanId) {
+        this(id, externalLoanId, officeId, officeName, transactionType, 
paymentDetailData, currency, date, amount, netDisbursalAmount,
                 principalPortion, interestPortion, feeChargesPortion, 
penaltyChargesPortion, overpaymentPortion, unrecognizedIncomePortion,
                 null, externalId, transfer, fixedEmiAmount, 
outstandingLoanBalance, submittedOnDate, manuallyReversed, reversalExternalId,
-                reversedOnDate);
+                reversedOnDate, loanId);
     }
 
-    public LoanTransactionData(final Long id, Long loanId, final Long 
officeId, final String officeName,
+    public LoanTransactionData(final Long id, final String externalLoanId, 
final Long officeId, final String officeName,
             final LoanTransactionEnumData transactionType, final 
PaymentDetailData paymentDetailData, final CurrencyData currency,
             final LocalDate date, final BigDecimal amount, final BigDecimal 
netDisbursalAmount, final BigDecimal principalPortion,
             final BigDecimal interestPortion, final BigDecimal 
feeChargesPortion, final BigDecimal penaltyChargesPortion,
             final BigDecimal overpaymentPortion, final BigDecimal 
unrecognizedIncomePortion,
             final Collection<PaymentTypeData> paymentTypeOptions, final String 
externalId, final AccountTransferData transfer,
             final BigDecimal fixedEmiAmount, BigDecimal 
outstandingLoanBalance, final LocalDate submittedOnDate,
-            final boolean manuallyReversed, final String reversalExternalId, 
final LocalDate reversedOnDate) {
+            final boolean manuallyReversed, final String reversalExternalId, 
final LocalDate reversedOnDate, Long loanId) {
         this.id = id;
         this.loanId = loanId;
+        this.externalLoanId = externalLoanId;
         this.officeId = officeId;
         this.officeName = officeName;
         this.type = transactionType;
@@ -279,10 +285,10 @@ public class LoanTransactionData {
     public LoanTransactionData(Long id, LoanTransactionEnumData 
transactionType, LocalDate date, BigDecimal totalAmount,
             BigDecimal netDisbursalAmount, BigDecimal principalPortion, 
BigDecimal interestPortion, BigDecimal feeChargesPortion,
             BigDecimal penaltyChargesPortion, BigDecimal overpaymentPortion, 
BigDecimal unrecognizedIncomePortion,
-            BigDecimal outstandingLoanBalance, final boolean manuallyReversed, 
Long loanId) {
-        this(id, loanId, null, null, transactionType, null, null, date, 
totalAmount, netDisbursalAmount, principalPortion, interestPortion,
-                feeChargesPortion, penaltyChargesPortion, overpaymentPortion, 
unrecognizedIncomePortion, null, null, null, null,
-                outstandingLoanBalance, null, manuallyReversed, null, null);
+            BigDecimal outstandingLoanBalance, final boolean manuallyReversed, 
Long loanId, String externalLoanId) {
+        this(id, externalLoanId, null, null, transactionType, null, null, 
date, totalAmount, netDisbursalAmount, principalPortion,
+                interestPortion, feeChargesPortion, penaltyChargesPortion, 
overpaymentPortion, unrecognizedIncomePortion, null, null, null,
+                null, outstandingLoanBalance, null, manuallyReversed, null, 
null, loanId);
     }
 
     public static LoanTransactionData 
loanTransactionDataForDisbursalTemplate(final LoanTransactionEnumData 
transactionType,
@@ -291,6 +297,7 @@ public class LoanTransactionData {
             final LocalDate possibleNextRepaymentDate) {
         final Long id = null;
         final Long loanId = null;
+        final String externalLoanId = null;
         final Long officeId = null;
         final String officeName = null;
         final PaymentDetailData paymentDetailData = null;
@@ -306,22 +313,24 @@ public class LoanTransactionData {
         final AccountTransferData transfer = null;
         final LocalDate submittedOnDate = null;
         final boolean manuallyReversed = false;
-        return new LoanTransactionData(id, loanId, officeId, officeName, 
transactionType, paymentDetailData, currency,
+        return new LoanTransactionData(id, officeId, officeName, 
transactionType, paymentDetailData, currency,
                 expectedDisbursedOnLocalDateForTemplate, 
disburseAmountForTemplate, netDisbursalAmount, principalPortion, 
interestPortion,
                 feeChargesPortion, penaltyChargesPortion, overpaymentPortion, 
unrecognizedIncomePortion, paymentOptions, transfer,
-                externalId, retriveLastEmiAmount, outstandingLoanBalance, 
submittedOnDate, manuallyReversed, possibleNextRepaymentDate);
+                externalId, retriveLastEmiAmount, outstandingLoanBalance, 
submittedOnDate, manuallyReversed, possibleNextRepaymentDate,
+                loanId, externalLoanId);
 
     }
 
-    private LoanTransactionData(Long id, Long loanId, final Long officeId, 
final String officeName, LoanTransactionEnumData transactionType,
+    private LoanTransactionData(Long id, final Long officeId, final String 
officeName, LoanTransactionEnumData transactionType,
             final PaymentDetailData paymentDetailData, final CurrencyData 
currency, final LocalDate date, BigDecimal amount,
             BigDecimal netDisbursalAmount, final BigDecimal principalPortion, 
final BigDecimal interestPortion,
             final BigDecimal feeChargesPortion, final BigDecimal 
penaltyChargesPortion, final BigDecimal overpaymentPortion,
             BigDecimal unrecognizedIncomePortion, Collection<PaymentTypeData> 
paymentOptions, final AccountTransferData transfer,
             final String externalId, final BigDecimal fixedEmiAmount, 
BigDecimal outstandingLoanBalance, final LocalDate submittedOnDate,
-            final boolean manuallyReversed, final LocalDate 
possibleNextRepaymentDate) {
+            final boolean manuallyReversed, final LocalDate 
possibleNextRepaymentDate, Long loanId, String externalLoanId) {
         this.id = id;
         this.loanId = loanId;
+        this.externalLoanId = externalLoanId;
         this.officeId = officeId;
         this.officeName = officeName;
         this.type = transactionType;
diff --git 
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/domain/LoanTransaction.java
 
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/domain/LoanTransaction.java
index bf2d1169b..64d2c3992 100644
--- 
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/domain/LoanTransaction.java
+++ 
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/domain/LoanTransaction.java
@@ -673,7 +673,8 @@ public class LoanTransaction extends 
AbstractAuditableWithUTCDateTimeCustom {
         return new LoanTransactionData(getId(), this.office.getId(), 
this.office.getName(), transactionType, paymentDetailData,
                 currencyData, getTransactionDate(), this.amount, 
this.loan.getNetDisbursalAmount(), this.principalPortion,
                 this.interestPortion, this.feeChargesPortion, 
this.penaltyChargesPortion, this.overPaymentPortion, this.externalId,
-                transfer, null, outstandingLoanBalance, 
this.unrecognizedIncomePortion, this.manuallyAdjustedOrReversed, 
this.loan.getId());
+                transfer, null, outstandingLoanBalance, 
this.unrecognizedIncomePortion, this.manuallyAdjustedOrReversed, 
this.loan.getId(),
+                this.loan.getExternalId());
     }
 
     public Map<String, Object> toMapData(final String currencyCode) {
diff --git 
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/service/LoanReadPlatformServiceImpl.java
 
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/service/LoanReadPlatformServiceImpl.java
index 62e71f279..250902151 100644
--- 
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/service/LoanReadPlatformServiceImpl.java
+++ 
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/service/LoanReadPlatformServiceImpl.java
@@ -459,7 +459,7 @@ public class LoanReadPlatformServiceImpl implements 
LoanReadPlatformService {
                 
loanRepaymentScheduleInstallment.getInterestOutstanding(currency).getAmount(),
                 
loanRepaymentScheduleInstallment.getFeeChargesOutstanding(currency).getAmount().subtract(adjustedChargeAmount),
                 
loanRepaymentScheduleInstallment.getPenaltyChargesOutstanding(currency).getAmount(),
 null, unrecognizedIncomePortion,
-                paymentOptions, null, null, null, outstandingLoanBalance, 
false, loanId);
+                paymentOptions, null, null, null, outstandingLoanBalance, 
false, loanId, loan.getExternalId());
     }
 
     private BigDecimal adjustPrepayInstallmentCharge(Loan loan, final 
LocalDate onDate) {
@@ -497,7 +497,7 @@ public class LoanReadPlatformServiceImpl implements 
LoanReadPlatformService {
         final BigDecimal unrecognizedIncomePortion = null;
         return new LoanTransactionData(null, null, null, transactionType, 
null, currencyData, waiveOfInterest.getTransactionDate(), amount,
                 loan.getNetDisbursalAmount(), null, null, null, null, null, 
null, null, null, outstandingLoanBalance,
-                unrecognizedIncomePortion, false, loanId);
+                unrecognizedIncomePortion, false, loanId, 
loan.getExternalId());
     }
 
     @Override
@@ -508,7 +508,7 @@ public class LoanReadPlatformServiceImpl implements 
LoanReadPlatformService {
         final LoanTransactionEnumData transactionType = 
LoanEnumerations.transactionType(LoanTransactionType.WRITEOFF);
         final BigDecimal unrecognizedIncomePortion = null;
         return new LoanTransactionData(null, null, null, transactionType, 
null, null, DateUtils.getBusinessLocalDate(), null, null, null,
-                null, null, null, null, null, null, null, 
outstandingLoanBalance, unrecognizedIncomePortion, false, null);
+                null, null, null, null, null, null, null, 
outstandingLoanBalance, unrecognizedIncomePortion, false, null, null);
 
     }
 
@@ -1310,7 +1310,7 @@ public class LoanReadPlatformServiceImpl implements 
LoanReadPlatformService {
                     + " pd.payment_type_id as paymentType,pd.account_number as 
accountNumber,pd.check_number as checkNumber, "
                     + " pd.receipt_number as receiptNumber, pd.bank_number as 
bankNumber,pd.routing_code as routingCode, l.net_disbursal_amount as 
netDisbursalAmount,"
                     + " l.currency_code as currencyCode, l.currency_digits as 
currencyDigits, l.currency_multiplesof as inMultiplesOf, rc."
-                    + sqlGenerator.escape("name") + " as currencyName, l.id as 
loanId, "
+                    + sqlGenerator.escape("name") + " as currencyName, l.id as 
loanId, l.external_id as externalLoanId, "
                     + " rc.display_symbol as currencyDisplaySymbol, 
rc.internationalized_name_code as currencyNameCode, "
                     + " pt.value as paymentTypeName, tr.external_id as 
externalId, tr.office_id as officeId, office.name as officeName, "
                     + " fromtran.id as fromTransferId, fromtran.is_reversed as 
fromTransferReversed,"
@@ -1340,6 +1340,7 @@ public class LoanReadPlatformServiceImpl implements 
LoanReadPlatformService {
 
             final Long id = rs.getLong("id");
             final Long loanId = rs.getLong("loanId");
+            final String externalLoanId = rs.getString("externalLoanId");
             final Long officeId = rs.getLong("officeId");
             final String officeName = rs.getString("officeName");
             final int transactionTypeInt = JdbcSupport.getInteger(rs, 
"transactionType");
@@ -1402,7 +1403,7 @@ public class LoanReadPlatformServiceImpl implements 
LoanReadPlatformService {
             return new LoanTransactionData(id, officeId, officeName, 
transactionType, paymentDetailData, currencyData, date, totalAmount,
                     netDisbursalAmount, principalPortion, interestPortion, 
feeChargesPortion, penaltyChargesPortion, overPaymentPortion,
                     unrecognizedIncomePortion, externalId, transfer, null, 
outstandingLoanBalance, submittedOnDate, manuallyReversed,
-                    reversalExternalId, reversedOnDate, loanId);
+                    reversalExternalId, reversedOnDate, loanId, 
externalLoanId);
         }
     }
 
@@ -1872,7 +1873,7 @@ public class LoanReadPlatformServiceImpl implements 
LoanReadPlatformService {
         final BigDecimal unrecognizedIncomePortion = null;
         return new LoanTransactionData(null, null, null, transactionType, 
null, null, null, loan.getTotalWrittenOff(),
                 loan.getNetDisbursalAmount(), null, null, null, null, null, 
unrecognizedIncomePortion, paymentOptions, null, null, null,
-                outstandingLoanBalance, false, loanId);
+                outstandingLoanBalance, false, loanId, loan.getExternalId());
 
     }
 
@@ -1886,7 +1887,7 @@ public class LoanReadPlatformServiceImpl implements 
LoanReadPlatformService {
                 
this.codeValueReadPlatformService.retrieveCodeValuesByCode(LoanApiConstants.WRITEOFFREASONS));
         LoanTransactionData loanTransactionData = new 
LoanTransactionData(null, null, null, transactionType, null, loan.getCurrency(),
                 DateUtils.getBusinessLocalDate(), totalOutstanding, 
loan.getNetDisbursalAmount(), null, null, null, null, null, null, null,
-                null, null, null, false, loanId);
+                null, null, null, false, loanId, loan.getExternalId());
         loanTransactionData.setWriteOffReasonOptions(writeOffReasonOptions);
         return loanTransactionData;
     }
@@ -2016,7 +2017,8 @@ public class LoanReadPlatformServiceImpl implements 
LoanReadPlatformService {
                     + ", tr.amount as total, tr.principal_portion_derived as 
principal, tr.interest_portion_derived as interest, "
                     + " tr.fee_charges_portion_derived as fees, 
tr.penalty_charges_portion_derived as penalties, "
                     + " tr.overpayment_portion_derived as overpayment, 
tr.outstanding_loan_balance_derived as outstandingLoanBalance, "
-                    + " tr.unrecognized_income_portion as unrecognizedIncome, 
tr.loan_id as loanId from m_loan_transaction tr ";
+                    + " tr.unrecognized_income_portion as unrecognizedIncome, 
tr.loan_id as loanId, l.external_id as externalLoanId from m_loan_transaction 
tr "
+                    + " left join m_loan l on tr.loan_id = l.id";
         }
 
         @Override
@@ -2024,6 +2026,7 @@ public class LoanReadPlatformServiceImpl implements 
LoanReadPlatformService {
 
             final Long id = rs.getLong("id");
             final Long loanId = rs.getLong("loanId");
+            final String externalLoanId = rs.getString("externalLoanId");
             final int transactionTypeInt = JdbcSupport.getInteger(rs, 
"transactionType");
             final LoanTransactionEnumData transactionType = 
LoanEnumerations.transactionType(transactionTypeInt);
 
@@ -2039,7 +2042,7 @@ public class LoanReadPlatformServiceImpl implements 
LoanReadPlatformService {
 
             return new LoanTransactionData(id, transactionType, date, 
totalAmount, null, principalPortion, interestPortion,
                     feeChargesPortion, penaltyChargesPortion, 
overPaymentPortion, unrecognizedIncomePortion, outstandingLoanBalance, false,
-                    loanId);
+                    loanId, externalLoanId);
         }
     }
 
@@ -2157,7 +2160,7 @@ public class LoanReadPlatformServiceImpl implements 
LoanReadPlatformService {
         final Collection<PaymentTypeData> paymentOptions = 
this.paymentTypeReadPlatformService.retrieveAllPaymentTypes();
         final Loan loan = 
this.loanRepositoryWrapper.findOneWithNotFoundDetection(loanId, true);
         return retrieveRefundTemplate(loanId, 
LoanTransactionType.REFUND_FOR_ACTIVE_LOAN, paymentOptions, loan.getCurrency(),
-                retrieveTotalPaidInAdvance(loan.getId()).getPaidInAdvance(), 
loan.getNetDisbursalAmount());
+                retrieveTotalPaidInAdvance(loan.getId()).getPaidInAdvance(), 
loan.getNetDisbursalAmount(), loan.getExternalId());
     }
 
     @Override
@@ -2168,12 +2171,13 @@ public class LoanReadPlatformServiceImpl implements 
LoanReadPlatformService {
         final BigDecimal netDisbursal = null;
         final Loan loan = 
this.loanRepositoryWrapper.findOneWithNotFoundDetection(loanId, true);
         return retrieveRefundTemplate(loanId, 
LoanTransactionType.CREDIT_BALANCE_REFUND, paymentOptions, loan.getCurrency(),
-                loan.getTotalOverpaid(), netDisbursal);
+                loan.getTotalOverpaid(), netDisbursal, loan.getExternalId());
 
     }
 
     private LoanTransactionData retrieveRefundTemplate(Long loanId, 
LoanTransactionType loanTransactionType,
-            Collection<PaymentTypeData> paymentOptions, MonetaryCurrency 
currency, BigDecimal transactionAmount, BigDecimal netDisbursal) {
+            Collection<PaymentTypeData> paymentOptions, MonetaryCurrency 
currency, BigDecimal transactionAmount, BigDecimal netDisbursal,
+            String externalLoanId) {
 
         final ApplicationCurrency applicationCurrency = 
this.applicationCurrencyRepository.findOneWithNotFoundDetection(currency);
 
@@ -2183,7 +2187,7 @@ public class LoanReadPlatformServiceImpl implements 
LoanReadPlatformService {
 
         final LoanTransactionEnumData transactionType = 
LoanEnumerations.transactionType(loanTransactionType);
         return new LoanTransactionData(null, null, null, transactionType, 
null, currencyData, currentDate, transactionAmount, null,
-                netDisbursal, null, null, null, null, null, paymentOptions, 
null, null, null, null, false, loanId);
+                netDisbursal, null, null, null, null, null, paymentOptions, 
null, null, null, null, false, loanId, externalLoanId);
     }
 
     @Override
@@ -2277,7 +2281,7 @@ public class LoanReadPlatformServiceImpl implements 
LoanReadPlatformService {
                 
loanRepaymentScheduleInstallment.getInterestOutstanding(currency).getAmount(),
                 
loanRepaymentScheduleInstallment.getFeeChargesOutstanding(currency).getAmount(),
                 
loanRepaymentScheduleInstallment.getPenaltyChargesOutstanding(currency).getAmount(),
 null, unrecognizedIncomePortion,
-                paymentTypeOptions, null, null, null, outstandingLoanBalance, 
isReversed, loanId);
+                paymentTypeOptions, null, null, null, outstandingLoanBalance, 
isReversed, loanId, loan.getExternalId());
     }
 
     private static final class CurrencyMapper implements 
RowMapper<CurrencyData> {
@@ -2350,6 +2354,7 @@ public class LoanReadPlatformServiceImpl implements 
LoanReadPlatformService {
             final BigDecimal netDisbursalAmount = 
JdbcSupport.getBigDecimalDefaultToZeroIfNull(rs, "netDisbursalAmount");
             final Long id = null;
             final Long loanId = null;
+            final String externalLoanId = null;
             final Long officeId = null;
             final String officeName = null;
             boolean manuallyReversed = false;
@@ -2359,7 +2364,7 @@ public class LoanReadPlatformServiceImpl implements 
LoanReadPlatformService {
             final BigDecimal fixedEmiAmount = null;
             return new LoanTransactionData(id, officeId, officeName, 
transactionType, paymentDetailData, currencyData, date, totalDue,
                     netDisbursalAmount, principalPortion, interestDue, feeDue, 
penaltyDue, overPaymentPortion, externalId, transfer,
-                    fixedEmiAmount, outstandingLoanBalance, 
unrecognizedIncomePortion, manuallyReversed, loanId);
+                    fixedEmiAmount, outstandingLoanBalance, 
unrecognizedIncomePortion, manuallyReversed, loanId, externalLoanId);
         }
 
     }

Reply via email to