ru.bitel.bgbilling.kernel.tariff.server.bean

## Class TariffPlanDao

- java.lang.Object
- - ru.bitel.common.dao.AbstractDao<B>
  - - ru.bitel.common.dao.AbstractIdDao<TariffPlan>
    - - ru.bitel.bgbilling.kernel.tariff.server.bean.TariffPlanDao

- All Implemented Interfaces:
    java.lang.AutoCloseable, ru.bitel.bgbilling.kernel.directory.api.common.Directory<TariffPlan>
  Direct Known Subclasses:
    TariffPlanManager

      public class TariffPlanDao
      extends ru.bitel.common.dao.AbstractIdDao<TariffPlan>
      implements ru.bitel.bgbilling.kernel.directory.api.common.Directory<TariffPlan>

  Управление объектами типа `TariffPlan`

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class ru.bitel.common.dao.AbstractDao

      `ru.bitel.common.dao.AbstractDao.ResultSetIterator`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected static java.lang.String` | `TABLE_TARIFF_PLAN`

    - ### Fields inherited from class ru.bitel.common.dao.AbstractDao

      `cacheFilter, cacheJoin, cacheOrderBy, cachePaged, cachePS, cacheWhat, con, getByIdPS, logger, mid, moduleId, orderByPattern, SQL_CALC_FOUND_ROWS, SQL_DELETE, SQL_EQ, SQL_EQCS, SQL_FROM, SQL_GROUP, SQL_IN, SQL_INSERT, SQL_LIMIT, SQL_ORDER, SQL_SELECT, SQL_SET, SQL_UPDATE, SQL_WHERE, tableName`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `TariffPlanDao(java.sql.Connection con)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `copyTariffPlan(int tpid)` Создает новый тарифный план, полностью аналогичный заданному
    `int` | `copyTariffPlan(TariffPlan tp)` Создает новый тарифный план с такими же значениями полей, как и у заданного плана.
    `TariffPlan` | `get(java.lang.String title)` Получение элемента по title(name) Может быть не имплементировано - в этом случае бросается `UnsupportedOperationException`
    `protected TariffPlan` | `getFromRS(java.sql.ResultSet rs)`
    `java.util.List<IdTitle>` | `getModuleList()` Возвращает список модулей для которых может быть определено тарифное дерево
    `java.util.Map<java.lang.Integer,java.lang.Integer>` | `getModuleTrees(int treeId)`
    `java.util.Map<java.lang.Integer,java.math.BigDecimal[]>` | `getTariffContractCount(java.util.List<java.lang.Integer> tariffIds)`
    `TariffPlan` | `getTariffPlan(int id)` Deprecated. use `AbstractIdDao.get(int)`
    `java.util.List<TariffPlan>` | `getTariffPlanList()` Deprecated. Use `list()` instead
    `java.util.List<TariffPlan>` | `getTariffPlanList(int defaultID, long groups, int face, java.lang.String title)` Возвращает список тарифных планов по фильтру
    `java.util.List<TariffPlan>` | `getTariffPlanList(java.util.List<java.lang.Integer> idFilter)` Deprecated. Use `#list(List)` instead
    `java.util.Map<java.lang.Integer,TariffPlan>` | `getTariffPlanMap()` Получение Map с ключами Integer - код тарифа и значениями типа TariffPlan
    `int` | `getTariffPlanTreeId(int tariffPlanId)`
    `protected int` | `insertNode(java.sql.PreparedStatement psInsertNode, ru.bitel.bgbilling.kernel.tariff.server.bean.TreeNode treeNode)`
    `protected int` | `insertNodeCopy(java.util.Map<java.lang.Integer,java.lang.Integer> linkNodeIds, java.sql.PreparedStatement psInsertNode, java.util.Map<java.lang.Integer,ru.bitel.bgbilling.kernel.tariff.server.bean.TreeNode> oldNodeMap, ru.bitel.bgbilling.kernel.tariff.server.bean.TreeNode oldTreeNode)`
    `java.util.List<TariffPlan>` | `list()` Список всех объектов `TariffPlan` с сортировкой по названию
    `java.util.List<TariffPlan>` | `list(java.util.List<java.lang.Integer> idFilter)` Список объектов `TariffPlan` упорядоченный по названию
    `void` | `searchTariffPlans(SearchResult<IdTitle> searchResult, int showActual, java.util.List<java.lang.Integer> moduleIds, java.util.List<java.lang.Integer> labelIds, java.lang.String titleMask)`
    `protected void` | `updateImpl(TariffPlan tariffPlan)` Этот метод каждый реализует сам со своей логикой.
    `void` | `updateTariffPlan(TariffPlan tariffPlan)` Deprecated. use `#update(TariffPlan)`
    `boolean` | `usesModule(int tariffPlanId, int moduleId)` Проверяет, использует ли тарифный план данный модуль

    - ### Methods inherited from class ru.bitel.common.dao.AbstractIdDao

      `delete, get, getAndDelete, getAndUpdate`

    - ### Methods inherited from class ru.bitel.common.dao.AbstractDao

      `close, delete, deleteImpl, eq, get, getById, getImpl, getListFromRS, getSQLOrder, getSQLOrder, getTableName, list, list, listImpl, listImpl, listImplPS, listImplPS, processException, recycle, setStatementParam, update`

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

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

    - ### Methods inherited from interface ru.bitel.bgbilling.kernel.directory.api.common.Directory

      `delete, get, update`

- - ### Field Detail

    - #### TABLE_TARIFF_PLAN

          protected static final java.lang.String TABLE_TARIFF_PLAN

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### TariffPlanDao

          public TariffPlanDao(java.sql.Connection con)

  - ### Method Detail

    - #### getTariffPlanMap

          public java.util.Map<java.lang.Integer,TariffPlan> getTariffPlanMap()
                                                                       throws ru.bitel.bgbilling.common.BGException

      Получение Map с ключами Integer - код тарифа и значениями типа TariffPlan
      Returns:
        Map
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### getTariffPlan

          @Deprecated
          public TariffPlan getTariffPlan(int id)
                                               throws ru.bitel.bgbilling.common.BGException

      Deprecated. use `AbstractIdDao.get(int)`
      получение одного тарифа
      Parameters:
        `id` - ид тарифа
      Returns:
        тариф
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### getTariffPlanList

          public java.util.List<TariffPlan> getTariffPlanList()
                                                       throws ru.bitel.bgbilling.common.BGException

      Deprecated. Use `list()` instead
      Список всех объектов `TariffPlan` с сортировкой по названию
      Returns:
        List
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### list

          public java.util.List<TariffPlan> list()
                                          throws ru.bitel.bgbilling.common.BGException

      Список всех объектов `TariffPlan` с сортировкой по названию
      Specified by:
        `list` in interface `ru.bitel.bgbilling.kernel.directory.api.common.Directory<TariffPlan>`
      Returns:
        List
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### getTariffPlanList

          public java.util.List<TariffPlan> getTariffPlanList(java.util.List<java.lang.Integer> idFilter)
                                                       throws ru.bitel.bgbilling.common.BGException

      Deprecated. Use `#list(List)` instead
      Список объектов `TariffPlan` упорядоченный по названию
      Parameters:
        `idFilter` - - cписок-фильтр с кодами тарифов
      Returns:
        List
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### list

          public java.util.List<TariffPlan> list(java.util.List<java.lang.Integer> idFilter)
                                          throws ru.bitel.bgbilling.common.BGException

      Список объектов `TariffPlan` упорядоченный по названию
      Parameters:
        `idFilter` - - cписок-фильтр с кодами тарифов
      Returns:
        List
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### getTariffPlanList

          public java.util.List<TariffPlan> getTariffPlanList(int defaultID,
                                                              long groups,
                                                              int face,
                                                              java.lang.String title)
                                                       throws ru.bitel.bgbilling.common.BGException

      Возвращает список тарифных планов по фильтру
      Parameters:
        `defaultID` - код тарифного плана, который должен быть включен в список независимо от того, удовлетворяет он фильтру или нет
        `groups` - маска групп
        `face` - физ или юр лицо, для которого предписан тариф
        `title` - номер договора, который должен удовлетворять паттерну тарифа
      Returns:
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### copyTariffPlan

          public int copyTariffPlan(int tpid)
                             throws ru.bitel.bgbilling.common.BGException

      Создает новый тарифный план, полностью аналогичный заданному
      Parameters:
        `tpid` - - копируемый тарифный план
      Returns:
        код нового тарифного плана
      Throws:
        `java.sql.SQLException`
        `ru.bitel.bgbilling.common.BGException`

    - #### insertNodeCopy

          protected int insertNodeCopy(java.util.Map<java.lang.Integer,java.lang.Integer> linkNodeIds,
                                       java.sql.PreparedStatement psInsertNode,
                                       java.util.Map<java.lang.Integer,ru.bitel.bgbilling.kernel.tariff.server.bean.TreeNode> oldNodeMap,
                                       ru.bitel.bgbilling.kernel.tariff.server.bean.TreeNode oldTreeNode)
                                throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### insertNode

          protected int insertNode(java.sql.PreparedStatement psInsertNode,
                                   ru.bitel.bgbilling.kernel.tariff.server.bean.TreeNode treeNode)
                            throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### copyTariffPlan

          public int copyTariffPlan(TariffPlan tp)
                             throws ru.bitel.bgbilling.common.BGException

      Создает новый тарифный план с такими же значениями полей, как и у заданного плана.
      Parameters:
        `tp` - - копируемый тарифный план
      Returns:
        код скопированного тарифного плана
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### getTariffPlanTreeId

          public int getTariffPlanTreeId(int tariffPlanId)
                                  throws ru.bitel.bgbilling.common.BGException

      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### getModuleTrees

          public java.util.Map<java.lang.Integer,java.lang.Integer> getModuleTrees(int treeId)
                                                                            throws ru.bitel.bgbilling.common.BGException

      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### usesModule

          public boolean usesModule(int tariffPlanId,
                                    int moduleId)
                             throws ru.bitel.bgbilling.common.BGException

      Проверяет, использует ли тарифный план данный модуль
      Parameters:
        `plan` - тарифный план
        `moduleId` - код модуля
      Returns:
        true - если использует
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### searchTariffPlans

          public void searchTariffPlans(SearchResult<IdTitle> searchResult,
                                        int showActual,
                                        java.util.List<java.lang.Integer> moduleIds,
                                        java.util.List<java.lang.Integer> labelIds,
                                        java.lang.String titleMask)
                                 throws ru.bitel.bgbilling.common.BGException

      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### getTariffContractCount

          public java.util.Map<java.lang.Integer,java.math.BigDecimal[]> getTariffContractCount(java.util.List<java.lang.Integer> tariffIds)
                                                                                         throws ru.bitel.bgbilling.common.BGException

      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### getModuleList

          public java.util.List<IdTitle> getModuleList()
                                                throws ru.bitel.bgbilling.common.BGException

      Возвращает список модулей для которых может быть определено тарифное дерево
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### updateTariffPlan

          @Deprecated
          public void updateTariffPlan(TariffPlan tariffPlan)
                                            throws ru.bitel.bgbilling.common.BGException

      Deprecated. use `#update(TariffPlan)`
      Parameters:
        `tariffPlan` -
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### getFromRS

          protected TariffPlan getFromRS(java.sql.ResultSet rs)
                                  throws java.sql.SQLException,
                                         ru.bitel.bgbilling.common.BGException

      Specified by:
        `getFromRS` in class `ru.bitel.common.dao.AbstractDao<TariffPlan>`
      Throws:
        `java.sql.SQLException`
        `ru.bitel.bgbilling.common.BGException`

    - #### updateImpl

          protected void updateImpl(TariffPlan tariffPlan)
                             throws ru.bitel.bgbilling.common.BGException,
                                    java.sql.SQLException

      Description copied from class: `ru.bitel.common.dao.AbstractDao`
      Этот метод каждый реализует сам со своей логикой.
      Для обновления вызывать update.
      Specified by:
        `updateImpl` in class `ru.bitel.common.dao.AbstractDao<TariffPlan>`
      Parameters:
        `tariffPlan` - экземпляр модели
      Throws:
        `ru.bitel.bgbilling.common.BGException` - ошибки
        `java.sql.SQLException` - ошибки

    - #### get

          public TariffPlan get(java.lang.String title)
                         throws ru.bitel.bgbilling.common.BGException

      Description copied from interface: `ru.bitel.bgbilling.kernel.directory.api.common.Directory`
      Получение элемента по title(name) Может быть не имплементировано - в этом случае бросается `UnsupportedOperationException`
      Specified by:
        `get` in interface `ru.bitel.bgbilling.kernel.directory.api.common.Directory<TariffPlan>`
      Returns:
      Throws:
        `ru.bitel.bgbilling.common.BGException`