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 81be86373 Quick code cleaning for client and loan: around the native
queries
81be86373 is described below
commit 81be8637390a7e2826bf414a8b149c795520063f
Author: Adam Saghy <[email protected]>
AuthorDate: Thu Jul 14 23:13:24 2022 +0200
Quick code cleaning for client and loan: around the native queries
---
.../ClientAddressReadPlatformServiceImpl.java | 2 +-
.../ClientChargeReadPlatformServiceImpl.java | 7 +-
...ClientFamilyMembersReadPlatformServiceImpl.java | 4 +-
.../ClientIdentifierReadPlatformServiceImpl.java | 4 +-
.../service/ClientReadPlatformServiceImpl.java | 16 +--
.../ClientTransactionReadPlatformServiceImpl.java | 2 +-
.../service/GuarantorReadPlatformServiceImpl.java | 14 +--
...LoanScheduleHistoryReadPlatformServiceImpl.java | 8 +-
...anRescheduleRequestReadPlatformServiceImpl.java | 14 +--
.../service/BulkLoansReadPlatformServiceImpl.java | 4 +-
.../GLIMAccountInfoReadPlatformServiceImpl.java | 12 +-
.../LoanAccrualWritePlatformServiceImpl.java | 6 +-
.../service/LoanArrearsAgingServiceImpl.java | 10 +-
.../LoanChargePaidByReadPlatformServiceImpl.java | 2 +-
.../service/LoanChargeReadPlatformServiceImpl.java | 23 ++--
.../service/LoanReadPlatformServiceImpl.java | 121 +++++++++------------
16 files changed, 109 insertions(+), 140 deletions(-)
diff --git
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientAddressReadPlatformServiceImpl.java
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientAddressReadPlatformServiceImpl.java
index 4623adbc3..0ce164a69 100644
---
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientAddressReadPlatformServiceImpl.java
+++
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientAddressReadPlatformServiceImpl.java
@@ -67,7 +67,7 @@ public class ClientAddressReadPlatformServiceImpl implements
ClientAddressReadPl
final ClientAddrMapper rm = new ClientAddrMapper();
final String sql = "select " + rm.schema() + " where fld.entity=?";
- return this.jdbcTemplate.query(sql, rm, new Object[] { entity }); //
NOSONAR
+ return this.jdbcTemplate.query(sql, rm, entity); // NOSONAR
}
}
diff --git
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientChargeReadPlatformServiceImpl.java
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientChargeReadPlatformServiceImpl.java
index b79154e28..dc7756bba 100644
---
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientChargeReadPlatformServiceImpl.java
+++
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientChargeReadPlatformServiceImpl.java
@@ -23,6 +23,7 @@ import java.sql.ResultSet;
import java.sql.SQLException;
import java.time.LocalDate;
import java.util.Collection;
+import org.apache.commons.lang3.BooleanUtils;
import org.apache.fineract.infrastructure.core.data.EnumOptionData;
import org.apache.fineract.infrastructure.core.domain.JdbcSupport;
import org.apache.fineract.infrastructure.core.service.Page;
@@ -128,7 +129,7 @@ public class ClientChargeReadPlatformServiceImpl implements
ClientChargeReadPlat
final String sql = "select " + rm.schema() + " where
cc.client_id=? and cc.id=? ";
- return this.jdbcTemplate.queryForObject(sql, rm, new Object[] {
clientId, clientChargeId }); // NOSONAR
+ return this.jdbcTemplate.queryForObject(sql, rm, clientId,
clientChargeId); // NOSONAR
} catch (final EmptyResultDataAccessException e) {
throw new ClientChargeNotFoundException(clientChargeId, clientId,
e);
}
@@ -149,9 +150,9 @@ public class ClientChargeReadPlatformServiceImpl implements
ClientChargeReadPlat
}
// filter for paid charges
- if (pendingPayment != null && pendingPayment) {
+ if (BooleanUtils.isTrue(pendingPayment)) {
sqlBuilder.append(" and ( cc.is_paid_derived = false and cc.waived
= false) ");
- } else if (pendingPayment != null && !pendingPayment) {
+ } else if (BooleanUtils.isFalse(pendingPayment)) {
sqlBuilder.append(" and (cc.is_paid_derived = true or cc.waived =
true) ");
}
diff --git
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientFamilyMembersReadPlatformServiceImpl.java
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientFamilyMembersReadPlatformServiceImpl.java
index 0ad311828..d046b8ba9 100644
---
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientFamilyMembersReadPlatformServiceImpl.java
+++
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientFamilyMembersReadPlatformServiceImpl.java
@@ -98,7 +98,7 @@ public class ClientFamilyMembersReadPlatformServiceImpl
implements ClientFamilyM
final ClientFamilyMembersMapper rm = new ClientFamilyMembersMapper();
final String sql = "select " + rm.schema() + " where fmb.client_id=?";
- return this.jdbcTemplate.query(sql, rm, new Object[] { clientId }); //
NOSONAR
+ return this.jdbcTemplate.query(sql, rm, clientId); // NOSONAR
}
@Override
@@ -109,7 +109,7 @@ public class ClientFamilyMembersReadPlatformServiceImpl
implements ClientFamilyM
final ClientFamilyMembersMapper rm = new ClientFamilyMembersMapper();
final String sql = "select " + rm.schema() + " where fmb.id=? ";
- return this.jdbcTemplate.queryForObject(sql, rm, new Object[] { id });
// NOSONAR
+ return this.jdbcTemplate.queryForObject(sql, rm, id); // NOSONAR
}
@Override
diff --git
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientIdentifierReadPlatformServiceImpl.java
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientIdentifierReadPlatformServiceImpl.java
index 300f16cce..88dace77f 100644
---
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientIdentifierReadPlatformServiceImpl.java
+++
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientIdentifierReadPlatformServiceImpl.java
@@ -54,7 +54,7 @@ public class ClientIdentifierReadPlatformServiceImpl
implements ClientIdentifier
sql += " order by ci.id";
- return this.jdbcTemplate.query(sql, rm, new Object[] { clientId,
hierarchySearchString }); // NOSONAR
+ return this.jdbcTemplate.query(sql, rm, clientId,
hierarchySearchString); // NOSONAR
}
@Override
@@ -71,7 +71,7 @@ public class ClientIdentifierReadPlatformServiceImpl
implements ClientIdentifier
sql += " and ci.id = ?";
final ClientIdentifierData clientIdentifierData =
this.jdbcTemplate.queryForObject(sql, rm, // NOSONAR
- new Object[] { clientId, hierarchySearchString,
clientIdentifierId });
+ clientId, hierarchySearchString, clientIdentifierId);
return clientIdentifierData;
} catch (final EmptyResultDataAccessException e) {
diff --git
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientReadPlatformServiceImpl.java
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientReadPlatformServiceImpl.java
index 150d2520c..4c8525e5a 100644
---
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientReadPlatformServiceImpl.java
+++
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientReadPlatformServiceImpl.java
@@ -297,7 +297,7 @@ public class ClientReadPlatformServiceImpl implements
ClientReadPlatformService
final String sql = "select " + this.clientMapper.schema()
+ " where ( o.hierarchy like ? or
transferToOffice.hierarchy like ?) and c.id = ?";
final ClientData clientData =
this.jdbcTemplate.queryForObject(sql, this.clientMapper, // NOSONAR
- new Object[] { hierarchySearchString,
hierarchySearchString, clientId });
+ hierarchySearchString, hierarchySearchString, clientId);
// Get client collaterals
final Collection<ClientCollateralManagement>
clientCollateralManagements = this.clientCollateralManagementRepositoryWrapper
@@ -315,7 +315,7 @@ public class ClientReadPlatformServiceImpl implements
ClientReadPlatformService
final String clientGroupsSql = "select " +
this.clientGroupsMapper.parentGroupsSchema();
final Collection<GroupGeneralData> parentGroups =
this.jdbcTemplate.query(clientGroupsSql, this.clientGroupsMapper, // NOSONAR
- new Object[] { clientId });
+ clientId);
return ClientData.setParentGroups(clientData, parentGroups,
clientCollateralManagementDataSet);
@@ -341,7 +341,7 @@ public class ClientReadPlatformServiceImpl implements
ClientReadPlatformService
final String sql = "select " + this.lookupMapper.schema() + " where
c.office_id = ? and c.status_enum != ?";
- return this.jdbcTemplate.query(sql, this.lookupMapper, new Object[] {
officeId, ClientStatus.CLOSED.getValue() }); // NOSONAR
+ return this.jdbcTemplate.query(sql, this.lookupMapper, officeId,
ClientStatus.CLOSED.getValue()); // NOSONAR
}
@Override
@@ -353,7 +353,7 @@ public class ClientReadPlatformServiceImpl implements
ClientReadPlatformService
final String sql = "select " + this.membersOfGroupMapper.schema() + "
where o.hierarchy like ? and pgc.group_id = ?";
- return this.jdbcTemplate.query(sql, this.membersOfGroupMapper, new
Object[] { hierarchySearchString, groupId }); // NOSONAR
+ return this.jdbcTemplate.query(sql, this.membersOfGroupMapper,
hierarchySearchString, groupId); // NOSONAR
}
@Override
@@ -367,7 +367,7 @@ public class ClientReadPlatformServiceImpl implements
ClientReadPlatformService
+ " where o.hierarchy like ? and pgc.group_id = ? and
c.status_enum = ? ";
return this.jdbcTemplate.query(sql, this.membersOfGroupMapper, //
NOSONAR
- new Object[] { hierarchySearchString, groupId,
ClientStatus.ACTIVE.getValue() });
+ hierarchySearchString, groupId,
ClientStatus.ACTIVE.getValue());
}
private static final class ClientMembersOfGroupMapper implements
RowMapper<ClientData> {
@@ -556,7 +556,7 @@ public class ClientReadPlatformServiceImpl implements
ClientReadPlatformService
+ " left join m_group g on pgc.group_id=g.id where o.hierarchy
like ? and g.parent_id = ? and c.status_enum = ? group by c.id";
return this.jdbcTemplate.query(sql, this.membersOfGroupMapper, //
NOSONAR
- new Object[] { hierarchySearchString, centerId,
ClientStatus.ACTIVE.getValue() });
+ hierarchySearchString, centerId,
ClientStatus.ACTIVE.getValue());
}
private static final class ClientMapper implements RowMapper<ClientData> {
@@ -788,7 +788,7 @@ public class ClientReadPlatformServiceImpl implements
ClientReadPlatformService
final String sql = "select " +
mapper.clientLookupByIdentifierSchema();
- return this.jdbcTemplate.queryForObject(sql, mapper, new Object[]
{ identifierTypeId, identifierKey }); // NOSONAR
+ return this.jdbcTemplate.queryForObject(sql, mapper,
identifierTypeId, identifierKey); // NOSONAR
} catch (final EmptyResultDataAccessException e) {
return null;
}
@@ -867,6 +867,6 @@ public class ClientReadPlatformServiceImpl implements
ClientReadPlatformService
@Override
public Collection<Long> retrieveUserClients(Long aUserID) {
String sql = "SELECT m.client_id FROM
m_selfservice_user_client_mapping m INNER JOIN m_client c ON c.id = m.client_id
WHERE m.appuser_id = ?";
- return jdbcTemplate.queryForList(sql, Long.class, new Object[] {
aUserID });
+ return jdbcTemplate.queryForList(sql, Long.class, aUserID);
}
}
diff --git
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientTransactionReadPlatformServiceImpl.java
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientTransactionReadPlatformServiceImpl.java
index d240e58c0..5f9194de9 100644
---
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientTransactionReadPlatformServiceImpl.java
+++
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientTransactionReadPlatformServiceImpl.java
@@ -177,7 +177,7 @@ public class ClientTransactionReadPlatformServiceImpl
implements ClientTransacti
public ClientTransactionData retrieveTransaction(Long clientId, Long
transactionId) {
try {
final String sql = "select " +
this.clientTransactionMapper.schema() + " where c.id = ? and tr.id= ?";
- return this.jdbcTemplate.queryForObject(sql,
this.clientTransactionMapper, new Object[] { clientId, transactionId }); //
NOSONAR
+ return this.jdbcTemplate.queryForObject(sql,
this.clientTransactionMapper, clientId, transactionId); // NOSONAR
} catch (final EmptyResultDataAccessException e) {
throw new ClientTransactionNotFoundException(clientId,
transactionId, e);
}
diff --git
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/guarantor/service/GuarantorReadPlatformServiceImpl.java
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/guarantor/service/GuarantorReadPlatformServiceImpl.java
index 027a0e39d..c68ecf911 100644
---
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/guarantor/service/GuarantorReadPlatformServiceImpl.java
+++
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/guarantor/service/GuarantorReadPlatformServiceImpl.java
@@ -214,7 +214,7 @@ public class GuarantorReadPlatformServiceImpl implements
GuarantorReadPlatformSe
public GuarantorFundingData mapRow(final ResultSet rs, final int
rowNum) throws SQLException {
GuarantorFundingData guarantorFundingData = null;
final Long id = rs.getLong("gfdId");
- if (id != null && id > 0) {
+ if (id > 0) {
final BigDecimal amount =
JdbcSupport.getBigDecimalDefaultToZeroIfNull(rs, "amount");
final BigDecimal amountReleased =
JdbcSupport.getBigDecimalDefaultToZeroIfNull(rs, "amountReleased");
final BigDecimal amountRemaining =
JdbcSupport.getBigDecimalDefaultToZeroIfNull(rs, "amountRemaining");
@@ -231,7 +231,7 @@ public class GuarantorReadPlatformServiceImpl implements
GuarantorReadPlatformSe
guarantorTransactions.add(guarantorTransactionData);
while (rs.next()) {
final Long tempFundId = rs.getLong("gfdId");
- if (tempFundId != null && tempFundId.equals(id)) {
+ if (tempFundId.equals(id)) {
guarantorTransactionData =
this.guarantorTransactionMapper.mapRow(rs, rowNum);
guarantorTransactions.add(guarantorTransactionData);
} else {
@@ -276,11 +276,9 @@ public class GuarantorReadPlatformServiceImpl implements
GuarantorReadPlatformSe
EnumOptionData transactionType =
SavingsEnumerations.onHoldTransactionType(transactionTypeEnum);
final boolean reversed = rs.getBoolean("reversed");
final boolean transactionReversed =
rs.getBoolean("transactionReversed");
- if (id != null) {
- DepositAccountOnHoldTransactionData onHoldTransactionData =
DepositAccountOnHoldTransactionData.instance(transactionId,
- amount, transactionType, date, transactionReversed);
- guarantorTransactionData =
GuarantorTransactionData.instance(id, onHoldTransactionData, null, reversed);
- }
+ DepositAccountOnHoldTransactionData onHoldTransactionData =
DepositAccountOnHoldTransactionData.instance(transactionId, amount,
+ transactionType, date, transactionReversed);
+ guarantorTransactionData = GuarantorTransactionData.instance(id,
onHoldTransactionData, null, reversed);
return guarantorTransactionData;
}
@@ -305,7 +303,7 @@ public class GuarantorReadPlatformServiceImpl implements
GuarantorReadPlatformSe
final ObligeeMapper rm = new ObligeeMapper();
String sql = rm.schema();
try {
- return this.jdbcTemplate.query(sql, rm, new Object[] { clientId });
+ return this.jdbcTemplate.query(sql, rm, clientId);
} catch (final EmptyResultDataAccessException e) {
return null;
}
diff --git
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/loanschedule/service/LoanScheduleHistoryReadPlatformServiceImpl.java
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/loanschedule/service/LoanScheduleHistoryReadPlatformServiceImpl.java
index 9b3f2e322..ebf487643 100644
---
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/loanschedule/service/LoanScheduleHistoryReadPlatformServiceImpl.java
+++
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/loanschedule/service/LoanScheduleHistoryReadPlatformServiceImpl.java
@@ -80,7 +80,7 @@ public class LoanScheduleHistoryReadPlatformServiceImpl
implements LoanScheduleH
final String sql = "select " + fullResultsetExtractor.schema()
+ " where ls.loan_id = ? and ls.version = ? order by
ls.loan_id, ls.installment";
- return this.jdbcTemplate.query(sql, fullResultsetExtractor, new
Object[] { loanId, versionNumber }); // NOSONAR
+ return this.jdbcTemplate.query(sql, fullResultsetExtractor,
loanId, versionNumber); // NOSONAR
} catch (final EmptyResultDataAccessException e) {
throw new LoanNotFoundException(loanId, e);
}
@@ -142,7 +142,7 @@ public class LoanScheduleHistoryReadPlatformServiceImpl
implements LoanScheduleH
totalFeeChargesCharged =
totalFeeChargesCharged.plus(disbursementPeriod.feeChargesDue());
totalRepaymentExpected =
totalRepaymentExpected.plus(disbursementPeriod.feeChargesDue());
- Integer loanTermInDays = Integer.valueOf(0);
+ Integer loanTermInDays = 0;
while (rs.next()) {
final Integer period = JdbcSupport.getInteger(rs, "period");
LocalDate fromDate = JdbcSupport.getLocalDate(rs, "fromDate");
@@ -168,10 +168,10 @@ public class LoanScheduleHistoryReadPlatformServiceImpl
implements LoanScheduleH
totalPrincipalDisbursed =
totalPrincipalDisbursed.add(principal);
}
- Integer daysInPeriod = Integer.valueOf(0);
+ Integer daysInPeriod = 0;
if (fromDate != null) {
daysInPeriod =
Math.toIntExact(ChronoUnit.DAYS.between(fromDate, dueDate));
- loanTermInDays = Integer.valueOf(loanTermInDays.intValue()
+ daysInPeriod.intValue());
+ loanTermInDays = loanTermInDays + daysInPeriod;
}
final BigDecimal principalDue =
JdbcSupport.getBigDecimalDefaultToZeroIfNull(rs, "principalDue");
diff --git
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/rescheduleloan/service/LoanRescheduleRequestReadPlatformServiceImpl.java
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/rescheduleloan/service/LoanRescheduleRequestReadPlatformServiceImpl.java
index 46026c8f5..a32550a2b 100644
---
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/rescheduleloan/service/LoanRescheduleRequestReadPlatformServiceImpl.java
+++
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/rescheduleloan/service/LoanRescheduleRequestReadPlatformServiceImpl.java
@@ -182,10 +182,8 @@ public class LoanRescheduleRequestReadPlatformServiceImpl
implements LoanResched
final boolean isSpecificToInstallment =
rs.getBoolean("isSpecificToInstallment");
final int termType = rs.getInt("termType");
- final LoanTermVariationsData loanTermVariationsData = new
LoanTermVariationsData(id,
- LoanEnumerations.loanvariationType(termType),
variationApplicableFrom, decimalValue, dateValue,
- isSpecificToInstallment);
- return loanTermVariationsData;
+ return new LoanTermVariationsData(id,
LoanEnumerations.loanvariationType(termType), variationApplicableFrom,
decimalValue,
+ dateValue, isSpecificToInstallment);
}
}
@@ -229,7 +227,7 @@ public class LoanRescheduleRequestReadPlatformServiceImpl
implements LoanResched
this.loanRepositoryWrapper.findOneWithNotFoundDetection(loanId);
final String sql = "select " +
this.loanRescheduleRequestRowMapper.schema() + " where lr.loan_id = ?";
- return this.jdbcTemplate.query(sql,
this.loanRescheduleRequestRowMapper, new Object[] { loanId }); // NOSONAR
+ return this.jdbcTemplate.query(sql,
this.loanRescheduleRequestRowMapper, loanId); // NOSONAR
}
@Override
@@ -238,7 +236,7 @@ public class LoanRescheduleRequestReadPlatformServiceImpl
implements LoanResched
try {
final String sql = "select " +
this.loanRescheduleRequestRowMapper.schema() + " where lr.id = ?";
- return this.jdbcTemplate.queryForObject(sql,
this.loanRescheduleRequestRowMapper, new Object[] { requestId }); // NOSONAR
+ return this.jdbcTemplate.queryForObject(sql,
this.loanRescheduleRequestRowMapper, requestId); // NOSONAR
}
catch (final EmptyResultDataAccessException e) {
@@ -250,7 +248,7 @@ public class LoanRescheduleRequestReadPlatformServiceImpl
implements LoanResched
public List<LoanRescheduleRequestData> readLoanRescheduleRequests(Long
loanId, Integer statusEnum) {
this.loanRepositoryWrapper.findOneWithNotFoundDetection(loanId);
final String sql = "select " +
this.loanRescheduleRequestRowMapper.schema() + " where lr.loan_id = ?" + " and
lr.status_enum = ?";
- return this.jdbcTemplate.query(sql,
this.loanRescheduleRequestRowMapper, new Object[] { loanId, statusEnum }); //
NOSONAR
+ return this.jdbcTemplate.query(sql,
this.loanRescheduleRequestRowMapper, loanId, statusEnum); // NOSONAR
}
@Override
@@ -288,7 +286,7 @@ public class LoanRescheduleRequestReadPlatformServiceImpl
implements LoanResched
} else if
(command.equalsIgnoreCase(RescheduleLoansApiConstants.rejectCommandParamName)) {
statusParam = 300;
}
- return this.jdbcTemplate.query(sql,
loanRescheduleRequestRowMapperForBulkApproval, new Object[] { statusParam });
// NOSONAR
+ return this.jdbcTemplate.query(sql,
loanRescheduleRequestRowMapperForBulkApproval, statusParam); // NOSONAR
}
return this.jdbcTemplate.query(sql,
loanRescheduleRequestRowMapperForBulkApproval); // NOSONAR
}
diff --git
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/service/BulkLoansReadPlatformServiceImpl.java
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/service/BulkLoansReadPlatformServiceImpl.java
index da35d4c04..20e8ac585 100644
---
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/service/BulkLoansReadPlatformServiceImpl.java
+++
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/service/BulkLoansReadPlatformServiceImpl.java
@@ -54,7 +54,7 @@ public class BulkLoansReadPlatformServiceImpl implements
BulkLoansReadPlatformSe
final String groupSql = "select distinct " + staffGroupMapper.schema()
+ " and g.status_enum=?";
final List<StaffAccountSummaryCollectionData.LoanAccountSummary>
clientSummaryList = this.jdbcTemplate.query(clientSql, // NOSONAR
- staffClientMapper, new Object[] { loanOfficerId,
ClientStatus.ACTIVE.getValue() });
+ staffClientMapper, loanOfficerId,
ClientStatus.ACTIVE.getValue());
for (final StaffAccountSummaryCollectionData.LoanAccountSummary
clientSummary : clientSummaryList) {
@@ -65,7 +65,7 @@ public class BulkLoansReadPlatformServiceImpl implements
BulkLoansReadPlatformSe
}
final List<StaffAccountSummaryCollectionData.LoanAccountSummary>
groupSummaryList = this.jdbcTemplate.query(groupSql, // NOSONAR
- staffGroupMapper, new Object[] { loanOfficerId,
GroupingTypeStatus.ACTIVE.getValue() });
+ staffGroupMapper, loanOfficerId,
GroupingTypeStatus.ACTIVE.getValue());
for (final StaffAccountSummaryCollectionData.LoanAccountSummary
groupSummary : groupSummaryList) {
diff --git
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/service/GLIMAccountInfoReadPlatformServiceImpl.java
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/service/GLIMAccountInfoReadPlatformServiceImpl.java
index a0ec16c8d..76a9936df 100644
---
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/service/GLIMAccountInfoReadPlatformServiceImpl.java
+++
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/service/GLIMAccountInfoReadPlatformServiceImpl.java
@@ -93,7 +93,7 @@ public class GLIMAccountInfoReadPlatformServiceImpl
implements GLIMAccountInfoRe
final GLIMFieldsMapper rm = new GLIMFieldsMapper();
final String sql = "select " + rm.schema() + " and glim.id=?";
- return this.jdbcTemplate.query(sql, rm, new Object[] { glimId }); //
NOSONAR
+ return this.jdbcTemplate.query(sql, rm, glimId); // NOSONAR
}
@Override
@@ -103,7 +103,7 @@ public class GLIMAccountInfoReadPlatformServiceImpl
implements GLIMAccountInfoRe
final GLIMFieldsMapper rm = new GLIMFieldsMapper();
final String sql = "select " + rm.schema() + " and ln.group_id=?";
- return this.jdbcTemplate.query(sql, rm, new Object[] {
Long.parseLong(groupId) }); // NOSONAR
+ return this.jdbcTemplate.query(sql, rm, Long.parseLong(groupId)); //
NOSONAR
}
@Override
@@ -114,7 +114,7 @@ public class GLIMAccountInfoReadPlatformServiceImpl
implements GLIMAccountInfoRe
final String sql = "select " + rm.schema() + " where glim.group_id=?";
- return this.jdbcTemplate.query(sql, rm, new Object[] {
Long.parseLong(groupId) }); // NOSONAR
+ return this.jdbcTemplate.query(sql, rm, Long.parseLong(groupId)); //
NOSONAR
}
@Override
@@ -124,7 +124,7 @@ public class GLIMAccountInfoReadPlatformServiceImpl
implements GLIMAccountInfoRe
final GLIMFieldsMapper rm = new GLIMFieldsMapper();
final String sql = "select " + rm.schema() + " and
glim.accountNumber=?";
- return this.jdbcTemplate.query(sql, rm, new Object[] {
parentAccountIds }); // NOSONAR
+ return this.jdbcTemplate.query(sql, rm, parentAccountIds); // NOSONAR
}
@Override
@@ -135,7 +135,7 @@ public class GLIMAccountInfoReadPlatformServiceImpl
implements GLIMAccountInfoRe
final String sql = "select " + rm.schema() + " where glim.group_id=?
and glim.account_number=?";
- return this.jdbcTemplate.query(sql, rm, new Object[] { groupId,
accountNo }); // NOSONAR
+ return this.jdbcTemplate.query(sql, rm, groupId, accountNo); // NOSONAR
}
@Override
@@ -188,7 +188,7 @@ public class GLIMAccountInfoReadPlatformServiceImpl
implements GLIMAccountInfoRe
final String sql = "select " + rm.schema() + " where glim.id=?";
- return this.jdbcTemplate.query(sql, rm, new Object[] { glimId }); //
NOSONAR
+ return this.jdbcTemplate.query(sql, rm, glimId); // NOSONAR
}
diff --git
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/service/LoanAccrualWritePlatformServiceImpl.java
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/service/LoanAccrualWritePlatformServiceImpl.java
index a5af8b816..35ade2781 100644
---
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/service/LoanAccrualWritePlatformServiceImpl.java
+++
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/service/LoanAccrualWritePlatformServiceImpl.java
@@ -492,10 +492,8 @@ public class LoanAccrualWritePlatformServiceImpl
implements LoanAccrualWritePlat
if (loan == null) {
throw new LoanNotFoundException(loanId);
}
- final List<Long> existingTransactionIds = new ArrayList<>();
- final List<Long> existingReversedTransactionIds = new
ArrayList<>();
- existingTransactionIds.addAll(loan.findExistingTransactionIds());
-
existingReversedTransactionIds.addAll(loan.findExistingReversedTransactionIds());
+ final List<Long> existingTransactionIds = new
ArrayList<>(loan.findExistingTransactionIds());
+ final List<Long> existingReversedTransactionIds = new
ArrayList<>(loan.findExistingReversedTransactionIds());
loan.processIncomeTransactions();
this.loanRepositoryWrapper.saveAndFlush(loan);
postJournalEntries(loan, existingTransactionIds,
existingReversedTransactionIds);
diff --git
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/service/LoanArrearsAgingServiceImpl.java
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/service/LoanArrearsAgingServiceImpl.java
index d512fd5ed..2d92b400b 100644
---
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/service/LoanArrearsAgingServiceImpl.java
+++
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/service/LoanArrearsAgingServiceImpl.java
@@ -156,7 +156,7 @@ public class LoanArrearsAgingServiceImpl implements
LoanArrearsAgingService {
this.jdbcTemplate.update(updateStatement.get(0));
} else {
String deletestatement = "DELETE FROM m_loan_arrears_aging
WHERE loan_id=?";
- this.jdbcTemplate.update(deletestatement, new Object[] {
loan.getId() }); // NOSONAR
+ this.jdbcTemplate.update(deletestatement, loan.getId()); //
NOSONAR
}
}
}
@@ -168,7 +168,7 @@ public class LoanArrearsAgingServiceImpl implements
LoanArrearsAgingService {
String updateStatement = constructUpdateStatement(loan, count == 0);
if (updateStatement == null) {
String deletestatement = "DELETE FROM m_loan_arrears_aging WHERE
loan_id=?";
- this.jdbcTemplate.update(deletestatement, new Object[] {
loan.getId() }); // NOSONAR
+ this.jdbcTemplate.update(deletestatement, loan.getId()); // NOSONAR
} else {
this.jdbcTemplate.update(updateStatement);
}
@@ -453,11 +453,7 @@ public class LoanArrearsAgingServiceImpl implements
LoanArrearsAgingService {
while (rs.next()) {
Long loanId = rs.getLong("loanId");
- List<LoanSchedulePeriodData> periodDatas =
scheduleDate.get(loanId);
- if (periodDatas == null) {
- periodDatas = new ArrayList<>();
- scheduleDate.put(loanId, periodDatas);
- }
+ List<LoanSchedulePeriodData> periodDatas =
scheduleDate.computeIfAbsent(loanId, k -> new ArrayList<>());
periodDatas.add(fetchLoanSchedulePeriodData(rs));
}
diff --git
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/service/LoanChargePaidByReadPlatformServiceImpl.java
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/service/LoanChargePaidByReadPlatformServiceImpl.java
index 24acff251..82591ec5a 100644
---
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/service/LoanChargePaidByReadPlatformServiceImpl.java
+++
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/service/LoanChargePaidByReadPlatformServiceImpl.java
@@ -48,7 +48,7 @@ public class LoanChargePaidByReadPlatformServiceImpl
implements LoanChargePaidBy
this.context.authenticatedUser();
final LoanChargePaidByMapper rm = new LoanChargePaidByMapper();
final String sql = "select " + rm.loanChargePaidBySchema() + " where
lcpd.loan_transaction_id = ?";
- return this.jdbcTemplate.query(sql, rm, new Object[] { transactionId
}); // NOSONAR
+ return this.jdbcTemplate.query(sql, rm, transactionId); // NOSONAR
}
private static final class LoanChargePaidByMapper implements
RowMapper<LoanChargePaidByData> {
diff --git
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/service/LoanChargeReadPlatformServiceImpl.java
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/service/LoanChargeReadPlatformServiceImpl.java
index f390e7cc6..62b95d458 100644
---
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/service/LoanChargeReadPlatformServiceImpl.java
+++
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/service/LoanChargeReadPlatformServiceImpl.java
@@ -76,7 +76,6 @@ public class LoanChargeReadPlatformServiceImpl implements
LoanChargeReadPlatform
@Override
public LoanChargeData mapRow(final ResultSet rs,
@SuppressWarnings("unused") final int rowNum) throws SQLException {
-
final Long id = rs.getLong("id");
final Long chargeId = rs.getLong("chargeId");
final String name = rs.getString("name");
@@ -130,8 +129,6 @@ public class LoanChargeReadPlatformServiceImpl implements
LoanChargeReadPlatform
@Override
public ChargeData retrieveLoanChargeTemplate() {
- this.context.authenticatedUser();
-
final List<EnumOptionData> allowedChargeCalculationTypeOptions =
this.chargeDropdownReadPlatformService.retrieveCalculationTypes();
final List<EnumOptionData> allowedChargeTimeOptions =
this.chargeDropdownReadPlatformService.retrieveCollectionTimeTypes();
final List<EnumOptionData> loansChargeCalculationTypeOptions =
this.chargeDropdownReadPlatformService
@@ -164,25 +161,21 @@ public class LoanChargeReadPlatformServiceImpl implements
LoanChargeReadPlatform
@Override
public LoanChargeData retrieveLoanChargeDetails(final Long id, final Long
loanId) {
- this.context.authenticatedUser();
-
final LoanChargeMapper rm = new LoanChargeMapper();
final String sql = "select " + rm.schema() + " where lc.id=? and
lc.loan_id=?";
- return this.jdbcTemplate.queryForObject(sql, rm, new Object[] { id,
loanId }); // NOSONAR
+ return this.jdbcTemplate.queryForObject(sql, rm, id, loanId); //
NOSONAR
}
@Override
public Collection<LoanChargeData> retrieveLoanCharges(final Long loanId) {
- this.context.authenticatedUser();
-
final LoanChargeMapper rm = new LoanChargeMapper();
final String sql = "select " + rm.schema() + " where lc.loan_id=? AND
lc.is_active = true"
+ " order by
coalesce(lc.due_for_collection_as_of_date,date(coalesce(dd.disbursedon_date,dd.expected_disburse_date))),lc.charge_time_enum
ASC, lc.due_for_collection_as_of_date ASC, lc.is_penalty ASC";
- return this.jdbcTemplate.query(sql, rm, new Object[] { loanId }); //
NOSONAR
+ return this.jdbcTemplate.query(sql, rm, loanId); // NOSONAR
}
@Override
@@ -190,7 +183,7 @@ public class LoanChargeReadPlatformServiceImpl implements
LoanChargeReadPlatform
final LoanChargeMapperWithLoanId rm = new LoanChargeMapperWithLoanId();
final String sql = "select " + rm.schema()
+ "where loan.loan_status_id= ? and
lc.charge_payment_mode_enum=? and lc.waived = false and
lc.is_paid_derived=false and lc.is_active = true";
- return this.jdbcTemplate.query(sql, rm, new Object[] { loanStatus,
paymentMode }); // NOSONAR
+ return this.jdbcTemplate.query(sql, rm, loanStatus, paymentMode); //
NOSONAR
}
private static final class LoanChargeMapperWithLoanId implements
RowMapper<LoanChargeData> {
@@ -223,7 +216,7 @@ public class LoanChargeReadPlatformServiceImpl implements
LoanChargeReadPlatform
sql = sql + "and lic.waived = false and lic.is_paid_derived=false";
}
sql = sql + " order by lsi.installment";
- return this.jdbcTemplate.query(sql, rm, new Object[] { loanChargeId
}); // NOSONAR
+ return this.jdbcTemplate.query(sql, rm, loanChargeId); // NOSONAR
}
private static final class LoanInstallmentChargeMapper implements
RowMapper<LoanInstallmentChargeData> {
@@ -271,7 +264,7 @@ public class LoanChargeReadPlatformServiceImpl implements
LoanChargeReadPlatform
+ " order by lc.charge_time_enum ASC,
lc.due_for_collection_as_of_date ASC, lc.is_penalty ASC";
Collection<LoanChargeData> charges = this.jdbcTemplate.query(sql, rm,
// NOSONAR
- new Object[] { LoanTransactionType.ACCRUAL.getValue(), loanId,
loanId });
+ LoanTransactionType.ACCRUAL.getValue(), loanId, loanId);
charges = updateLoanChargesWithUnrecognizedIncome(loanId, charges);
Collection<LoanChargeData> removeCharges = new ArrayList<>();
@@ -348,7 +341,7 @@ public class LoanChargeReadPlatformServiceImpl implements
LoanChargeReadPlatform
final String sql = "select " + rm.schema() + " where lc.loan_id=? AND
lc.is_active = true group by lc.id "
+ " order by lc.charge_time_enum ASC,
lc.due_for_collection_as_of_date ASC, lc.is_penalty ASC";
- return this.jdbcTemplate.query(sql, rm, new Object[] {
LoanTransactionType.WAIVE_CHARGES.getValue(), loanId, loanId }); // NOSONAR
+ return this.jdbcTemplate.query(sql, rm,
LoanTransactionType.WAIVE_CHARGES.getValue(), loanId, loanId); // NOSONAR
}
private static final class LoanChargeUnRecognizedIncomeMapper implements
RowMapper<LoanChargeData> {
@@ -396,7 +389,7 @@ public class LoanChargeReadPlatformServiceImpl implements
LoanChargeReadPlatform
String sql = "select " + rm.schema()
+ " where lic.loan_charge_id= ? group by lsi.installment,
lsi.duedate, lic.amount_outstanding_derived, lic.amount, lic.is_paid_derived,
lic.amount_waived_derived, lic.waived";
Collection<LoanInstallmentChargeData> chargeDatas =
this.jdbcTemplate.query(sql, rm, // NOSONAR
- new Object[] { LoanTransactionType.ACCRUAL.getValue(),
loanChargeId });
+ LoanTransactionType.ACCRUAL.getValue(), loanChargeId);
final Map<Integer, LoanInstallmentChargeData> installmentChargeDatas =
new HashMap<>();
for (LoanInstallmentChargeData installmentChargeData : chargeDatas) {
installmentChargeDatas.put(installmentChargeData.getInstallmentNumber(),
installmentChargeData);
@@ -457,7 +450,7 @@ public class LoanChargeReadPlatformServiceImpl implements
LoanChargeReadPlatform
final Map<Integer, LoanInstallmentChargeData>
installmentChargeDatas) {
final LoanInstallmentChargeUnRecognizedIncomeMapper rm = new
LoanInstallmentChargeUnRecognizedIncomeMapper(installmentChargeDatas);
String sql = "select " + rm.schema() + " where cpb.loan_charge_id = ?
group by cpb.installment_number ";
- return this.jdbcTemplate.query(sql, rm, new Object[] {
LoanTransactionType.WAIVE_CHARGES.getValue(), loanChargeId }); // NOSONAR
+ return this.jdbcTemplate.query(sql, rm,
LoanTransactionType.WAIVE_CHARGES.getValue(), loanChargeId); // NOSONAR
}
private static final class LoanInstallmentChargeUnRecognizedIncomeMapper
implements RowMapper<LoanInstallmentChargeData> {
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 90ba8a5a8..e87b7f10f 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
@@ -215,8 +215,7 @@ public class LoanReadPlatformServiceImpl implements
LoanReadPlatformService {
sqlBuilder.append(" left join m_office transferToOffice on
transferToOffice.id = c.transfer_to_office_id ");
sqlBuilder.append(" where l.id=? and ( o.hierarchy like ? or
transferToOffice.hierarchy like ?)");
- return this.jdbcTemplate.queryForObject(sqlBuilder.toString(), rm,
- new Object[] { loanId, hierarchySearchString,
hierarchySearchString });
+ return this.jdbcTemplate.queryForObject(sqlBuilder.toString(), rm,
loanId, hierarchySearchString, hierarchySearchString);
} catch (final EmptyResultDataAccessException e) {
throw new LoanNotFoundException(loanId, e);
}
@@ -231,7 +230,7 @@ public class LoanReadPlatformServiceImpl implements
LoanReadPlatformService {
final String sql = "select " + rm.loanSchema() + " where
l.account_no=?";
- return this.jdbcTemplate.queryForObject(sql, rm, new Object[] {
loanAccountNumber }); // NOSONAR
+ return this.jdbcTemplate.queryForObject(sql, rm, loanAccountNumber);
// NOSONAR
}
@@ -244,7 +243,7 @@ public class LoanReadPlatformServiceImpl implements
LoanReadPlatformService {
+ " left join glim_parent_child_mapping as glim on
glim.glim_child_account_id=l.account_no "
+ "where glim.glim_parent_account_id=?";
- return this.jdbcTemplate.query(sql, rm, new Object[] {
parentloanAccountNumber }); // NOSONAR
+ return this.jdbcTemplate.query(sql, rm, parentloanAccountNumber); //
NOSONAR
}
@@ -260,7 +259,7 @@ public class LoanReadPlatformServiceImpl implements
LoanReadPlatformService {
repaymentScheduleRelatedLoanData, disbursementData,
isInterestRecalculationEnabled, totalPaidFeeCharges);
final String sql = "select " + fullResultsetExtractor.schema() + "
where ls.loan_id = ? order by ls.loan_id, ls.installment";
- return this.jdbcTemplate.query(sql, fullResultsetExtractor, new
Object[] { loanId }); // NOSONAR
+ return this.jdbcTemplate.query(sql, fullResultsetExtractor,
loanId); // NOSONAR
} catch (final EmptyResultDataAccessException e) {
throw new LoanNotFoundException(loanId, e);
}
@@ -282,7 +281,7 @@ public class LoanReadPlatformServiceImpl implements
LoanReadPlatformService {
***/
final String sql = "select " + rm.loanPaymentsSchema()
+ " where tr.loan_id = ? and tr.transaction_type_enum not
in (0, 3) and (tr.is_reversed=false or tr.manually_adjusted_or_reversed =
true) order by tr.transaction_date ASC,id ";
- return this.jdbcTemplate.query(sql, rm, new Object[] { loanId });
// NOSONAR
+ return this.jdbcTemplate.query(sql, rm, loanId); // NOSONAR
} catch (final EmptyResultDataAccessException e) {
return null;
}
@@ -435,7 +434,7 @@ public class LoanReadPlatformServiceImpl implements
LoanReadPlatformService {
RepaymentTransactionTemplateMapper mapper = new
RepaymentTransactionTemplateMapper(sqlGenerator);
String sql = "select " + mapper.schema();
LoanTransactionData loanTransactionData =
this.jdbcTemplate.queryForObject(sql, mapper, // NOSONAR
- new Object[] { LoanTransactionType.REPAYMENT.getValue(),
LoanTransactionType.REPAYMENT.getValue(), loanId, loanId });
+ LoanTransactionType.REPAYMENT.getValue(),
LoanTransactionType.REPAYMENT.getValue(), loanId, loanId);
final Collection<PaymentTypeData> paymentOptions =
this.paymentTypeReadPlatformService.retrieveAllPaymentTypes();
return LoanTransactionData.templateOnTop(loanTransactionData,
paymentOptions);
}
@@ -574,7 +573,7 @@ public class LoanReadPlatformServiceImpl implements
LoanReadPlatformService {
try {
final LoanTransactionsMapper rm = new
LoanTransactionsMapper(sqlGenerator);
final String sql = "select " + rm.loanPaymentsSchema() + " where
l.id = ? and tr.id = ? ";
- return this.jdbcTemplate.queryForObject(sql, rm, new Object[] {
loanId, transactionId }); // NOSONAR
+ return this.jdbcTemplate.queryForObject(sql, rm, loanId,
transactionId); // NOSONAR
} catch (final EmptyResultDataAccessException e) {
throw new LoanTransactionNotFoundException(transactionId, e);
}
@@ -1050,10 +1049,9 @@ public class LoanReadPlatformServiceImpl implements
LoanReadPlatformService {
final BigDecimal interestOutstanding =
interestActualDue.subtract(interestPaid);
final Integer installmentNumber =
JdbcSupport.getIntegerDefaultToNullIfZero(rs, "period");
- final OverdueLoanScheduleData overdueLoanScheduleData = new
OverdueLoanScheduleData(loanId, chargeId, dueDate, amount,
- dateFormat, locale, principalOutstanding,
interestOutstanding, installmentNumber);
- return overdueLoanScheduleData;
+ return new OverdueLoanScheduleData(loanId, chargeId, dueDate,
amount, dateFormat, locale, principalOutstanding,
+ interestOutstanding, installmentNumber);
}
}
@@ -1106,7 +1104,7 @@ public class LoanReadPlatformServiceImpl implements
LoanReadPlatformService {
this.currency.currencyInMultiplesOf());
BigDecimal totalPrincipalDisbursed = BigDecimal.ZERO;
BigDecimal disbursementChargeAmount =
this.totalFeeChargesDueAtDisbursement;
- if (disbursementData == null || disbursementData.isEmpty()) {
+ if (disbursementData.isEmpty()) {
periods.add(disbursementPeriod);
totalPrincipalDisbursed = Money.of(monCurrency,
this.disbursement.amount()).getAmount();
} else {
@@ -1140,7 +1138,7 @@ public class LoanReadPlatformServiceImpl implements
LoanReadPlatformService {
totalRepayment =
totalRepayment.plus(disbursementPeriod.feeChargesPaid()).minus(waivedChargeAmount);
totalOutstanding =
totalOutstanding.plus(disbursementPeriod.feeChargesDue()).minus(disbursementPeriod.feeChargesPaid());
- Integer loanTermInDays = Integer.valueOf(0);
+ Integer loanTermInDays = 0;
while (rs.next()) {
final Long loanId = rs.getLong("loanId");
@@ -1149,50 +1147,43 @@ public class LoanReadPlatformServiceImpl implements
LoanReadPlatformService {
final LocalDate dueDate = JdbcSupport.getLocalDate(rs,
"dueDate");
final LocalDate obligationsMetOnDate =
JdbcSupport.getLocalDate(rs, "obligationsMetOnDate");
final boolean complete = rs.getBoolean("complete");
- if (disbursementData != null) {
- BigDecimal principal = BigDecimal.ZERO;
- for (final DisbursementData data : disbursementData) {
- if
(fromDate.equals(this.disbursement.disbursementDate()) &&
data.disbursementDate().equals(fromDate)) {
+ BigDecimal principal = BigDecimal.ZERO;
+ for (final DisbursementData data : disbursementData) {
+ if (fromDate.equals(this.disbursement.disbursementDate())
&& data.disbursementDate().equals(fromDate)) {
+ principal = principal.add(data.amount());
+ LoanSchedulePeriodData periodData = null;
+ if (data.getChargeAmount() == null) {
+ periodData =
LoanSchedulePeriodData.disbursementOnlyPeriod(data.disbursementDate(),
data.amount(),
+ disbursementChargeAmount,
data.isDisbursed());
+ } else {
+ periodData =
LoanSchedulePeriodData.disbursementOnlyPeriod(data.disbursementDate(),
data.amount(),
+
disbursementChargeAmount.add(data.getChargeAmount()).subtract(waivedChargeAmount),
data.isDisbursed());
+ }
+ periods.add(periodData);
+ this.outstandingLoanPrincipalBalance =
this.outstandingLoanPrincipalBalance.add(data.amount());
+ } else if (data.isDueForDisbursement(fromDate, dueDate)) {
+ if (!excludePastUndisbursed || data.isDisbursed()
+ ||
!data.disbursementDate().isBefore(DateUtils.getBusinessLocalDate())) {
principal = principal.add(data.amount());
- LoanSchedulePeriodData periodData = null;
+ LoanSchedulePeriodData periodData;
if (data.getChargeAmount() == null) {
periodData =
LoanSchedulePeriodData.disbursementOnlyPeriod(data.disbursementDate(),
data.amount(),
- disbursementChargeAmount,
data.isDisbursed());
+ BigDecimal.ZERO, data.isDisbursed());
} else {
periodData =
LoanSchedulePeriodData.disbursementOnlyPeriod(data.disbursementDate(),
data.amount(),
-
disbursementChargeAmount.add(data.getChargeAmount()).subtract(waivedChargeAmount),
- data.isDisbursed());
- }
- if (periodData != null) {
- periods.add(periodData);
+ data.getChargeAmount(),
data.isDisbursed());
}
+ periods.add(periodData);
this.outstandingLoanPrincipalBalance =
this.outstandingLoanPrincipalBalance.add(data.amount());
- } else if (data.isDueForDisbursement(fromDate,
dueDate)) {
- if (!excludePastUndisbursed ||
(excludePastUndisbursed
- && (data.isDisbursed() ||
!data.disbursementDate().isBefore(DateUtils.getBusinessLocalDate())))) {
- principal = principal.add(data.amount());
- LoanSchedulePeriodData periodData = null;
- if (data.getChargeAmount() == null) {
- periodData =
LoanSchedulePeriodData.disbursementOnlyPeriod(data.disbursementDate(),
data.amount(),
- BigDecimal.ZERO,
data.isDisbursed());
- } else {
- periodData =
LoanSchedulePeriodData.disbursementOnlyPeriod(data.disbursementDate(),
data.amount(),
- data.getChargeAmount(),
data.isDisbursed());
- }
- if (periodData != null) {
- periods.add(periodData);
- }
- this.outstandingLoanPrincipalBalance =
this.outstandingLoanPrincipalBalance.add(data.amount());
- }
}
}
- totalPrincipalDisbursed =
totalPrincipalDisbursed.add(principal);
}
+ totalPrincipalDisbursed =
totalPrincipalDisbursed.add(principal);
- Integer daysInPeriod = Integer.valueOf(0);
+ Integer daysInPeriod = 0;
if (fromDate != null) {
daysInPeriod =
Math.toIntExact(ChronoUnit.DAYS.between(fromDate, dueDate));
- loanTermInDays = Integer.valueOf(loanTermInDays.intValue()
+ daysInPeriod.intValue());
+ loanTermInDays = loanTermInDays + daysInPeriod;
}
final BigDecimal principalDue =
JdbcSupport.getBigDecimalDefaultToZeroIfNull(rs, "principalDue");
@@ -1575,7 +1566,7 @@ public class LoanReadPlatformServiceImpl implements
LoanReadPlatformService {
final LoanDisbursementDetailMapper rm = new
LoanDisbursementDetailMapper(sqlGenerator);
final String sql = "select " + rm.schema()
+ " where dd.loan_id=? group by dd.id,
lc.amount_waived_derived order by dd.expected_disburse_date";
- return this.jdbcTemplate.query(sql, rm, new Object[] { loanId }); //
NOSONAR
+ return this.jdbcTemplate.query(sql, rm, loanId); // NOSONAR
}
private static final class LoanDisbursementDetailMapper implements
RowMapper<DisbursementData> {
@@ -1606,9 +1597,8 @@ public class LoanReadPlatformServiceImpl implements
LoanReadPlatformService {
if (chargeAmount != null && waivedAmount != null) {
chargeAmount = chargeAmount.subtract(waivedAmount);
}
- final DisbursementData disbursementData = new DisbursementData(id,
expectedDisbursementdate, actualDisbursementdate, principal,
- netDisbursalAmount, loanChargeId, chargeAmount,
waivedAmount);
- return disbursementData;
+ return new DisbursementData(id, expectedDisbursementdate,
actualDisbursementdate, principal, netDisbursalAmount, loanChargeId,
+ chargeAmount, waivedAmount);
}
}
@@ -1617,14 +1607,14 @@ public class LoanReadPlatformServiceImpl implements
LoanReadPlatformService {
public DisbursementData retrieveLoanDisbursementDetail(Long loanId, Long
disbursementId) {
final LoanDisbursementDetailMapper rm = new
LoanDisbursementDetailMapper(sqlGenerator);
final String sql = "select " + rm.schema() + " where dd.loan_id=? and
dd.id=? group by dd.id, lc.amount_waived_derived";
- return this.jdbcTemplate.queryForObject(sql, rm, new Object[] {
loanId, disbursementId }); // NOSONAR
+ return this.jdbcTemplate.queryForObject(sql, rm, loanId,
disbursementId); // NOSONAR
}
@Override
public Collection<LoanTermVariationsData> retrieveLoanTermVariations(Long
loanId, Integer termType) {
final LoanTermVariationsMapper rm = new LoanTermVariationsMapper();
final String sql = "select " + rm.schema() + " where tv.loan_id=? and
tv.term_type=?";
- return this.jdbcTemplate.query(sql, rm, new Object[] { loanId,
termType }); // NOSONAR
+ return this.jdbcTemplate.query(sql, rm, loanId, termType); // NOSONAR
}
private static final class LoanTermVariationsMapper implements
RowMapper<LoanTermVariationsData> {
@@ -1642,10 +1632,8 @@ public class LoanReadPlatformServiceImpl implements
LoanReadPlatformService {
final LocalDate dateValue = JdbcSupport.getLocalDate(rs,
"dateValue");
final boolean isSpecificToInstallment =
rs.getBoolean("isSpecificToInstallment");
- final LoanTermVariationsData loanTermVariationsData = new
LoanTermVariationsData(id,
-
LoanEnumerations.loanvariationType(LoanTermVariationType.EMI_AMOUNT),
variationApplicableFrom, decimalValue, dateValue,
- isSpecificToInstallment);
- return loanTermVariationsData;
+ return new LoanTermVariationsData(id,
LoanEnumerations.loanvariationType(LoanTermVariationType.EMI_AMOUNT),
+ variationApplicableFrom, decimalValue, dateValue,
isSpecificToInstallment);
}
}
@@ -1866,7 +1854,7 @@ public class LoanReadPlatformServiceImpl implements
LoanReadPlatformService {
sqlBuilder.append(" WHERE ml.loan_status_id = ? ");
sqlBuilder.append(" and ml.is_npa = false ");
sqlBuilder.append(" and ((");
- sqlBuilder.append("ml.interest_recalculation_enabled = 1 ");
+ sqlBuilder.append("ml.interest_recalculation_enabled = true ");
sqlBuilder.append(" and (ml.interest_recalcualated_on is null or
ml.interest_recalcualated_on <> ?)");
sqlBuilder.append(" and ((");
sqlBuilder.append(" mr.completed_derived is false ");
@@ -1884,8 +1872,8 @@ public class LoanReadPlatformServiceImpl implements
LoanReadPlatformService {
LocalDate currentdate = DateUtils.getBusinessLocalDate();
// will look only for yesterday modified rates
LocalDate yesterday =
DateUtils.getBusinessLocalDate().minusDays(1);
- return this.jdbcTemplate.queryForList(sqlBuilder.toString(),
Long.class,
- new Object[] { yesterday, LoanStatus.ACTIVE.getValue(),
currentdate, currentdate, currentdate, yesterday });
+ return this.jdbcTemplate.queryForList(sqlBuilder.toString(),
Long.class, yesterday, LoanStatus.ACTIVE.getValue(), currentdate,
+ currentdate, currentdate, yesterday);
} catch (final EmptyResultDataAccessException e) {
return null;
}
@@ -1931,9 +1919,9 @@ public class LoanReadPlatformServiceImpl implements
LoanReadPlatformService {
sqlBuilder.append(" group by ml.id ");
sqlBuilder.append(" limit ? ");
try {
- return
Collections.synchronizedList(this.jdbcTemplate.queryForList(sqlBuilder.toString(),
Long.class,
- new Object[] { yesterday, LoanStatus.ACTIVE.getValue(),
currentdate, currentdate, currentdate, yesterday,
- maxLoanIdInList, officeHierarchy, pageSize }));
+ return Collections.synchronizedList(
+ this.jdbcTemplate.queryForList(sqlBuilder.toString(),
Long.class, yesterday, LoanStatus.ACTIVE.getValue(), currentdate,
+ currentdate, currentdate, yesterday,
maxLoanIdInList, officeHierarchy, pageSize));
} catch (final EmptyResultDataAccessException e) {
return null;
}
@@ -1947,7 +1935,7 @@ public class LoanReadPlatformServiceImpl implements
LoanReadPlatformService {
final String sql = "select " + rm.schema()
+ " where tr.loan_id = ? and tr.transaction_type_enum = ?
and tr.is_reversed=false order by tr.transaction_date ASC,id ";
- return this.jdbcTemplate.query(sql, rm, new Object[] { loanId,
LoanTransactionType.WAIVE_INTEREST.getValue() }); // NOSONAR
+ return this.jdbcTemplate.query(sql, rm, loanId,
LoanTransactionType.WAIVE_INTEREST.getValue()); // NOSONAR
} catch (final EmptyResultDataAccessException e) {
return null;
}
@@ -2006,7 +1994,7 @@ public class LoanReadPlatformServiceImpl implements
LoanReadPlatformService {
final String sql = "select " + rm.getSchema()
+ " where lrs.loan_id = ? and lrs.interest_waived_derived
is not null order by lrs.installment ASC ";
- return this.jdbcTemplate.query(sql, rm, new Object[] { loanId });
// NOSONAR
+ return this.jdbcTemplate.query(sql, rm, loanId); // NOSONAR
} catch (final EmptyResultDataAccessException e) {
return null;
}
@@ -2081,12 +2069,9 @@ public class LoanReadPlatformServiceImpl implements
LoanReadPlatformService {
@Override
public LocalDate retrieveMinimumDateOfRepaymentTransaction(Long loanId) {
- // TODO Auto-generated method stub
- LocalDate date = this.jdbcTemplate.queryForObject(
+ return this.jdbcTemplate.queryForObject(
"select min(transaction_date) from m_loan_transaction where
loan_id=? and transaction_type_enum=2", LocalDate.class,
loanId);
-
- return date;
}
@Override
@@ -2253,7 +2238,7 @@ public class LoanReadPlatformServiceImpl implements
LoanReadPlatformService {
private static final class RepaymentTransactionTemplateMapper implements
RowMapper<LoanTransactionData> {
private final DatabaseSpecificSQLGenerator sqlGenerator;
- private CurrencyMapper currencyMapper = new CurrencyMapper();
+ private final CurrencyMapper currencyMapper = new CurrencyMapper();
RepaymentTransactionTemplateMapper(DatabaseSpecificSQLGenerator
sqlGenerator) {
this.sqlGenerator = sqlGenerator;
@@ -2348,7 +2333,7 @@ public class LoanReadPlatformServiceImpl implements
LoanReadPlatformService {
public CollectionData retrieveLoanCollectionData(Long loanId) {
final CollectionDataMapper mapper = new
CollectionDataMapper(sqlGenerator);
String sql = "select " + mapper.schema();
- CollectionData collectionData = this.jdbcTemplate.queryForObject(sql,
mapper, new Object[] { loanId }); // NOSONAR
+ CollectionData collectionData = this.jdbcTemplate.queryForObject(sql,
mapper, loanId); // NOSONAR
return collectionData;
}