Class ContractManager

java.lang.Object
bitel.billing.server.contract.bean.ContractManager
All Implemented Interfaces:
AutoCloseable, ru.bitel.common.worker.Recyclable

public class ContractManager extends Object implements ru.bitel.common.worker.Recyclable, AutoCloseable
  • Field Details

  • Constructor Details

    • ContractManager

      public ContractManager(Connection con)
  • Method Details

    • createFromPattern

      public Contract createFromPattern(int pattern_id, String title, Calendar date, String pswd) throws Exception
      Создает договор по шаблону
      Parameters:
      pattern_id - номер шаблона
      title - имя
      date - дата
      pswd - пароль
      Returns:
      Throws:
      Exception
    • createFromPattern

      public Contract createFromPattern(int pattern_id, String title, Calendar date, String pswd, Map<String,Object> titleParams, boolean inModules, int superId, int subMode) throws Exception
      Создает договор по шаблону
      Parameters:
      pattern_id - номер шаблона
      title - имя
      date - дата
      pswd - пароль
      titleParams - параметры имени
      inModules - проверка в модулях
      superId - ID супердоговора
      subMode - режим субдоговора
      Returns:
      Throws:
      Exception
    • createFromPattern

      public Contract createFromPattern(int pattern_id, String title, Calendar date, String pswd, Map<String,Object> titleParams, boolean inModules, int superId, int subMode, String customTitle) throws Exception
      Создает договор по шаблону
      Parameters:
      pattern_id - номер шаблона
      title - имя
      date - дата
      pswd - пароль
      titleParams - параметры имени
      inModules - проверка в модулях
      superId - ID супердоговора
      subMode - режим субдоговора
      customTitle - ручной режим задания имени
      Returns:
      Throws:
      Exception
    • createFromPattern

      public Contract createFromPattern(int pattern_id, String title, Calendar date, String pswd, Map<String,Object> titleParams, boolean inModules, int superId, int subMode, String customTitle, int userId) throws Exception
      Создает договор по шаблону
      Parameters:
      pattern_id - номер шаблона
      title - имя
      date - дата
      pswd - пароль
      titleParams - параметры имени
      inModules - проверка в модулях
      superId - ID супердоговора
      subMode - режим субдоговора
      customTitle - ручной режим задания имени
      userId - код пользователя биллинга
      Returns:
      Throws:
      Exception
    • createFromPattern

      public Contract createFromPattern(int contractPatternId, String title, Calendar date, String pswd, Map<String,Object> titleParams, boolean inModules, int superId, int subMode, String customTitle, int userId, Map<String,Object> params) throws Exception
      Создает договор по шаблону
      Parameters:
      contractPatternId - номер шаблона
      title - имя
      date - дата
      pswd - пароль
      titleParams - параметры имени
      inModules - проверка в модулях
      superId - ID супердоговора
      subMode - режим субдоговора
      customTitle - ручной режим задания имени
      userId - код пользователя биллинга
      params - дополнительные параметры создания договора для модулей
      Returns:
      Throws:
      Exception
    • getContracts

      public List<Contract> getContracts(String idList)
      Возвращает список Договоров по строке с кодами договоров, перечисленными через запятую
      Parameters:
      idList -
      Returns:
    • getContractById

      public Contract getContractById(int contractId)
      Возвращает договор по его коду
      Parameters:
      contractId - код договора
      Returns:
    • getContractByTitle

      @Deprecated public Contract getContractByTitle(String title)
      Deprecated.
      Использовать ContractDao - getByTitle Возвращает договор по его номеру
      Parameters:
      title - номер договора
      Returns:
    • getContractsByTitles

      public List<Contract> getContractsByTitles(String titles)
      Возвращает договора по списку их номеров.
      Parameters:
      titles - номера договоров
      Returns:
    • getRealtimeTariffTreeSet

      public ru.bitel.bgbilling.kernel.tariff.server.tree.TariffTreeSet getRealtimeTariffTreeSet(int cid, Date date, String module, int mid, boolean useChache)
      Создает TariffTreeSet для обсчета сессий
      Parameters:
      contract - BGContract
      module - String
      mid - int
      useChache - boolean
    • getRealtimeTariffTreeSet

      @Deprecated public ru.bitel.bgbilling.kernel.tariff.server.tree.TariffTreeSet getRealtimeTariffTreeSet(int cid, Calendar time, String module, int mid, boolean useChache)
      Deprecated.
    • getRealtimeTariffTreeSet

      @Deprecated public ru.bitel.bgbilling.kernel.tariff.server.tree.TariffTreeSet getRealtimeTariffTreeSet(int cid, Calendar time, String module, int mid, int emid, int eid, boolean useChache)
      Deprecated.
    • getRealtimeTariffTreeSet

      public ru.bitel.bgbilling.kernel.tariff.server.tree.TariffTreeSet getRealtimeTariffTreeSet(int cid, Date time, String module, int mid, int emid, int eid, boolean useChache)
      Создает TariffTreeSet для обсчета сессий
      Parameters:
      contract - BGContract
      module - String
      mid - int
      useChache - boolean
    • getTariffTreeSetForDay

      @Deprecated public ru.bitel.bgbilling.kernel.tariff.server.tree.TariffTreeSet getTariffTreeSetForDay(int contractId, Calendar time, String module, int moduleId, boolean useChache)
      Deprecated.
    • getTariffTreeSetForDay

      public ru.bitel.bgbilling.kernel.tariff.server.tree.TariffTreeSet getTariffTreeSetForDay(int contractId, LocalDate time, String module, int moduleId, boolean useChache)
      Создает TariffTreeSet для обработки одного дня
    • freeContract

      public String freeContract(int cid) throws SQLException
      Перевод субдоговора в независимый договор
      Parameters:
      cid - код договора
      Throws:
      SQLException
    • updateSuperContractDependSubList

      public void updateSuperContractDependSubList(int superId) throws SQLException
      Обновляет перечень зависимых субдоговоров.
      Parameters:
      superId - код супердоговора
      Throws:
      SQLException
    • addSub

      public String addSub(int superId, int subId, int subMode) throws SQLException, ru.bitel.bgbilling.common.BGException
      Добавляет договора в качестве субдоговора в другой договора
      Parameters:
      superId - супердоговор
      subId - субдоговор
      subMode - режим "субирования"
      Returns:
      null - если все успешно, строку с ошибкой - если произошла ошибка
      Throws:
      SQLException
      ru.bitel.bgbilling.common.BGException
    • getSubContracts

      public List<Contract> getSubContracts(int cid)
      Получает все субдоговоры данного договора.
      Parameters:
      cid - код договора.
      Returns:
      список субдоговоров.
    • isSubContract

      public boolean isSubContract(int cid, int subcid) throws ru.bitel.bgbilling.common.BGException
      Проверят зависимый ли контракт один от другого.
      Parameters:
      cid - договор
      subcid - потенциальный зависимый субконтракт.
      Returns:
      true - зависимость есть.
      Throws:
      ru.bitel.bgbilling.common.BGException
    • getSubContracts

      public List<Contract> getSubContracts(int cid, int subMode)
      Получает зависимые или независимые субдоговора данного договора
      Parameters:
      cid -
      subMode - зависимый или независимый режим из KernelConst
      Returns:
    • updateLastTariffChange

      @Deprecated public void updateLastTariffChange(int cid)
      Deprecated.
      Вместо этого метода теперь будет добавление события на изменение тарифных планов
      Parameters:
      cid -
    • updateContract

      public void updateContract(Contract contract)
      Обновление записи о договоре
      Parameters:
      contract -
    • checkContractTitleOnDublication

      public boolean checkContractTitleOnDublication(String contractTitle, int contractId)
      Проверка, если в базе договора у которых id<>contractId AND UPPER(title)=contractTirle.toUpperCase()
      Parameters:
      contractTitle - название договора.
      contractId - код договора для которого название проверяться не будет.
      Returns:
      true - если дубликата нет.
    • addContractGroup

      public void addContractGroup(int cid, int groupId) throws SQLException
      Привязываем договор к группе.
      Parameters:
      cid - код договора
      groupId - код группы
      Throws:
      SQLException
    • deleteContractGroup

      public void deleteContractGroup(int cid, long groupId) throws SQLException
      Удаляем договор из группы.
      Parameters:
      cid - код договора
      groupId - код группы
      Throws:
      SQLException
    • closeContract

      public void closeContract(int cid) throws SQLException, ru.bitel.bgbilling.common.BGException
      Закрываем период действия договора
      Parameters:
      cid - код договора
      Throws:
      SQLException
      ru.bitel.bgbilling.common.BGException
    • closeContract

      public void closeContract(int cid, int mid, int userId) throws SQLException, ru.bitel.bgbilling.common.BGException
      Закрываем период действия договора текущей датой
      Parameters:
      cid - код договора
      mid - код модуля
      userId - идентификатор пользователя
      Throws:
      SQLException
      ru.bitel.bgbilling.common.BGException
    • closeContract

      public void closeContract(int cid, int mid, int userId, Date date) throws SQLException, ru.bitel.bgbilling.common.BGException
      Закрываем период действия договора указанной датой
      Parameters:
      cid - - код договора
      mid - - код модуля
      userId - - идентификатор пользователя
      date - - дата закрытия договора
      Throws:
      SQLException
      ru.bitel.bgbilling.common.BGException
    • recycle

      public void recycle()
      Specified by:
      recycle in interface ru.bitel.common.worker.Recyclable
    • getContractParameterGroupCountMap

      public Map<Integer,Integer> getContractParameterGroupCountMap() throws ru.bitel.bgbilling.common.BGException
      Возвращает Map содержащий коды групп параметров договоров и кол-ва договоров в каждой из них ("SELECT pgid, COUNT(*) FROM contract GROUP BY pgid")
      Returns:
      Map<Integer, Integer> в какой группе сколько договоров
      Throws:
      ru.bitel.bgbilling.common.BGException
    • checkContractService

      public boolean checkContractService(int contractId, int serviceId, Date date) throws ru.bitel.bgbilling.common.BGException
      Проверка наличия на договоре услуги на указанную дату
      Parameters:
      contractId - код договора
      serviceId - код услуги
      date - дата
      Returns:
      true - если услуга есть, false - услуги нет или дата вне периода
      Throws:
      ru.bitel.bgbilling.common.BGException
    • close

      public void close()
      Specified by:
      close in interface AutoCloseable