forum.bitel.ru http://forum.bitel.ru/ |
|
[6.1] Получить список тарифов доступных для установки http://forum.bitel.ru/viewtopic.php?f=19&t=9579 |
Страница 1 из 1 |
Автор: | Phricker [ 15 авг 2014, 22:38 ] |
Заголовок сообщения: | [6.1] Получить список тарифов доступных для установки |
Как можно в глобальном скрипте получить список тарифов доступный для установки на договоре? ![]() Создаю группы тарифов для контрагентов (их больше 100) через глобальный скрипт. И хотел туда сразу через API загнать тарифные планы. |
Автор: | Phricker [ 18 авг 2014, 10:53 ] |
Заголовок сообщения: | Re: [6.1] Получить список тарифов доступных для установки |
up |
Автор: | stark [ 18 авг 2014, 16:06 ] |
Заголовок сообщения: | Re: [6.1] Получить список тарифов доступных для установки |
вот Код: ru.bitel.bgbilling.kernel.tariff.server.bean.TariffPlanManager.getTariffPlanList( int defaultID, long groups, int face, String title )
|
Автор: | Phricker [ 19 авг 2014, 10:56 ] |
Заголовок сообщения: | Re: [6.1] Получить список тарифов доступных для установки |
А как там отработать фильтр? Т.е. якобы стоят галочки "Только используемые" и "Фильтр по договору" |
Автор: | Artur [ 19 авг 2014, 12:24 ] |
Заголовок сообщения: | Re: [6.1] Получить список тарифов доступных для установки |
Phricker писал(а): А как там отработать фильтр? Т.е. якобы стоят галочки "Только используемые" и "Фильтр по договору" Код: boolean getUsed - только используемые int mid - код модуля tariffGroupFilter - фильтр по группе тарифа TariffPlanManager planManager = new TariffPlanManager( con ); for ( TariffPlan plan : planManager.getTariffPlanList() ) { if ( (!getUsed || plan.isUsed() || plan.getId() == defaultID) && (planManager.usesModule( plan.getId(), mid ) || mid < 0) && ( !tariffGroupFilter || isPlanInContractTariffGroup( plan ) ) ) { } } private boolean isPlanInContractTariffGroup( TariffPlan plan ) { boolean result = false; List<Integer> contractTariffGroups = new ContractTariffGroupManager( con ).getContractTariffGroupIds( cid, new Date() ); for( Integer contractTariffGroup : contractTariffGroups ) { TariffGroup tariffGroup = new TariffGroupManager( con ).getTariffGroupById( contractTariffGroup ); List<TariffGroupTariff> tariffGroupItems = tariffGroup.getPlanList(); //смотрим ТП в группе тарифов и отбираем только активные for( TariffGroupTariff tariffItem : tariffGroupItems ) { if( tariffItem.getDate2() == null ) { if( tariffItem.getId() == plan.getId() ) { result = true; break; } } } } return result; } Примерно так, если я верно понял то, что вы хотите сделать. |
Автор: | Phricker [ 20 авг 2014, 19:15 ] |
Заголовок сообщения: | Re: [6.1] Получить список тарифов доступных для установки |
Благодарю, то что нужно. Точнее направление верное. Правда я еще не создавал групп тарифов, поэтому пришлось чуть поменять на Код: for ( TariffPlan plan : planManager.getTariffPlanList(defaultID, contract.getGroups(), contract.getFc(), "") )
|
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |