forum.bitel.ru http://forum.bitel.ru/ |
|
что ему не нравится? не могу понять http://forum.bitel.ru/viewtopic.php?f=19&t=10577 |
Страница 1 из 1 |
Автор: | skyb [ 02 июн 2015, 13:15 ] |
Заголовок сообщения: | что ему не нравится? не могу понять |
Код: 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 |
Автор: | stark [ 02 июн 2015, 13:52 ] |
Заголовок сообщения: | Re: что ему не нравится? не могу понять |
skyb писал(а): [/code] 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 [/code] А при чем тут этот класс ? |
Автор: | Amir [ 02 июн 2015, 14:08 ] |
Заголовок сообщения: | Re: что ему не нравится? не могу понять |
Этот скрипт вызывает смену статуса, а на смену статуса висит ru.skyb.scripts.behavior.ChangeStatus.onEvent, в котором происходит ошибка - ContractStatusChangedEvent и ContractStatusChangingEvent. |
Автор: | skyb [ 02 июн 2015, 14:11 ] |
Заголовок сообщения: | Re: что ему не нравится? не могу понять |
Тьху, запутался, спасибо |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |