public List<WeeklyExpenseData> getWeeklyExpenseData() { List<WeeklyExpenseData> weeklySmsList = new ArrayList<WeeklyExpenseData>(); for (ExpenseData data : this.smsList) { // Getting week number for date Date date = AppUtil.getDateFromString(data.getDate(), "MM/dd/yy HH:mm"); Calendar cal = Calendar.getInstance(); cal.setTime(date); int weekNbr = cal.get(Calendar.WEEK_OF_MONTH); WeeklyExpenseData weekData = this.getWeeklyDataFromList(weekNbr, weeklySmsList); if (weekData != null) { if (AppConstants.ACCOUNTING_TYPE_DEBIT.equalsIgnoreCase(data.getAccountingType())) weekData.setDebitAmount(weekData.getDebitAmount() + Double.valueOf(data.getAmount())); if (AppConstants.ACCOUNTING_TYPE_CREDIT.equalsIgnoreCase(data.getAccountingType())) weekData.setCreditAmount(weekData.getCreditAmount() + Double.valueOf(data.getAmount())); weekData.add(data); } else { weekData = new WeeklyExpenseData(); weekData.setWeek("W" + weekNbr); if (AppConstants.ACCOUNTING_TYPE_DEBIT.equalsIgnoreCase(data.getAccountingType())) { weekData.setDebitAmount(Double.valueOf(data.getAmount())); weekData.setCreditAmount(0D); } if (AppConstants.ACCOUNTING_TYPE_CREDIT.equalsIgnoreCase(data.getAccountingType())) { weekData.setCreditAmount(Double.valueOf(data.getAmount())); weekData.setDebitAmount(0D); } weekData.add(data); weeklySmsList.add(weekData); } } return weeklySmsList; }
public Map<String, String> getCategorizedDebitAmtFromTranData() { Map<String, String> expenseByCategory = new HashMap<String, String>(); for (ExpenseData data : this.smsList) { if (AppConstants.ACCOUNTING_TYPE_DEBIT.equalsIgnoreCase(data.getAccountingType())) { if (expenseByCategory.containsKey(data.getCategory())) { Double expenseAmt = Double.valueOf(expenseByCategory.get(data.getCategory())) + Double.valueOf(data.getAmount()); expenseByCategory.put(data.getCategory(), expenseAmt.toString()); } else { expenseByCategory.put(data.getCategory(), data.getAmount()); } } } return expenseByCategory; }