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/