BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 07 июл 2025, 21:10

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




Начать новую тему Ответить на тему  [ Сообщений: 10 ] 
Автор Сообщение
 Заголовок сообщения: [5.0] удаление договора.
СообщениеДобавлено: 11 апр 2014, 17:00 
Не в сети

Зарегистрирован: 08 окт 2009, 16:06
Сообщения: 186
Карма: 20
Всем доброго времени суток.
Поискал в api, но к сожалению не нашел как удалить договор скриптом. Подскажите плиз как это сделать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [5.0] удаление договора.
СообщениеДобавлено: 11 апр 2014, 17:13 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
bitel.billing.server.contract.ContractRemover


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [5.0] удаление договора.
СообщениеДобавлено: 11 апр 2014, 17:16 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
stark писал(а):
bitel.billing.server.contract.ContractRemover

Код:
// группа из которой надо удалить договора
   int LOADED_GROUP = 3;

public void execute( Setup setup, ConnectionSet connectionSet )
      throws Exception
   {
      print("Start");
      Connection con  = connectionSet.getConnection();
      ContractRemover cr = new ContractRemover( setup, con, null );
      long timeStart = System.currentTimeMillis();
      // удаление ранее загруженных договоров
      String query = "SELECT id FROM contract WHERE gr & (1<<?) != 0";
      PreparedStatement ps  = con.prepareStatement( query );
      ps.setInt( 1, LOADED_GROUP );
      ResultSet rs = ps.executeQuery();
      int count = 0;
      while ( rs.next() )
      {
         cr.deleteContract( rs.getInt( 1 ) );
         ++count;            
      }
      ps.close();
      print( "Removed " + count + " contracts..." );
      long timeEnd = System.currentTimeMillis();
      print( "Process time: " + (timeEnd - timeStart)/1000 + " s." );
   }



© wiki

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [5.0] удаление договора.
СообщениеДобавлено: 11 апр 2014, 17:19 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
я бы не стал так делать. А кто удалит данные по всем модулям ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [5.0] удаление договора.
СообщениеДобавлено: 11 апр 2014, 17:23 
Не в сети

Зарегистрирован: 08 окт 2009, 16:06
Сообщения: 186
Карма: 20
спасибо.
я извиняюсь. а как можно узнать по подробнее о методах данного класса. к примеру договор можно ведь удалять с добавлением его в архив и без.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [5.0] удаление договора.
СообщениеДобавлено: 11 апр 2014, 17:30 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
а скажите зачем удалять? там же балансы его, они похерятся
ещё на версии 5.0 мне 1 из девлоперов битела писал так

Код:
public void deleteContract( setup, con, cid )
{
   Contract contract = new ContractManager( con ).getContractByID( cid );
    if ( contract.getSuperId() != Contract.IS_INDEPENDENT )
    {
       print( "Возможно удаление только независимого договора!" );
        return;
    }
    Vector CID = new Vector();
    CID.addElement( new Integer( cid ) );

    ContractRemover cr = new ContractRemover( setup, con, folder );
    String error = cr.removeContracts( CID, save );
    if ( error != null && error.length() > 0 )
    {
      print( "Ошибка удаления договора! => "+error );
    }
}

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [5.0] удаление договора.
СообщениеДобавлено: 11 апр 2014, 19:02 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
stark писал(а):
я бы не стал так делать. А кто удалит данные по всем модулям ?

Писать такое без примеров и объяснения причин - дурной тон.

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [5.0] удаление договора.
СообщениеДобавлено: 11 апр 2014, 19:06 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
Phricker писал(а):
stark писал(а):
я бы не стал так делать. А кто удалит данные по всем модулям ?

Писать такое без примеров и объяснения причин - дурной тон.


Не понял. Я же написал причину - модули не удалятся, как минимум. Параметры и прочий мусор в базе останется от этого договора.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [5.0] удаление договора.
СообщениеДобавлено: 11 апр 2014, 19:08 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
Phricker писал(а):
stark писал(а):
bitel.billing.server.contract.ContractRemover

Код:
// группа из которой надо удалить договора
   int LOADED_GROUP = 3;

public void execute( Setup setup, ConnectionSet connectionSet )
      throws Exception
   {
      print("Start");
      Connection con  = connectionSet.getConnection();
      ContractRemover cr = new ContractRemover( setup, con, null );
      long timeStart = System.currentTimeMillis();
      // удаление ранее загруженных договоров
      String query = "SELECT id FROM contract WHERE gr & (1<<?) != 0";
      PreparedStatement ps  = con.prepareStatement( query );
      ps.setInt( 1, LOADED_GROUP );
      ResultSet rs = ps.executeQuery();
      int count = 0;
      while ( rs.next() )
      {
         cr.deleteContract( rs.getInt( 1 ) );
         ++count;            
      }
      ps.close();
      print( "Removed " + count + " contracts..." );
      long timeEnd = System.currentTimeMillis();
      print( "Process time: " + (timeEnd - timeStart)/1000 + " s." );
   }



© wiki

Пардон, не заметил что тут тоже ContractRemover. Мельком глянул и решил, что там запросом удаляют .


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [5.0] удаление договора.
СообщениеДобавлено: 11 апр 2014, 19:18 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
Выложили описание этого класса
http://bgbilling.ru/v6.0/javadoc/bitel/ ... mover.html


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

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


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

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


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

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