ru.bitel.bgbilling.modules.megogo.server.bean

## Class MegogoContractSubscriptionDao

- java.lang.Object
- - ru.bitel.common.dao.AbstarctDaoConstant
  - - ru.bitel.common.dao.AbstractDao<B>
    - - ru.bitel.common.dao.AbstractIdDao<MegogoContractSubscription>
      - - ru.bitel.bgbilling.modules.megogo.server.bean.MegogoContractSubscriptionDao

- All Implemented Interfaces:
    java.lang.AutoCloseable

      public class MegogoContractSubscriptionDao
      extends ru.bitel.common.dao.AbstractIdDao<MegogoContractSubscription>

- - ### Nested Class Summary

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

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

  - ### Field Summary

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

      `cacheFilter, cacheJoin, cacheOrderBy, cachePaged, cachePS, cacheWhat, con, getByIdPS, mid, moduleId, orderByPattern, tableName`

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

      `ERROR, SQL_CALC_FOUND_ROWS, SQL_DELETE, SQL_DISTINCT, SQL_EQ, SQL_EQCS, SQL_FROM, SQL_GROUP, SQL_IN, SQL_INSERT, SQL_LIMIT, SQL_ON_DUPLICATE_KEY_UPDATE, SQL_ORDER, SQL_SELECT, SQL_SET, SQL_UPDATE, SQL_VALUES, SQL_WHERE`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `MegogoContractSubscriptionDao(java.sql.Connection con, int moduleId)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `MegogoContractSubscription` | `getByFromId(int idFrom)` Получить подписку у которой idFrom равен заданному параметру.
    `java.util.List<MegogoContractSubscription>` | `getContractsSubscriptionList(java.lang.String contracts, java.lang.String serviceIds, int type, java.util.Date dateFrom, java.util.Date dateTo, int exceptContractSubId)` Получение списка подписок для договоров в заданом периоде.
    `java.util.List<MegogoContractSubscription>` | `getContractSubscriptionList(int contractId, int serviceId, java.util.Date date)` Получение списка подписок для договора.
    `java.util.List<MegogoContractSubscription>` | `getContractSubscriptionList(int contractId, int serviceId, int type, Period period, int exceptContractSubId)` Получение списка подписок для договора в заданом периоде.
    `protected MegogoContractSubscription` | `getFromRS(java.sql.ResultSet rs)`
    `java.util.List<MegogoContractSubscription>` | `getSubscriptionsForClose(java.util.Date date, boolean inclusive)` Получить список подписок, дата закрытия которых уже наступила(включительно или нет), но статус не закрытый.
    `java.util.List<MegogoContractSubscription>` | `getSubscriptionsForOpen(java.util.Date date, boolean inclusive)` Получить список подписок, дата открытие которых уже наступила(включительно или нет) и статус установлен как на подключении, а так же даты завершения либо нет, либо она еще не наступила.
    `int` | `updateDateActivated(int id, java.util.Date date)` Установка даты активации
    `int` | `updateDateDeactivated(int id, java.util.Date date)` Установка даты деактивации
    `protected void` | `updateImpl(MegogoContractSubscription contractSubscription)`

    - ### 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, getPeriod, getSQLOrder, getTableName, list, list, listImpl, listImpl, listImplPS, listImplPS, processException, recycle, setStatementParam, update`

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

      `getSQLOrder`

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

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

- - ### Constructor Detail

    - #### MegogoContractSubscriptionDao

          public MegogoContractSubscriptionDao(java.sql.Connection con,
                                               int moduleId)

  - ### Method Detail

    - #### getContractSubscriptionList

          public java.util.List<MegogoContractSubscription> getContractSubscriptionList(int contractId,
                                                                                        int serviceId,
                                                                                        java.util.Date date)
                                                                                 throws ru.bitel.bgbilling.common.BGException

      Получение списка подписок для договора.
      Parameters:
        `contractId` - - код договора.
        `serviceId` - - код услуги, если < 0, то все.
        `date` - - активные на дату, если null, то все.
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### getContractSubscriptionList

          public java.util.List<MegogoContractSubscription> getContractSubscriptionList(int contractId,
                                                                                        int serviceId,
                                                                                        int type,
                                                                                        Period period,
                                                                                        int exceptContractSubId)
                                                                                 throws ru.bitel.bgbilling.common.BGException

      Получение списка подписок для договора в заданом периоде.
      Parameters:
        `contract` - - код договора.
        `serviceId` - - код услуги.
        `exceptContractSubId` - - код подписки который не должен входить в список.
      Returns:
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### getContractsSubscriptionList

          public java.util.List<MegogoContractSubscription> getContractsSubscriptionList(java.lang.String contracts,
                                                                                         java.lang.String serviceIds,
                                                                                         int type,
                                                                                         java.util.Date dateFrom,
                                                                                         java.util.Date dateTo,
                                                                                         int exceptContractSubId)
                                                                                  throws ru.bitel.bgbilling.common.BGException

      Получение списка подписок для договоров в заданом периоде.
      Если одна из дат = null, то будет период от даты до бесконечности в будущее либо до бесконечности в прошлое
      Нет смысла фильтровать по услуге и типу одновременно.
      Parameters:
        `contracts` - - список договоров через запятую. Если null то все договора.
        `serviceIds` - - код услуг, если null или пустая, то все.
        `type` - - тип подписки( 1 - Основаня, может быть только одна в один момент времяни, 2 - дополнительная независемая ) < 1 все.
        `exceptContractSubId` - - код подписки который не должен входить в список, если < 1, то все.
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### getFromRS

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

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

    - #### updateImpl

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

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

    - #### getByFromId

          public MegogoContractSubscription getByFromId(int idFrom)
                                                 throws ru.bitel.bgbilling.common.BGException

      Получить подписку у которой idFrom равен заданному параметру.
      Parameters:
        `idFrom` - - код подписки договора.
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### updateDateActivated

          public int updateDateActivated(int id,
                                         java.util.Date date)
                                  throws ru.bitel.bgbilling.common.BGException

      Установка даты активации
      Parameters:
        `id` - - код подписки договора.
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### updateDateDeactivated

          public int updateDateDeactivated(int id,
                                           java.util.Date date)
                                    throws ru.bitel.bgbilling.common.BGException

      Установка даты деактивации
      Parameters:
        `id` - - код подписки договора.
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### getSubscriptionsForClose

          public java.util.List<MegogoContractSubscription> getSubscriptionsForClose(java.util.Date date,
                                                                                     boolean inclusive)
                                                                              throws ru.bitel.bgbilling.common.BGException

      Получить список подписок, дата закрытия которых уже наступила(включительно или нет), но статус не закрытый.
      Parameters:
        `date` - - на какую дату, по хорошему должна быть текущей.
        `inclusive` - - включительно ли, если false, то строго меньше переданного дня, иначе(true) и подписки которые завершаются переданным днем.
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### getSubscriptionsForOpen

          public java.util.List<MegogoContractSubscription> getSubscriptionsForOpen(java.util.Date date,
                                                                                    boolean inclusive)
                                                                             throws ru.bitel.bgbilling.common.BGException

      Получить список подписок, дата открытие которых уже наступила(включительно или нет) и статус установлен как на подключении, а так же даты завершения либо нет, либо она еще не наступила.
      Parameters:
        `date` - - на какую дату, по хорошему должна быть текущей.
        `inclusive` - - включительно ли, если false, то строго больше переданного дня, иначе(true) и подписки которые начинаются переданным днем.
      Throws:
        `ru.bitel.bgbilling.common.BGException`