forum.bitel.ru http://forum.bitel.ru/ |
|
использование API в отчете http://forum.bitel.ru/viewtopic.php?f=12&t=4124 |
Страница 1 из 1 |
Автор: | skyb [ 03 июн 2010, 07:43 ] |
Заголовок сообщения: | использование API в отчете |
пытаюсь переделать вот этот отчет с использованием API дошел покачто только до этого, не могу понять как привязать тп к учетке и чтоб он просматривал каждый день какой тп стоит и плюсовал куда надо. Код: class PaymentUtil
{ /** * Метод * @period из какого периода буудут складываться данные * @paymentList список всевозможных платежей * @return хеш <id_пользователя, сумма_платежей> */ public static Map<Integer, BigDecimal> getUserMonthSum(Date period, List<Payment> paymentList) { Map<Integer, BigDecimal> userMonthSum = new HashSet<Integer, BigDecimal>() // из Date в Calendar для того, что бы выдирать номер месяца Calendar selectedPeriod = Calendar.getInstance(); selectedPeriod.setTime(period); // цикл по всему списку переданных платежей for (Payment payment : paymentList) { Calendar paymentDate = Calendar.getInstance(); paymentDate.setTime(payment.getPaymentDate()); // суммировать только по тому месяцу, который нужен if (paymentDate.get(Calendar.MONTH) == selectedPeriod.get(Calendar.MONTH)) { // переводим ID пользователя в объект, тк Map другое // в качестве параметра не воспринимает Integer userID = new Integer(payment.getUserID()); // сумма платежей пользователя за текущий месяц BigDecimal curSum = userMonthSum.get(userID); BigDecimal curPay = payment.getSumma(); // если есть уже какая-то сумма, то складываем if (curSum != null) curPay = curPay.add(curSum); // складываем в мап userMonthSum.put(userID, curPay); } } return userMonthSum; } } |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |