forum.bitel.ru http://forum.bitel.ru/ |
|
Массово установить опцию на все договора http://forum.bitel.ru/viewtopic.php?f=22&t=12034 |
Страница 1 из 1 |
Автор: | Inspire [ 24 окт 2016, 17:48 ] |
Заголовок сообщения: | Массово установить опцию на все договора |
Можно ли установить опцию на все интернет-договора разом? МОжет, в бд в таблице можно id Опции прописать? Узнать бы имя этой таблицы |
Автор: | Inspire [ 24 окт 2016, 17:55 ] |
Заголовок сообщения: | Re: Массово установить опцию на все договора |
Код: Информация о версии:
Клиент: вер. 7.0.834 / 09.09.2016 13:06:09 os: Windows 8.1; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_51 Сервер: вер. 7.0.1103 / 09.09.2016 13:07:53 os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_66 bill: вер. 7.0.92 / 23.08.2016 18:37:34 card: вер. 7.0.40 / 22.08.2016 16:40:03 cerbercrypt: вер. 7.0.219 / 22.08.2016 15:40:08 dialup: вер. 7.0.319 / 29.08.2016 16:38:40 email: вер. 7.0.180 / 25.05.2016 13:53:19 inet: вер. 7.0.677 / 06.09.2016 19:06:54 ipn: вер. 7.0.258 / 01.09.2016 18:14:39 mps: вер. 7.0.198 / 09.09.2016 13:08:12 npay: вер. 7.0.198 / 19.07.2016 18:37:21 phone: вер. 7.0.275 / 01.09.2016 18:04:07 rentsoft: вер. 7.0.65 / 10.06.2016 17:00:01 reports: вер. 7.0.215 / 06.09.2016 17:39:00 rscm: вер. 7.0.180 / 10.06.2016 17:00:08 ru.bitel.bgbilling.plugins.cladr: вер. 7.0.123 / 08.04.2016 17:40:39 ru.bitel.bgbilling.plugins.crm: вер. 7.0.194 / 31.05.2016 15:00:38 ru.bitel.bgbilling.plugins.helpdesk: вер. 7.0.190 / 29.08.2016 16:32:16 ru.bitel.bgbilling.plugins.organizer: вер. 7.0.74 / 08.04.2016 17:40:44 voiceip: вер. 7.0.189 / 08.04.2016 17:40:15 Окружение: Клиент: os: Windows 8.1 amd64, 6.3 java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_51 jre home: c:\Java\jre8 default tz: 24.10.2016 15:55 SAMT +0400 (Europe/Samara) user tz: 24.10.2016 15:55 GET +0400 (Asia/Tbilisi) locale: ru_RU Сервер: os: Linux amd64, 3.19.0-33-generic java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_66 jre home: /opt/java/jdk1.8.0_66/jre default tz: 24.10.2016 15:55 SAMT +0400 (Europe/Samara) db time: master: 24.10.2016 15:55 SAMT db charset: connection: utf8(utf8_general_ci), database: utf8(utf8_unicode_ci) locale: ru_RU uptime: Started: 24.10.2016 13:31:02 Uptime: 0 d 02:24:16 Третьи стороны: Fugue Icons. Copyright © 2011 Yusuke Kamiyamane. All rights reserved. http://p.yusukekamiyamane.com/ Silk icon set. Copyright © Mark James. All rights reserved. http://www.famfamfam.com/lab/icons/silk/ |
Автор: | Arcad77 [ 24 окт 2016, 18:09 ] |
Заголовок сообщения: | Re: Массово установить опцию на все договора |
Попробуй так: Малая автоматизация |
Автор: | Phricker [ 24 окт 2016, 18:40 ] |
Заголовок сообщения: | Re: Массово установить опцию на все договора |
Код: package ru.ellcom.test;
import ru.bitel.bgbilling.kernel.container.managed.ServerContext; import ru.bitel.bgbilling.kernel.script.server.dev.GlobalScriptBase; import ru.bitel.bgbilling.kernel.tariff.option.common.service.TariffOptionService; import ru.bitel.bgbilling.server.util.Setup; import ru.bitel.common.sql.ConnectionSet; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; public class AddTariffOption extends GlobalScriptBase { private final int OPTION_ID = 7; private final int OPT_MODE_ID = 7; @Override public void execute(Setup setup, ConnectionSet connectionSet) throws Exception { Connection con = connectionSet.getConnection(); ServerContext context = ServerContext.get(); TariffOptionService toa = context.getService(TariffOptionService.class, 1); String query = "SELECT id FROM contract "; PreparedStatement ps = con.prepareStatement(query); ResultSet rs = ps.executeQuery(); while (rs.next()){ int cid = rs.getInt("id"); try { toa.contractTariffOptionActivate(cid, OPTION_ID, OPT_MODE_ID, false); } catch (Exception e) { error("Невозможно активировать опцию на договоре: " + cid); } } rs.close(); ps.close(); } } |
Автор: | barguzin2 [ 24 окт 2016, 19:09 ] |
Заголовок сообщения: | Re: Массово установить опцию на все договора |
таблица называется inet_serv_option_{mid}. только после прямого добавления нужно будет ребут серверов делать. через дин.код и InetServService как-то правильней будет. А если устраивает вариант с БД, то: Код: INSERT INTO inet_serv_option_{mid} (servId, optionId, dateFrom, dateTo) SELECT id, {optionId}, dateFrom, dateTo FROM inet_serv_{mid} {mid} и {optionId} заменить на свои код модуля и код опции. |
Автор: | barguzin2 [ 24 окт 2016, 19:11 ] |
Заголовок сообщения: | Re: Массово установить опцию на все договора |
Ну вот, оказывается есть разные опции - тарифные и сервисов Inet. вам какую? ![]() |
Автор: | zavndw [ 24 окт 2016, 19:25 ] |
Заголовок сообщения: | Re: Массово установить опцию на все договора |
сервисов inet |
Автор: | barguzin2 [ 24 окт 2016, 19:46 ] |
Заголовок сообщения: | Re: Массово установить опцию на все договора |
тогда пожалуйста, sql-запрос выше. через дин-код если, то алгоритм схож с вышеприведенным примером Phricker-а, только запросом дергать нужно не договоры, а сервисы и , как уже сказал, использовать InetServService, предварительно дернув список опций сервиса и добавив к нему нужную, а потом сделать update. |
Автор: | Phricker [ 24 окт 2016, 19:56 ] |
Заголовок сообщения: | Re: Массово установить опцию на все договора |
Сервисов Inet в ядре системы. Океееей... ![]() |
Автор: | Amir [ 31 окт 2016, 20:45 ] |
Заголовок сообщения: | Re: Массово установить опцию на все договора |
Можно же через тариф добавлять опции Inet. А в тарифе есть фильтр по группам договоров. |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |