forum.bitel.ru http://forum.bitel.ru/ |
|
Изменение группы и модулей договора при изменении тарифа http://forum.bitel.ru/viewtopic.php?f=22&t=10782 |
Страница 1 из 1 |
Автор: | Nyan [ 11 авг 2015, 20:02 ] |
Заголовок сообщения: | Изменение группы и модулей договора при изменении тарифа |
Добрый день. При изменении тарифного плана необходимо назначать клиенту модули, все те, которые есть в дереве тарифа, на который происходит переход. Автоматически это происходит только при создании договора из шаблона. При переходе приходится добавлять модули вручную. Это неудобно, хотелось бы автоматизировать. Нашел скрипт в Wiki: http://wiki.bitel.ru/index.php/%D0%A1%D ... 0%BC%D0%B8, однако он для версии 6.0. Вопрос в том, будет ли он работать на 6.1, и если нет, то что необходимо допилить? Тот же вопрос с группой договора. В редакторе тарифа есть поле для указания групп договора, хотелось бы, чтобы при изменении тарифа менялась также и группа, в соответствии с указанными в редакторе тарифа. В голову приходит костыль, который запускался бы по крону и обновлял группы в соответствии с тарифами. Но это, по понятным причинам, не самое хорошее решение. Возможно, имеется готовое решение для версии 6.1 на базе скриптов поведения, или на уровне настроек? С Java не очень, поэтому возникают подобные проблемы. И еще один вопрос. Возможно, существуют решения, позволяющие вызывать скрипт на другом языке программирования при срабатывании какого-либо события с передачей ему параметров? Заранее спасибо за помощь! |
Автор: | zavndw [ 11 авг 2015, 20:12 ] |
Заголовок сообщения: | Re: Изменение группы и модулей договора при изменении тарифа |
может сразу все необходимы модули добавить? Самое логичное решение и без костылей |
Автор: | Nyan [ 11 авг 2015, 20:33 ] |
Заголовок сообщения: | Re: Изменение группы и модулей договора при изменении тарифа |
zavndw писал(а): может сразу все необходимы модули добавить? Самое логичное решение и без костылей Согласен, что так будет гораздо проще. Конфликтов между модулями не возникнет? Будет несколько экземпляров NPay. Всех добавлять датой создания договора, или вообще без даты можно? |
Автор: | skyb [ 12 авг 2015, 08:39 ] |
Заголовок сообщения: | Re: Изменение группы и модулей договора при изменении тарифа |
Nyan писал(а): zavndw писал(а): может сразу все необходимы модули добавить? Самое логичное решение и без костылей Согласен, что так будет гораздо проще. Конфликтов между модулями не возникнет? Будет несколько экземпляров NPay. Всех добавлять датой создания договора, или вообще без даты можно? А зачем несколько экземпляров? дата установки услуги модуля должна равняться дате тарифа в котором он есть, чтоб не было ошибок а у самих модулей нет дат же |
Автор: | Nyan [ 12 авг 2015, 13:30 ] |
Заголовок сообщения: | Re: Изменение группы и модулей договора при изменении тарифа |
skyb писал(а): А зачем несколько экземпляров? Они по-разному сконфигурированы, некоторые абонплаты должны начисляться только при положительном балансе, часть -- при любом балансе. Распределение идет по статусу, отрицательный баланс влечет изменение статуса на "отключен". Параметр contract.status.suspend.codes, как я понял, задается на весь модуль целиком, на услугу его повесить нельзя. skyb писал(а): дата установки услуги модуля должна равняться дате тарифа в котором он есть, чтоб не было ошибок а у самих модулей нет дат же Да, безусловно так, запутался в терминологии, прошу прощения. В первом моем сообщении вместо "модуль" должно быть "услуга". Значит, проблема актуальна. Решаемо? |
Автор: | Phricker [ 12 авг 2015, 13:40 ] |
Заголовок сообщения: | Re: Изменение группы и модулей договора при изменении тарифа |
Я так понял что service.no.suspend уже не феншуй. Будем лепить модули по количеству статаусов ![]() |
Автор: | Nyan [ 12 авг 2015, 13:58 ] |
Заголовок сообщения: | Re: Изменение группы и модулей договора при изменении тарифа |
Phricker писал(а): Спасибо! В 6.2 появилось? Страшно обновляться на живом биллинге, но похоже, придется, много заманчивых фишек появилось ![]() По второму и третьему вопросу есть какие-нибудь мысли? |
Автор: | Phricker [ 12 авг 2015, 14:05 ] |
Заголовок сообщения: | Re: Изменение группы и модулей договора при изменении тарифа |
Я в 5.2 по-моему еще пользовался service.no.suspend ![]() В редакторе тарифа группы указывают на то, какие договора будут показываться если при установке тарифа стоит галочка "Фильтр по группе договоров". |
Автор: | Nyan [ 12 авг 2015, 14:27 ] |
Заголовок сообщения: | Re: Изменение группы и модулей договора при изменении тарифа |
Phricker писал(а): Я в 5.2 по-моему еще пользовался service.no.suspend ![]() В редакторе тарифа группы указывают на то, какие договора будут показываться если при установке тарифа стоит галочка "Фильтр по группе договоров". Спасибо, попробуем. И все-таки, менять группы при смене тарифа штатными средствами возможно? Не хочется костылей лепить. |
Автор: | Phricker [ 12 авг 2015, 14:27 ] |
Заголовок сообщения: | Re: Изменение группы и модулей договора при изменении тарифа |
Скрипты вполне штатный метод ![]() Код: package ru.ellcom.contract;
import bitel.billing.server.contract.bean.Contract; import bitel.billing.server.contract.bean.ContractManager; import bitel.billing.server.contract.bean.ContractTariff; import ru.bitel.bgbilling.kernel.event.events.ContractTariffUpdateEvent; import ru.bitel.bgbilling.kernel.script.server.dev.EventScriptBase; import ru.bitel.bgbilling.kernel.tariff.server.bean.TariffPlanManager; import ru.bitel.bgbilling.server.util.Setup; import ru.bitel.common.sql.ConnectionSet; import java.sql.Connection; public class ChangeContractGroupWhenTariffChange extends EventScriptBase<ContractTariffUpdateEvent> { @Override public void onEvent(ContractTariffUpdateEvent event, Setup setup, ConnectionSet connectionSet) throws Exception { Connection con = connectionSet.getConnection(); TariffPlanManager tpm = new TariffPlanManager(con); ContractManager cm = new ContractManager(con); int cid = event.getContractId(); Contract contract = cm.getContractById(cid); long tarGroups = tpm.getTariffPlan(event.getContractTariff().getTariffPlanId()).getFilterGroups() contract.setGroups(tarGroups); cm.updateContract(contract); } } |
Автор: | stark [ 12 авг 2015, 18:18 ] |
Заголовок сообщения: | Re: Изменение группы и модулей договора при изменении тарифа |
Nyan писал(а): И еще один вопрос. Возможно, существуют решения, позволяющие вызывать скрипт на другом языке программирования при срабатывании какого-либо события с передачей ему параметров? Заранее спасибо за помощь! Да , есть. http://wiki.bitel.ru/index.php/%D0%9F%D ... 0%B7%D0%B0 Код: Process process = Runtime.getRuntime().exec( arguments );
|
Автор: | Nyan [ 12 авг 2015, 18:18 ] |
Заголовок сообщения: | Re: Изменение группы и модулей договора при изменении тарифа |
Спасибо за скрипт! По поводу услуги и service.no.suspend. Например, у нас есть два тарифа: Тариф 1 и Тариф 2. Тариф 1 должен начислять абонентскую плату, 100 рублей в месяц только при положительном балансе. Тариф 2 должен начислять ту же абонентскую плату 100 рублей в месяц при положительном балансе, помимо чего он должен вне зависимости от баланса начислять 50 рублей в месяц. Как сделано сейчас: заведено 2 модуля, в каждом по одной услуге. Разница в конфигурации модуля, параметр contract.status.suspend.codes. Как предлагается сделать: завести один модуль, в нем две услуги, разводить параметром service.no.suspend. НО: при переходе с Тарифа 1 на Тариф 2 нужно будет назначать дополнительно вторую услугу, которая добавит фиксированный платеж и делать это датой перехода на тариф, иначе, как заметил skyb, могут быть проблемы. И все-таки, как сделать правильно? |
Автор: | lexusrid [ 13 авг 2015, 13:28 ] |
Заголовок сообщения: | Re: Изменение группы и модулей договора при изменении тарифа |
Nyan писал(а): Спасибо за скрипт! По поводу услуги и service.no.suspend. Например, у нас есть два тарифа: Тариф 1 и Тариф 2. Тариф 1 должен начислять абонентскую плату, 100 рублей в месяц только при положительном балансе. Тариф 2 должен начислять ту же абонентскую плату 100 рублей в месяц при положительном балансе, помимо чего он должен вне зависимости от баланса начислять 50 рублей в месяц. Как сделано сейчас: заведено 2 модуля, в каждом по одной услуге. Разница в конфигурации модуля, параметр contract.status.suspend.codes. Как предлагается сделать: завести один модуль, в нем две услуги, разводить параметром service.no.suspend. НО: при переходе с Тарифа 1 на Тариф 2 нужно будет назначать дополнительно вторую услугу, которая добавит фиксированный платеж и делать это датой перехода на тариф, иначе, как заметил skyb, могут быть проблемы. И все-таки, как сделать правильно? Присоединяюсь к вопросу, та же проблема |
Автор: | stark [ 13 авг 2015, 13:51 ] |
Заголовок сообщения: | Re: Изменение группы и модулей договора при изменении тарифа |
Nyan писал(а): Спасибо за скрипт! По поводу услуги и service.no.suspend. Например, у нас есть два тарифа: Тариф 1 и Тариф 2. Тариф 1 должен начислять абонентскую плату, 100 рублей в месяц только при положительном балансе. Тариф 2 должен начислять ту же абонентскую плату 100 рублей в месяц при положительном балансе, помимо чего он должен вне зависимости от баланса начислять 50 рублей в месяц. Как сделано сейчас: заведено 2 модуля, в каждом по одной услуге. Разница в конфигурации модуля, параметр contract.status.suspend.codes. Как предлагается сделать: завести один модуль, в нем две услуги, разводить параметром service.no.suspend. НО: при переходе с Тарифа 1 на Тариф 2 нужно будет назначать дополнительно вторую услугу, которая добавит фиксированный платеж и делать это датой перехода на тариф, иначе, как заметил skyb, могут быть проблемы. И все-таки, как сделать правильно? Да, можно так.. делать 2 экземпляра модуля - не нужно это. Можно сриптами на смену тарифа услугу вторую добавлять. |
Автор: | skyb [ 13 авг 2015, 20:23 ] |
Заголовок сообщения: | Re: Изменение группы и модулей договора при изменении тарифа |
http://wiki.bitel.ru/index.php/%D0%93%D ... 0%BE%D0%BC разные услуги и погнали |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |