Код:
package ru.skyb.scripts.global;
import bitel.billing.common.TimeUtils;
import ru.bitel.bgbilling.kernel.script.server.dev.GlobalScriptBase;
import ru.bitel.bgbilling.server.util.Setup;
import ru.bitel.common.sql.ConnectionSet;
import java.sql.*;
import java.util.Date;
import java.util.*;
import bitel.billing.server.contract.bean.*;
import bitel.billing.server.task.bean.RunTaskDataManager;
import bitel.billing.server.npay.*;
import bitel.billing.server.util.MailMsg;
//import ru.bitel.bgbilling.kernel.event.events.ContractStatusChangedEvent;
public class ActivateSevenDay
extends GlobalScriptBase
{
@Override
public void execute( Setup setup1, ConnectionSet connectionSet2 )
throws Exception
{
int NPAY_MID = 9;
StringBuilder sb = new StringBuilder();
StringBuilder cids = new StringBuilder();
Calendar dateTask = Calendar.getInstance();
MailMsg msg = new MailMsg(setup1);
String mail = "";
// набор услуг, 0- все услуги
int serviceSet = 0;
//Комментарий задачи
String comment = "";
String email = "null";
Connection con = connectionSet2.getConnection();
ContractParameterManager cpm = new ContractParameterManager( con );
ContractStatusManager csm = new ContractStatusManager(con);
ContractManager cm = new ContractManager(con);
ContractStatus ncs = new ContractStatus();
Calendar nowDate = Calendar.getInstance();
String subject = "";
String query = " SELECT id, title, date1 FROM contract " +
" WHERE gr&(1<<3)>0 AND status = 5";
PreparedStatement ps = con.prepareStatement(query);
ResultSet rs = ps.executeQuery();
while (rs.next())
{
int cid = rs.getInt(1);
String title = rs.getString(2);
Date date1 = rs.getDate(3);
print("day " + TimeUtils.daysDelta(date1,TimeUtils.convertCalendarToDate(nowDate)));
if ( TimeUtils.daysDelta(date1, TimeUtils.convertCalendarToDate(nowDate)) == 7 )
{
print(title);
cids.append( cid + "," );
cpm.unsetGroup( cid, 9 );
ncs.setContractId(cid);
ncs.setDateFrom(new Date());
ncs.setStatus(0);
ncs.setComment("Статус изменен автоматически в " + new Date());
csm.changeStatus(ncs, 0, true);
sb.append("id " + cid + " Договор " + title + " был разблокирован автоматически \n" + "Дата создания " + date1);
}
}
String messages= sb.toString();
if (!messages.isEmpty() || !messages.equals(""))
{
cids.deleteCharAt( cids.lastIndexOf( "," ) );
new RunTaskDataManager( con ).addTask( new Recalculator( NPAY_MID, dateTask, email, serviceSet, cids.toString(), comment ) );
}
}
}
Код:
EXCEPTIONS:
java.util.concurrent.ExecutionException: java.lang.Exception: java.lang.ClassCastException: ru.bitel.bgbilling.kernel.event.events.ContractStatusChangingEvent cannot be cast to ru.bitel.bgbilling.kernel.event.events.ContractStatusChangedEvent
at java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.util.concurrent.FutureTask.get(FutureTask.java:202)
at ru.bitel.bgbilling.kernel.script.server.DynamicScriptEventListener$ThreadedScriptEventListener.runScriptImpl(DynamicScriptEventListener.java:270)
at ru.bitel.bgbilling.kernel.script.server.DynamicScriptEventListener.runScript(DynamicScriptEventListener.java:149)
at ru.bitel.bgbilling.kernel.script.server.DynamicScriptEventListener.notify(DynamicScriptEventListener.java:117)
at ru.bitel.bgbilling.kernel.event.LocalEventProcessor.request(LocalEventProcessor.java:240)
at ru.bitel.bgbilling.kernel.event.EventProcessor.request(EventProcessor.java:906)
at ru.bitel.bgbilling.kernel.event.EventProcessor.request(EventProcessor.java:875)
at bitel.billing.server.contract.bean.ContractStatusManager.changeStatus(ContractStatusManager.java:555)
at ru.skyb.scripts.global.ActivateSevenDay.execute(ActivateSevenDay.java:60)
at ru.bitel.bgbilling.kernel.script.server.bean.GlobalScriptInvoker.invoke(GlobalScriptInvoker.java:38)
at ru.bitel.bgbilling.kernel.script.server.GlobalScriptServiceImpl.executeGlobalScriptParams(GlobalScriptServiceImpl.java:83)
at ru.bitel.bgbilling.kernel.script.server.task.GlobalScriptTimer.executeJava(GlobalScriptTimer.java:106)
at ru.bitel.bgbilling.kernel.script.server.task.GlobalScriptTimer.executeTask(GlobalScriptTimer.java:59)
at ru.bitel.bgbilling.kernel.task.server.TaskBase.run(TaskBase.java:76)
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.Exception: java.lang.ClassCastException: ru.bitel.bgbilling.kernel.event.events.ContractStatusChangingEvent cannot be cast to ru.bitel.bgbilling.kernel.event.events.ContractStatusChangedEvent
at ru.bitel.bgbilling.kernel.script.server.DynamicScriptEventListener.runScriptImpl(DynamicScriptEventListener.java:203)
at ru.bitel.bgbilling.kernel.script.server.DynamicScriptEventListener$ThreadedScriptEventListener.access$0(DynamicScriptEventListener.java:1)
at ru.bitel.bgbilling.kernel.script.server.DynamicScriptEventListener$ThreadedScriptEventListener$1.call(DynamicScriptEventListener.java:257)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
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)
at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:46)
Caused by: java.lang.ClassCastException: ru.bitel.bgbilling.kernel.event.events.ContractStatusChangingEvent cannot be cast to ru.bitel.bgbilling.kernel.event.events.ContractStatusChangedEvent
at ru.skyb.scripts.behavior.ChangeStatus.onEvent(ChangeStatus.java:21)
at ru.bitel.bgbilling.kernel.script.server.DynamicScriptEventListener.runScriptImpl(DynamicScriptEventListener.java:199)
... 7 more
_________________
Код:
Клиент: вер. 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Стиль программирования - пьяный мастерстер
Разработка мобильных приложений