Победил все скрипты, что были у меня в биллинге, а этот никак не могу
Подскажите, пожалуйста, как его поправить, чтоб не выдавал ошибок.
Код:
Сервер: вер. 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