This is an automated email from the ASF dual-hosted git repository. awasum pushed a commit to branch develop in repository https://gitbox.apache.org/repos/asf/fineract-cn-reporting.git
commit 096a62c1ddfd48ddb462ba19f41c10d4cf12a8b1 Author: Awasum Yannick <[email protected]> AuthorDate: Sun Sep 3 15:16:43 2017 +0100 refactor add income state build rows, fix nullables --- .../DepositListReportSpecification.java | 5 ++-- .../IncomeStatementReportSpecification.java | 31 ++++++++++++++++++++-- 2 files changed, 31 insertions(+), 5 deletions(-) diff --git a/service/src/main/java/io/mifos/reporting/service/internal/specification/DepositListReportSpecification.java b/service/src/main/java/io/mifos/reporting/service/internal/specification/DepositListReportSpecification.java index b25aa88..42dabfa 100644 --- a/service/src/main/java/io/mifos/reporting/service/internal/specification/DepositListReportSpecification.java +++ b/service/src/main/java/io/mifos/reporting/service/internal/specification/DepositListReportSpecification.java @@ -255,8 +255,7 @@ public class DepositListReportSpecification implements ReportSpecification { final List<DisplayableField> displayableFields = reportRequest.getDisplayableFields(); final ArrayList<String> columns = new ArrayList<>(); displayableFields.forEach(displayableField -> { - final String column = this.accountColumnMapping.get(displayableField.getName()) - + this.employeeColumnMapping.get(displayableField.getName()); + final String column = this.accountColumnMapping.get(displayableField.getName()); if (column != null) { columns.add(column); } @@ -264,7 +263,7 @@ public class DepositListReportSpecification implements ReportSpecification { query.append(columns.stream().collect(Collectors.joining(", "))) .append(" FROM ") - .append("shed_product_instances pi "); + .append("shed_product_instances pi"); final List<QueryParameter> queryParameters = reportRequest.getQueryParameters(); if (!queryParameters.isEmpty()) { final ArrayList<String> criteria = new ArrayList<>(); diff --git a/service/src/main/java/io/mifos/reporting/service/internal/specification/IncomeStatementReportSpecification.java b/service/src/main/java/io/mifos/reporting/service/internal/specification/IncomeStatementReportSpecification.java index 3992d16..91669ec 100644 --- a/service/src/main/java/io/mifos/reporting/service/internal/specification/IncomeStatementReportSpecification.java +++ b/service/src/main/java/io/mifos/reporting/service/internal/specification/IncomeStatementReportSpecification.java @@ -125,8 +125,35 @@ public class IncomeStatementReportSpecification implements ReportSpecification { return header; } - private List<Row> buildRows(ReportRequest reportRequest, List<?> customerResultList) { - return null; + private List<Row> buildRows(ReportRequest reportRequest, List<?> accountResultList) { + final ArrayList<Row> rows = new ArrayList<>(); + accountResultList.forEach(result -> { + final Row row = new Row(); + row.setValues(new ArrayList<>()); + + if (result instanceof Object[]) { + final Object[] resultValues; + resultValues = (Object[]) result; + + for(final Object resultVal : resultValues) { + final Value val; + val = new Value(); + + if (resultVal != null) { + val.setValues(new String[]{resultVal.toString()}); + } else val.setValues(new String[]{}); + + row.getValues().add(val); + } + } else { + final Value value = new Value(); + value.setValues(new String[]{result.toString()}); + row.getValues().add(value); + } + rows.add(row); + }); + + return rows; } private String buildAccountQuery(ReportRequest reportRequest, int pageIndex, int size) {
