Package ru.bitel.bgbilling.modules.cerbercrypt.server.bean

# Class UserCardManager

java.lang.Object
ru.bitel.common.dao.AbstarctDaoConstant
ru.bitel.common.dao.AbstractDao<B>
ru.bitel.common.dao.AbstractIdDao<B>
ru.bitel.common.model.LoggingAbstractManager<UserCard>
ru.bitel.bgbilling.modules.cerbercrypt.server.bean.UserCardManager

All Implemented Interfaces:
  `java.lang.AutoCloseable`

    public class UserCardManager
    extends LoggingAbstractManager<UserCard>

- ## 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.model.LoggingAbstractManager

  `userId`

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

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

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

  `ERROR, fields, 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 | Description
  --- | ---
  `UserCardManager​(java.sql.Connection con, int mid, int userId)` |

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `void` | `deleteSlavesByBasecardId​(int basecardId)` | Удалить все карты, зависимые от этой базовой карты.
  `java.util.List<UserCard>` | `findConflictCards​(UserCard usercard)` | Находит конфликтующую с этой картой (первую попавшуюся) карту.
  `protected UserCard` | `getFromRS​(java.sql.ResultSet rs)` |
  `java.util.List<UserCard>` | `getList​(int cid)` | Все карты договора (включая и slavecard/"мультирум копии" и основные).
  `java.util.List<UserCard>` | `getList​(int cid, boolean slavecardsIncluding)` | Все карты договора или только без slavecards (т.е. только "основные").
  `java.util.List<UserCard>` | `getList​(int cid, java.util.Date date)` | Список активных на дату юзеркарт договора.
  `java.util.List<UserCard>` | `getListByDate​(java.util.Calendar date)` | Deprecated. use `getListByDate(Date)`
  `java.util.List<UserCard>` | `getListByDate​(java.util.Date date)` |
  `java.util.List<UserCard>` | `getListByGroups​(long groups)` |
  `java.util.List<UserCard>` | `getListByNumber​(long number)` | Все юзер_карты по номеру карты, вне зависимости от дат.
  `java.util.List<UserCard>` | `getListByObject​(int objectId)` | Возвращает список карточек, привязанных к указанному объекту договора.
  `java.util.List<UserCard>` | `getListNeedSync()` | Полный список юзеркарт, в которых установлен (не снят) флаг "требуется синхронизация"
  `int[]` | `getMinAndMaxCardNumber()` |
  `java.util.List<UserCard>` | `getSlavecards​(int basecardId)` | Получение всех подчинённых (например, "копий") карт указанной карты.
  `java.util.List<UserCard>` | `getSlavecards​(UserCard basecard)` | Получение всех подчинённых (например, "копий") карт указанной карты.
  `UserCard` | `getUserCard​(long number, java.util.Calendar date)` | Deprecated. use `getUserCard(long, Date)`
  `UserCard` | `getUserCard​(long number, java.util.Date date)` | Возвращает юзер_карту по номеру карты, берёт ту, которая на текущую дату, т.е. та, которая в эту дату приписана к договору.
  `java.util.Map<java.lang.Integer,​UserCard>` | `getUserCardMap()` | Весь мэп юзеркарт.
  `java.util.Map<java.lang.Integer,​UserCard>` | `getUserCardMap​(int cid)` |
  `java.util.Map<java.lang.Integer,​UserCard>` | `getUserCardMap​(java.util.Calendar date, java.util.Collection<java.lang.Integer> userCardIds)` | Мэп юзеркарт на дату.
  `java.util.List<UserCard>` | `list_join_card​(java.lang.String filter, java.lang.String orderBy, java.lang.Object... params)` | Реализация list(...) с дополнительным join таблицы card чтобы вытянуть оттуда в частности pairing_module.
  `static java.util.Map<java.lang.Integer,​java.util.List<UserCard>>` | `makeSlavecardListMap​(java.util.List<UserCard> allContractUsercards)` | Генерирует мэп зависимых карт каждой карты из списка всех карт договора.
  `void` | `setSyncStatusCards​(java.util.Collection<java.lang.Long> cards, boolean needSyncStatus)` | Установка нескольким юзеркартам статуса нужности синхронизации.
  `void` | `setSyncStatusUsercards​(java.util.Collection<java.lang.Integer> usercardsIds, boolean needSyncStatus)` | Установка нескольким юзеркартам статуса нужности синхронизации.
  `protected void` | `updateImpl​(UserCard b)` |
  `void` | `updateSubscribe​(java.util.Date date, int userCardId, boolean slavecardsProcess)` | В случае удаления id в БД недоступен, так что этот метод не работает как надо, полагается заранее вычитывать usercard и отдавать его в синхронайзер, вместе с зависимыми.
  `void` | `updateSubscribe​(java.util.Date date, UserCard usercard, java.util.List<UserCard> slavecards)` |

  ### Methods inherited from class ru.bitel.common.model.LoggingAbstractManager

  `delete, logListByCid, logListByOid, update`

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

  `get, getAndDelete, getAndUpdate`

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

  `close, delete, deleteImpl, eq, get, getById, getImpl, getListFromRS, getPeriod, getQueryById, getSQLOrder, getTableName, list, list, listImpl, listImpl, listImplPS, listImplPS, ormFromResultSet, ormUpdateImpl, ormUpdateImpl, ormUpdateImpl, ormUpdateImpl, processException, recycle, setStatementParam`

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

  - ### UserCardManager

    public UserCardManager​(java.sql.Connection con, int mid, int userId)

- ## Method Details

  - ### getListByDate

    @Deprecated public java.util.List<UserCard> getListByDate​(java.util.Calendar date) throws ru.bitel.bgbilling.common.BGException
    Deprecated.
    use `getListByDate(Date)`
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getListByDate

    public java.util.List<UserCard> getListByDate​(java.util.Date date) throws ru.bitel.bgbilling.common.BGException
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getList

    public java.util.List<UserCard> getList​(int cid, java.util.Date date) throws ru.bitel.bgbilling.common.BGException
    Список активных на дату юзеркарт договора.
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getUserCard

    @Deprecated public UserCard getUserCard​(long number, java.util.Calendar date) throws ru.bitel.bgbilling.common.BGException
    Deprecated.
    use `getUserCard(long, Date)`
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getUserCard

    public UserCard getUserCard​(long number, java.util.Date date) throws ru.bitel.bgbilling.common.BGException
    Возвращает юзер_карту по номеру карты, берёт ту, которая на текущую дату, т.е. та, которая в эту дату приписана к договору. Если таковых несколько (по ошибке программной), то вернётся одна случайная.
    Parameters:
      `number` - номер карты
      `date` - дата, на которую выбираем карту
    Returns:
      юзер_карта
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getListByNumber

    public java.util.List<UserCard> getListByNumber​(long number) throws ru.bitel.bgbilling.common.BGException
    Все юзер_карты по номеру карты, вне зависимости от дат.
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getListByGroups

    public java.util.List<UserCard> getListByGroups​(long groups) throws ru.bitel.bgbilling.common.BGException
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getList

    public java.util.List<UserCard> getList​(int cid) throws ru.bitel.bgbilling.common.BGException
    Все карты договора (включая и slavecard/"мультирум копии" и основные).
    Parameters:
      `cid` - контрактИд
    Returns:
      список карт
    Throws:
      `ru.bitel.bgbilling.common.BGException` - ошибка какая-то

  - ### list_join_card

    public java.util.List<UserCard> list_join_card​(java.lang.String filter, java.lang.String orderBy, java.lang.Object... params) throws ru.bitel.bgbilling.common.BGException
    Реализация list(...) с дополнительным join таблицы card чтобы вытянуть оттуда в частности pairing_module. FIXME костыльность присутствуетъ. + см. ниже.
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getList

    public java.util.List<UserCard> getList​(int cid, boolean slavecardsIncluding) throws ru.bitel.bgbilling.common.BGException
    Все карты договора или только без slavecards (т.е. только "основные").
    Parameters:
      `cid` - контрактИд
      `slavecardsIncluding` - включать ли неосновные карты.
    Returns:
      список карт
    Throws:
      `ru.bitel.bgbilling.common.BGException` - ошибка какая-то

  - ### getUserCardMap

    public java.util.Map<java.lang.Integer,​UserCard> getUserCardMap() throws ru.bitel.bgbilling.common.BGException
    Весь мэп юзеркарт. Может быть большой, осторожно. Используется в калькуляторе, например.
    Returns:
      весь мэп [юзеркардИд=>юзеркарт]
    Throws:
      `ru.bitel.bgbilling.common.BGException` - ошибка

  - ### getUserCardMap

    public java.util.Map<java.lang.Integer,​UserCard> getUserCardMap​(java.util.Calendar date, java.util.Collection<java.lang.Integer> userCardIds) throws ru.bitel.bgbilling.common.BGException
    Мэп юзеркарт на дату. Все или по отдельному ид.
    Parameters:
      `date` - дата
      `userCardIds` - ид карты, список
    Returns:
      мэп [юзеркардИд=>юзеркарт]
    Throws:
      `ru.bitel.bgbilling.common.BGException` - ошибка

  - ### getMinAndMaxCardNumber

    public int[] getMinAndMaxCardNumber() throws ru.bitel.bgbilling.common.BGException
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### updateSubscribe

    public void updateSubscribe​(java.util.Date date, int userCardId, boolean slavecardsProcess) throws ru.bitel.bgbilling.common.BGException
    В случае удаления id в БД недоступен, так что этот метод не работает как надо, полагается заранее вычитывать usercard и отдавать его в синхронайзер, вместе с зависимыми.
    Parameters:
      `date` -
      `userCardId` -
      `slavecardsProcess` -
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### updateSubscribe

    public void updateSubscribe​(java.util.Date date, UserCard usercard, java.util.List<UserCard> slavecards) throws ru.bitel.bgbilling.common.BGException
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### findConflictCards

    public java.util.List<UserCard> findConflictCards​(UserCard usercard) throws ru.bitel.bgbilling.common.BGException
    Находит конфликтующую с этой картой (первую попавшуюся) карту.
    Parameters:
      `usercard` - карта для поиска.
    Returns:
      карта, которая содержит тот же номер и активнав данный момент (на этом или другом договоре).
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### updateImpl

    protected void updateImpl​(UserCard b) throws ru.bitel.bgbilling.common.BGException, java.sql.SQLException
    Specified by:
      `updateImpl` in class `ru.bitel.common.dao.AbstractDao<UserCard>`
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `java.sql.SQLException`

  - ### getFromRS

    protected UserCard getFromRS​(java.sql.ResultSet rs) throws java.sql.SQLException, ru.bitel.bgbilling.common.BGException
    Specified by:
      `getFromRS` in class `ru.bitel.common.dao.AbstractDao<UserCard>`
    Throws:
      `java.sql.SQLException`
      `ru.bitel.bgbilling.common.BGException`

  - ### getSlavecards

    public java.util.List<UserCard> getSlavecards​(UserCard basecard) throws ru.bitel.bgbilling.common.BGException
    Получение всех подчинённых (например, "копий") карт указанной карты. В качестве basecardTitle устанавливается название/роль каждой подчинённой карты. То есть например в вебе их надо выводить, типа "мультирум-копия N1".
    Parameters:
      `cardId` - ид "базовой" карты
    Returns:
      список подчинённых карт
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getSlavecards

    public java.util.List<UserCard> getSlavecards​(int basecardId) throws ru.bitel.bgbilling.common.BGException
    Получение всех подчинённых (например, "копий") карт указанной карты. Лучше использовать `getSlavecards(UserCard)`, если уже имеется объект-карта, меньше запросов
    Parameters:
      `basecardId` - ид "базовой" карты
    Returns:
      список подчинённых карт
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### deleteSlavesByBasecardId

    public void deleteSlavesByBasecardId​(int basecardId) throws ru.bitel.bgbilling.common.BGException
    Удалить все карты, зависимые от этой базовой карты.
    Parameters:
      `basecardId` - ид базовой user_card
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### makeSlavecardListMap

    public static java.util.Map<java.lang.Integer,​java.util.List<UserCard>> makeSlavecardListMap​(java.util.List<UserCard> allContractUsercards)
    Генерирует мэп зависимых карт каждой карты из списка всех карт договора.
    Parameters:
      `allContractUsercards` - все карты догогора (подразумевается так).
    Returns:
      мэп ид_карты => список ссылающихся на эту карту

  - ### getListByObject

    public java.util.List<UserCard> getListByObject​(int objectId) throws ru.bitel.bgbilling.common.BGException
    Возвращает список карточек, привязанных к указанному объекту договора.
    Parameters:
      `objectId` - код объекта договора
    Returns:
      список карт
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### setSyncStatusUsercards

    public void setSyncStatusUsercards​(java.util.Collection<java.lang.Integer> usercardsIds, boolean needSyncStatus) throws ru.bitel.bgbilling.common.BGException
    Установка нескольким юзеркартам статуса нужности синхронизации.
    Parameters:
      `usercardsIds` - список айдишников юзеркарт
      `needSyncStatus` - значение флага для установки
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### setSyncStatusCards

    public void setSyncStatusCards​(java.util.Collection<java.lang.Long> cards, boolean needSyncStatus) throws ru.bitel.bgbilling.common.BGException
    Установка нескольким юзеркартам статуса нужности синхронизации. Установка идёт не по указанию юзеркарт, а по указанию номеров карт, то есть всем юзеркартам с этим номером и поставится флаг.
    Parameters:
      `cards` - список номеров карт
      `needSyncStatus` - значение флага для установки
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getListNeedSync

    public java.util.List<UserCard> getListNeedSync() throws ru.bitel.bgbilling.common.BGException
    Полный список юзеркарт, в которых установлен (не снят) флаг "требуется синхронизация"
    Returns:
      список юзеркарт
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getUserCardMap

    public java.util.Map<java.lang.Integer,​UserCard> getUserCardMap​(int cid)