BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 24 июн 2025, 16:09

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
СообщениеДобавлено: 15 авг 2014, 22:38 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
Как можно в глобальном скрипте получить список тарифов доступный для установки на договоре?
Изображение

Создаю группы тарифов для контрагентов (их больше 100) через глобальный скрипт. И хотел туда сразу через API загнать тарифные планы.

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 18 авг 2014, 10:53 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
up

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 18 авг 2014, 16:06 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
вот

Код:
ru.bitel.bgbilling.kernel.tariff.server.bean.TariffPlanManager.getTariffPlanList( int defaultID, long groups, int face, String title )


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 19 авг 2014, 10:56 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
А как там отработать фильтр?
Т.е. якобы стоят галочки "Только используемые" и "Фильтр по договору"

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 19 авг 2014, 12:24 
Не в сети
Аватара пользователя

Зарегистрирован: 27 янв 2010, 16:12
Сообщения: 941
Откуда: Уфа
Карма: 124
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;
   }


Примерно так, если я верно понял то, что вы хотите сделать.

_________________
С уважением, Гареев Артур. Вежливый разработчик ООО "Бител".


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 20 авг 2014, 19:15 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
Благодарю, то что нужно. Точнее направление верное.
Правда я еще не создавал групп тарифов, поэтому пришлось чуть поменять на
Код:
for ( TariffPlan plan : planManager.getTariffPlanList(defaultID, contract.getGroups(), contract.getFc(), "") )

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
POWERED_BY
Русская поддержка phpBB
[ Time : 0.057s | 27 Queries | GZIP : On ]