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

Изменение статуса договора при окончании периода действия
http://forum.bitel.ru/viewtopic.php?f=22&t=6030
Страница 1 из 1

Автор:  ioann [ 25 окт 2011, 09:32 ]
Заголовок сообщения:  Изменение статуса договора при окончании периода действия

Добрый день!

Прошу пояснить - должен ли изменяться статус договора на закрыт при окончании периода его действия?
В доке об этом молчок, упоминается только закрытие периодов действия всех услуг - по логике и договор тогда должен сменить статус на закрыт и шлюзы должны закрыться?

Автор:  skyb [ 25 окт 2011, 10:21 ]
Заголовок сообщения:  Re: Изменение статуса договора при окончании периода действи

нет, а зачем?

Автор:  ioann [ 25 окт 2011, 10:38 ]
Заголовок сообщения:  Re: Изменение статуса договора при окончании периода действи

Заключил абонент договор на определённый период, по окончании он будет автоматически отключен.

Автор:  skyb [ 25 окт 2011, 10:50 ]
Заголовок сообщения:  Re: Изменение статуса договора при окончании периода действи

а период чем не подходит?

Автор:  ioann [ 25 окт 2011, 12:00 ]
Заголовок сообщения:  Re: Изменение статуса договора при окончании периода действи

Есть договор, указан период, при его окончании статус договора остается "активен", шлюз остается "открыт", соответственно услуги продолжают оказываться.
А Вы о каком периоде?

Автор:  skyb [ 25 окт 2011, 13:07 ]
Заголовок сообщения:  Re: Изменение статуса договора при окончании периода действи

Справа даты период. Ну вообще это можно и как баг расценить, потому как модуль должен закрываться и уже не работать. А по факту можно написать скрипт.

Автор:  ioann [ 25 окт 2011, 13:19 ]
Заголовок сообщения:  Re: Изменение статуса договора при окончании периода действи

Скрипты наше все, но хочется штатно...
А что скажут разработчики?

Автор:  snark [ 26 окт 2011, 00:27 ]
Заголовок сообщения:  Re: Изменение статуса договора при окончании периода действи

ioann писал(а):
Заключил абонент договор на определённый период, по окончании он будет автоматически отключен.

Создаем договор и указываем период дейсвия С даты ПО дату - даты всех услуг должны проставится автоматически в соответствии с датами договора.

Автор:  ioann [ 26 окт 2011, 06:50 ]
Заголовок сообщения:  Re: Изменение статуса договора при окончании периода действи

Так и делаем, создаем договор, указываем период, даты услуг при этом автоматически проставляются, НО при окончании периода статус договора не изменяется, соответственно не закрывается шлюз, соответственно услуги продолжают оказываться.
Возможно и наверняка даты услуг имеют значение для других сервисов, работающих например с авторизацией через radius, я этого не проверял. В случае же c IPN ему образно говоря начихать на даты услуг.

Автор:  Cromeshnic [ 26 окт 2011, 06:56 ]
Заголовок сообщения:  Re: Изменение статуса договора при окончании периода действи

У нас тоже теоретически могут оставаться не расформированные интерфейсы на железках, но пока никто не жаловался на такую проблему. Видимо хватает организационных решений.
На вашем месте я бы скрипт написал, который раз в сутки проходит и закрывает статусом закрытые датой договоры.

зы. Я даже скрипт у себя нашел, только он не используется:
Код:
import bitel.billing.server.util.*;
import java.sql.*;
import bitel.billing.server.contract.bean.ContractStatus;
import bitel.billing.server.contract.bean.ContractStatusManager;

public void main( setup, con, conSlave )
{
   //Закрываем статусом закрытые датой договоры, если дата закрытия = вчера
   print("Закрываем статусом закрытые датой договоры, если дата закрытия = вчера");
   PreparedStatement ps = con.prepareStatement("select c.id from contract c where c.date2=date(now())- interval 1 day");
   ResultSet rs = ps.executeQuery();
   while(rs.next()){
      ContractStatus cs = new ContractStatus();
      cs.setContractId(rs.getInt(1));
      cs.setComment("Договор закрыт датой => закрываем статусом со следующего дня");
      cs.setStatus(3);
      cs.setDate1(Calendar.getInstance());
      ContractStatusManager csm = new ContractStatusManager(con);
      csm.changeStatus(cs, 0);
      print("Закрыт договор: id="+cs.getContractId());
   }
}

:)

Можно также выбирать не "закрытые вчера", а вообще все закрытые датой, у которых статус = активен

Автор:  ioann [ 26 окт 2011, 13:10 ]
Заголовок сообщения:  Re: Изменение статуса договора при окончании периода действи

Спасибо, работает.

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