Как мне суммировать месячные значения с карты к годовым значениям на новой карте? - PullRequest
0 голосов
/ 24 июня 2019

На моей карте я сохраняю месячные значения из файла Excel.Теперь я хочу создать другую карту, в которой все месячные значения добавляются как годовые значения.

Я уже создал глобальную переменную.И я попытался сохранить ежемесячное значение в этой переменной.Но мои попытки не сработали.

В arryList карту с месячными значениями и годовыми значениями следует сохранять один раз.

Это мой текущий код, который извлекает данные из файла Excel и передает их на карту:

public List getResultFromExcelFile() throws Exception {
        ArrayList resultMonthly = new ArrayList<>();

        int row = 526;
        // monthly
        for (int i = 32; i < 32 + 12; i++) {
            if (getWorkBook().getNumber(3, i) != 0) {
                for (int k = 0; k < 461; k++) {
                    HashMap<String, Object> resultSetMonthly = new HashMap<>();

                    if (getWorkBook().getNumber(row, i) != 0) {
                        resultSetMonthly.put("db-nr", getWorkBook().getNumber(row, 1));
                        resultSetMonthly.put("name", getWorkBook().getText(row, 2));
                        resultSetMonthly.put("mandantKagId", getWorkBook().getNumber(row, 3));
                        resultSetMonthly.put("period", getWorkBook().getNumber(4, i));
                        resultSetMonthly.put("amount", getWorkBook().getNumber(row, i));

                        resultMonthly.add(resultSetMonthly);
                    }
                    row++;
                }
                row = 526;
            }
        }
        return resultMonthly;
    }

Я пробовал что-то вроде этого:

    private Map sumMonthlyResultToYearlyResult(List resultMonthly) {
        Map<String, Object> yearlyResult = new HashMap<>();
        Map monthlyResult = (Map) resultMonthly.get(0);
        double sumAmount = 0;

        for (int i = 0; i < monthlyResult.size(); i++) {
            double monthlyAmount = (double) monthlyResult.get("amount");
            sumAmount + monthlyAmount;
            ...
            ...
            ...
        }
        return yearlyResult;
    }

Может кто-нибудь сказать мне, как я могу суммировать месячные значения до годовых значений?Приятно также с потоковым API Java

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...