You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@fineract.apache.org by aw...@apache.org on 2019/09/02 20:44:03 UTC

[fineract-cn-reporting] 18/47: refactor add income state build rows, fix nullables

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 <aw...@skylabase.com>
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) {