Package bitel.billing.server.contract.bean

# 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`