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

Добавление услуги в модуль Rscm
http://forum.bitel.ru/viewtopic.php?f=19&t=11752
Страница 1 из 1

Автор:  Antonavt [ 01 июл 2016, 12:15 ]
Заголовок сообщения:  Добавление услуги в модуль Rscm

Здравствуйте!
Обновились с версии 6.0 до 7.0.

В версии 6.0 добавляли услугу в модуле rscm с помощью дин кода:
Код:
ContractServiceManager csm1 = new ContractServiceManager(getConnection(), 6);
      ContractService cs = new ContractService();
      cs.setId(-1);
      cs.setContractId(contr.getId());
      cs.setServiceId(1);
      cs.setAmount((long)debt);
      cs.setDate(Calendar.getInstance());
      cs.setUnit("");
      cs.setService("");
      cs.setComment(job_name);
      csm1.updateContractService(cs);
            
      new RunTaskDataManager(getConnection()).addTask( new RSCMRecalculator(6, Calendar.getInstance(), "", "" + contr.getId()));
      EventProcessor.getInstance().publishAfterCommit( new RSCMContractServiceUpdateEvent( uid, 6, contr.getId(), cs ) );

Код нормально работал.
После обновления на 7.0 текущий код сломался(API изменилось). Переписал код на:
Код:
RSCMContractServiceManager csm1 = new RSCMContractServiceManager(connectionSet2.getConnection(), 6);
      RSCMContractService cs = new RSCMContractService();
      cs.setId(-1);
      cs.setContractId(1303);
      cs.setServiceId(1);
      cs.setAmount((long)990000000.0);
      cs.setDate(new Date());
      cs.setUnit("");
      //cs.setService("");
      cs.setServiceId(1);
      cs.setServiceTitle("");
      cs.setComment("test");
      csm1.updateContractService(cs);
            
      new RunTaskDataManager(connectionSet2.getConnection()).addTask( new ru.bitel.bgbilling.modules.rscm.server.RSCMRecalculator(6, Calendar.getInstance(), "", "" + 1303));
      EventProcessor.getInstance().publishAfterCommit( new RSCMContractServiceUpdateEvent( 12, 6, 1303, cs ) );

Услуга добавляется. Но баланс у договора не пересчитывается. То есть с договора не списываются деньги за услугу.
Подскажите что теперь нужно использовать для корректного списания?

Не по теме. Из документации при обновлении необходимо запустить скрипт для копирования данных из нескольких таблиц в одну в модуле rscm.
Цитата:
Если используете модуль RSCM необходимо конвертировать таблицы, для этого скопируйте текст скрипта в файл и запустите его(работает в unix-подобных системах).

И приведен баш скрипт. Данный скрипт работает только если добавлен один модуль RSCM. Если их 2 то скрипт не работает. Для себя данную проблему решил.

Автор:  Antonavt [ 01 июл 2016, 12:33 ]
Заголовок сообщения:  Re: Добавление услуги в модуль Rscm

Увидел что в планировщике задач куча тяжелых задач на начисление наработки в очереди.

Автор:  Antonavt [ 01 июл 2016, 12:48 ]
Заголовок сообщения:  Re: Добавление услуги в модуль Rscm

Проблема решилась перезагрузкой bgscheduler.

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