BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 22 июн 2025, 20:09

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: Приостановление договоров
СообщениеДобавлено: 28 апр 2010, 14:46 
Всем добрый день.

Пытаюсь написать скрипт приостановки договоров по достижению баланса равного 0. За основу взял готовый скрипт http://wiki.bgbilling.ru/index.php/Скрипт_проверки_баланса_и_отключения_договора.

Но в нём не хватает одной проверки в моём случаи - проверки на временное понижение лимита.

Цитата:
....
BigDecimal limit = contract.getBalanceLimit();
print("лимит: "+limit);
// может, надо поставить новый лимит?
limit = limit.min(LIMITVALUE);
print("значение по которому проверяем: "+limit);

// соравниваем с лимитом
if( contract_balance.compareTo( limit ) >= 0 )
{
print("баланс хороший");
}
else
{
print("баланс плохой");

// суспендим договор
ContractStatus status = new ContractStatus();
status.setContractId( cid );
status.setDate1( DateNow );
status.setDate2( null );
status.setStatus( KernelConst.CONTRACT_STATUS_SUSPENDED );
status.setComment( "Недостаточно средств" );
contract_status_manager.changeStatus( status, 0 );
....


Я бы хотле ввести дополнительное условие на проверку временного монижения лимита рядом с сравнением лимита. Но что-то ума не приложу как получить данне о временном понижении... А точнее как увязать это с датами...

Т.е. у человека баланс стал равен "0" 20 апреля 2010 года. Этот клиент через Web понизил себе лимит временно до -250 рублей на 3 дня. Т.е. он если не внесёт на счёт денег до 24 апреля, то будет отключен.

Скрипт выполняется скажем 21 числа и получает, что у клиента баланс меньше "0", и переводит клиента в статус приостановлен.

Так вот как ввести проверку этого в скрипт, чтобы он не отключил клиента до 24 апреля?

Может кто-то уже делал такое и может подсказать?


Вернуться к началу
  
 
 Заголовок сообщения: Re: Приостановление договоров
СообщениеДобавлено: 05 май 2010, 10:13 
Никто не сталкивался с таким вопросом? А? :(


Вернуться к началу
  
 
 Заголовок сообщения: Re: Приостановление договоров
СообщениеДобавлено: 05 май 2010, 11:31 
Не в сети
Клиент

Зарегистрирован: 22 апр 2009, 13:59
Сообщения: 58
Откуда: Мурманск
Карма: 0
Видимо, надо смотреть в сторону класса LimitManager.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Приостановление договоров
СообщениеДобавлено: 05 май 2010, 12:36 
SafeAndSound писал(а):
Видимо, надо смотреть в сторону класса LimitManager.

Куда смотреть то я понял, я просто не могу сообразить как сделать именно проверку по дням...


Вернуться к началу
  
 
 Заголовок сообщения: Re: Приостановление договоров
СообщениеДобавлено: 05 май 2010, 12:53 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
может что-то в духе этого?
Код:
limitChangeTask = new LimitManager(con).getFullTaskList();

if (!limitChangeTask.isEmpty()) {
    limitChangeTaskDate = limitChangeTask.getDate();
}

<сравнить 2 даты>;

писано на коленке!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Приостановление договоров
СообщениеДобавлено: 05 май 2010, 13:59 
snark писал(а):
может что-то в духе этого?
Код:
limitChangeTask = new LimitManager(con).getFullTaskList();

if (!limitChangeTask.isEmpty()) {
    limitChangeTaskDate = limitChangeTask.getDate();
}

<сравнить 2 даты>;

писано на коленке!

спасибо. попробую


Вернуться к началу
  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
POWERED_BY
Русская поддержка phpBB
[ Time : 0.035s | 20 Queries | GZIP : On ]