private String buildAccountQuery()

in service/src/main/java/org/apache/fineract/cn/reporting/service/internal/specification/IncomeStatementReportSpecification.java [252:272]


    private String buildAccountQuery(final ReportRequest reportRequest, int pageIndex, int size) {
        final StringBuilder query = new StringBuilder("SELECT ");

        final List<DisplayableField> displayableFields = reportRequest.getDisplayableFields();
        final ArrayList<String> columns = new ArrayList<>();
        displayableFields.forEach(displayableField -> {
            final String column = this.accountColumnMapping.get(displayableField.getName());
            if (column != null) {
                columns.add(column);
            }
        });

        query.append(columns.stream().collect(Collectors.joining(", ")))
                .append(" FROM ")
                .append("thoth_accounts acc ")
                .append("WHERE acc.a_type = 'REVENUE' ");

        query.append(" ORDER BY acc.identifier");

        return query.toString();
    }