ru.bitel.bgbilling.kernel.contract.api.server.bean

## Class ContractDao

- java.lang.Object
- - ru.bitel.common.dao.AbstractDao<B>
  - - ru.bitel.common.dao.AbstractIdDao<E>
    - - ru.bitel.oss.kernel.entity.server.bean.AbstractEntityAttrDao<Contract>
      - - ru.bitel.bgbilling.kernel.contract.api.server.bean.ContractDao

- All Implemented Interfaces:
    java.lang.AutoCloseable

      public class ContractDao
      extends AbstractEntityAttrDao<Contract>

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class ru.bitel.oss.kernel.entity.server.bean.AbstractEntityAttrDao

      `AbstractEntityAttrDao.AddressItemModifiedEventListener`

    - ### 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.oss.kernel.entity.server.bean.AbstractEntityAttrDao

      `entitySpecAttrDirectory, entitySpecDirectory, filterWeightComparator, userId`

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

      `cacheFilter, cacheJoin, cacheOrderBy, cachePaged, cachePS, cacheWhat, con, getByIdPS, 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
    `ContractDao(java.sql.Connection con, int userId)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `Contract` | `getByTitle(java.lang.String title)` Возвращает договор по заголовку.
    `java.util.Map<java.lang.Integer,EntityAttr>` | `getContractParameters(int contractId, int paramGroupId)`
    `java.util.List<Contract>` | `getContracts(java.lang.String idList)` Возвращает список Договоров по строке с кодами договоров, перечисленными через запятую
    `ru.bitel.bgbilling.kernel.directory.api.common.Directory<? extends EntitySpec>` | `getEntitySpecDirectory()`
    `protected Contract` | `getFromRS(java.sql.ResultSet rs, boolean loadAttributes, boolean loadEntityTitle)`
    `java.util.List<Contract>` | `getSubContracts(int contractId, int subMode)` Получает зависимые, независимые или все(subMode==-1) субдоговора данного договора.
    `java.util.List<Contract>` | `list(java.lang.String title, java.lang.String comment, int fc, long groupMaskAnd, int firm, java.util.List<FilterEntityAttr> entityFilter, boolean subContracts, boolean closed, boolean hidden, Page page)`
    `boolean` | `updateContractParameter(int contractId, EntityAttr entityAttr)`
    `void` | `updateContractParameters(int contractId, java.util.Map<java.lang.Integer,EntityAttr> entityAttributes)`
    `protected void` | `updateImpl(Contract contract)` Этот метод каждый реализует сам со своей логикой.
    `void` | `updateParameter(int contractId, EntityAttr a)`
    `void` | `updatePassword(int contractId, java.lang.String password)`

    - ### Methods inherited from class ru.bitel.oss.kernel.entity.server.bean.AbstractEntityAttrDao

      `filterInit, filterJoin, filterToPS, getAttribute, getEntityAttributes, getEntitySpecAttrDirectory, getEntityTableName, getFromRS, list, listImpl, onAddressItemUpdate, updateEntityAttribute, updateEntityAttributes`

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

- - ### Constructor Detail

    - #### ContractDao

          public ContractDao(java.sql.Connection con,
                             int userId)

  - ### Method Detail

    - #### getEntitySpecDirectory

          public ru.bitel.bgbilling.kernel.directory.api.common.Directory<? extends EntitySpec> getEntitySpecDirectory()
                                                                                                                throws ru.bitel.bgbilling.common.BGException

      Overrides:
        `getEntitySpecDirectory` in class `AbstractEntityAttrDao<Contract>`
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### getFromRS

          protected Contract getFromRS(java.sql.ResultSet rs,
                                       boolean loadAttributes,
                                       boolean loadEntityTitle)
                                throws java.sql.SQLException,
                                       ru.bitel.bgbilling.common.BGException

      Specified by:
        `getFromRS` in class `AbstractEntityAttrDao<Contract>`
      Throws:
        `java.sql.SQLException`
        `ru.bitel.bgbilling.common.BGException`

    - #### updateContractParameter

          public boolean updateContractParameter(int contractId,
                                                 EntityAttr entityAttr)
                                          throws ru.bitel.bgbilling.common.BGException

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

    - #### updateContractParameters

          public void updateContractParameters(int contractId,
                                               java.util.Map<java.lang.Integer,EntityAttr> entityAttributes)
                                        throws ru.bitel.bgbilling.common.BGException

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

    - #### getContractParameters

          public java.util.Map<java.lang.Integer,EntityAttr> getContractParameters(int contractId,
                                                                                   int paramGroupId)
                                                                            throws ru.bitel.bgbilling.common.BGException

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

    - #### updateImpl

          protected void updateImpl(Contract contract)
                             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<Contract>`
      Parameters:
        `contract` - экземпляр модели
      Throws:
        `ru.bitel.bgbilling.common.BGException` - ошибки
        `java.sql.SQLException` - ошибки

    - #### updateParameter

          public void updateParameter(int contractId,
                                      EntityAttr a)
                               throws ru.bitel.bgbilling.common.BGException

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

    - #### list

          public java.util.List<Contract> list(java.lang.String title,
                                               java.lang.String comment,
                                               int fc,
                                               long groupMaskAnd,
                                               int firm,
                                               java.util.List<FilterEntityAttr> entityFilter,
                                               boolean subContracts,
                                               boolean closed,
                                               boolean hidden,
                                               Page page)
                                        throws ru.bitel.bgbilling.common.BGException

      Parameters:
        `title` -
        `comment` -
        `fc` -
        `groupMaskAnd` - маска групп
        `group` - = маске групп
        `firm` -
        `entityFilter` -
        `subContracts` -
        `closed` -
        `hidden` -
        `page` -
      Returns:
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### getContracts

          public java.util.List<Contract> getContracts(java.lang.String idList)
                                                throws ru.bitel.bgbilling.common.BGException

      Возвращает список Договоров по строке с кодами договоров, перечисленными через запятую
      Parameters:
        `idList` -
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### getSubContracts

          public java.util.List<Contract> getSubContracts(int contractId,
                                                          int subMode)
                                                   throws ru.bitel.bgbilling.common.BGException

      Получает зависимые, независимые или все(subMode==-1) субдоговора данного договора.
      Parameters:
        `cid` - - код супер договора.
        `subMode` - зависимый(0), независимый(1)(из KernelConst) или все(-1).
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### getByTitle

          public Contract getByTitle(java.lang.String title)
                              throws ru.bitel.bgbilling.common.BGException

      Возвращает договор по заголовку.
      Parameters:
        `title` - заголовок.
      Returns:
        договор.
      Throws:
        `ru.bitel.bgbilling.common.BGException` - ошибка.

    - #### updatePassword

          public void updatePassword(int contractId,
                                     java.lang.String password)
                              throws ru.bitel.bgbilling.common.BGException

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