forum.bitel.ru
http://forum.bitel.ru/

Не работает событие при переоформлении
http://forum.bitel.ru/viewtopic.php?f=19&t=4907
Страница 1 из 1

Автор:  ldmitry [ 14 дек 2010, 15:10 ]
Заголовок сообщения:  Не работает событие при переоформлении

Реализовал некоторую функцию скрипта поведения, которая срабатывает при событиях "Договор создан" и "Договор переоформлен". Действия надо выполнять одни и те же, поэтому функция одна на двух событиях. При создании договора она работает как ожидается - инициализирует параметры договора, при переоформлении же в log/server.script.log видно, что происходит её вызов, но результата работы не наблюдается.

Вывод log/server.script.log:

12-14/12:04:49 INFO [http-8080-2] script - Process event cid:112; event:Event bitel.billing.server.script.bean.event.system.ContractWrapEvent cid: 112; module: 0; type: 0; userId: 1
12-14/12:04:49 INFO [http-8080-2] script - Process event cid:112; event:Event bitel.billing.server.script.bean.event.system.ContractWrapEvent cid: 112; module: 0; type: 0; userId: 1
12-14/12:04:49 INFO [http-8080-2] script - Skipping script processing..
12-14/12:04:49 INFO [http-8080-2] script - Process event cid:112; event:Event bitel.billing.server.script.bean.event.system.ContractWrapEvent cid: 112; module: 0; type: 0; userId: 1
12-14/12:04:49 INFO [http-8080-2] script - Process event cid:112; event:Event bitel.billing.server.script.bean.event.system.ContractWrapEvent cid: 112; module: 0; type: 0; userId: 1
12-14/12:04:49 INFO [http-8080-2] script - Skipping script processing..
12-14/12:04:49 INFO [http-8080-2] script - Process event cid:112; event:Event bitel.billing.server.script.bean.event.OnContractWrapEvent cid: 112; module: 0; type: 27; userId: 0
12-14/12:04:49 INFO [http-8080-2] script - Process event cid:112; event:Event bitel.billing.server.script.bean.event.OnContractWrapEvent cid: 112; module: 0; type: 27; userId: 0
12-14/12:04:50 INFO [pool-1-thread-1] ScriptInstance - Eval script Function [id:1; title:Инициализация: № Договора, Оператор, Услуга, № л.с.]
12-14/12:04:50 INFO [pool-1-thread-1] ScriptInstance - Invoke method Function [id:1; title:Инициализация: № Договора, Оператор, Услуга, № л.с.] : onEvent
12-14/12:04:50 INFO [http-8080-2] script - Process time => 351
[root@bgbilling5 BGBillingServer]#

В чем может быть дело?

Автор:  ldmitry [ 15 дек 2010, 20:15 ]
Заголовок сообщения:  Re: Не работает событие при переоформлении

Помогите, разработчики!
Мне без вас на этот вопрос никто не ответит.

Автор:  skyb [ 15 дек 2010, 20:17 ]
Заголовок сообщения:  Re: Не работает событие при переоформлении

мож скрипт выложете?

Автор:  ldmitry [ 15 дек 2010, 20:26 ]
Заголовок сообщения:  Re: Не работает событие при переоформлении

Код:
import bitel.billing.server.script.bean.event.*;
import bitel.billing.server.contract.bean.*;
import bitel.billing.server.util.*;
import java.sql.*;
import java.util.*;
includeBGBS( "bgbs://ru.bitel.bgbilling.kernel.script.common.bean.ScriptLibrary/main" );

public void onEvent( event, setup, con, conSlave )
{
/*
* Если договор был создан или переоформелн, необходимо инициализировать нек. параметры согласно шаблону.
*
* TODO:
*
* 1. К сожалению, при переоформлении этот скрипт почему-то не срабатывает - разобраться
* 2. Нехватает переинициализации групп при переоформлении - они копируются, а не задаются шаблоном
*/

// Узнать ID договора
   cid = event.getContractId();
// Узнать ID пользователя системы (менеджера)
   userId = event.getUserId();

// Подготовка для операций над свойствами контракта
   cm = new ContractManager(con);
   c = cm.getContractByID(cid);

// Подготовка для операций над параметрами контракта
   cpm = new ContractParameterManager(con);

// Вычислим номер лицевого счета
   if (cid+PACCOUNT_BASE <= PACCOUNT_MAX)
      paccount = cid+PACCOUNT_BASE;
   else
      paccount = "-- Не присвоен! Обратитесь в отдел автоматизации --";

// Установим оператора связи и скопируем № договора в параметры, если мы создали операторский договор с его актуальным номером. Так же, для договоров переуступки и операторских договоров на Арома и ТРК, установим № лицевого счета, т.к. по этим договорам мы ожидаем оплату в наш биллинг
// Действуем в соответствии со сгенерированным из шаблона № договора.
   title = c.getTitle();
      // ООО "Арома Лэск"
   if (title.matches("[ВИТК]А[ЮФ]-.*")) {
      cpm.setListParam(cid, 40, 9, userId); // Оператор связи
      cpm.setStringParam(cid, 42, title, userId); // № Договора
      cpm.setStringParam(cid, 35, paccount.toString(), userId); // № Лицевого счета
   }
      // МУП ТРК
   if (title.matches("[ВИТК]Т[ЮФ]-.*")) {
      cpm.setListParam(cid, 40, 10, userId); // Оператор связи
      cpm.setStringParam(cid, 42, title, userId); // № Договора
      cpm.setStringParam(cid, 35, paccount.toString(), userId); // № Лицевого счета
   }
      // ОАО "Центральный Телеграф", это договор переуступки - номер в параметрах относится к операторскому договору, в шапке к нашему договору
   if (title.matches("ТП[ЮФ]-.*")) {
      cpm.setListParam(cid, 40, 6, userId); // Оператор связи
      cpm.setStringParam(cid, 42, "", userId); // № Договора
      cpm.setStringParam(cid, 35, paccount.toString(), userId); // № Лицевого счета
   }
      // ЗАО "Фирма ТЕЛ", у этого договора в шапке не настоящий номер, а признак для автовыбора оператора
   if (title.matches("ТЕЛ"))
      cpm.setListParam(cid, 40, 7, userId); // Оператор связи
      cpm.setStringParam(cid, 42, "", userId); // № Договора
      cpm.setStringParam(cid, 35, "", userId); // № Лицевого счета

// Установим услугу связи
   if (title.matches("В[ТА][ЮФ]-.*"))
      cpm.setListParam(cid, 43, 14, userId); // Виртуальная частная сеть

   if (title.matches("К[ТА][ЮФ]-.*"))
      cpm.setListParam(cid, 43, 13, userId); // Кабельное телевидение

   if (title.matches("И[ТА][ЮФ]-.*"))
      cpm.setListParam(cid, 43, 12, userId); // Интернет

   if (title.matches("ТП[ЮФ]-.*") || title.matches("ТЕЛ"))
      cpm.setListParam(cid, 43, 11, userId); // Телефония

// Сохраняем изменение в контракте
//   cm.updateContract(c);
}

Автор:  ldmitry [ 16 дек 2010, 15:02 ]
Заголовок сообщения:  Re: Не работает событие при переоформлении

Теперь мне помогут?

Автор:  skyb [ 16 дек 2010, 15:10 ]
Заголовок сообщения:  Re: Не работает событие при переоформлении

ldmitry писал(а):
Теперь мне помогут?

после того как выложили скрипт ваши шансы увеличились)))

Автор:  ldmitry [ 16 дек 2010, 17:18 ]
Заголовок сообщения:  Re: Не работает событие при переоформлении

Разработчики, скажите, что мне нужно выложить, что бы вероятность ответа на мой пост повысилась до 100%? :)

Автор:  skyb [ 16 дек 2010, 17:20 ]
Заголовок сообщения:  Re: Не работает событие при переоформлении

ldmitry писал(а):
Разработчики, скажите, что мне нужно выложить, что бы вероятность ответа на мой пост повысилась до 100%? :)

я думаю денех...и запрос этот должен быть в хелпдеск

Автор:  jack7 [ 16 дек 2010, 18:03 ]
Заголовок сообщения:  Re: Не работает событие при переоформлении

ldmitry, можно логически разбить скрипт на части и после каждой их них вставить
Код:
print("такое то действие выполнено");


а потом смотреть лог скрипта на предмет где запнулся
ну и логи конечно проверять основной и ошибочный

Автор:  ldmitry [ 16 дек 2010, 18:26 ]
Заголовок сообщения:  Re: Не работает событие при переоформлении

Спасибо, jack7 и skyb, воспользуюсь вашими советами. Мы имеем лицензию на 4.5, а я пробую 5.1, так что наверно в хелп-деск запрос будет не обоснован в данный момент. Но то, что есть некий хелп-деск кроме форума, это полезная для меня информация, я не знал. По видимому, обновим лицензии на 5.1 скоро.

Теперь опять вопросы к разработчикам.

Для получения такого рода помощи, как запрошено в этой ветке, достаточно иметь лицензию на соответствующую версию биллинга, или нужен ещё какой-то дополнительный договор?

В каком объеме в данном случае могла бы быть оказана поддержка? Варианты:
а) только консультация?
б) действия по диагностике?
в) действия по исправлению скрипта?

Параметры технической поддержки где-то регламентированы?

Автор:  skyb [ 16 дек 2010, 18:35 ]
Заголовок сообщения:  Re: Не работает событие при переоформлении

раз
два - личный кабинет
три

Автор:  stark [ 28 дек 2010, 17:26 ]
Заголовок сообщения:  Re: Не работает событие при переоформлении

ldmitry писал(а):
Спасибо, jack7 и skyb, воспользуюсь вашими советами. Мы имеем лицензию на 4.5, а я пробую 5.1, так что наверно в хелп-деск запрос будет не обоснован в данный момент. Но то, что есть некий хелп-деск кроме форума, это полезная для меня информация, я не знал. По видимому, обновим лицензии на 5.1 скоро.


Не вижу связи , договор helpdesk-а не зависит от версии биллинга

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/