Package ru.bitel.bgbilling.server.util

# Class ScriptUtils

java.lang.Object
ru.bitel.bgbilling.kernel.base.server.logger.BGLogger
ru.bitel.bgbilling.server.util.ScriptUtils

All Implemented Interfaces:
  `AutoCloseable`

public class ScriptUtils extends ru.bitel.bgbilling.kernel.base.server.logger.BGLogger implements AutoCloseable
Всякие общие методы, удобные в скприптах и конвертерах.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ScriptUtils(Connection con)`
  `ScriptUtils(DefaultServerSetup setup, Connection con)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addContractAddressParameter(int cid, int pid, int countryId, int cityId, int streetId, int houseId, String flat, String streetUserValue, String houseUserValue)`
  добавление параметра-адреса на договор если houseId задан успешно - сделается нормальный адрес, иначе "пользовательское значение"
  `void`
  `addContractCharge(int cid, int chargeTypeId, Date date, BigDecimal sum, String comment)`
  `void`
  `addContractGroup(int contractId, int groupId)`
  Установка группы для договора (добавление договора в указанную группу)
  `void`
  `addContractModule(int cid, int mid)`
  добавление модуля на договор
  `void`
  `addContractParameter(int contractId, int parameterId, String value)`
  добавление параметра (любого типа) на договор
  `void`
  `addContractParameter(int contractId, int parameterId, String value, String comment)`
  Добавление параметра (любого типа) на договор
  `void`
  `addContractPayment(int cid, int paymentTypeId, Date date, BigDecimal sum, String comment)`
  `void`
  `addContractTariff(int cid, int tariffId, Date date1, String comment)`
  добавление тарифа на договор
  `int`
  `addNewTariff(String title)`
  Добавляем новый тариф.
  `boolean`
  `checkOnGroup(int contractId, long contractGroups)`
  Быстрая проверка состоит ли указанный contractId в группе(ах) заданной маской
  `void`
  `close()`
  `void`
  `deleteContractGroup(int contractId, int groupId)`
  Удаление договора из указанной группы
  `BigDecimal`
  `getBalance(Date time, int contractId)`
  получение баланса за указанный месяц
  `Map<String,Integer>`
  `getBillingTariffMap()`
  Мэп тарифов: заголовок => айдишник.
  `String`
  `getContractParameter(int contractId, int parameterId)`
  Получение параметра договора любого типа в виде строки.
  `AddressStruct`
  `getContractParameterAddress(int contractId, int pidAddress)`
  Получение адресного параметра договора в виде AddressStruct.
  `List<Contract>`
  `getGroupContracts(long groupMask)`
  Список договоров по группе.
  `boolean`
  `isContractParameterAddress(int pidAddress)`
  Параметр существует и является адресным параметром
  `Optional<AddressStruct>`
  `optContractParameterAddress(int contractId, int pidAddress)`
  `int`
  `removeContracts(int group)`
  Удаление договоров из указанной группы, используется ContractRemover.
  `int`
  `removeContracts(long groups)`
  Удаление договоров из указанных групп, записанных в виде маски длинного целого (`Utils.enumToMask(String)`.
  `int`
  `removeContracts(long groups, String exceptIds)`
  Удаление договоров из указанных групп, записанных в виде маски длинного целого (`Utils.enumToMask(String)` за исключением договоров с кодами, перечисленными в переменной exceptIds.
  `void`
  `removeContractsMultiThread(int group, String exceptIds, int theadCount)`
  многопоточной удаление договоров.
  `void`
  `setBalance(int contractId, Date date)`
  пересчёт баланса за указанный месяц
  `void`
  `setStatus(int contractId, int status, Date dateFrom, String comment)`
  `void`
  `setStatus(int contractId, int status, Date dateFrom, String comment, boolean processEvent)`
  `void`
  `updateNote(int contractId, String title, String text)`
  добавление Note на договоре

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

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

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

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

- ## Constructor Details

  - ### ScriptUtils

    public ScriptUtils(DefaultServerSetup setup, Connection con)

  - ### ScriptUtils

    public ScriptUtils(Connection con)

- ## Method Details

  - ### close

    public void close() throws ru.bitel.bgbilling.common.BGException
    Specified by:
      `close` in interface `AutoCloseable`
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### addContractParameter

    public void addContractParameter(int contractId, int parameterId, String value) throws Exception
    добавление параметра (любого типа) на договор
    Throws:
      `Exception`

  - ### addContractParameter

    public void addContractParameter(int contractId, int parameterId, String value, String comment) throws Exception
    Добавление параметра (любого типа) на договор
    Parameters:
      `contractId` - код договора, для которого добавляется параметр
      `parameterId` - код параметра договора
      `value` - значение.
      `comment` - комментарий для параметров, которые это поддерживают (например, параметр типа телефон, email) либо некая доп. информация, которая нужна для работы с параметром (например, формат даты для параметра типа дата)
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `Exception`

  - ### getContractParameter

    public String getContractParameter(int contractId, int parameterId) throws Exception
    Получение параметра договора любого типа в виде строки.
    Throws:
      `Exception`

  - ### getContractParameterAddress

    public AddressStruct getContractParameterAddress(int contractId, int pidAddress)
    Получение адресного параметра договора в виде AddressStruct.

  - ### optContractParameterAddress

    public Optional<AddressStruct> optContractParameterAddress(int contractId, int pidAddress)

  - ### isContractParameterAddress

    public boolean isContractParameterAddress(int pidAddress) throws Exception
    Параметр существует и является адресным параметром
    Throws:
      `Exception`

  - ### addContractAddressParameter

    public void addContractAddressParameter(int cid, int pid, int countryId, int cityId, int streetId, int houseId, String flat, String streetUserValue, String houseUserValue) throws Exception
    добавление параметра-адреса на договор если houseId задан успешно - сделается нормальный адрес, иначе "пользовательское значение"
    Throws:
      `Exception`

  - ### getBillingTariffMap

    public Map<String,Integer> getBillingTariffMap() throws SQLException
    Мэп тарифов: заголовок => айдишник.
    Throws:
      `SQLException`

  - ### addNewTariff

    public int addNewTariff(String title) throws Exception
    Добавляем новый тариф.
    Throws:
      `Exception`

  - ### addContractTariff

    public void addContractTariff(int cid, int tariffId, Date date1, String comment) throws Exception
    добавление тарифа на договор
    Throws:
      `Exception`

  - ### addContractGroup

    public void addContractGroup(int contractId, int groupId) throws ru.bitel.bgbilling.common.BGException
    Установка группы для договора (добавление договора в указанную группу)
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### deleteContractGroup

    public void deleteContractGroup(int contractId, int groupId) throws ru.bitel.bgbilling.common.BGException
    Удаление договора из указанной группы
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### checkOnGroup

    public boolean checkOnGroup(int contractId, long contractGroups) throws ru.bitel.bgbilling.common.BGException
    Быстрая проверка состоит ли указанный contractId в группе(ах) заданной маской
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getGroupContracts

    public List<Contract> getGroupContracts(long groupMask) throws ru.bitel.bgbilling.common.BGException
    Список договоров по группе.
    Parameters:
      `con` -
      `groupMask` - маска групп, в которых должен быть договор (всех из них), 0 если не требуется. Для одной группы, например: 1L << groupNum
    Returns:
      список договоров
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### removeContracts

    public int removeContracts(int group) throws Exception
    Удаление договоров из указанной группы, используется ContractRemover. Возвращает кол-во удалённых.
    Parameters:
      `group` - номер группы
    Throws:
      `SQLException`
      `ru.bitel.bgbilling.common.BGException`
      `Exception`

  - ### removeContracts

    public int removeContracts(long groups) throws Exception
    Удаление договоров из указанных групп, записанных в виде маски длинного целого (`Utils.enumToMask(String)`. Используется ContractRemover. Возвращает кол-во удалённых.
    Parameters:
      `groups` -
    Returns:
    Throws:
      `Exception`

  - ### removeContracts

    public int removeContracts(long groups, String exceptIds) throws Exception
    Удаление договоров из указанных групп, записанных в виде маски длинного целого (`Utils.enumToMask(String)` за исключением договоров с кодами, перечисленными в переменной exceptIds. Используется ContractRemover. Возвращает кол-во удалённых.
    Parameters:
      `groups` -
    Returns:
    Throws:
      `Exception`

  - ### removeContractsMultiThread

    public void removeContractsMultiThread(int group, String exceptIds, int theadCount) throws SQLException, ru.bitel.bgbilling.common.BGException
    многопоточной удаление договоров. На моей машине с 4 потоками( 2 процессора по 2 потока), опимальным явлетстя 3 потока - дает прирост в 25%. Больше время не уменьшается
    Parameters:
      `con` -
      `setup` -
      `group` -
      `exceptIds` -
      `theadCount` -
    Throws:
      `SQLException`
      `ru.bitel.bgbilling.common.BGException`

  - ### setBalance

    public void setBalance(int contractId, Date date) throws ru.bitel.bgbilling.common.BGException
    пересчёт баланса за указанный месяц
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getBalance

    public BigDecimal getBalance(Date time, int contractId) throws ru.bitel.bgbilling.common.BGException
    получение баланса за указанный месяц
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### addContractPayment

    public void addContractPayment(int cid, int paymentTypeId, Date date, BigDecimal sum, String comment) throws Exception
    Throws:
      `Exception`

  - ### addContractCharge

    public void addContractCharge(int cid, int chargeTypeId, Date date, BigDecimal sum, String comment) throws Exception
    Throws:
      `Exception`

  - ### addContractModule

    public void addContractModule(int cid, int mid) throws ru.bitel.bgbilling.common.BGException
    добавление модуля на договор
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### updateNote

    public void updateNote(int contractId, String title, String text) throws Exception
    добавление Note на договоре
    Throws:
      `Exception`

  - ### setStatus

    public void setStatus(int contractId, int status, Date dateFrom, String comment) throws Exception
    Throws:
      `Exception`

  - ### setStatus

    public void setStatus(int contractId, int status, Date dateFrom, String comment, boolean processEvent) throws Exception
    Throws:
      `Exception`