forum.bitel.ru http://forum.bitel.ru/ |
|
Вычислиние наработки за следующий месяц. v5.0 http://forum.bitel.ru/viewtopic.php?f=16&t=4318 |
Страница 1 из 1 |
Автор: | ODV [ 21 июл 2010, 11:02 ] |
Заголовок сообщения: | Вычислиние наработки за следующий месяц. v5.0 |
Подскажите, как из скрипта поведения вычислить наработку за следующий месяц по всем тарифам привязанных к договору. Версия биллинга 5.0 |
Автор: | ODV [ 22 июл 2010, 13:47 ] |
Заголовок сообщения: | Re: Вычислиние наработки за следующий месяц. v5.0 |
разработчики, подскажите где можно найти описание класса bitel.billing.server.npay.Calculator и через какой метод можно задать период наботку можно вычислить из примера http://forum.bgbilling.ru/viewtopic.php?f=16&t=4076 |
Автор: | Администратор [ 22 июл 2010, 18:26 ] |
Заголовок сообщения: | Re: Вычислиние наработки за следующий месяц. v5.0 |
Период нельзя задать, можно только месяц указать. |
Автор: | ODV [ 22 июл 2010, 18:40 ] |
Заголовок сообщения: | Re: Вычислиние наработки за следующий месяц. v5.0 |
Администратор писал(а): Период нельзя задать, можно только месяц указать. понятно, спасибо не подскжите как сравнить полученое значение в переменой planAccount с переменой contract_balance из Цитата: balance = new BalanceUtils(con); contract_balance = balance.getBalance(date.getTime(), cid).floatValue(); пробывал Цитата: if (planAccount.floatValue() > contract_balance) { }; вылетает с ошибкой Цитата: EXCEPTIONS: Sourced file: Function [id:4; title:Test -Test] : Attempt to resolve method: floatValue() on undefined variable or class name: planAccount : at Line: 127 : in file: Function [id:4; title:Test -Test] : planAccount .floatValue ( ) java.util.concurrent.ExecutionException: Sourced file: Function [id:4; title:Test -Test] : Attempt to resolve method: floatValue() on undefined variable or class name: planAccount : at Line: 127 : in file: Function [id:4; title:Test -Test] : planAccount .floatValue ( ) at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:232) at java.util.concurrent.FutureTask.get(FutureTask.java:91) at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine.runScriptImpl(ScriptMachine.java:361) at bitel.billing.server.script.bean.ScriptMachine.runScript(ScriptMachine.java:128) at bitel.billing.server.script.bean.event.EventProcessor.processEvent(EventProcessor.java:239) at bitel.billing.server.script.bean.event.EventProcessor.processEvent(EventProcessor.java:182) at bitel.billing.server.script.bean.event.EventProcessor.run(EventProcessor.java:140) Caused by: Sourced file: Function [id:4; title:Test -Test] : Attempt to resolve method: floatValue() on undefined variable or class name: planAccount : at Line: 127 : in file: Function [id:4; title:Test -Test] : planAccount .floatValue ( ) at bsh.UtilEvalError.toEvalError(Unknown Source) at bsh.UtilEvalError.toEvalError(Unknown Source) at bsh.BSHMethodInvocation.eval(Unknown Source) at bsh.BSHPrimaryExpression.eval(Unknown Source) at bsh.BSHPrimaryExpression.eval(Unknown Source) at bsh.BSHBinaryExpression.eval(Unknown Source) at bsh.BSHIfStatement.evaluateCondition(Unknown Source) at bsh.BSHIfStatement.eval(Unknown Source) at bsh.BSHBlock.evalBlock(Unknown Source) at bsh.BSHBlock.eval(Unknown Source) at bsh.BSHBlock.eval(Unknown Source) at bsh.BSHIfStatement.eval(Unknown Source) at bsh.BSHBlock.evalBlock(Unknown Source) at bsh.BSHBlock.eval(Unknown Source) at bsh.BSHBlock.eval(Unknown Source) at bsh.BSHIfStatement.eval(Unknown Source) at bsh.Interpreter.eval(Unknown Source) at ru.bitel.bgbilling.kernel.script.server.bean.ScriptInstance.eval(ScriptInstance.java:310) at bitel.billing.server.script.bean.ScriptMachine$SimpleScriptRunner.runScript(ScriptMachine.java:69) at bitel.billing.server.script.bean.ScriptMachine.runScriptImpl(ScriptMachine.java:189) at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine.access$0(ScriptMachine.java:1) at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine$1.call(ScriptMachine.java:351) at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine$1.call(ScriptMachine.java:1) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) at java.lang.Thread.run(Thread.java:619) зарание спасибо |
Автор: | Администратор [ 22 июл 2010, 18:47 ] |
Заголовок сообщения: | Re: Вычислиние наработки за следующий месяц. v5.0 |
Код: Calculator calculator = new Calculator();
calculator.setExecutingTime( now ); calculator.setPreCalc(); calculator.initTask( Setup.getSetup(), 0, "mid=" + mid ); calculator.setCids( cids ); calculator.startTask(); BigDecimal planAccount = BigDecimal.ZERO; if ( !calculator.isCalcErrors() ) { Map planAccountMap = calculator.getCostCache().getContractAccounts(); for( Integer contractId : Utils.toIntegerList( cids ) ) { BigDecimal contractPlanAccount = Utils.maskNull( planAccountMap.get( contractId ) ); planAccount = planAccount.add( contractPlanAccount ); if( log.isDebugEnabled() ) { log.debug( "Plan account cid: " + contractId + "; planAccount: " + contractPlanAccount ); } } } |
Автор: | ODV [ 22 июл 2010, 19:00 ] |
Заголовок сообщения: | Re: Вычислиние наработки за следующий месяц. v5.0 |
как сравнит переменные contractPlanAccount и contract_balance из Цитата: balance = new BalanceUtils(con); contract_balance = balance.getBalance(date.getTime(), cid).floatValue(); между собой |
Автор: | Cromeshnic [ 22 июл 2010, 21:11 ] |
Заголовок сообщения: | Re: Вычислиние наработки за следующий месяц. v5.0 |
contractPlanAccount и contract_balance - это BigDecimal Сравнить можно либо так, либо взять от обоих floatValue() и сравнить. |
Автор: | ODV [ 23 июл 2010, 13:59 ] |
Заголовок сообщения: | Re: Вычислиние наработки за следующий месяц. v5.0 |
спасибо, всем, работает. |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |