forum.bitel.ru http://forum.bitel.ru/ |
|
При добавлении RSCM услуги скриптом не меняется баланс http://forum.bitel.ru/viewtopic.php?f=19&t=9354 |
Страница 1 из 1 |
Автор: | skyb [ 19 июн 2014, 07:59 ] |
Заголовок сообщения: | При добавлении RSCM услуги скриптом не меняется баланс |
Услуга добавляется, все нормально, но баланс не меняется, если отредактировать руками, то баланс меняется. Что я не доделал? Код: package ru.skyb.scripts.global;
import java.math.BigDecimal; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.Calendar; import java.util.Date; import bitel.billing.server.contract.bean.BalanceUtils; import ru.bitel.bgbilling.kernel.event.EventProcessor; import ru.bitel.bgbilling.kernel.script.server.dev.GlobalScriptBase; import ru.bitel.bgbilling.server.util.Setup; import ru.bitel.common.sql.ConnectionSet; import bitel.billing.server.rscm.bean.ContractService; import bitel.billing.server.rscm.bean.ContractServiceManager; import ru.bitel.bgbilling.modules.rscm.server.event.RSCMContractServiceUpdateEvent; public class Discount extends GlobalScriptBase { @Override public void execute( Setup setup1, ConnectionSet connectionSet2 ) throws Exception { Connection con = connectionSet2.getConnection(); BalanceUtils bu = new BalanceUtils (con); int mid = 7; ContractServiceManager csm = new ContractServiceManager (con, mid); ContractService cs = new ContractService(); EventProcessor eventProc = EventProcessor.getInstance(); Calendar c = Calendar.getInstance(); String query = " SELECT id FROM contract WHERE gr&(1<<9)>0" ; PreparedStatement ps = con.prepareStatement(query); ResultSet rs = ps.executeQuery(); while (rs.next()) { int cid = rs.getInt(1); BigDecimal sum = bu.getBalance(new Date(), cid); cs.setContractId(cid); cs.setComment("комент "); cs.setAmount(1); cs.setDate(c); cs.setServiceId(34); cs.setUnit("сумма"); cs.setService("Скидка"); csm.updateContractService(cs); eventProc.publishAfterCommit(new RSCMContractServiceUpdateEvent(0, mid, cid, cs)); //eventProc.publishAfterCommit(new); print("Баланс " + sum ); } } } |
Автор: | Artur [ 19 июн 2014, 11:24 ] |
Заголовок сообщения: | Re: При добавлении RSCM услуги скриптом не меняется баланс |
В цикле while добавьте Код: bu.updateBalance( new Date(), cid );
|
Автор: | skyb [ 19 июн 2014, 11:33 ] |
Заголовок сообщения: | Re: При добавлении RSCM услуги скриптом не меняется баланс |
Artur писал(а): В цикле while добавьте Код: bu.updateBalance( new Date(), cid ); не помогло ![]() что ещё заметил, услуга добавлена, все нормально, но не удаляется, если ее открыть для редактирования и потом сохранить, то и баланс меняется и услуга удаляется |
Автор: | stark [ 19 июн 2014, 12:49 ] |
Заголовок сообщения: | Re: При добавлении RSCM услуги скриптом не меняется баланс |
У нас там костылненнько сделано, начисление происходит в самом Action, который добавляет RSCM. В вашем случае проще запустить задачу rscm калькулятора из скрипта. |
Автор: | skyb [ 19 июн 2014, 13:03 ] |
Заголовок сообщения: | Re: При добавлении RSCM услуги скриптом не меняется баланс |
stark писал(а): У нас там костылненнько сделано, начисление происходит в самом Action, который добавляет RSCM. В вашем случае проще запустить задачу rscm калькулятора из скрипта. а можно как то так Boris писал(а): можно написать скрипт где sqlем выбрать нужные документы и вызвать отправку Код: new RunTaskDataManager( con ).addTask( new BillDocsSenderForAll( mid, billCodes, invoiceCodes, 0 ) ); а то я описания как запускать таски не найду, оно вообще есть? |
Автор: | skyb [ 19 июн 2014, 17:01 ] |
Заголовок сообщения: | Re: При добавлении RSCM услуги скриптом не меняется баланс |
остался последний штрих =), что написать то? =) |
Автор: | skyb [ 20 июн 2014, 06:18 ] |
Заголовок сообщения: | Re: При добавлении RSCM услуги скриптом не меняется баланс |
stark подсказал, за что спасибо Код: new RunTaskDataManager( con ).addTask( new RSCMRecalculator( mid, c, null, String.valueOf(cid) ) ); собственно все работает |
Автор: | krtvand [ 10 апр 2015, 18:49 ] |
Заголовок сообщения: | Re: При добавлении RSCM услуги скриптом не меняется баланс |
Имеется аналогичная проблема. Услуга добавляется, но не меняется баланс. Решить проблему с помощью rscm калькулятора не получается, т.к. не нашел данный класс в документации API к биллингу версии 6.2. Код: package ru.myscripts; import java.math.BigDecimal; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.Calendar; import java.util.Date; import bitel.billing.server.contract.bean.BalanceUtils; import ru.bitel.bgbilling.kernel.event.EventProcessor; import ru.bitel.bgbilling.server.util.Setup; import ru.bitel.common.sql.ConnectionSet; import ru.bitel.bgbilling.kernel.event.Event; import ru.bitel.bgbilling.kernel.script.server.dev.EventScriptBase; import ru.bitel.bgbilling.modules.rscm.server.bean.ContractService; import ru.bitel.bgbilling.modules.rscm.server.bean.ContractServiceManager; import bitel.billing.server.task.bean.RunTaskDataManager; public class test3 extends EventScriptBase { @Override public void onEvent( Event event1, Setup setup2, ConnectionSet connectionSet3 ) throws Exception { Connection con = connectionSet3.getConnection(); BalanceUtils bu = new BalanceUtils (con); EventProcessor eventProc = EventProcessor.getInstance(); Calendar c = Calendar.getInstance(); int mid = 11; int RSCMServiceID = 26; // ID услуги обещанного платежа int cid = 1094; ContractServiceManager csm = new ContractServiceManager(con, mid); ContractService cs = new ContractService(); cs.setContractId(cid); cs.setComment("комент "); cs.setAmount(1); cs.setServiceId(RSCMServiceID); //cs.setUnit("шт"); cs.setDate(c); //cs.setService("Обещанный платеж"); csm.updateContractService(cs); // new RunTaskDataManager( con ).addTask( new RSCMRecalculator( mid, c, null, String.valueOf(cid) ) ); //eventProc.publishAfterCommit(new RSCMContractServiceUpdateEvent(1, mid, cid, cs)); //eventProc.publishAfterCommit(new); } } Код: Информация о версии:
Клиент: вер. 6.2.702 / 09.04.2015 18:59:48 os: Windows 8.1; java: Java HotSpot(TM) Client VM, v.1.8.0_40 Сервер: вер. 6.2.865 / 09.04.2015 19:00:00 os: Linux; java: Java HotSpot(TM) Server VM, v.1.8.0_40 card: вер. 6.2.13 / 31.03.2015 17:29:07 cerbercrypt: вер. 6.2.176 / 31.03.2015 17:29:07 dialup: вер. 6.2.298 / 31.03.2015 17:29:46 inet: вер. 6.2.496 / 07.04.2015 18:45:17 ipn: вер. 6.2.210 / 31.03.2015 17:29:53 npay: вер. 6.2.161 / 31.03.2015 17:29:54 reports: вер. 6.2.171 / 31.03.2015 17:30:05 rscm: вер. 6.2.157 / 07.04.2015 15:43:57 ru.bitel.bgbilling.plugins.documents: вер. 6.2.142 / 08.04.2015 14:53:37 |
Автор: | skn [ 10 апр 2015, 19:16 ] |
Заголовок сообщения: | Re: При добавлении RSCM услуги скриптом не меняется баланс |
Код: ru.bitel.bgbilling.modules.rscm.server.RSCMRecalculator
|
Автор: | skyb [ 10 апр 2015, 20:02 ] |
Заголовок сообщения: | Re: При добавлении RSCM услуги скриптом не меняется баланс |
eclipse |
Автор: | Phricker [ 10 апр 2015, 20:25 ] |
Заголовок сообщения: | Re: При добавлении RSCM услуги скриптом не меняется баланс |
jd gui |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |