BiTel

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

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




Начать новую тему Ответить на тему  [ Сообщений: 22 ] 
Автор Сообщение
СообщениеДобавлено: 04 мар 2013, 11:10 
Имеется задача закрытия статуса договора Npay по балансу после которой напротив абонентской платы пишется недостающая сумма.
Как можно в скрипте узнать данную сумму?


Вернуться к началу
  
 
СообщениеДобавлено: 04 мар 2013, 11:54 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
Например так.
Поиск по слову Calculator в вики и на форуме даст массу скриптов ;)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 04 мар 2013, 12:38 
Да забыл написать что мы знаем как через код рассчитать планируемую сумму по наработке абонплаты.
Но биллинг уже сам посчитал недостающую сумму и отображает ее напротив модуля абонплаты, зачем изобретать велосипед если где то эта сумма хранится и достаточно ее там посмотреть.
И вот вопрос - где биллинг хранит эту посчитанную сумму или как через какую-нибудь функцию ее можно получить


Вернуться к началу
  
 
СообщениеДобавлено: 04 мар 2013, 15:04 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
вопрос, зачем?

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 04 мар 2013, 15:32 
Хотим для закрытых договоров в кабинете статистики сделать возможность активировать договор если сумма задолженность которая напротив абонентской платы <= 0.
А то сейчас договор закрывается когда денег не хватает, а на следующий день денег становится достаточно так как начислений меньше но договор не активируется и приходится клиенту бежать и оплачивать любую сумму чтобы по движению денег система активировала договор


Вернуться к началу
  
 
СообщениеДобавлено: 04 мар 2013, 17:28 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
второе предложение не понял

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 04 мар 2013, 17:52 
на договоре подневное начисление и каждый день сумма напротив абонплаты рассчитывается с учетом оставшихся дней до конца месяца


Вернуться к началу
  
 
СообщениеДобавлено: 05 мар 2013, 14:57 
А вот в api есть такая возможность
Код:
getSummaForUnlock(java.sql.Connection con, int mid, Contract contract)

Что то код не отрабатывает пишу но выдает ошибку что не так не подскажите
Код:
import ru.bitel.bgbilling.modules.npay.server.bean.DebetStatusManageConfig;
import bitel.billing.server.contract.bean.Contract;
import bitel.billing.server.contract.bean.ContractManager;
import bitel.billing.server.contract.bean.ContractStatus;
import bitel.billing.server.contract.bean.ContractStatusManager;
import java.sql.SQLException;

ContractManager contractManager = new ContractManager(this.con);
Contract contract = contractManager.getContractById(cid);
BigDecimal needsum = getSummaForUnlock(con, 2, contractManager.getContractById(contract.getSuperId());


Вернуться к началу
  
 
СообщениеДобавлено: 05 мар 2013, 17:48 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
я всеравно не понял, куда потом эту сумму сувать будите?

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 05 мар 2013, 21:31 
да все просто если getSummaForUnlock=0 значит разрешено переводит договор со статуса закрыт на активен. Если >0 тогда нельзя


Вернуться к началу
  
 
СообщениеДобавлено: 06 мар 2013, 00:33 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
Без класса ага.
по идее сначала нужно объявить а потом использовать
Код:
dsm = new DebetStatusManageConfig(Preferences moduleSetup);
BigDecimal needsum = dsm.getSummaForUnlock(con, 2, contractManager.getContractById(contract.getSuperId());

только я понятия не имею что там в этом Preferences должно быть :)

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 06 мар 2013, 08:19 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
madmax писал(а):
да все просто если getSummaForUnlock=0 значит разрешено переводит договор со статуса закрыт на активен. Если >0 тогда нельзя

а чем дебитовые абонплаты не устраивают?

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 06 мар 2013, 10:40 
не понял, при чем тут дебитовые абонплаты.
Почитайте выше я написал же все

Цитата:
Хотим для закрытых договоров в кабинете статистики сделать возможность активировать договор если сумма задолженность которая напротив абонентской платы <= 0.
А то сейчас договор закрывается когда денег не хватает, а на следующий день денег становится достаточно так как начислений меньше но договор не активируется и приходится клиенту бежать и оплачивать любую сумму чтобы по движению денег система активировала договор


Вернуться к началу
  
 
СообщениеДобавлено: 06 мар 2013, 10:54 
На этом куске кода ругается что не хватает ; или )
Код:
dsm = new DebetStatusManageConfig(Preferences moduleSetup);


Вернуться к началу
  
 
СообщениеДобавлено: 11 мар 2013, 10:17 
Не в сети

Зарегистрирован: 22 окт 2009, 15:45
Сообщения: 201
Карма: 15
madmax писал(а):
На этом куске кода ругается что не хватает ; или )
Код:
dsm = new DebetStatusManageConfig(Preferences moduleSetup);


надо делать вот так:
Код:
dsm = new DebetStatusManageConfig(moduleSetup);


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 11 мар 2013, 12:29 
да с таким кодом заработало и все скомпилировалось.
DebetStatusManageConfig dsm = new DebetStatusManageConfig(moduleSetup);
BigDecimal needsum = dsm.getSummaForUnlock(con, mid, contractManager.getContractById(contract.getSuperId()));

Но выходит ошибка которая ссылается на строку с кодом
Код:
DebetStatusManageConfig dsm = new DebetStatusManageConfig(moduleSetup);

Код:
ERROR ["http-bio-/0.0.0.0-8443"-exec-7] CommonExecuter -
java.lang.NullPointerException
        at ru.bitel.bgbilling.modules.npay.server.bean.DebetStatusManageConfig.<init>(DebetStatusManageConfig.java:37)
        at bitel.billing.server.contract.action.web.ActionCustomSuspend.doAction(ActionCustomSuspend.java:145)
        at bitel.billing.server.WebExecuter.executeAction(WebExecuter.java:436)
        at bitel.billing.server.WebExecuter.doPost(WebExecuter.java:210)
        at bitel.billing.server.WebExecuter.doGet(WebExecuter.java:74)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at ru.bitel.server.servlet.filters.MultipartFilter.doFilter(MultipartFilter.java:42)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at ru.bitel.server.servlet.filters.XSSFilter.doFilter(XSSFilter.java:89)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at bitel.billing.server.filters.BGAuthFilter.doFilter(BGAuthFilter.java:295)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at bitel.billing.server.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:48)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at bitel.billing.server.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:48)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:403)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:301)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:162)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:140)
        at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
        at java.lang.Thread.run(Thread.java:619)


Вернуться к началу
  
 
СообщениеДобавлено: 11 мар 2013, 12:43 
Не в сети

Зарегистрирован: 22 окт 2009, 15:45
Сообщения: 201
Карма: 15
из-за того что moduleSetup=null.

Покажите весь код скрипта. И на какое событие вы вешаете скрипт?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 11 мар 2013, 12:44 
Не в сети

Зарегистрирован: 22 окт 2009, 15:45
Сообщения: 201
Карма: 15
на динамических java классах пишете?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 11 мар 2013, 12:44 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
madmax писал(а):
да с таким кодом заработало и все скомпилировалось.
DebetStatusManageConfig dsm = new DebetStatusManageConfig(moduleSetup);
[/code]


А где кусок кода, который создает moduleSetup?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 11 мар 2013, 15:04 
Да на динамических.
Скорректировал код
Код:
mid=2;
ModuleSetup modset = new ModuleSetup(con, mid);
DebetStatusManageConfig dsm = new DebetStatusManageConfig(modset);
BigDecimal needsum = dsm.getSummaForUnlock(con, mid, contractManager.getContractById(contract.getSuperId()));

теперь выходит ошибка на
Код:
needsum = dsm.getSummaForUnlock(con, mid, contractManager.getContractById(contract.getSuperId()));

Код:
ERROR ["http-bio-/0.0.0.0-8443"-exec-5] CommonExecuter -
java.lang.NullPointerException
        at ru.bitel.bgbilling.modules.npay.server.bean.DebetStatusManageConfig.getSummaForUnlock(DebetStatusManageConfig.java:94)
        at bitel.billing.server.contract.action.web.ActionCustomSuspendWiMax.doAction(ActionCustomSuspendWiMax.java:147)
        at bitel.billing.server.WebExecuter.executeAction(WebExecuter.java:436)
        at bitel.billing.server.WebExecuter.doPost(WebExecuter.java:210)
        at bitel.billing.server.WebExecuter.doGet(WebExecuter.java:74)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at ru.bitel.server.servlet.filters.MultipartFilter.doFilter(MultipartFilter.java:42)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at ru.bitel.server.servlet.filters.XSSFilter.doFilter(XSSFilter.java:89)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at bitel.billing.server.filters.BGAuthFilter.doFilter(BGAuthFilter.java:295)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at bitel.billing.server.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:48)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at bitel.billing.server.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:48)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:403)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:301)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:162)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:140)
        at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
        at java.lang.Thread.run(Thread.java:619)


Вернуться к началу
  
 
СообщениеДобавлено: 11 мар 2013, 17:45 
Не в сети
Разработчик

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

возвращает null. Распечатайте contract.getSuperId() может у него и нет супера ?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 12 мар 2013, 17:37 
Все работает. спасибо


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

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


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

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


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

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