forum.bitel.ru http://forum.bitel.ru/ |
|
Модуль NPay, получить значение http://forum.bitel.ru/viewtopic.php?f=19&t=9302 |
Страница 1 из 1 |
Автор: | Lesto [ 30 май 2014, 10:24 ] |
Заголовок сообщения: | Модуль NPay, получить значение |
Доброго времени суток. В договоре, напротив модуля NPay есть число: Вложение: 2.JPG [ 4.15 КБ | Просмотров: 7024 ] Откуда оно берется и как его получить? если есть возможность, - можете показать два способа: через классы и через селект из базы? с селектом понятней и роднее работать в IRepots ![]() |
Автор: | Phricker [ 30 май 2014, 10:50 ] |
Заголовок сообщения: | Re: Модуль NPay, получить значение |
http://bgbilling.ru/v6.1/javadoc/ru/bit ... onfig.html |
Автор: | Lesto [ 30 май 2014, 11:33 ] |
Заголовок сообщения: | Re: Модуль NPay, получить значение |
так возвращает исходящий остаток - лимит. а если лимит < исх. остатка, возвращается null. например. есть человеки, у которых лимит = 0, исх. остат. = 320, статус - отключен, у NPay записано 379 (долг). Код: dsmc.getSummaForUnlock(con, 5, cm.getContractByTitle(title)); вернул null. |
Автор: | skyb [ 30 май 2014, 12:43 ] |
Заголовок сообщения: | Re: Модуль NPay, получить значение |
ещё наработка за день вроде как считается, тоесть суть в том что после разблокировки снимется сумма |
Автор: | Lesto [ 30 май 2014, 14:14 ] |
Заголовок сообщения: | Re: Модуль NPay, получить значение |
о, понял. то число у NPay - это сумма цен за услуги - исх.ост. - лимит показывает сколько денег не хватило, чтобы оплатить эти самые услуги. но как нормально получить это значение? и все же хорошо бы селектом из бд. (не получается у меня в IReports писать на bgbs...) из таблицы "contract_tariff" - получаю какие услуги активны у пользователя отсюда "contract_balance" получу исх. ост. из "contract" получу лимит. но из какой таблицы взять цены услуг? в "tariff_plan" нету. да, я знаю толк в извращениях ![]() |
Автор: | stark [ 30 май 2014, 14:44 ] |
Заголовок сообщения: | Re: Модуль NPay, получить значение |
Lesto писал(а): но из какой таблицы взять цены услуг? в "tariff_plan" нету. да, я знаю толк в извращениях ![]() Ну что ж, если есть именно желание идти этим путем : http://wiki.bitel.ru/index.php/%D0%A0%D ... 1%81%D1%8B Цитата: SELECT * FROM tariff_plan LEFT JOIN tariff_tree ON tariff_tree.id = tariff_plan.tree_id LEFT JOIN module_tariff_tree ON module_tariff_tree.tree_id = tariff_plan.tree_id LEFT JOIN mtree_node ON mtree_node.mtree_id = module_tariff_tree.id WHERE tariff_plan.id = XXX mtree_node - там нужная вам информация . Но это неверный путь. |
Автор: | Cromeshnic [ 30 май 2014, 15:00 ] |
Заголовок сообщения: | Re: Модуль NPay, получить значение |
Here be dragons ![]() |
Автор: | Lesto [ 02 июн 2014, 10:10 ] |
Заголовок сообщения: | Re: Модуль NPay, получить значение |
даа, не красиво... а какой тогда человеческий вариант? ![]() |
Автор: | skyb [ 02 июн 2014, 11:02 ] |
Заголовок сообщения: | Re: Модуль NPay, получить значение |
фрикер жеж написал |
Автор: | Lesto [ 02 июн 2014, 11:27 ] |
Заголовок сообщения: | Re: Модуль NPay, получить значение |
а я же в ответ написал, что выдает не то. вот: Код: DebetStatusManageConfig dsmc = new DebetStatusManageConfig(setup); print( dsmc.getSummaForUnlock(con, 5, cm.getContractByTitle(title)) ); результат: null. а что на самом деле: Вложение: 3.JPG [ 14.04 КБ | Просмотров: 6970 ] т.е. мне надо получить 99.00. как я выяснил, это число вычисляется как сумма_стоимости_услуг - исх. ост. - лимит или как-то так. возможно я неправильно что-то делаю... |
Автор: | stark [ 02 июн 2014, 13:17 ] |
Заголовок сообщения: | Re: Модуль NPay, получить значение |
Lesto писал(а): а я же в ответ написал, что выдает не то. вот: Код: DebetStatusManageConfig dsmc = new DebetStatusManageConfig(setup); print( dsmc.getSummaForUnlock(con, 5, cm.getContractByTitle(title)) ); результат: null. 5 - код модуля абонплат ? cm.getContractByTitle(title) - точно возвращает правильный договор ? выведите id договора, которое оно вернуло и проверьте правильный ли он. |
Автор: | Lesto [ 02 июн 2014, 13:56 ] |
Заголовок сообщения: | Re: Модуль NPay, получить значение |
Код: // беру из базы нужные договоры String query = "SELECT * from contract where gr = 3"; while ( rs.next() ) { title = rs.getString(3); // проверяю все возможные модули (психанул :) ) for (int j = 0; j < 11; j++) { print( j + " " + title + " " + dsmc.getSummaForUnlock(con, j, cm.getContractByTitle(title)) ); } } результат: Цитата: 0 00474 null
1 00474 null 2 00474 null 3 00474 null 4 00474 null 5 00474 null 6 00474 null 7 00474 null 8 00474 null 9 00474 null 10 00474 null |
Автор: | stark [ 02 июн 2014, 14:06 ] |
Заголовок сообщения: | Re: Модуль NPay, получить значение |
Используйте все-таки getContractById, так надежнее , вдруг у вас там title одинаковые есть . |
Автор: | stark [ 02 июн 2014, 14:09 ] |
Заголовок сообщения: | Re: Модуль NPay, получить значение |
Lesto писал(а): Код: DebetStatusManageConfig dsmc = new DebetStatusManageConfig(setup); А setup какой туда передайте ? Точно ModuleSetup модуля npay ? Код: new DebetStatusManageConfig( Setup.getSetup().getModuleSetup( mid ) );
|
Автор: | Lesto [ 02 июн 2014, 14:14 ] |
Заголовок сообщения: | Re: Модуль NPay, получить значение |
ааа, вот где собака зарыта. поправил - заработало. большое Вам русское мерси! |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |