BiTel

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

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




Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
СообщениеДобавлено: 01 ноя 2011, 16:13 
Не в сети
Клиент

Зарегистрирован: 02 дек 2009, 12:28
Сообщения: 93
Откуда: Ленинградская обл.
Карма: 5
Победил все скрипты, что были у меня в биллинге, а этот никак не могу :oops:
Подскажите, пожалуйста, как его поправить, чтоб не выдавал ошибок.
Код:
  Сервер: вер. 5.1 сборка 718 от 12.10.2011 16:33:47
os:Linux; java:Sun Microsystems Inc., v.1.6.0_17

   assist вер. 5.1 сборка 53 от 07.10.2011 17:58:09
   bill вер. 5.1 сборка 239 от 20.09.2011 13:56:10
   cerbercrypt вер. 5.1 сборка 209 от 23.09.2011 14:05:43
   dba вер. 5.1 сборка 134 от 29.09.2010 13:00:59
   dialup вер. 5.1 сборка 184 от 07.09.2011 15:13:58
   drweb вер. 5.1 сборка 55 от 13.10.2011 18:38:13
   email вер. 5.1 сборка 148 от 29.09.2010 13:00:35
   gorod вер. 5.1 сборка 150 от 22.08.2011 15:39:47
   ipn вер. 5.1 сборка 243 от 19.08.2011 16:13:38
   mps вер. 5.1 сборка 168 от 06.10.2011 02:24:53
   npay вер. 5.1 сборка 187 от 21.09.2011 17:44:07
   phone вер. 5.1 сборка 266 от 20.10.2011 10:19:40
   reports вер. 5.1 сборка 176 от 27.06.2011 18:48:24
   rscm вер. 5.1 сборка 152 от 03.10.2011 14:11:04
   ru.bitel.bgbilling.plugins.crm вер. 5.1 сборка 180 от 03.10.2011 14:10:41
   trayinfo вер. 5.1 сборка 146 от 20.05.2011 16:24:48
   voiceip вер. 5.1 сборка 169 от 07.09.2011 15:16:20

Скрипт сам из WIKI http://wiki.bgbilling.ru/index.php/Приостановление_договора_клиентом_через_WEB
Код:
import bitel.billing.server.contract.bean.*;
import bitel.billing.server.util.*;
import bitel.billing.common.*;
import ru.bitel.bgbilling.common.*;
 
public void onEvent( event, setup, con, conSlave )
{
   cid = event.getContractID();
   cm = new ContractManager( con );
   cstm = new ContractStatusManager( con );
   tu = new TimeUtils();
 
   print(event.toString());
   contract = cm.getContractByID( cid );
   status = cstm.getStatus(cid, event.getGenerateTime());
 
   if( contract == null )
   {
      error( "Contract not found!" );
      return;
   }
 
   print(contract.getFc());
 
   if(event.getTypeID() == 12) { // Получение списка действий
      if(contract.getFc() == 0) // Только для физ. лиц
      {
         print("Status: "+status.getStatus()+" from "+tu.convertCalendarToDateString(status.getDate1()));
         if (status.getStatus() == 0 && tu.daysDelta(status.getDate1(), event.getGenerateTime()) >=5)
            event.addAction(1, "Приостановление договора с текущего дня");
         else if (status.getStatus() == 4 && tu.daysDelta(status.getDate1(), event.getGenerateTime()) >=5)
            event.addAction(2, "Возобновление договора с текущего дня");
      }
   }
 
   if (event.getTypeID() == 16) { // Выполнение действия
      print(event.getActionId());
      if (event.getActionId() == 1) {
         print("Changing status to suspended");
         suspendDate = event.getGenerateTime();
         suspendDate.roll(Calendar.DAY_OF_YEAR, 1);
         newStatus = new ContractStatus();
         newStatus.setContractId(cid);
         newStatus.setStatus(4);
         newStatus.setDate1(suspendDate);
         newStatus.setComment("Установлено клиентом через WEB-статистику");   
         cstm.changeStatus(newStatus, 0);
         msg = "Договор "+contract.getTitle()+" ["+contract.getComment()+"] приостановлен с "+tu.convertCalendarToDateString(suspendDate);
         event.addReport(msg+"\r\nВы сможете возобновить договор не ранее, чем через 5 дней");
         mail = new MailMsg(setup);
         mail.sendMessage("billmaster@example.com", "Приостановление "+contract.getTitle(), msg);
      }
      else if (event.getActionId() == 2) {
         print("Changing status to active");
         newStatus = new ContractStatus();
         newStatus.setContractId(cid);
         newStatus.setStatus(0);
         newStatus.setDate1(event.getGenerateTime());
         newStatus.setComment("Установлено клиентом через WEB-статистику");   
         cstm.changeStatus(newStatus, 0);
         msg = "Договор "+contract.getTitle()+" ["+contract.getComment()+"] возобновлён с "+tu.convertCalendarToDateString(event.getGenerateTime());
         event.addReport(msg+"\r\nВы сможете приостановить договор не ранее, чем через 5 дней");
         mail = new MailMsg(setup);
         mail.sendMessage("billmaster@example.com", "Возобновление "+contract.getTitle(), msg);
      }
   }
}

Выдает вот такую ошибку:
Код:
OUT:
Event bitel.billing.server.script.bean.event.GetAdditionalWebActionListEvent cid: 1155; module: 0; type: 12; userId: -1
0


EXCEPTIONS:
Error in method invocation: Method convertCalendarToDateString( java.sql.Date ) not found in class'bitel.billing.common.TimeUtils' : at Line: 28 : in file: Function [id:15; title:Приостановка договора абонентом через WEB] : tu .convertCalendarToDateString ( status .getFromDate ( ) )

java.util.concurrent.ExecutionException: Error in method invocation: Method convertCalendarToDateString( java.sql.Date ) not found in class'bitel.billing.common.TimeUtils' : at Line: 28 : in file: Function [id:15; title:Приостановка договора абонентом через WEB] : tu .convertCalendarToDateString ( status .getFromDate ( ) )

   at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:262)
   at java.util.concurrent.FutureTask.get(FutureTask.java:119)
   at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine.runScriptImpl(ScriptMachine.java:371)
   at bitel.billing.server.script.bean.ScriptMachine.runScript(ScriptMachine.java:129)
   at bitel.billing.server.script.bean.event.EventProcessor.processContractEvent(EventProcessor.java:313)
   at bitel.billing.server.script.bean.event.EventProcessor.processEvent(EventProcessor.java:231)
   at bitel.billing.server.script.bean.event.EventProcessor.processEvent(EventProcessor.java:199)
   at bitel.billing.server.contract.action.web.ActionAdditionalAction.doAction(ActionAdditionalAction.java:64)
   at bitel.billing.server.WebExecuter.executeAction(WebExecuter.java:490)
   at bitel.billing.server.WebExecuter.doPost(WebExecuter.java:226)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
   at ru.bitel.server.servlet.filters.MultipartFilter.doFilter(MultipartFilter.java:42)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
   at ru.bitel.server.servlet.filters.XSSFilter.doFilter(XSSFilter.java:87)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
   at bitel.billing.server.filters.BGAuthFilter.doFilter(BGAuthFilter.java:275)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
   at bitel.billing.server.filters.BGAuthFilter.doFilter(BGAuthFilter.java:275)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
   at bitel.billing.server.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:49)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
   at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
   at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
   at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:568)
   at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
   at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
   at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
   at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
   at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
   at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
   at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
   at java.lang.Thread.run(Thread.java:636)
Caused by: Error in method invocation: Method convertCalendarToDateString( java.sql.Date ) not found in class'bitel.billing.common.TimeUtils' : at Line: 28 : in file: Function [id:15; title:Приостановка договора абонентом через WEB] : tu .convertCalendarToDateString ( status .getFromDate ( ) )

   at bsh.BSHMethodInvocation.eval(BSHMethodInvocation.java:77)
   at bsh.BSHPrimaryExpression.eval(BSHPrimaryExpression.java:102)
   at bsh.BSHPrimaryExpression.eval(BSHPrimaryExpression.java:47)
   at bsh.BSHBinaryExpression.eval(BSHBinaryExpression.java:123)
   at bsh.BSHArguments.getArguments(BSHArguments.java:65)
   at bsh.BSHMethodInvocation.eval(BSHMethodInvocation.java:69)
   at bsh.BSHPrimaryExpression.eval(BSHPrimaryExpression.java:102)
   at bsh.BSHPrimaryExpression.eval(BSHPrimaryExpression.java:47)
   at bsh.BSHBlock.evalBlock(BSHBlock.java:131)
   at bsh.BSHBlock.eval(BSHBlock.java:81)
   at bsh.BSHBlock.eval(BSHBlock.java:47)
   at bsh.BSHIfStatement.eval(BSHIfStatement.java:48)
   at bsh.BSHBlock.evalBlock(BSHBlock.java:131)
   at bsh.BSHBlock.eval(BSHBlock.java:81)
   at bsh.BSHBlock.eval(BSHBlock.java:47)
   at bsh.BSHIfStatement.eval(BSHIfStatement.java:48)
   at bsh.BSHBlock.evalBlock(BSHBlock.java:131)
   at bsh.BSHBlock.eval(BSHBlock.java:81)
   at bsh.BshMethod.invokeImpl(BshMethod.java:362)
   at bsh.BshMethod.invoke(BshMethod.java:258)
   at bsh.BshMethod.invoke(BshMethod.java:186)
   at bsh.This.invokeMethod(This.java:255)
   at bsh.This.invokeMethod(This.java:174)
   at ru.bitel.bgbilling.kernel.script.server.bean.ScriptInstance.invoke(ScriptInstance.java:371)
   at bitel.billing.server.script.bean.ScriptMachine$InvokeScriptRunner.runScript(ScriptMachine.java:85)
   at bitel.billing.server.script.bean.ScriptMachine.runScriptImpl(ScriptMachine.java:205)
   at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine.access$0(ScriptMachine.java:1)
   at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine$1.call(ScriptMachine.java:361)
   at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine$1.call(ScriptMachine.java:1)
   at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
   at java.util.concurrent.FutureTask.run(FutureTask.java:166)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
   ... 1 more


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 01 ноя 2011, 16:32 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 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
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 01 ноя 2011, 16:36 
Не в сети
Аватара пользователя

Зарегистрирован: 27 янв 2010, 16:12
Сообщения: 941
Откуда: Уфа
Карма: 124
Понятное дело, что он ругается! Метод convertCalnedarToDateString( Calendar cal) принимает в качестве аргумента не java.util.Date, а java.util.Calendar.
Если вам принципиально использовать именно этот метод, то сперва нужно создать объект Calendar и передать в качестве аргумента нужный вам Date.
Код:
Calendar calendar = new GregoranCalendar();
calendar.setTime( event.getGenerateTime() );


либо использовать метод TimeUtils.format( Date, String ), который принимает java.util.Date и шаблон, по которому отформатировать дату. Если шаблон не задан, то будет использован шаблон по-умолчанию (dd.MM.yyyy)

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


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

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


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

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


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

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