Package ru.bitel.oss.systems.inventory.product.server.bean

# Class ProductDao

java.lang.Object
ru.bitel.bgbilling.kernel.base.server.logger.BGLogger
ru.bitel.common.dao.AbstarctDaoConstant
ru.bitel.common.dao.AbstractDao<Product>
ru.bitel.common.dao.AbstractIdDao<Product>
ru.bitel.oss.systems.inventory.product.server.bean.ProductDao

All Implemented Interfaces:
  `AutoCloseable`

public class ProductDao extends ru.bitel.common.dao.AbstractIdDao<Product>

- ## 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, moduleId, orderByPattern, tableName`

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

  `ERROR, fields, SQL_ALL, SQL_AND, SQL_CALC_FOUND_ROWS, SQL_DELETE, SQL_DISTINCT, SQL_EQ, SQL_EQCS, SQL_FROM, SQL_GROUP, SQL_IN, SQL_INSERT, SQL_JOIN, SQL_LEFT_JOIN, SQL_LIMIT, SQL_NOT_IN, SQL_ON, SQL_ON_DUPLICATE_KEY_UPDATE, SQL_ORDER, SQL_SELECT, SQL_SET, SQL_UPDATE, SQL_VALUES, SQL_WHERE`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ProductDao(Connection con)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `checkProductSpecActivationModeDelete(int activationModeId)`
  `void`
  `checkProductSpecDelete(int productSpecId)`
  `void`
  `deactivate(Product product, boolean customer)`
  `int`
  `delete(int contractId, int id)`
  `Product`
  `get(int contractId, int id)`
  `Product`
  `getAndDelete(int contractId, int id)`
  `protected Product`
  `getFromRS(ResultSet rs)`
  `List<Product>`
  `list(int moduleId, int contractId, int accountId, boolean kernel, Date time)`
  `List<Product>`
  `list(int moduleId, int contractId, int accountId, boolean kernel, Date timeFrom, Date timeTo, Date timeFromIntersect, Date timeToIntersect, boolean needNonActive, boolean titleLoad)`
  Получение списка продуктов договора.
  `List<Product>`
  `listEnd(List<Integer> productSpecIds, LocalDate now, int daysBack)`
  Возвращает список продуктов заданных типов, которые закончились в несколько предыдущих дней ( now - daysBack )
  `void`
  `updateDeviceState(int contractId, int tvAccountId, int productId, String deviceProductId, short deviceState)`
  Обновление состояния продукта.
  `protected void`
  `updateImpl(Product product)`

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

  `delete, executeUpdate, get, getAndDelete, getAndUpdate, opt`

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

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

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

  `getSQLOrder, psSetDate, psSetInt, psSetString, queryAndIn`

  ### Methods inherited from class ru.bitel.bgbilling.kernel.base.server.logger.BGLogger

  `error, error, error, getLogger, logError, logError, warn`

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

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

- ## Constructor Details

  - ### ProductDao

    public ProductDao(Connection con)

- ## Method Details

  - ### getFromRS

    protected Product getFromRS(ResultSet rs) throws SQLException
    Specified by:
      `getFromRS` in class `ru.bitel.common.dao.AbstractDao<Product>`
    Throws:
      `SQLException`

  - ### updateImpl

    protected void updateImpl(Product product) throws ru.bitel.bgbilling.common.BGException, SQLException
    Specified by:
      `updateImpl` in class `ru.bitel.common.dao.AbstractDao<Product>`
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `SQLException`

  - ### deactivate

    public void deactivate(Product product, boolean customer) throws ru.bitel.bgbilling.common.BGException
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### list

    public List<Product> list(int moduleId, int contractId, int accountId, boolean kernel, Date time) throws ru.bitel.bgbilling.common.BGException
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### list

    public List<Product> list(int moduleId, int contractId, int accountId, boolean kernel, Date timeFrom, Date timeTo, Date timeFromIntersect, Date timeToIntersect, boolean needNonActive, boolean titleLoad) throws ru.bitel.bgbilling.common.BGException
    Получение списка продуктов договора.
    Parameters:
      `moduleId` - ID модуля, если <0, то продукты всех модулей, ==0 - продукты ядра
      `contractId` - ID договора
      `accountId` -
      `kernel` - включать ли продукты ядра, если moduleId >=0
      `timeFrom` -
      `timeTo` -
      `timeFromIntersect` -
      `timeToIntersect` -
      `needNonActive` -
      `titleLoad` -
    Returns:
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### delete

    public int delete(int contractId, int id) throws Exception
    Throws:
      `Exception`

  - ### updateDeviceState

    public void updateDeviceState(int contractId, int tvAccountId, int productId, String deviceProductId, short deviceState) throws ru.bitel.bgbilling.common.BGException
    Обновление состояния продукта.
    Parameters:
      `contractId` - ID договора
      `tvAccountId` - ID аккаунта
      `productId` - ID продукта
      `deviceProductId` - новый ID продукта на MW (внешний ID)
      `deviceState` - новое состояние продукта на MW (внешнее состояние)
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### get

    public Product get(int contractId, int id) throws ru.bitel.bgbilling.common.BGException
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getAndDelete

    public Product getAndDelete(int contractId, int id) throws Exception
    Throws:
      `Exception`

  - ### checkProductSpecDelete

    public void checkProductSpecDelete(int productSpecId) throws ru.bitel.bgbilling.common.BGException
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### checkProductSpecActivationModeDelete

    public void checkProductSpecActivationModeDelete(int activationModeId) throws ru.bitel.bgbilling.common.BGException
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### listEnd

    public List<Product> listEnd(List<Integer> productSpecIds, LocalDate now, int daysBack) throws ru.bitel.bgbilling.common.BGException
    Возвращает список продуктов заданных типов, которые закончились в несколько предыдущих дней ( now - daysBack )
    Parameters:
      `productSpecIds` -
      `now` - - дата от которой считаем назад (эта дата не включается)
      `daysBack` - - количество дней
      `moduleId` -
    Returns:
    Throws:
      `ru.bitel.bgbilling.common.BGException`