Class ContractManager

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

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

    Fields
    Modifier and Type Field Description
    static java.lang.String MESSAGE_ABOUT_DUPLICATE  
    static java.lang.String TABLE_CONTRACT  
  • Constructor Summary

    Constructors
    Constructor Description
    ContractManager​(java.sql.Connection con)  
  • Method Summary

    Modifier and Type Method Description
    void addContractGroup​(int cid, int groupId)
    Привязываем договор к группе.
    java.lang.String addSub​(int superId, int subId, int subMode)
    Добавляет договора в качестве субдоговора в другой договора
    boolean checkContractService​(int contractId, int serviceId, java.util.Date date)
    Проверка наличия на договоре услуги на указанную дату
    boolean checkContractTitleOnDublication​(java.lang.String contractTitle, int contractId)
    Проверка, если в базе договора у которых id<>contractId AND UPPER(title)=contractTirle.toUpperCase()
    void close()  
    void closeContract​(int cid)
    Закрываем период действия договора
    void closeContract​(int cid, int mid, int userId)
    Закрываем период действия договора текущей датой
    void closeContract​(int cid, int mid, int userId, java.util.Date date)
    Закрываем период действия договора указанной датой
    Contract createFromPattern​(int pattern_id, java.lang.String title, java.util.Calendar date, java.lang.String pswd)
    Создает договор по шаблону
    Contract createFromPattern​(int pattern_id, java.lang.String title, java.util.Calendar date, java.lang.String pswd, java.util.Map<java.lang.String,​java.lang.Object> titleParams, boolean inModules, int superId, int subMode)
    Создает договор по шаблону
    Contract createFromPattern​(int pattern_id, java.lang.String title, java.util.Calendar date, java.lang.String pswd, java.util.Map<java.lang.String,​java.lang.Object> titleParams, boolean inModules, int superId, int subMode, java.lang.String customTitle)
    Создает договор по шаблону
    Contract createFromPattern​(int pattern_id, java.lang.String title, java.util.Calendar date, java.lang.String pswd, java.util.Map<java.lang.String,​java.lang.Object> titleParams, boolean inModules, int superId, int subMode, java.lang.String customTitle, int userId)
    Создает договор по шаблону
    Contract createFromPattern​(int pattern_id, java.lang.String title, java.util.Calendar date, java.lang.String pswd, java.util.Map<java.lang.String,​java.lang.Object> titleParams, boolean inModules, int superId, int subMode, java.lang.String customTitle, int userId, java.util.Map<java.lang.String,​java.lang.Object> params)
    Создает договор по шаблону
    void deleteContractGroup​(int cid, long groupId)
    Удаляем договор из группы.
    java.lang.String freeContract​(int cid)
    Перевод субдоговора в независимый договор
    Contract getContractById​(int contractId)
    Возвращает договор по его коду
    Contract getContractByTitle​(java.lang.String title)
    Deprecated.
    java.util.Map<java.lang.Integer,​java.lang.Integer> getContractParameterGroupCountMap()
    Возвращает Map содержащий коды групп параметров договоров и кол-ва договоров в каждой из них ("SELECT pgid, COUNT(*) FROM contract GROUP BY pgid")
    java.util.List<Contract> getContracts​(java.lang.String idList)
    Возвращает список Договоров по строке с кодами договоров, перечисленными через запятую
    java.util.List<Contract> getContractsByTitles​(java.lang.String titles)
    Возвращает договора по списку их номеров.
    ru.bitel.bgbilling.kernel.tariff.server.tree.TariffTreeSet getRealtimeTariffTreeSet​(int cid, java.util.Calendar time, java.lang.String module, int mid, boolean useChache)
    Deprecated.
    ru.bitel.bgbilling.kernel.tariff.server.tree.TariffTreeSet getRealtimeTariffTreeSet​(int cid, java.util.Calendar time, java.lang.String module, int mid, int emid, int eid, boolean useChache)
    Deprecated.
    ru.bitel.bgbilling.kernel.tariff.server.tree.TariffTreeSet getRealtimeTariffTreeSet​(int cid, java.util.Date date, java.lang.String module, int mid, boolean useChache)
    Создает TariffTreeSet для обсчета сессий
    ru.bitel.bgbilling.kernel.tariff.server.tree.TariffTreeSet getRealtimeTariffTreeSet​(int cid, java.util.Date time, java.lang.String module, int mid, int emid, int eid, boolean useChache)
    Создает TariffTreeSet для обсчета сессий
    java.util.List<Contract> getSubContracts​(int cid)
    Получает все субдоговоры данного договора.
    java.util.List<Contract> getSubContracts​(int cid, int subMode)
    Получает зависимые или независимые субдоговора данного договора
    ru.bitel.bgbilling.kernel.tariff.server.tree.TariffTreeSet getTariffTreeSetForDay​(int contractId, java.time.LocalDate time, java.lang.String module, int moduleId, boolean useChache)
    Создает TariffTreeSet для обработки одного дня
    ru.bitel.bgbilling.kernel.tariff.server.tree.TariffTreeSet getTariffTreeSetForDay​(int contractId, java.util.Calendar time, java.lang.String module, int moduleId, boolean useChache)
    Deprecated.
    boolean isSubContract​(int cid, int subcid)
    Проверят зависимый ли контракт один от другого.
    void recycle()  
    void updateContract​(Contract contract)
    Обновление записи о договоре
    void updateLastTariffChange​(int cid)
    Deprecated.
    Вместо этого метода теперь будет добавление события на изменение тарифных планов
    void updateSuperContractDependSubList​(int superId)
    Обновляет перечень зависимых субдоговоров.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • TABLE_CONTRACT

      public static final java.lang.String TABLE_CONTRACT
      See Also:
      Constant Field Values
    • MESSAGE_ABOUT_DUPLICATE

      public static final java.lang.String MESSAGE_ABOUT_DUPLICATE
      See Also:
      Constant Field Values
  • Constructor Details

    • ContractManager

      public ContractManager​(java.sql.Connection con)
  • Method Details

    • createFromPattern

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

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

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

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

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

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

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

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

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

      public ru.bitel.bgbilling.kernel.tariff.server.tree.TariffTreeSet getRealtimeTariffTreeSet​(int cid, java.util.Date date, java.lang.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, java.util.Calendar time, java.lang.String module, int mid, boolean useChache)
      Deprecated.
    • getRealtimeTariffTreeSet

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

      public ru.bitel.bgbilling.kernel.tariff.server.tree.TariffTreeSet getRealtimeTariffTreeSet​(int cid, java.util.Date time, java.lang.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, java.util.Calendar time, java.lang.String module, int moduleId, boolean useChache)
      Deprecated.
    • getTariffTreeSetForDay

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

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

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

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

      public java.util.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 java.util.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​(java.lang.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 java.sql.SQLException
      Привязываем договор к группе.
      Parameters:
      cid - код договора
      groupId - код группы
      Throws:
      java.sql.SQLException
    • deleteContractGroup

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

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

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

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

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

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

      public boolean checkContractService​(int contractId, int serviceId, java.util.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 java.lang.AutoCloseable