forum.bitel.ru http://forum.bitel.ru/ |
|
[5.0] удаление договора. http://forum.bitel.ru/viewtopic.php?f=19&t=9149 |
Страница 1 из 1 |
Автор: | braek-neck [ 11 апр 2014, 17:00 ] |
Заголовок сообщения: | [5.0] удаление договора. |
Всем доброго времени суток. Поискал в api, но к сожалению не нашел как удалить договор скриптом. Подскажите плиз как это сделать. |
Автор: | stark [ 11 апр 2014, 17:13 ] |
Заголовок сообщения: | Re: [5.0] удаление договора. |
bitel.billing.server.contract.ContractRemover |
Автор: | Phricker [ 11 апр 2014, 17:16 ] |
Заголовок сообщения: | Re: [5.0] удаление договора. |
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 |
Автор: | stark [ 11 апр 2014, 17:19 ] |
Заголовок сообщения: | Re: [5.0] удаление договора. |
я бы не стал так делать. А кто удалит данные по всем модулям ? |
Автор: | braek-neck [ 11 апр 2014, 17:23 ] |
Заголовок сообщения: | Re: [5.0] удаление договора. |
спасибо. я извиняюсь. а как можно узнать по подробнее о методах данного класса. к примеру договор можно ведь удалять с добавлением его в архив и без. |
Автор: | skyb [ 11 апр 2014, 17:30 ] |
Заголовок сообщения: | Re: [5.0] удаление договора. |
а скажите зачем удалять? там же балансы его, они похерятся ещё на версии 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 ); } } |
Автор: | Phricker [ 11 апр 2014, 19:02 ] |
Заголовок сообщения: | Re: [5.0] удаление договора. |
stark писал(а): я бы не стал так делать. А кто удалит данные по всем модулям ? Писать такое без примеров и объяснения причин - дурной тон. |
Автор: | stark [ 11 апр 2014, 19:06 ] |
Заголовок сообщения: | Re: [5.0] удаление договора. |
Phricker писал(а): stark писал(а): я бы не стал так делать. А кто удалит данные по всем модулям ? Писать такое без примеров и объяснения причин - дурной тон. Не понял. Я же написал причину - модули не удалятся, как минимум. Параметры и прочий мусор в базе останется от этого договора. |
Автор: | stark [ 11 апр 2014, 19:08 ] |
Заголовок сообщения: | Re: [5.0] удаление договора. |
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. Мельком глянул и решил, что там запросом удаляют . |
Автор: | stark [ 11 апр 2014, 19:18 ] |
Заголовок сообщения: | Re: [5.0] удаление договора. |
Выложили описание этого класса http://bgbilling.ru/v6.0/javadoc/bitel/ ... mover.html |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |