forum.bitel.ru http://forum.bitel.ru/ |
|
Опции на договоре http://forum.bitel.ru/viewtopic.php?f=19&t=11459 |
Страница 1 из 1 |
Автор: | Tau [ 21 мар 2016, 20:13 ] |
Заголовок сообщения: | Опции на договоре |
Добрый день. В доке https://bgbilling.ru/v6.2/javadoc/ru/bi ... tract.html Цитата: Bean договора. По возможности старайтесь используйте этот bean, а не тот что в серверной части. Почти идентичен старому бину, только не содержит тарифы и опции. Старый бин - это https://bgbilling.ru/v6.2/javadoc/bitel ... tract.html Вопроса 2: 1) Где брать опции в "новом бине"? 2) В "старом бине": bitel.billing.server.contract.bean.Contract ct = cm.getContractByTitle(contract); ContractTariffOptionList ctol = ct.getTariffOptions(); ctol == null, хотя тарифная опция на договоре висит. |
Автор: | barguzin2 [ 22 мар 2016, 11:07 ] |
Заголовок сообщения: | Re: Опции на договоре |
1) https://bgbilling.ru/v6.2/javadoc/ru/bi ... rvice.html 2) Тут не от бина зависит, а от ContractManager, который, скорее всего, просто не грузит опции |
Автор: | dimOn [ 22 мар 2016, 11:40 ] |
Заголовок сообщения: | Re: Опции на договоре |
почти никакой менеджер в api не грузит связанные сущности |
Автор: | Amir [ 22 мар 2016, 12:56 ] |
Заголовок сообщения: | Re: Опции на договоре |
Да, поле в старом бине есть, но подставлялись данные в это поле точно не в ContractManager, а где-нибудь в тарификаторе. Как и поля, связанные с тарифом. |
Автор: | Tau [ 22 мар 2016, 14:07 ] |
Заголовок сообщения: | Re: Опции на договоре |
А подскажите способы через API 1) Получения всех опций на договоре (как в табличке contract_tariff_option) 2) Получение всех доступных для договора опций (ну, т.е. с учетом текущего ТП, группы договора, зависимостей и видимости) Через sql не очень хочется вытаскивать данные. |
Автор: | Tau [ 22 мар 2016, 18:51 ] |
Заголовок сообщения: | Re: Опции на договоре |
Tau писал(а): А подскажите способы через API 1) Получения всех опций на договоре (как в табличке contract_tariff_option) Сделал так: Код: ContractTariffOptionDao ctod = new ContractTariffOptionDao(context.getConnection()); rc = ctod.list(ct.getId(), new Date()); Tau писал(а): 2) Получение всех доступных для договора опций (ну, т.е. с учетом текущего ТП, группы договора, зависимостей и видимости) Сделал вот так: Код: TariffOptionServiceImpl tosi = new TariffOptionServiceImpl(); List<ContractTariffOption> lcto = getTariffOptionsFromContract(contract); rc = tosi.tariffOptionListAvailable(ct.getId(), new Date(), lcto, true, false); Но вываливается ошибка: Код: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.NullPointerException at ru.bitel.bgbilling.kernel.tariff.option.server.service.TariffOptionServiceImpl.tariffOptionListAvailable(TariffOptionServiceImpl.java:101) at api.ru.qweasd.bgbilling.service.impl.MyImpl.getTariffOptionsForContract(MyImpl.java:372) ... 39 more ЧЯДНТ? |
Автор: | stark [ 22 мар 2016, 19:26 ] |
Заголовок сообщения: | Re: Опции на договоре |
у вас какая версия ? Объект lcto случайно не null ? |
Автор: | Tau [ 22 мар 2016, 19:45 ] |
Заголовок сообщения: | Re: Опции на договоре |
stark писал(а): у вас какая версия ? Объект lcto случайно не null ? Код: Сервер: вер. 6.1.1113 / 29.12.2015 15:26:30 os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.7.0_80-ea Ну, вообще, лист пустой, но не null. Вот так если объявить Код: lcto = new ArrayList<ContractTariffOption>(); та же ошибка. |
Автор: | stark [ 22 мар 2016, 20:21 ] |
Заголовок сообщения: | Re: Опции на договоре |
а как вы web-сервис получили ? |
Автор: | Tau [ 22 мар 2016, 21:02 ] |
Заголовок сообщения: | Re: Опции на договоре |
stark писал(а): а как вы web-сервис получили ? А поконкретней можно? Я учитель рисования по образованию, слабо ориентируюсь в терминологии... |
Автор: | barguzin2 [ 23 мар 2016, 08:43 ] |
Заголовок сообщения: | Re: Опции на договоре |
import ru.bitel.bgbilling.kernel.container.managed.ServerContext; import ru.bitel.bgbilling.kernel.tariff.option.common.service.TariffOptionService; ... ServerContext context = ServerContext.get(); TariffOptionService tariffOptionService = context.getService(TariffOptionService.class, 0); И дальше уже работаешь с tariffOptionService, в данном случае нужен метод contractTariffOptionList Этот подход аналогично применим и для использования других сервисов, пригодится на будущее, второй параметр это moduleId, для ядра это 0, для конкретных модулей будет свой. |
Автор: | stark [ 23 мар 2016, 13:14 ] |
Заголовок сообщения: | Re: Опции на договоре |
Tau писал(а): stark писал(а): а как вы web-сервис получили ? А поконкретней можно? Я учитель рисования по образованию, слабо ориентируюсь в терминологии... А, вижу, не сразу заметил. Вы его неправильно создали. вот пример |
Автор: | Tau [ 23 мар 2016, 13:15 ] |
Заголовок сообщения: | Re: Опции на договоре |
barguzin2 писал(а): import ru.bitel.bgbilling.kernel.container.managed.ServerContext; import ru.bitel.bgbilling.kernel.tariff.option.common.service.TariffOptionService; ... ServerContext context = ServerContext.get(); TariffOptionService tariffOptionService = context.getService(TariffOptionService.class, 0); И дальше уже работаешь с tariffOptionService, в данном случае нужен метод contractTariffOptionList Этот подход аналогично применим и для использования других сервисов, пригодится на будущее, второй параметр это moduleId, для ядра это 0, для конкретных модулей будет свой. Спасибо огроменное! |
Автор: | Tau [ 23 мар 2016, 13:16 ] |
Заголовок сообщения: | Re: Опции на договоре |
stark писал(а): А, вижу, не сразу заметил. Вы его неправильно создали. Ага, barguzin2 уже научил как правильно. Спасибо! |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |