BiTel

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

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




Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
СообщениеДобавлено: 02 июн 2015, 13:15 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
Код:
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
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 02 июн 2015, 13:52 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
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]


А при чем тут этот класс ?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 02 июн 2015, 14:08 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Этот скрипт вызывает смену статуса, а на смену статуса висит ru.skyb.scripts.behavior.ChangeStatus.onEvent, в котором происходит ошибка - ContractStatusChangedEvent и ContractStatusChangingEvent.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 02 июн 2015, 14:11 
Не в сети
Клиент
Аватара пользователя

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


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

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


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

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


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

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