bitel.billing.server.phone.bean

## Class ClientItemManager

- java.lang.Object
- - bitel.billing.server.phone.bean.ClientItemManager

-     public class ClientItemManager
      extends java.lang.Object

  DAO работы поинтами и правилами договоров.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `ClientItemManager(java.sql.Connection con, int mid)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addClientItem(ClientItem item)` Добавляет поинт/правило в БД.
    `boolean` | `checkPoints(int cid, java.lang.Integer rangeId)`
    `void` | `deleteClientItem(int id)` Удаление поинта/правила из БД.
    `void` | `deleteIp(int itemId)`
    `bitel.billing.server.util.PagedList<ClientItem>` | `findByNumber(java.lang.String number, java.util.Calendar date1, java.util.Calendar date2, int sortBy, boolean sortType, java.lang.String mode, Page page)`
    `java.lang.Integer` | `getIpRangeId(int itemId)`
    `ClientItem` | `getItem(int id)` Возвращает объекта поинта/правила по коду записи в БД.
    `java.util.List<ClientItem>` | `getItemList(int cid)` Возвращает список поинтов и правил договора.
    `java.util.List<ClientItem>` | `getItemList(int cid, int type, boolean sortByDate)` for bill|reports scripts
    `java.util.List<ClientItem>` | `getItemList(int cid, int type, boolean sortByDate, int objectId)`
    `java.util.List<ClientItem>` | `getItemList(int cid, int type, boolean sortByDate, int objectId, java.util.Date dateFrom, java.util.Date dateTo)` Список поинтов и правил договора для отображения в договоре и в отчетах по поинтам.
    `java.util.List<ClientItem>` | `getItemList(int cid, int type, boolean sortByDate, int objectId, Period period)`
    `protected static java.sql.PreparedStatement` | `getNumbersPS(java.sql.Connection con, int mid)`
    `java.util.List<ClientItem>` | `getObjectItemList(int objectId)` Возвращает список поинтов/правил, привязанных к объекту.
    `java.util.List<ClientItem>` | `getPointsForIpRange(int cid, java.lang.Integer rangeId)`
    `protected static java.sql.PreparedStatement` | `getPortsPS(java.sql.Connection con, int mid)`
    `java.util.List<NumberResourceUse>` | `getResourceUse(NumberResource res)` Возвращает полную историю использования ресурса в данном модуле
    `protected static java.sql.PreparedStatement` | `getSimpleItemPS(java.sql.Connection con, int mid)`
    `java.lang.String` | `getTableName()` Возвращает имя таблицы phone_client_item для данного модуля.
    `void` | `postDelete(java.util.Set<NumberResource> usedResource)` Обновляет базу ресурсов после удаления номера.
    `java.util.Set<NumberResource>` | `preDelete(ClientItem item)` Проверка возможности удаления номера по базе ресурсов.
    `void` | `realUpdate(int userId, ClientItem item, boolean strictCheck, ru.bitel.bgbilling.kernel.container.managed.ServerContext context, boolean reserv)` Обвновляет/добавляет поинт/правило, обновляет занятые ресурсы и генерирует событие об изменении поинта/правила.
    `void` | `resourceAnalize(ClientItem item, java.util.Map<java.lang.String,bitel.billing.server.phone.bean.ClientItemManager.NumberChange> numberMap, boolean strictCheck)` Проверяет изменение по базе ресурсов.
    `void` | `setRangeId(int itemId, java.lang.Integer rangeId)`
    `void` | `updateClientItem(ClientItem item)` Обновляет поинто/правило в БД.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### ClientItemManager

          public ClientItemManager(java.sql.Connection con,
                                   int mid)

  - ### Method Detail

    - #### getTableName

          public java.lang.String getTableName()

      Возвращает имя таблицы phone_client_item для данного модуля.
      Returns:

    - #### updateClientItem

          public void updateClientItem(ClientItem item)
                                throws ru.bitel.bgbilling.common.BGException

      Обновляет поинто/правило в БД.
      Parameters:
        `item` - поинт/правило
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### addClientItem

          public void addClientItem(ClientItem item)
                             throws ru.bitel.bgbilling.common.BGException

      Добавляет поинт/правило в БД.
      Parameters:
        `item` - поинт/правило
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### deleteClientItem

          public void deleteClientItem(int id)

      Удаление поинта/правила из БД.
      Parameters:
        `id` - код записи в БД

    - #### getObjectItemList

          public java.util.List<ClientItem> getObjectItemList(int objectId)

      Возвращает список поинтов/правил, привязанных к объекту.
      Parameters:
        `objectId` - код объекта
      Returns:

    - #### getItemList

          public java.util.List<ClientItem> getItemList(int cid)

      Возвращает список поинтов и правил договора.
      Parameters:
        `cid` - код договора
      Returns:

    - #### getItemList

          public java.util.List<ClientItem> getItemList(int cid,
                                                        int type,
                                                        boolean sortByDate,
                                                        int objectId)

    - #### getItemList

          public java.util.List<ClientItem> getItemList(int cid,
                                                        int type,
                                                        boolean sortByDate,
                                                        int objectId,
                                                        java.util.Date dateFrom,
                                                        java.util.Date dateTo)

      Список поинтов и правил договора для отображения в договоре и в отчетах по поинтам. Выбирает в т.ч. "фиктивные" поинты, отнаследованные от супердоговора.
      Parameters:
        `cid` - код договора
        `type` - фильтр по типу
        `sortByDate` - сортировать по дате
        `objectId` - код объекта
      Returns:

    - #### getItemList

          public java.util.List<ClientItem> getItemList(int cid,
                                                        int type,
                                                        boolean sortByDate,
                                                        int objectId,
                                                        Period period)

    - #### getItemList

          public java.util.List<ClientItem> getItemList(int cid,
                                                        int type,
                                                        boolean sortByDate)

      for bill|reports scripts
      Parameters:
        `cid` -
        `type` -
        `sortByDate` -
      Returns:

    - #### getItem

          public ClientItem getItem(int id)

      Возвращает объекта поинта/правила по коду записи в БД.
      Parameters:
        `id` - код записи
      Returns:

    - #### findByNumber

          public bitel.billing.server.util.PagedList<ClientItem> findByNumber(java.lang.String number,
                                                                              java.util.Calendar date1,
                                                                              java.util.Calendar date2,
                                                                              int sortBy,
                                                                              boolean sortType,
                                                                              java.lang.String mode,
                                                                              Page page)

    - #### getNumbersPS

          protected static final java.sql.PreparedStatement getNumbersPS(java.sql.Connection con,
                                                                         int mid)
                                                                  throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### getPortsPS

          protected static final java.sql.PreparedStatement getPortsPS(java.sql.Connection con,
                                                                       int mid)
                                                                throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### getSimpleItemPS

          protected static final java.sql.PreparedStatement getSimpleItemPS(java.sql.Connection con,
                                                                            int mid)
                                                                     throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### getResourceUse

          public java.util.List<NumberResourceUse> getResourceUse(NumberResource res)

      Возвращает полную историю использования ресурса в данном модуле
      Parameters:
        `res` -
      Returns:

    - #### getIpRangeId

          public java.lang.Integer getIpRangeId(int itemId)
                                         throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### setRangeId

          public void setRangeId(int itemId,
                                 java.lang.Integer rangeId)
                          throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### checkPoints

          public boolean checkPoints(int cid,
                                     java.lang.Integer rangeId)
                              throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### getPointsForIpRange

          public java.util.List<ClientItem> getPointsForIpRange(int cid,
                                                                java.lang.Integer rangeId)
                                                         throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### deleteIp

          public void deleteIp(int itemId)
                        throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### resourceAnalize

          public void resourceAnalize(ClientItem item,
                                      java.util.Map<java.lang.String,bitel.billing.server.phone.bean.ClientItemManager.NumberChange> numberMap,
                                      boolean strictCheck)
                               throws ru.bitel.bgbilling.common.BGException

      Проверяет изменение по базе ресурсов.
      Parameters:
        `item` - поинт
        `numberMap` - предполагаемые изменения
        `strictCheck` - - не давать добавлять, если не найдено ни одного ресурса.
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### realUpdate

          public void realUpdate(int userId,
                                 ClientItem item,
                                 boolean strictCheck,
                                 ru.bitel.bgbilling.kernel.container.managed.ServerContext context,
                                 boolean reserv)
                          throws ru.bitel.bgbilling.common.BGException

      Обвновляет/добавляет поинт/правило, обновляет занятые ресурсы и генерирует событие об изменении поинта/правила. При обновлении производятся все необходимые проверки ресурсов.
      Parameters:
        `userId` -
        `item` -
        `man` -
        `strictCheck` - - не давать добавлять, если не найдено ни одного ресурса.
        `context` - контекст передаётся чтобы событие пульнуть
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### postDelete

          public void postDelete(java.util.Set<NumberResource> usedResource)

      Обновляет базу ресурсов после удаления номера.
      Parameters:
        `usedResource` -

    - #### preDelete

          public java.util.Set<NumberResource> preDelete(ClientItem item)
                                                  throws ru.bitel.bgbilling.common.BGMessageException

      Проверка возможности удаления номера по базе ресурсов.
      Parameters:
        `item` -
      Returns:
      Throws:
        `ru.bitel.bgbilling.common.BGMessageException`