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

[Решено] [5.2] ContractRemover
http://forum.bitel.ru/viewtopic.php?f=19&t=7057
Страница 1 из 1

Автор:  Phricker [ 07 авг 2012, 21:55 ]
Заголовок сообщения:  [Решено] [5.2] ContractRemover

Тренируюсь на кошкахтестовом сервере переносить базу со старого биллинга.
В скрипте есть такой момент
Код:
........
public void main( setup, con, conSlave )
{
   ContractRemover cr = new ContractRemover( Setup.getSetup(), con, null );
   
   // удаление ранее загруженных договоров
   query = "SELECT   id FROM  contract WHERE gr & (1<<?) != 0 ";
   ps  = con.prepareStatement( query );
   ps.setInt( 1, LOADED_GROUP );
   rs = ps.executeQuery();
 
   int count = 0;
   while ( rs.next() )
   {
      int cid = rs.getInt( 1 );
      cr.deleteContract( cid );
      count ++;            
   }
   ps.close();
   //
   print( "Removed " + count + " contracts.." );

   loadFile( "/opt/BG/fst.csv", setup, con, PATTERN_ID );
}
private void loadFile( file, setup, con, PATTERN_ID )
{
....
blablabla
...
}


В первый раз скрипт отрабатывает на отлично. Все договора из csv файла импортируются, видны в биллинге и т.п.
Цитата:
OUT:
Removed 0 contracts..
Loading /opt/BG/fst.csv
Process time: 36 s.


Но во второй раз, при запуске на этом же файле
Цитата:
OUT:
Removed 22 contracts..
Loading /opt/BG/fst.csv


EXCEPTIONS:
Method Invocation cim.realUpdate
Method Invocation cim.realUpdate : at Line: 191 : in file: импорт базы фасткома : cim .realUpdate ( 0 , newPhone , true , context , true )

Called from method: main : at Line: -1 : in file: <Called from Java Code> : <Compiled Java Code>
Target exception: ru.bitel.bgbilling.common.BGException: Обнаружен конфликт номеров/портов с договор(ами) TITLE_NOT_FOUND

at bsh.BSHMethodInvocation.eval(BSHMethodInvocation.java:97)
at bsh.BSHPrimaryExpression.eval(BSHPrimaryExpression.java:102)



Смотрю в таблице phone_client_item_{mid}, а все загруженные номера на месте.
Собственно вопрос. Как корректно в скрипте удалять договора, чтобы за этим следовало удаление всех его сущностей аналогично удалению через клиент биллинга?

Автор:  stark [ 09 авг 2012, 14:21 ]
Заголовок сообщения:  Re: [5.2] ContractRemover

Какая версия стоит ?
Цитата:
1237 13.07.2012 17:33:02 ИСПРАВЛЕНО Данные не удалялись при удалении модуля.


Если пытались запускать до этого , тогда нужно обновится и руками почистить таблицы phone_client_item_,phone_item_number_,phone_item_port_,phone_item_rule_data_. Потом будет работать .

Автор:  Phricker [ 09 авг 2012, 17:13 ]
Заголовок сообщения:  Re: [5.2] ContractRemover

Чистил все 4 таблицы. Не помогло. Обновления стояли
Код:
  Сервер: вер. 5.2 сборка 1267 от 07.08.2012 15:49:43

Через клиент биллинга все удаляется корректно, еще раз повторюсь

Автор:  stark [ 09 авг 2012, 18:11 ]
Заголовок сообщения:  Re: [5.2] ContractRemover

создайте тему в helpdesk. Надо зайти и разобраться на месте .

Автор:  Phricker [ 10 авг 2012, 14:06 ]
Заголовок сообщения:  Re: [5.2] ContractRemover

Создал.
Во избежание ошибок я только сегодня завел виртуальную машину где все поднял заново свежескачанное с сайта.
Все равно та же ошибка.
Поинт на договор добавлял вручную, а скрипт сократился до
Код:
public void main( setup, con, conSlave )
{
   ContractRemover cr = new ContractRemover( Setup.getSetup(), con, null );
   query = "SELECT   id FROM  contract";
   ps  = con.prepareStatement( query );
   rs = ps.executeQuery();
   int count = 0;
   while ( rs.next() )
   {
      int cid = rs.getInt( 1 );
      cr.deleteContract( cid );
      count ++;            
   }
   ps.close();
   print( "Removed " + count + " contracts.." );
}

И все равно поинты на месте :)

Автор:  stark [ 14 авг 2012, 14:43 ]
Заголовок сообщения:  Re: [5.2] ContractRemover

Обновление выложено

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