bitel.billing.server.contract.bean

## Class ContractParameterManager

- java.lang.Object
- - bitel.billing.server.contract.bean.ContractParameterManager

- All Implemented Interfaces:
    java.lang.AutoCloseable
  Direct Known Subclasses:
    ContractParamUtils

      public class ContractParameterManager
      extends java.lang.Object
      implements java.lang.AutoCloseable

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected java.sql.Connection` | `con`
    `static java.lang.String` | `CONTRACT_PARAMETER_TYPE_ADDRESS`
    `static java.lang.String` | `CONTRACT_PARAMETER_TYPE_BOOLEAN`
    `static java.lang.String` | `CONTRACT_PARAMETER_TYPE_CONTRACT`
    `static java.lang.String` | `CONTRACT_PARAMETER_TYPE_DATE`
    `static java.lang.String` | `CONTRACT_PARAMETER_TYPE_EMAIL`
    `static java.lang.String` | `CONTRACT_PARAMETER_TYPE_LIST`
    `static java.lang.String` | `CONTRACT_PARAMETER_TYPE_LIST_VALUES`
    `static java.lang.String` | `CONTRACT_PARAMETER_TYPE_MULTILIST`
    `static java.lang.String` | `CONTRACT_PARAMETER_TYPE_MULTILIST_ITEM`
    `static java.lang.String` | `CONTRACT_PARAMETER_TYPE_MULTILIST_VALUES`
    `static java.lang.String` | `CONTRACT_PARAMETER_TYPE_PHONE`
    `static java.lang.String` | `CONTRACT_PARAMETER_TYPE_PHONE_ITEM`
    `static java.lang.String` | `CONTRACT_PARAMETER_TYPE_SERVICING_PERSON`
    `static java.lang.String` | `CONTRACT_PARAMETER_TYPE_STRING`
    `static java.lang.String` | `CONTRACT_PARAMETERS_PREF`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ContractParameterManager(java.sql.Connection con)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `checkMultiListValue(int val, int pid)`
    `void` | `clearParameterHistory(int cid, int pid, int parameterTypeId)` Очищает историю параметра договора.
    `void` | `close()`
    `void` | `copyContractParams(java.lang.String where, java.util.Map<java.lang.String,bitel.billing.server.util.db.ColumnValue> valuesPairs)` Копирование параметров договора.
    `void` | `deleteAddressParam(int cid, int pid, int userId)` Удаление адресного параметра
    `void` | `deleteContractRefParam(int cid, int pid, int userId)` Удаление параметра типа "Ссылка на договор"
    `ContractParameterManager` | `deleteDateParam(int cid, int pid, int userId)` Удаляет параметр типа "Дата"
    `ContractParameterManager` | `deleteFlagParam(int cid, int pid, int userId)` Удаление параметра типа "флаг"
    `void` | `deleteListCustomValue(java.lang.String customValue, int pid)`
    `ContractParameterManager` | `deleteListParam(int cid, int pid, int userId)` Удаление спискового параметра
    `void` | `deleteListValue(int id)`
    `void` | `deleteMultiListCustomValue(java.lang.String customValue, int pid)`
    `void` | `deleteMultiListValue(int id)`
    `void` | `deleteParam(int parameterId)` Удаление параметра
    `void` | `deleteParamForContractByType(int parameterTypeId, int contractId)`
    `void` | `deleteParamLog(int parameterId)` Удаление истории параметра определенного типа
    `void` | `deleteParamLogForContractByType(int parameterTypeId, int contractId)`
    `void` | `deletePhoneParam(int cid, int pid, int userId)` Удаление параметра типа "Телефон"
    `ContractParameterManager` | `deleteStringParam(int cid, int pid, int userId)` Удаление строкового параметра
    `java.util.Map<java.lang.Integer,java.lang.Integer>` | `getAddressCustomParam()` Получение Map с новыми пользовательскими адресами, где key - это id параметра, а value - количество новых адресов этого параметра
    `ContractAddressParamValue` | `getAddressParam(int cid, int pid)` Получение параметра типа адрес
    `java.util.Map<java.lang.Integer,ContractAddressParamValue>` | `getAddressParamMap(int cid, java.util.Set<java.lang.Integer> pids)`
    `java.util.List<IdTitle>` | `getAllParams(int cid, java.lang.String tableName, java.lang.String pids)` Возвращает список параметров договора в виде idTitle
    `ListParamValue` | `getContractListParamValue(int contractId, int parameterId)`
    `java.util.Map<java.lang.Integer,ContractParamValue>` | `getContractParamValueMap(int cid)`
    `java.lang.Integer` | `getContractRefParam(int cid, int pid)` Получает параметр типа "Ссылка на договор"
    `java.util.Map<java.lang.Integer,java.lang.Integer>` | `getContractRefParamMap(int cid, java.util.Set<java.lang.Integer> pids)`
    `java.util.Calendar` | `getDateParam(int cid, int pid)` Получает временной параметр для данного договора по данному коду
    `java.util.Map<java.lang.Integer,java.util.Date>` | `getDateParamMap(int cid, java.util.Set<java.lang.Integer> pids)`
    `java.lang.String` | `getEmailFromParam(int cid, int pid)` Получение строкового представление e-mail параметра.
    `ContractEmailParamValue` | `getEmailParam(int cid, int pid)` Получение e-mail параметра
    `java.util.List<java.lang.String>` | `getEmailParameterByContractId(int contractId)`
    `java.util.Map<java.lang.Integer,ContractEmailParamValue>` | `getEmailParamMap(int cid, java.util.Set<java.lang.Integer> pids)`
    `java.lang.Boolean` | `getFlagParam(int contractId, int parameterId)` Получает значение параметра типа "Флаг" Метод возращает объект типа Boolean который может иметь три значения 1) null - параметра нет на договоре и его значение не определено 2) true - параметр есть на договоре и его значение установлено в true 3) false - параметр есть на договоре и его значение установлено в false Предполагается следующий вариант использования этого метода Код: // устанавливаем значение флага по умолчанию true/false boolean flagValue = false; ContractParameterManager cpm = new ContractParameterManager(con); Boolean param = cpm.getFlagParam(contractId, pid); if ( param !
    `boolean` | `getFlagParam(int contractId, int parameterId, boolean defaultValue)` Обертка для метода `getFlagParam(int, int)` возвращающая два значение true/false
    `java.util.Map<java.lang.Integer,java.lang.Boolean>` | `getFlagParamMap(int cid, java.util.Set<java.lang.Integer> pids)`
    `java.lang.Integer` | `getListParam(int cid, int pid)` Получение спискового параметра
    `java.lang.String` | `getListParamValue(int cid, int pid)`
    `java.util.Map<java.lang.Integer,ListParamValue>` | `getListParamValueMap(int cid, java.util.Set<java.lang.Integer> pids)`
    `java.lang.String` | `getListTitle(int id)`
    `java.util.List<IdTitle>` | `getListValues(int parameterId)`
    `int` | `getMultilistParamId(java.lang.String title)`
    `java.lang.String` | `getMultiListParamValue(int cid, int pid)`
    `java.util.Map<java.lang.Integer,MultiListParamValues>` | `getMultiListParamValueMap(int cid, java.util.Set<java.lang.Integer> pids)`
    `java.util.Map<java.lang.Integer,java.lang.String>` | `getMultiListParamValueMapString(int cid, java.util.Set<java.lang.Integer> pids)`
    `MultiListParamValues` | `getMultiListParamValues(int contractId, int parameterId)`
    `java.lang.String` | `getMultiListTitle(int id)`
    `java.util.List<IdTitle>` | `getMultiListValues(int parameterId)`
    `java.util.List<ParameterHistoryEntry>` | `getParameterHistory(int cid, int pid)` Получает историю параметра
    `java.util.List<IdTitle>` | `getParameterListValues(int parameterId)` Deprecated.
    `ContractParameterPref` | `getParamPref(int parameterId)` Возвращает описание типа параметра по типу самого параметра
    `PhoneParamValue` | `getPhoneParam(int cid, int pid)` Возвращает значение параметра типа phone
    `java.util.Map<java.lang.Integer,PhoneParamValue>` | `getPhoneParamMap(int contractId, java.util.Set<java.lang.Integer> pids)`
    `java.lang.String` | `getStringParam(int cid, int pid)` Возвращает текстовый параметр
    `java.util.Map<java.lang.Integer,java.lang.String>` | `getStringParamMap(int cid, java.util.Set<java.lang.Integer> pids)`
    `java.lang.String` | `getTableName(int parameterTypeId)` Получает название таблицы БД для параметра этого типа.
    `java.lang.String` | `getTextlikeParam(int contractId, int pid)` Получает параметр который можно трактовать как текст, т.е. текст, мыло, телефон итд.
    `java.util.HashMap<java.lang.Integer,java.lang.String>` | `getValuesForPids(java.util.List<java.lang.Integer> pids, int cid)` Deprecated.
    `java.util.HashMap<java.lang.Integer,java.lang.String>` | `getValuesForPids(java.util.Set<java.lang.Integer> pids, int contractId)` Возвращает строковые значения переданных параметров договора для данного договора.
    `boolean` | `isListValueUsed(int id)`
    `boolean` | `isMultiListValueUsed(int id)`
    `void` | `replaceCustomListValue(int id, int pid, java.lang.String customValue)`
    `void` | `replaceMultiListCustomValues(int id, int pid, java.lang.String customValue)`
    `static void` | `resetParametersHistoryMap()` Сбрасывает кеш с флагами о необходимости ввести историю параметров
    `void` | `searchCustomAddress(SearchResult<java.lang.String[]> searchResult, int parameterId)` Возвращает список кастомных адресов
    `void` | `setContractRefParam(int cid, int pid, int value, int userId)` Установка параметра типа "Ссылка на договор"
    `void` | `setFlagParam(int cid, int pid, boolean value)` Deprecated. заменен на `updateFlagParam(int, int, boolean, int)`
    `void` | `setFlagParam(int cid, int pid, boolean value, int userId)` Deprecated. использовать `updateFlagParam(int, int, boolean, int)`
    `MultiListParamValues` | `setMultiListTitleValues(MultiListParamValues listValues)`
    `void` | `setStringParam(int cid, int pid, java.lang.String value, int userId)` Deprecated.
    `void` | `updateAddressParam(int cid, int pid, ContractAddressParamValue value, int userId)` Установка адресного параметра
    `void` | `updateDateParam(int cid, int pid, java.util.Date value, int userId)` Установка параметра типа "дата" для договора
    `void` | `updateEmailParam(int contractId, int parameterId, ContractEmailParamValue value, int userId)` Установка параметра "Электронный адрес"
    `void` | `updateEmailParamLog(int contractId, int parameterId, ContractEmailParamValue value, int userId)`
    `void` | `updateFlagParam(int cid, int pid, boolean value, int userId)` Установка значения типа "Флаг" для данного договора
    `void` | `updateListParam(int cid, int pid, ListParamValue value, int userId)` Установка значения списковго параметра
    `void` | `updateListParamLog(int cid, int pid, java.lang.Integer value, java.lang.String customValue, int userId)` Обновление истории спискового параметра
    `int` | `updateListValue(int id, int pid, java.lang.String title)`
    `void` | `updateMultiListParameter(java.sql.Connection con, int cid, int pid, MultiListParamValues values, int userID)`
    `void` | `updateMultiListParameter(int cid, int pid, MultiListParamValues values, int userID)`
    `void` | `updateMultiListParameterAndItems(int cid, int pid, MultiListParamValues values, int userId)` Установка значения мультиспискового параметра
    `int` | `updateMultiListParameterValue(int id, int pid, java.lang.String title)`
    `void` | `updateMultiListParamLog(int cid, int pid, java.lang.String value, int userId)` Обновление истории мультиспискового параметра
    `void` | `updatePhoneParam(int cid, int pid, PhoneParamValue value, int userId)` Обновление параметра типа "Телефон"
    `void` | `updateStringParam(int cid, int pid, java.lang.String value, int userId)` Установка текстового параметра
    `void` | `updateTextParam(int cid, int pid, java.lang.String value, int userId)` Deprecated.

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

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

- - ### Field Detail

    - #### CONTRACT_PARAMETERS_PREF

          public static final java.lang.String CONTRACT_PARAMETERS_PREF

      See Also:
        Constant Field Values

    - #### CONTRACT_PARAMETER_TYPE_STRING

          public static final java.lang.String CONTRACT_PARAMETER_TYPE_STRING

    - #### CONTRACT_PARAMETER_TYPE_ADDRESS

          public static final java.lang.String CONTRACT_PARAMETER_TYPE_ADDRESS

    - #### CONTRACT_PARAMETER_TYPE_EMAIL

          public static final java.lang.String CONTRACT_PARAMETER_TYPE_EMAIL

    - #### CONTRACT_PARAMETER_TYPE_SERVICING_PERSON

          public static final java.lang.String CONTRACT_PARAMETER_TYPE_SERVICING_PERSON

    - #### CONTRACT_PARAMETER_TYPE_BOOLEAN

          public static final java.lang.String CONTRACT_PARAMETER_TYPE_BOOLEAN

    - #### CONTRACT_PARAMETER_TYPE_DATE

          public static final java.lang.String CONTRACT_PARAMETER_TYPE_DATE

    - #### CONTRACT_PARAMETER_TYPE_LIST

          public static final java.lang.String CONTRACT_PARAMETER_TYPE_LIST

    - #### CONTRACT_PARAMETER_TYPE_LIST_VALUES

          public static final java.lang.String CONTRACT_PARAMETER_TYPE_LIST_VALUES

      See Also:
        Constant Field Values

    - #### CONTRACT_PARAMETER_TYPE_CONTRACT

          public static final java.lang.String CONTRACT_PARAMETER_TYPE_CONTRACT

    - #### CONTRACT_PARAMETER_TYPE_PHONE

          public static final java.lang.String CONTRACT_PARAMETER_TYPE_PHONE

    - #### CONTRACT_PARAMETER_TYPE_PHONE_ITEM

          public static final java.lang.String CONTRACT_PARAMETER_TYPE_PHONE_ITEM

      See Also:
        Constant Field Values

    - #### CONTRACT_PARAMETER_TYPE_MULTILIST

          public static final java.lang.String CONTRACT_PARAMETER_TYPE_MULTILIST

    - #### CONTRACT_PARAMETER_TYPE_MULTILIST_ITEM

          public static final java.lang.String CONTRACT_PARAMETER_TYPE_MULTILIST_ITEM

      See Also:
        Constant Field Values

    - #### CONTRACT_PARAMETER_TYPE_MULTILIST_VALUES

          public static final java.lang.String CONTRACT_PARAMETER_TYPE_MULTILIST_VALUES

      See Also:
        Constant Field Values

    - #### con

          protected java.sql.Connection con

  - ### Constructor Detail

    - #### ContractParameterManager

          public ContractParameterManager(java.sql.Connection con)

  - ### Method Detail

    - #### resetParametersHistoryMap

          public static void resetParametersHistoryMap()

      Сбрасывает кеш с флагами о необходимости ввести историю параметров

    - #### getDateParam

          public java.util.Calendar getDateParam(int cid,
                                                 int pid)

      Получает временной параметр для данного договора по данному коду
      Parameters:
        `cid` - код договора
        `pid` - код параметра
      Returns:

    - #### getDateParamMap

          public java.util.Map<java.lang.Integer,java.util.Date> getDateParamMap(int cid,
                                                                                 java.util.Set<java.lang.Integer> pids)
                                                                          throws ru.bitel.bgbilling.common.BGException

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

    - #### updateDateParam

          public void updateDateParam(int cid,
                                      int pid,
                                      java.util.Date value,
                                      int userId)

      Установка параметра типа "дата" для договора
      Parameters:
        `cid` - код договора
        `pid` - код параметра договора
        `value` - дата
        `userId` - код пользователя устанавливающего новое значение

    - #### deleteDateParam

          public ContractParameterManager deleteDateParam(int cid,
                                                          int pid,
                                                          int userId)
                                                   throws ru.bitel.bgbilling.common.BGException

      Удаляет параметр типа "Дата"
      Parameters:
        `cid` - код договора
        `pid` - код параметра
        `userId` - кто удалил
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### getFlagParam

          public java.lang.Boolean getFlagParam(int contractId,
                                                int parameterId)

      Получает значение параметра типа "Флаг"

      Метод возращает объект типа Boolean который может иметь три значения
      1) null - параметра нет на договоре и его значение не определено
      2) true - параметр есть на договоре и его значение установлено в true
      3) false - параметр есть на договоре и его значение установлено в false

      Предполагается следующий вариант использования этого метода

      Код:
      // устанавливаем значение флага по умолчанию true/false
      boolean flagValue = false;
      ContractParameterManager cpm = new ContractParameterManager(con);
      Boolean param = cpm.getFlagParam(contractId, pid);
      if ( param != null ) flagValue = param.booleanValue();

      Parameters:
        `contractId` - id договора
        `parameterId` - id параметра

    - #### getFlagParam

          public boolean getFlagParam(int contractId,
                                      int parameterId,
                                      boolean defaultValue)

      Обертка для метода `getFlagParam(int, int)` возвращающая два значение true/false
      Parameters:
        `contractId` - id договора
        `parameterId` - id параметра
        `defaultValue` - значение параметра при null
      Returns:

    - #### getFlagParamMap

          public java.util.Map<java.lang.Integer,java.lang.Boolean> getFlagParamMap(int cid,
                                                                                    java.util.Set<java.lang.Integer> pids)
                                                                             throws ru.bitel.bgbilling.common.BGException

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

    - #### setFlagParam

          @Deprecated
          public void setFlagParam(int cid,
                                               int pid,
                                               boolean value)

      Deprecated. заменен на `updateFlagParam(int, int, boolean, int)`
      Вызов setFlagParam( cid, pid, value, 0 );
      Parameters:
        `cid` - код договора
        `pid` - код параметра
        `value` - значение

    - #### setFlagParam

          public void setFlagParam(int cid,
                                   int pid,
                                   boolean value,
                                   int userId)

      Deprecated. использовать `updateFlagParam(int, int, boolean, int)`
      Parameters:
        `cid` -
        `pid` -
        `value` -
        `userId` -

    - #### updateFlagParam

          public void updateFlagParam(int cid,
                                      int pid,
                                      boolean value,
                                      int userId)

      Установка значения типа "Флаг" для данного договора
      Parameters:
        `cid` - код договора
        `pid` - код параметра
        `value` - значение
        `userId` - кто изменил

    - #### deleteFlagParam

          public ContractParameterManager deleteFlagParam(int cid,
                                                          int pid,
                                                          int userId)
                                                   throws ru.bitel.bgbilling.common.BGException

      Удаление параметра типа "флаг"
      Parameters:
        `cid` - код договора
        `pid` - код параметра
        `userId` - кто удалил
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### getStringParam

          public java.lang.String getStringParam(int cid,
                                                 int pid)

      Возвращает текстовый параметр

    - #### getStringParamMap

          public java.util.Map<java.lang.Integer,java.lang.String> getStringParamMap(int cid,
                                                                                     java.util.Set<java.lang.Integer> pids)
                                                                              throws ru.bitel.bgbilling.common.BGException

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

    - #### getPhoneParam

          public PhoneParamValue getPhoneParam(int cid,
                                               int pid)

      Возвращает значение параметра типа phone
      Parameters:
        `cid` - код договора
        `pid` - код параметра
      Returns:
        Объект со значение параметра или null

    - #### getPhoneParamMap

          public java.util.Map<java.lang.Integer,PhoneParamValue> getPhoneParamMap(int contractId,
                                                                                   java.util.Set<java.lang.Integer> pids)
                                                                            throws ru.bitel.bgbilling.common.BGException

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

    - #### updateStringParam

          public void updateStringParam(int cid,
                                        int pid,
                                        java.lang.String value,
                                        int userId)
                                 throws ru.bitel.bgbilling.common.BGException

      Установка текстового параметра
      Parameters:
        `cid` - код договора
        `pid` - код параметра
        `value` - значение
        `userId` - кто изменил
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### setStringParam

          @Deprecated
          public void setStringParam(int cid,
                                                 int pid,
                                                 java.lang.String value,
                                                 int userId)

      Deprecated.
      Использовать `updateStringParam(int, int, String, int)`. Будет удалён в 5.3.

    - #### updateTextParam

          @Deprecated
          public void updateTextParam(int cid,
                                                  int pid,
                                                  java.lang.String value,
                                                  int userId)

      Deprecated.
      Использовать `updateStringParam(int, int, String, int)`. Будет удалён в 5.3.

    - #### deleteStringParam

          public ContractParameterManager deleteStringParam(int cid,
                                                            int pid,
                                                            int userId)
                                                     throws ru.bitel.bgbilling.common.BGException

      Удаление строкового параметра
      Parameters:
        `cid` - код договора
        `pid` - код параметра
        `userId` - кто изменил
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### setContractRefParam

          public void setContractRefParam(int cid,
                                          int pid,
                                          int value,
                                          int userId)

      Установка параметра типа "Ссылка на договор"
      Parameters:
        `cid` - код договора
        `pid` - код параметра
        `value` - значение
        `userId` - кто изменил

    - #### getContractRefParam

          public java.lang.Integer getContractRefParam(int cid,
                                                       int pid)

      Получает параметр типа "Ссылка на договор"
      Parameters:
        `cid` - код договора
        `pid` - код параметра
      Returns:
        параметр типа "Ссылка на договор"

    - #### getContractRefParamMap

          public java.util.Map<java.lang.Integer,java.lang.Integer> getContractRefParamMap(int cid,
                                                                                           java.util.Set<java.lang.Integer> pids)
                                                                                    throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### deleteContractRefParam

          public void deleteContractRefParam(int cid,
                                             int pid,
                                             int userId)
                                      throws ru.bitel.bgbilling.common.BGException

      Удаление параметра типа "Ссылка на договор"
      Parameters:
        `cid` -
        `pid` -
        `userId` -
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### getListParam

          public java.lang.Integer getListParam(int cid,
                                                int pid)

      Получение спискового параметра

    - #### isListValueUsed

          public boolean isListValueUsed(int id)
                                  throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### isMultiListValueUsed

          public boolean isMultiListValueUsed(int id)
                                       throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### getListParamValue

          public java.lang.String getListParamValue(int cid,
                                                    int pid)
                                             throws ru.bitel.bgbilling.common.BGException

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

    - #### getMultiListParamValue

          public java.lang.String getMultiListParamValue(int cid,
                                                         int pid)
                                                  throws ru.bitel.bgbilling.common.BGException

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

    - #### getListParamValueMap

          public java.util.Map<java.lang.Integer,ListParamValue> getListParamValueMap(int cid,
                                                                                      java.util.Set<java.lang.Integer> pids)
                                                                               throws ru.bitel.bgbilling.common.BGException

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

    - #### getMultiListParamValueMapString

          public java.util.Map<java.lang.Integer,java.lang.String> getMultiListParamValueMapString(int cid,
                                                                                                   java.util.Set<java.lang.Integer> pids)
                                                                                            throws ru.bitel.bgbilling.common.BGException

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

    - #### getMultiListParamValueMap

          public java.util.Map<java.lang.Integer,MultiListParamValues> getMultiListParamValueMap(int cid,
                                                                                                 java.util.Set<java.lang.Integer> pids)
                                                                                          throws ru.bitel.bgbilling.common.BGException

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

    - #### updateListParam

          public void updateListParam(int cid,
                                      int pid,
                                      ListParamValue value,
                                      int userId)

      Установка значения списковго параметра

    - #### updateMultiListParameterAndItems

          public void updateMultiListParameterAndItems(int cid,
                                                       int pid,
                                                       MultiListParamValues values,
                                                       int userId)

      Установка значения мультиспискового параметра

    - #### updateMultiListParameter

          public void updateMultiListParameter(int cid,
                                               int pid,
                                               MultiListParamValues values,
                                               int userID)

    - #### updateMultiListParameter

          public void updateMultiListParameter(java.sql.Connection con,
                                               int cid,
                                               int pid,
                                               MultiListParamValues values,
                                               int userID)

    - #### updateListParamLog

          public void updateListParamLog(int cid,
                                         int pid,
                                         java.lang.Integer value,
                                         java.lang.String customValue,
                                         int userId)

      Обновление истории спискового параметра

    - #### updateMultiListParamLog

          public void updateMultiListParamLog(int cid,
                                              int pid,
                                              java.lang.String value,
                                              int userId)

      Обновление истории мультиспискового параметра

    - #### getListTitle

          public java.lang.String getListTitle(int id)
                                        throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### getMultiListTitle

          public java.lang.String getMultiListTitle(int id)
                                             throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### getListValues

          public java.util.List<IdTitle> getListValues(int parameterId)
                                                throws ru.bitel.bgbilling.common.BGException

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

    - #### getMultiListValues

          public java.util.List<IdTitle> getMultiListValues(int parameterId)
                                                     throws ru.bitel.bgbilling.common.BGException

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

    - #### getContractListParamValue

          public ListParamValue getContractListParamValue(int contractId,
                                                          int parameterId)
                                                   throws ru.bitel.bgbilling.common.BGException

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

    - #### getMultiListParamValues

          public MultiListParamValues getMultiListParamValues(int contractId,
                                                              int parameterId)
                                                       throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### updateMultiListParameterValue

          public int updateMultiListParameterValue(int id,
                                                   int pid,
                                                   java.lang.String title)
                                            throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### replaceMultiListCustomValues

          public void replaceMultiListCustomValues(int id,
                                                   int pid,
                                                   java.lang.String customValue)
                                            throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### updateListValue

          public int updateListValue(int id,
                                     int pid,
                                     java.lang.String title)
                              throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### replaceCustomListValue

          public void replaceCustomListValue(int id,
                                             int pid,
                                             java.lang.String customValue)
                                      throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### checkMultiListValue

          public boolean checkMultiListValue(int val,
                                             int pid)
                                      throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### deleteListValue

          public void deleteListValue(int id)
                               throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### deleteMultiListValue

          public void deleteMultiListValue(int id)
                                    throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### deleteListCustomValue

          public void deleteListCustomValue(java.lang.String customValue,
                                            int pid)
                                     throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### deleteMultiListCustomValue

          public void deleteMultiListCustomValue(java.lang.String customValue,
                                                 int pid)
                                          throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### getMultilistParamId

          public int getMultilistParamId(java.lang.String title)
                                  throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### setMultiListTitleValues

          public MultiListParamValues setMultiListTitleValues(MultiListParamValues listValues)
                                                       throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### deleteListParam

          public ContractParameterManager deleteListParam(int cid,
                                                          int pid,
                                                          int userId)
                                                   throws ru.bitel.bgbilling.common.BGException

      Удаление спискового параметра
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### getParameterListValues

          @Deprecated
          public java.util.List<IdTitle> getParameterListValues(int parameterId)
                                                                     throws ru.bitel.bgbilling.common.BGException

      Deprecated.
      Deprecated. `getListValues(int)`
      Parameters:
        `parameterId` -
      Returns:
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### getEmailFromParam

          public java.lang.String getEmailFromParam(int cid,
                                                    int pid)

      Получение строкового представление e-mail параметра.
      В начале пытаемся получить e-mail из contract_parameter_type_3, если там нет с таким кодом, то возвращаем из contract_parameter_type_1, то есть из строкового параметра. Если в email будет несколько - вернутся все через \n.
      Parameters:
        `cid` - код договора
        `pid` - параметр
      Returns:
        - строка с e-mail(-ми) или null, если не найден.

    - #### getEmailParam

          public ContractEmailParamValue getEmailParam(int cid,
                                                       int pid)

      Получение e-mail параметра
      Parameters:
        `cid` - код договора
        `pid` - код параметра
      Returns:

    - #### getEmailParamMap

          public java.util.Map<java.lang.Integer,ContractEmailParamValue> getEmailParamMap(int cid,
                                                                                           java.util.Set<java.lang.Integer> pids)
                                                                                    throws ru.bitel.bgbilling.common.BGException

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

    - #### updateEmailParam

          public void updateEmailParam(int contractId,
                                       int parameterId,
                                       ContractEmailParamValue value,
                                       int userId)
                                throws ru.bitel.bgbilling.common.BGException

      Установка параметра "Электронный адрес"
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### updateEmailParamLog

          public void updateEmailParamLog(int contractId,
                                          int parameterId,
                                          ContractEmailParamValue value,
                                          int userId)

    - #### getAddressParam

          public ContractAddressParamValue getAddressParam(int cid,
                                                           int pid)

      Получение параметра типа адрес

    - #### getAddressParamMap

          public java.util.Map<java.lang.Integer,ContractAddressParamValue> getAddressParamMap(int cid,
                                                                                               java.util.Set<java.lang.Integer> pids)
                                                                                        throws ru.bitel.bgbilling.common.BGException

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

    - #### getAddressCustomParam

          public java.util.Map<java.lang.Integer,java.lang.Integer> getAddressCustomParam()

      Получение Map с новыми пользовательскими адресами, где key - это id параметра, а value - количество новых адресов этого параметра

    - #### updateAddressParam

          public void updateAddressParam(int cid,
                                         int pid,
                                         ContractAddressParamValue value,
                                         int userId)
                                  throws ru.bitel.bgbilling.common.BGException

      Установка адресного параметра
      Parameters:
        `cid` -
        `pid` -
        `value` -
        `userId` -
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### deleteAddressParam

          public void deleteAddressParam(int cid,
                                         int pid,
                                         int userId)
                                  throws ru.bitel.bgbilling.common.BGException

      Удаление адресного параметра
      Parameters:
        `cid` - код договора
        `pid` - код параметра
        `userId` - кто удалил
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### updatePhoneParam

          public void updatePhoneParam(int cid,
                                       int pid,
                                       PhoneParamValue value,
                                       int userId)

      Обновление параметра типа "Телефон"
      Parameters:
        `cid` - код договора
        `pid` - код параметра
        `value` - значение
        `userId` - кто изменил

    - #### deletePhoneParam

          public void deletePhoneParam(int cid,
                                       int pid,
                                       int userId)
                                throws ru.bitel.bgbilling.common.BGException

      Удаление параметра типа "Телефон"
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### deleteParamForContractByType

          public void deleteParamForContractByType(int parameterTypeId,
                                                   int contractId)

    - #### deleteParamLogForContractByType

          public void deleteParamLogForContractByType(int parameterTypeId,
                                                      int contractId)

    - #### deleteParam

          public void deleteParam(int parameterId)
                           throws ru.bitel.bgbilling.common.BGException

      Удаление параметра
      Parameters:
        `parameterId` - код параметра
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### deleteParamLog

          public void deleteParamLog(int parameterId)
                              throws ru.bitel.bgbilling.common.BGException

      Удаление истории параметра определенного типа
      Parameters:
        `parameterId` - код параметра
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### getParameterHistory

          public java.util.List<ParameterHistoryEntry> getParameterHistory(int cid,
                                                                           int pid)
                                                                    throws ru.bitel.bgbilling.common.BGException

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

    - #### clearParameterHistory

          public void clearParameterHistory(int cid,
                                            int pid,
                                            int parameterTypeId)
                                     throws java.sql.SQLException

      Очищает историю параметра договора.
      Parameters:
        `cid` - код договора.
        `pid` - код параметра.
        `parameterTypeId` - тип параметра.
      Throws:
        `java.sql.SQLException`

    - #### getTableName

          public java.lang.String getTableName(int parameterTypeId)

      Получает название таблицы БД для параметра этого типа.
      Parameters:
        `parameterTypeId` - (номер) тип параметра.
      Returns:
        строка - имя таблицы БД contract_parameter_type_*.

    - #### getEmailParameterByContractId

          public java.util.List<java.lang.String> getEmailParameterByContractId(int contractId)
                                                                         throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### getAllParams

          public java.util.List<IdTitle> getAllParams(int cid,
                                                      java.lang.String tableName,
                                                      java.lang.String pids)

      Возвращает список параметров договора в виде idTitle
      Parameters:
        `cid` - - id договора
        `tableName` - - имя таблицы параметров
        `pids` - - строка с кодом(ами) параметров, через запятую

    - #### copyContractParams

          public void copyContractParams(java.lang.String where,
                                         java.util.Map<java.lang.String,bitel.billing.server.util.db.ColumnValue> valuesPairs)

      Копирование параметров договора.

    - #### searchCustomAddress

          public void searchCustomAddress(SearchResult<java.lang.String[]> searchResult,
                                          int parameterId)
                                   throws ru.bitel.bgbilling.common.BGException

      Возвращает список кастомных адресов
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### getValuesForPids

          @Deprecated
          public java.util.HashMap<java.lang.Integer,java.lang.String> getValuesForPids(java.util.List<java.lang.Integer> pids,
                                                                                                    int cid)

      Deprecated.

    - #### getValuesForPids

          public java.util.HashMap<java.lang.Integer,java.lang.String> getValuesForPids(java.util.Set<java.lang.Integer> pids,
                                                                                        int contractId)

      Возвращает строковые значения переданных параметров договора для данного договора.
      Parameters:
        `pids` - список кодов параметров
        `contractId` - код договора
      Returns:

    - #### getTextlikeParam

          public java.lang.String getTextlikeParam(int contractId,
                                                   int pid)

      Получает параметр который можно трактовать как текст, т.е. текст, мыло, телефон итд. Как getValuesForPids, только для одного договора и одного параметра. Вернёт null если параметра нет (и возможно если он не заполнен для некоторых типов?)

    - #### getParamPref

          public ContractParameterPref getParamPref(int parameterId)
                                             throws ru.bitel.bgbilling.common.BGException

      Возвращает описание типа параметра по типу самого параметра
      Parameters:
        `parameterId` - тип параметра
      Returns:
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### getContractParamValueMap

          public java.util.Map<java.lang.Integer,ContractParamValue> getContractParamValueMap(int cid)
                                                                                       throws ru.bitel.bgbilling.common.BGException

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

    - #### close

          public void close()
                     throws ru.bitel.bgbilling.common.BGException

      Specified by:
        `close` in interface `java.lang.AutoCloseable`
      Throws:
        `ru.bitel.bgbilling.common.BGException`