Extended Groups API to return individual loans created from group.
This commit is contained in:
+25
-6
@@ -15,24 +15,43 @@ public class GroupAccountSummaryCollectionData {
|
|||||||
private final int closedLoanCount;
|
private final int closedLoanCount;
|
||||||
private final List<GroupAccountSummaryData> closedLoans;
|
private final List<GroupAccountSummaryData> closedLoans;
|
||||||
|
|
||||||
|
private final int anyIndividualLoanCount;
|
||||||
|
private final int pendingApprovalIndividualLoanCount;
|
||||||
|
private final List<GroupAccountSummaryData> pendingApprovalIndividualLoans;
|
||||||
|
private final int awaitingDisbursalIndividualLoanCount;
|
||||||
|
private final List<GroupAccountSummaryData> awaitingDisbursalIndividualLoans;
|
||||||
|
private final int activeIndividualLoanCount;
|
||||||
|
private final List<GroupAccountSummaryData> openIndividualLoans;
|
||||||
|
private final int closedIndividualLoanCount;
|
||||||
|
private final List<GroupAccountSummaryData> closedIndividualLoans;
|
||||||
|
|
||||||
public GroupAccountSummaryCollectionData(List<GroupAccountSummaryData> pendingApprovalLoans,
|
public GroupAccountSummaryCollectionData(List<GroupAccountSummaryData> pendingApprovalLoans,
|
||||||
List<GroupAccountSummaryData> awaitingDisbursalLoans,
|
List<GroupAccountSummaryData> awaitingDisbursalLoans, List<GroupAccountSummaryData> openLoans,
|
||||||
List<GroupAccountSummaryData> openLoans,
|
List<GroupAccountSummaryData> closedLoans, List<GroupAccountSummaryData> pendingApprovalIndividualLoans,
|
||||||
List<GroupAccountSummaryData> closedLoans) {
|
List<GroupAccountSummaryData> awaitingDisbursalIndividualLoans, List<GroupAccountSummaryData> openIndividualLoans,
|
||||||
|
List<GroupAccountSummaryData> closedIndividualLoans) {
|
||||||
this.pendingApprovalLoans = pendingApprovalLoans;
|
this.pendingApprovalLoans = pendingApprovalLoans;
|
||||||
this.pendingApprovalLoanCount = pendingApprovalLoans.size();
|
this.pendingApprovalLoanCount = pendingApprovalLoans.size();
|
||||||
|
|
||||||
this.awaitingDisbursalLoans = awaitingDisbursalLoans;
|
this.awaitingDisbursalLoans = awaitingDisbursalLoans;
|
||||||
this.awaitingDisbursalLoanCount = awaitingDisbursalLoans.size();
|
this.awaitingDisbursalLoanCount = awaitingDisbursalLoans.size();
|
||||||
|
|
||||||
this.openLoans = openLoans;
|
this.openLoans = openLoans;
|
||||||
this.activeLoanCount = openLoans.size();
|
this.activeLoanCount = openLoans.size();
|
||||||
|
|
||||||
this.closedLoans = closedLoans;
|
this.closedLoans = closedLoans;
|
||||||
this.closedLoanCount = closedLoans.size();
|
this.closedLoanCount = closedLoans.size();
|
||||||
|
|
||||||
this.anyLoanCount = pendingApprovalLoanCount + awaitingDisbursalLoanCount + activeLoanCount + closedLoanCount;
|
this.anyLoanCount = pendingApprovalLoanCount + awaitingDisbursalLoanCount + activeLoanCount + closedLoanCount;
|
||||||
|
|
||||||
|
this.pendingApprovalIndividualLoans = pendingApprovalIndividualLoans;
|
||||||
|
this.pendingApprovalIndividualLoanCount = pendingApprovalIndividualLoans.size();
|
||||||
|
this.awaitingDisbursalIndividualLoans = awaitingDisbursalIndividualLoans;
|
||||||
|
this.awaitingDisbursalIndividualLoanCount = awaitingDisbursalIndividualLoans.size();
|
||||||
|
this.openIndividualLoans = openIndividualLoans;
|
||||||
|
this.activeIndividualLoanCount = openIndividualLoans.size();
|
||||||
|
this.closedIndividualLoans = closedIndividualLoans;
|
||||||
|
this.closedIndividualLoanCount = closedIndividualLoans.size();
|
||||||
|
|
||||||
|
this.anyIndividualLoanCount = pendingApprovalIndividualLoanCount + awaitingDisbursalIndividualLoanCount + activeIndividualLoanCount
|
||||||
|
+ closedIndividualLoanCount;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getAnyLoanCount() {
|
public int getAnyLoanCount() {
|
||||||
|
|||||||
+27
-2
@@ -174,8 +174,33 @@ public class GroupReadPlatformServiceImpl implements GroupReadPlatformService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return new GroupAccountSummaryCollectionData(pendingApprovalLoans,
|
List<GroupAccountSummaryData> pendingApprovalIndividualLoans = new ArrayList<GroupAccountSummaryData>();
|
||||||
awaitingDisbursalLoans, openLoans, closedLoans);
|
List<GroupAccountSummaryData> awaitingDisbursalIndividualLoans = new ArrayList<GroupAccountSummaryData>();
|
||||||
|
List<GroupAccountSummaryData> openIndividualLoans = new ArrayList<GroupAccountSummaryData>();
|
||||||
|
List<GroupAccountSummaryData> closedIndividualLoans = new ArrayList<GroupAccountSummaryData>();
|
||||||
|
|
||||||
|
sql = "select " + rm.loanAccountSummarySchema() + " where l.group_id = ? and l.client_id is not null";
|
||||||
|
|
||||||
|
results = this.jdbcTemplate.query(sql, rm, new Object[] {groupId});
|
||||||
|
if (results != null) {
|
||||||
|
for (GroupAccountSummaryData row : results) {
|
||||||
|
|
||||||
|
LoanStatusMapper statusMapper = new LoanStatusMapper(row.getAccountStatusId());
|
||||||
|
|
||||||
|
if (statusMapper.isOpen()) {
|
||||||
|
openIndividualLoans.add(row);
|
||||||
|
} else if (statusMapper.isAwaitingDisbursal()) {
|
||||||
|
awaitingDisbursalIndividualLoans.add(row);
|
||||||
|
} else if (statusMapper.isPendingApproval()) {
|
||||||
|
pendingApprovalIndividualLoans.add(row);
|
||||||
|
} else {
|
||||||
|
closedIndividualLoans.add(row);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return new GroupAccountSummaryCollectionData(pendingApprovalLoans, awaitingDisbursalLoans, openLoans, closedLoans,
|
||||||
|
pendingApprovalIndividualLoans, awaitingDisbursalIndividualLoans, openIndividualLoans, closedIndividualLoans);
|
||||||
} catch (EmptyResultDataAccessException e) {
|
} catch (EmptyResultDataAccessException e) {
|
||||||
throw new GroupNotFoundException(groupId);
|
throw new GroupNotFoundException(groupId);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user