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

## Class ContractDao

- java.lang.Object
- - ru.bitel.common.dao.AbstarctDaoConstant
  - - 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

      `CONTRACT_OBJECT_SUPPORT, CONTRACT_SUPPORT, ENTITY_SUPPORT, entitySpecAttrDirectory, entitySpecDirectory, filterWeightComparator, userId`

    - ### 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
    `ContractDao(java.sql.Connection con, int userId)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `static void` | `addContractGroupFilter(java.lang.StringBuilder where, int userId)`
    `void` | `checkContractParameter(EntityAttr entityAttr)`
    `java.lang.String` | `contractListByFilter(ContractFilters contractFilters, java.util.List<FilterEntityAttr> entityFilter, Page page)`
    `Contract` | `getByTitle(java.lang.String title)` Возвращает договор по заголовку.
    `java.util.List<Contract>` | `getContractForTextlikeParamValue(int pid, java.lang.String value)` Получает договор по текстовому значению/представлению некоторого параметра неопределённого типа.
    `EntityAttr` | `getContractParameter(int contractId, int parameterId)` Получение параметра договора.
    `java.util.Map<java.lang.Integer,EntityAttr>` | `getContractParameters(int contractId, int paramGroupId)` Возвращает map параметров договора.
    `java.util.Map<java.lang.Integer,java.lang.String>` | `getContractParameterValuesForParameterIds(int contractId, java.util.Set<java.lang.Integer> parameterIds)`
    `java.util.List<Contract>` | `getContracts(java.lang.String idList)` Возвращает список Договоров по строке с кодами договоров, перечисленными через запятую
    `protected Directory<? extends EntitySpecAttr>` | `getEntitySpecAttrDirectory()`
    `Directory<? extends Id>` | `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(ContractFilters contractFilters, java.util.List<FilterEntityAttr> entityFilter, Page page)`
    `java.util.List<Contract>` | `list(ContractFilters contractFilters, java.util.List<FilterEntityAttr> entityFilter, java.lang.String orderBy, Page page)`
    `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)` Deprecated. `list(ContractFilters, List, Page)`
    `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, java.lang.String orderBy, Page page)` Deprecated. `list(ContractFilters, List, String, Page)`
    `void` | `update(Contract contract)`
    `boolean` | `updateContractParameter(int contractId, EntityAttr entityAttr)`
    `void` | `updateContractParameters(int contractId, java.util.Map<java.lang.Integer,EntityAttr> entityAttributes)` Deprecated.
    `void` | `updateDomain(int contractId, int domainId)`
    `protected void` | `updateImpl(Contract contract)`
    `void` | `updateParameter(int contractId, EntityAttr a)` Deprecated.
    `void` | `updatePassword(int contractId, java.lang.String password)`

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

      `checkEntityAttribute, checkEntitySpecAttrDelete, filterInit, filterJoin, filterToPS, getAllEntityAttributes, getAttribute, getEntityAttribute, getEntityAttributes, getEntityTableName, getEntityValueForIds, 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, getPeriod, getSQLOrder, getTableName, list, list, listImpl, listImpl, listImplPS, listImplPS, 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 Detail

    - #### ContractDao

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

  - ### Method Detail

    - #### getEntitySpecDirectory

          public Directory<? extends Id> getEntitySpecDirectory()
                                                         throws ru.bitel.bgbilling.common.BGException

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

    - #### getEntitySpecAttrDirectory

          protected Directory<? extends EntitySpecAttr> getEntitySpecAttrDirectory()
                                                                            throws ru.bitel.bgbilling.common.BGException

      Overrides:
        `getEntitySpecAttrDirectory` 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

      Specified by:
        `getFromRS` in class `AbstractEntityAttrDao<Contract>`
      Throws:
        `java.sql.SQLException`

    - #### updateContractParameter

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

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

    - #### updateContractParameters

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

      Deprecated.
      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

      Возвращает map параметров договора.
      Если параметр не заведен (не указан, не добавлен), то данный параметр будет отсутствовать в результате. Примером может служить параметр типа флаг - отсутствие параметра означает false.
      Parameters:
        `contractId` - ID договора.
        `paramGroupId` - ID группы параметров. Если значение >0, то выдаются параметры указанной группы, иначе - все параметры.
      Returns:
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### getContractParameterValuesForParameterIds

          public java.util.Map<java.lang.Integer,java.lang.String> getContractParameterValuesForParameterIds(int contractId,
                                                                                                             java.util.Set<java.lang.Integer> parameterIds)
                                                                                                      throws ru.bitel.bgbilling.common.BGException

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

    - #### getContractParameter

          public EntityAttr getContractParameter(int contractId,
                                                 int parameterId)
                                          throws ru.bitel.bgbilling.common.BGException

      Получение параметра договора.
      Parameters:
        `contractId` - ID договора
        `parameterId` - ID параметра
      Returns:
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### update

          public void update(Contract contract)
                      throws ru.bitel.bgbilling.common.BGException

      Overrides:
        `update` in class `ru.bitel.common.dao.AbstractDao<Contract>`
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### updateImpl

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

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

    - #### updateParameter

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

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

    - #### list

          @Deprecated
          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

      Deprecated. `list(ContractFilters, List, Page)`
      Parameters:
        `title` -
        `comment` -
        `fc` - -1 - все
        `groupMaskAnd` - маска групп
        `group` - = маске групп
        `firm` - reserved
        `entityFilter` -
        `subContracts` - включать ли субдоговора в результат
        `closed` - включать ли закрытые на текущий момент
        `hidden` - включать ли скрытые
        `page` -
      Returns:
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### list

          public java.util.List<Contract> list(ContractFilters contractFilters,
                                               java.util.List<FilterEntityAttr> entityFilter,
                                               Page page)
                                        throws ru.bitel.bgbilling.common.BGException

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

    - #### list

          @Deprecated
          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,
                                                           java.lang.String orderBy,
                                                           Page page)
                                                    throws ru.bitel.bgbilling.common.BGException

      Deprecated. `list(ContractFilters, List, String, Page)`
      Parameters:
        `title` -
        `comment` -
        `fc` - -1 - все
        `groupMaskAnd` - маска групп
        `group` - = маске групп
        `firm` - reserved
        `entityFilter` -
        `subContracts` - включать ли субдоговора в результат
        `closed` - включать ли закрытые на текущий момент
        `hidden` - включать ли скрытые
        `page` -
      Returns:
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### list

          public java.util.List<Contract> list(ContractFilters contractFilters,
                                               java.util.List<FilterEntityAttr> entityFilter,
                                               java.lang.String orderBy,
                                               Page page)
                                        throws ru.bitel.bgbilling.common.BGException

      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:
        `contractId` - - код супер договора.
        `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`

    - #### addContractGroupFilter

          public static void addContractGroupFilter(java.lang.StringBuilder where,
                                                    int userId)

    - #### updateDomain

          public void updateDomain(int contractId,
                                   int domainId)
                            throws ru.bitel.bgbilling.common.BGException

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

    - #### getContractForTextlikeParamValue

          public java.util.List<Contract> getContractForTextlikeParamValue(int pid,
                                                                           java.lang.String value)

      Получает договор по текстовому значению/представлению некоторого параметра неопределённого типа. Примерно как ContractParameterManager.getTextlikeParam В отличие от поиска берёт только полноценное совпадение. Работают: текстовые, email, телефон.

    - #### contractListByFilter

          public java.lang.String contractListByFilter(ContractFilters contractFilters,
                                                       java.util.List<FilterEntityAttr> entityFilter,
                                                       Page page)
                                                throws ru.bitel.bgbilling.common.BGException

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

    - #### checkContractParameter

          public void checkContractParameter(EntityAttr entityAttr)
                                      throws ru.bitel.bgbilling.common.BGException

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