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

субдоговора с зависимым балансом
http://forum.bitel.ru/viewtopic.php?f=22&t=4462
Страница 1 из 1

Автор:  skyb [ 24 авг 2010, 06:56 ]
Заголовок сообщения:  субдоговора с зависимым балансом

Есть супер договор, у него зависимый суб договор, поставили лимит на супердоговоре а суб договор непускают изза ошибки баланса....что делать?

Вложения:
7.png
7.png [ 6.45 КБ | Просмотров: 5119 ]
6.png
6.png [ 11.03 КБ | Просмотров: 5119 ]

Автор:  stark [ 24 авг 2010, 12:37 ]
Заголовок сообщения:  Re: субдоговора с зависимым балансом

какой лимит на субдоговоре?

Автор:  skyb [ 24 авг 2010, 12:46 ]
Заголовок сообщения:  Re: субдоговора с зависимым балансом

Небыло, сейчас поставил -1000 чтоб абонент работал, как я понял с документации там лимит берется с супердоговора

Автор:  stark [ 24 авг 2010, 13:08 ]
Заголовок сообщения:  Re: субдоговора с зависимым балансом

skyb писал(а):
Небыло, сейчас поставил -1000 чтоб абонент работал, как я понял с документации там лимит берется с супердоговора


там оба учитываются

Автор:  skyb [ 24 авг 2010, 13:11 ]
Заголовок сообщения:  Re: субдоговора с зависимым балансом

так на супердоговоре то был лимит хватающий для выхода в интернет, почему не работает то?

Автор:  skyb [ 25 авг 2010, 07:14 ]
Заголовок сообщения:  Re: субдоговора с зависимым балансом

Так что с этими договорами то не так? если учесть что лимит и от туда и от туда берется, то на супердоговоре то хватает лимита для выхода в интернет субдоговора. Почему не отработало тогда?

Автор:  Администратор [ 25 авг 2010, 10:15 ]
Заголовок сообщения:  Re: субдоговора с зависимым балансом

http://www.bgbilling.ru/v5.0/doc/ch01s20s02.html
Цитата:
При принятии решении о доступе пользователя к услуге по субдоговору используется остаток на едином балансе и лимит субдоговора.

Где тут про лимит супердоговора?

Автор:  skyb [ 25 авг 2010, 10:25 ]
Заголовок сообщения:  Re: субдоговора с зависимым балансом

stark писал(а):
skyb писал(а):
Небыло, сейчас поставил -1000 чтоб абонент работал, как я понял с документации там лимит берется с супердоговора


там оба учитываются

Вы уже определитесь :)))))) теперь ясно, просто я думал что баланс супердоговора включает его лимит...теперь ясно :) . А почему так сделали? а не сделали и лимит общий ?

Автор:  Администратор [ 25 авг 2010, 10:51 ]
Заголовок сообщения:  Re: субдоговора с зависимым балансом

Мы уже определились, логика в доке чётко описана. А чтобы гибчее..

Автор:  skyb [ 25 авг 2010, 10:58 ]
Заголовок сообщения:  Re: субдоговора с зависимым балансом

Понятно, спасибо за разъяснения

Автор:  skyb [ 14 сен 2010, 05:43 ]
Заголовок сообщения:  Re: субдоговора с зависимым балансом

Опять эти же договора. Поставили им лимиты у них опять ошибка баланса

Вложения:
28.png
28.png [ 4.22 КБ | Просмотров: 5045 ]
27.png
27.png [ 5.15 КБ | Просмотров: 5045 ]

Автор:  Cromeshnic [ 14 сен 2010, 06:15 ]
Заголовок сообщения:  Re: субдоговора с зависимым балансом

Всё правильно:
Администратор писал(а):
При принятии решении о доступе пользователя к услуге по субдоговору используется остаток на едином балансе и лимит субдоговора.


-6645.65<-1850.00 => не пускаем субдоговор.

Поэтому у нас на зависимых субдоговорах обычно ставят такой же лимит, как на супердоговоре.
Для удобства даже доп. действие сделал, чтобы при смене лимита на основном можно было разом выровнять лимит на паре десятков субдоговоров:
Код:
import bitel.billing.server.contract.bean.*;
import bitel.billing.server.admin.bean.*;
import java.util.*;
import bitel.billing.server.util.*;
import java.math.*;
import bitel.billing.server.script.bean.event.*;
import bitel.billing.server.admin.eventbus.BillingEventBus;
import bitel.billing.server.admin.eventbus.event.LimitChangedEvent;

cm = new ContractManager( con );

c = cm.getContractByID( event.getContractID() );

switch( event.getActionId() )
{
   case 2://Выравниваем лимит субдоговоров
      includeBGBS( "bgbs://ru.bitel.bgbilling.kernel.script.common.bean.ScriptLibrary/limit_manage" );
      List contracts = cm.getSubContracts(c.getID(),0);
      for(Contract sc : contracts){
         custom_limit_Fix(sc, c.getBalanceLimit(), con);
         print(sc.getID());
      }
      //Отчет:
      m=c.getTitle()+" = "+c.getBalanceLimit()+"<br/><br/>\n";
      List contracts = cm.getSubContracts(c.getID(),0);
      for(Contract sc : contracts){
         m+=sc.getTitle()+" = "+sc.getBalanceLimit()+"<br/>\n";
      }
      event.addReport( "<html>Выполнено:<br/><br/>\n"+m+"</html>" );
      print("done");
      break;
}


В limit_manage:
Код:
//выравниваем лимит на субдоговоре, добавляем недостающие задания на смену лимита
public void custom_limit_Fix(Contract subc, java.math.BigDecimal limit, java.sql.Connection con){
   if(!subc.isDependSub()){return;}
   LimitManager lm = new LimitManager(con);

   //удаляем все задания на возвращение лимита на субдоговоре
   List tasklist = lm.getContractMoveTasks(subc.getID());
   for(LimitChangeTask task : tasklist){
      try{
         lm.deleteMoveTask(task.getId());
      }catch(BaseException e){//Нельзя удалить лимит, заданный в личном кабинете например.
//         return;
      }
   }
   
   //Копируем задания на возвращение лимита с супердоговора
   List tasklist = lm.getContractMoveTasks(subc.getSuperId());
   for(LimitChangeTask task : tasklist){
      task.setContractId(subc.getID());
      lm.addMoveTask(task);
   }

   //Устанавливаем лимит для субдоговора
   lm.updateContractLimit(0,limit,subc.getID(),"как на супердоговоре","");
   BillingEventBus.publish(new LimitChangedEvent(subc.getID(), limit));

    bitel.billing.server.contract.bean.Payment fakePayment = new bitel.billing.server.contract.bean.Payment();
    fakePayment.setContractID(subc.getID());
    fakePayment.setPaymentTypeID(-1);
    fakePayment.setDate(new Date());
    fakePayment.setUserID(-1);
    bitel.billing.server.script.bean.event.EventProcessor.getProcessor().addEvent(new bitel.billing.server.script.bean.event.PaymentEvent(fakePayment));

   return;
}

Автор:  skyb [ 14 сен 2010, 06:18 ]
Заголовок сообщения:  Re: субдоговора с зависимым балансом

Администратор писал(а):
Цитата:
При принятии решении о доступе пользователя к услуге по субдоговору используется остаток на едином балансе и лимит субдоговора.

Где тут про лимит супердоговора?

Поэтому было и непонятно, в теории так и думал :) спасибо

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