forum.bitel.ru http://forum.bitel.ru/ |
|
Рассчитать абонплату на будущие месяц http://forum.bitel.ru/viewtopic.php?f=19&t=5482 |
Страница 1 из 1 |
Автор: | rix [ 16 май 2011, 19:38 ] |
Заголовок сообщения: | Рассчитать абонплату на будущие месяц |
Можно ли в BGBS рассчитать наработку (можно с начислением, можно без него) по абонплатам абонента на заданный месяц? Как это сделать с прошлым или текущим с помощью SQL - понятно, а вот что делать с будущими месяцами - ума не приложу. |
Автор: | skyb [ 17 май 2011, 03:11 ] |
Заголовок сообщения: | Re: Рассчитать абонплату на будущие месяц |
rix писал(а): Можно ли в BGBS рассчитать наработку (можно с начислением, можно без него) по абонплатам абонента на заданный месяц? Как это сделать с прошлым или текущим с помощью SQL - понятно, а вот что делать с будущими месяцами - ума не приложу. Код: import java.math.*; import bitel.billing.server.npay.Calculator; import bitel.billing.common.TimeUtils; public void main(setup, con, conSlave) { Calendar dt = new GregorianCalendar(); dt.set(Calendar.DAY_OF_MONTH ,31); Calculator calculator = new Calculator(); print(TimeUtils.convertCalendarToDateString(dt)); calculator.setExecutingTime(dt); calculator.setPreCalc(); calculator.initTask(setup, 0, "mid=4"); calculator.setCids("46"); calculator.startTask(); if (!calculator.isCalcErrors()) { BigDecimal planAccount = BigDecimal.ZERO; Map planAccountMap = calculator.getCostCache().getContractAccounts(); for (Integer contractId : ru.bitel.common.Utils.stringToIntegerList("46")) { if(planAccountMap.get(contractId)!=null){ planAccount = planAccount.add((BigDecimal)planAccountMap.get(contractId)); } } print(planAccount); } } не помню чей, на вики есть |
Автор: | Cromeshnic [ 17 май 2011, 06:46 ] |
Заголовок сообщения: | Re: Рассчитать абонплату на будущие месяц |
Туда же, может пригодится |
Автор: | rix [ 17 май 2011, 12:34 ] |
Заголовок сообщения: | Re: Рассчитать абонплату на будущие месяц |
skyb писал(а): calculator.initTask(setup, 0, "mid=4"); Я эту операцию делаю внутри табличного отчета, там в процедуре нет на входе переменной setup. Как ее можно получить вручную? Цитата: setup - объект класса bitel.billing.server.util.SetupData, конфигурация сервера биллинга , но как работать с этим классом нигде не написано.
|
Автор: | Cromeshnic [ 17 май 2011, 12:44 ] |
Заголовок сообщения: | Re: Рассчитать абонплату на будущие месяц |
Получить можно так: Setup.getSetup(); |
Автор: | rix [ 17 май 2011, 12:54 ] |
Заголовок сообщения: | Re: Рассчитать абонплату на будущие месяц |
Cromeshnic писал(а): Получить можно так: Setup.getSetup(); Пробовал так, Код: Setup setup = Setup.getSetup(); и так Код: SetupData setup = SetupData.getSetup(); пишет, что класс не найден, несмотря на то, что в начале Код: import bitel.billing.server.util;
|
Автор: | rix [ 17 май 2011, 13:01 ] |
Заголовок сообщения: | Re: Рассчитать абонплату на будущие месяц |
Все, разобрался. Нужно было делать Код: import ru.bitel.bgbilling.server.util.Setup;
|
Автор: | Cromeshnic [ 17 май 2011, 13:14 ] |
Заголовок сообщения: | Re: Рассчитать абонплату на будущие месяц |
или Код: import ru.bitel.bgbilling.server.util.*;
|
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |