Package ru.bitel.bgbilling.modules.sorm.server.utils

# Class SormUtils

java.lang.Object
ru.bitel.bgbilling.modules.sorm.server.utils.SormUtils

    public final class SormUtils
    extends java.lang.Object

Утильный класс, содержащий общеупотребимые методы для выгрузок СОРМ3.

- ## Field Summary

  Fields
  Modifier and Type | Field | Description
  --- | --- | ---
  `static char` | `CSV_SEPARATOR` |
  `static java.lang.String` | `PARAMETER_KEY_REGION` |
  `static java.lang.String` | `PARAMETER_KEY_ZONE` |
  `static int` | `sormModuleId` |

- ## Constructor Summary

  Constructors
  Constructor | Description
  --- | ---
  `SormUtils()` |

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `static boolean` | `checkThreeYearsAgo​(java.util.Date dateTo)` | Т.к. большинство поставщиков СОРМ просит данные за последние 3 года, создан метод для проверки даты
  `static boolean` | `checkValidAddress​(AddressStruct address)` | Проверка адреса на заполненность обязательных для СОРМа полей
  `static void` | `clearChangedContractsTable​(java.sql.Connection con)` |
  `static void` | `clearContractLogTable​(java.sql.Connection con, int sormProjectId)` | Чистит запись о последнем выгруженном договоре для проекта СОРМ
  `static boolean` | `contractHasModule​(java.sql.Connection connection, int moduleId, int contractId)` |
  `static java.lang.String` | `formatDateToUTC​(java.util.Calendar date, java.lang.String pattern)` |
  `static java.lang.String` | `formatDateToUTC​(java.util.Date date, java.lang.String pattern)` |
  `static EntityAttrAddress` | `getAddressFromDeviceAttributes​(Device device)` |
  `static java.util.List<Pair<java.lang.Integer,​java.util.List<Pair<java.lang.String,​java.lang.Integer>>>>` | `getAddressList​(Preferences config, java.util.List<SormContract> contracts)` | Для каждого договора формирует пары номер договора - пара, где first-идентификатор типа адреса, second-pid параметра договора для данного типа адреса
  `static java.lang.String` | `getAddressType​(java.lang.String configAddressKey)` | Используется для MfiSoft и SpecTeh Соотносит тип адреса из конфига с типом адреса, который должен быть указан в формировании файла для выгрузки адресов абонента
  `static java.lang.String` | `getAdminEmail​(Preferences config)` | Возвращает указанный email для отправки информации по ошибкам
  `static java.lang.String` | `getAlias​(java.sql.Connection connection, int voiceIpMid, int loginId)` |
  `static java.util.List<Bunch>` | `getBunches​(Preferences config)` | Возвращает список пучков оператора сохранённых в конфиге
  `static java.lang.String` | `getConnectionStandart​(Preferences config)` |
  `static au.com.bytecode.opencsv.CSVWriter` | `getCSVFile​(java.nio.file.Path file)` |
  `static au.com.bytecode.opencsv.CSVWriter` | `getCSVFile​(java.nio.file.Path file, char quoteCharacter)` |
  `static au.com.bytecode.opencsv.CSVWriter` | `getCSVFile​(java.nio.file.Path file, java.lang.String encoding)` |
  `static au.com.bytecode.opencsv.CSVWriter` | `getCSVFile​(java.nio.file.Path path, java.nio.charset.Charset encoding, char quoteCharacter)` |
  `static au.com.bytecode.opencsv.CSVWriter` | `getCSVFile​(java.nio.file.Path path, java.nio.charset.Charset charset, char quoteCharacter, char separator)` |
  `static java.util.List<DialUpLogin>` | `getDialUpLogins​(ru.bitel.bgbilling.kernel.container.managed.ServerContext serverContext, Preferences config, java.util.List<SormContract> contracts)` | Привязка договоров к логинам модуля DialUp.
  `static java.util.List<DialUpNAS>` | `getDialUpNasList​(ru.bitel.bgbilling.kernel.container.managed.ServerContext serverContext, Preferences config, boolean isSwitches)` | список nas'ов модуля dialUp для выгрузки как коммутаторов
  `static java.util.List<IdTitle>` | `getDocumentsTypes​(Preferences config, ContractParameterManager cpm)` | Возвращает список документов из выбранного пользователем спискового параметра договора
  `static int` | `getDocumentTypeIdOfContract​(Preferences config, ContractParameterManager cpm, int cid, java.util.List<IdTitle> documentTypes)` | Возвращает id типа документа для договора
  `static java.lang.String` | `getFullOperatorAddress​(Preferences config)` | Формирует адрес оператора одной строкой из конфигурации выгрузки
  `static java.util.List<java.lang.Integer>` | `getIdsModulesFromConfig​(Preferences config, java.lang.String subKey)` | Возвращает из конфига список id модулей по подключу.
  `static java.util.List<java.lang.Integer>` | `getIdsServices​(Preferences config)` |
  `static java.util.List<Device>` | `getInetDevices​(Preferences config, ru.bitel.bgbilling.kernel.container.managed.ServerContext serverContext)` | Возвращает список устройств модуля Inet для выбранных в конфиге экземпляров Inet
  `static java.util.List<InetServ>` | `getInetServices​(Preferences preferences, ru.bitel.bgbilling.kernel.container.managed.ServerContext serverContext, java.util.List<SormContract> contractIds)` |
  `static java.util.List<InternalUser>` | `getInternalUsers​(java.sql.Connection connection, ObjectManager objectManager, ParamValueManager valueManager, ru.bitel.bgbilling.modules.sorm.server.utils.SormUploadHelper uploadHelper, Preferences config)` |
  `static java.lang.String[]` | `getIPGatewayItem​(Device inetDevice, java.lang.String regionId)` | Только для МФИСофт и Спец.Технологий!
  `static java.util.Map<IpCategory,​java.util.List<IpResource>>` | `getIPResources​(Preferences config, ru.bitel.bgbilling.kernel.container.managed.ServerContext serverContext)` | Возвращает список ip-ресурсов для выбранных в конфиге модулей inet, за исключением тех, которые были выбраны, как не выгружаемые
  `static int` | `getLastUploadContractId​(java.sql.Connection con, int sormProjectId)` | Возвращает id последнего выгруженного договора для конкретного проекта выгрузки СОРМ
  `static java.util.List<java.lang.Integer>` | `getListIntegerFromConfigByKey​(Preferences config, java.lang.String key)` | Возвращает список(Integer) сохранённых в конфиге по переданному ключу
  `static java.util.Map<java.lang.Integer,​java.util.List<InetServ>>` | `getPairsAbonentInetServices​(Preferences config, java.util.List<SormContract> contracts, ru.bitel.bgbilling.kernel.container.managed.ServerContext serverContext)` | Получение списка сервисов всех установленных модулей Inet с уникальными ip-адресами всех договоров, которые возвращает метод getContractIds
  `static java.util.Map<java.lang.Integer,​java.util.List<java.lang.Integer>>` | `getPairsMidsListIds​(Preferences preferences, java.lang.String subKey)` | Достаёт Map по подключу из переданного конфига, где ключ-mid, value-ids для этого модуля
  `static java.lang.String` | `getParameterOfCity​(ru.bitel.bgbilling.kernel.container.managed.ServerContext serverContext, AddressManager addressManager, AddressStruct addressStruct, java.lang.String parameterKey)` | Возвращает значение дополнительного параметра для города
  `static java.util.List<Source>` | `getPhoneSources​(Preferences config, ru.bitel.bgbilling.kernel.container.managed.ServerContext context)` |
  `static java.util.List<Device>` | `getSelectedGateways​(Preferences config, ru.bitel.bgbilling.kernel.container.managed.ServerContext serverContext)` | Возвращает список устройств, которые выбраны, как шлюзы оператора
  `static java.util.List<java.lang.Integer>` | `getSelectedInetModulesToUpload​(Preferences config)` |
  `static java.util.List<ServiceSorm>` | `getSelectedServicesForUpload​(Preferences config)` | Возвращает список услуг, которые были выбраны пользователем для выгрузки
  `static java.util.Map<java.lang.String,​java.util.List<java.lang.Integer>>` | `getTelephoneModulesIds​(Preferences config)` | Возвращает список выбранныз для выгрузки телефонных модулей
  `static java.util.List<SormContract>` | `getUploadContracts​(java.sql.Connection con, int sormProjectId, boolean isFullUpload, Preferences config)` | Получение списка id договоров, которые будут участвовать в выгрузке.
  `static java.nio.file.Path` | `getUploadFile​(java.lang.String fileUploadPath, java.lang.String filePrefix, java.lang.String datePattern)` | Создает новый файл на диске по заданному пути
  `static java.util.List<NumberRange>` | `getUploadPhoneNumberingResources​(Preferences config, java.sql.Connection connection)` | Возвращает список номеров, которые должны быть выгружены для выбранных модулей phone
  `static java.util.List<NumberRange>` | `getUploadVoiceNumberingResources​(Preferences config, ru.bitel.bgbilling.kernel.container.managed.ServerContext serverContext)` | Возвращает список номеров, которые должны быть выгружены для выбранных экземпляров модулей Voice
  `static java.util.List<Device>` | `getVoiceDevices​(Preferences config, ru.bitel.bgbilling.kernel.container.managed.ServerContext serverContext)` | Возвращает список устройств модуля Voice для выбранных модулей в конфиге
  `static java.util.Map<java.lang.Integer,​java.util.List<PhoneResourceSubscription>>` | `getVoiceModuleSubscriptionList​(java.util.List<java.lang.Integer> voiceModules, ru.bitel.bgbilling.kernel.container.managed.ServerContext context, Preferences config)` |
  `static java.lang.String` | `ip2Hex​(java.lang.String ip)` | Преобразование строки с ip-адресом из десятичного в шестнадцатеричное представление
  `static void` | `sendErrorToEmail​(Setup setup, java.lang.Exception ex, java.lang.String subject)` |
  `static void` | `sendErrorToEmail​(Setup setup, java.lang.Exception ex, java.lang.String subject, java.lang.String email)` | В случае возникновения любой ошибки формируется письмо, которое отправляется на почту администратору.
  `static java.lang.String` | `trimField​(java.lang.String value, int length)` | Обрезает строку до указанной длины.
  `static void` | `updateContractLogTable​(java.sql.Connection con, int lastUploadCid, int sormProjectId)` | Обновляет информацию о последнем выгруженном договоре

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

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

- ## Field Details

  - ### PARAMETER_KEY_REGION

    public static final java.lang.String PARAMETER_KEY_REGION
    See Also:
      Constant Field Values

  - ### PARAMETER_KEY_ZONE

    public static final java.lang.String PARAMETER_KEY_ZONE
    See Also:
      Constant Field Values

  - ### CSV_SEPARATOR

    public static final char CSV_SEPARATOR
    See Also:
      Constant Field Values

  - ### sormModuleId

    public static int sormModuleId

- ## Constructor Details

  - ### SormUtils

    public SormUtils()

- ## Method Details

  - ### getUploadContracts

    public static java.util.List<SormContract> getUploadContracts​(java.sql.Connection con, int sormProjectId, boolean isFullUpload, Preferences config)
    Получение списка id договоров, которые будут участвовать в выгрузке. Берет: 1-все договора после последнего выгруженного, если есть запись в таблице 2-все изменённые договора Критерии: договоры на которых: добавлен модуль СОРМ которые действуют или действовали последние 3 года есть один из модулей, которые были выбраны для выгрузки
    Parameters:
      `con` - - соединение с БД
      `sormProjectId` - - id проекта СОРМ для которого производится выгрузка.
      `isFullUpload` - - флаг, полная ли выгрузка базы абонентов производится или инкрементальная
      `config` - - конфигурация проекта СОРМ, в которой есть информация о выбранных для выгрузки модулей

  - ### clearChangedContractsTable

    public static void clearChangedContractsTable​(java.sql.Connection con)

  - ### getLastUploadContractId

    public static int getLastUploadContractId​(java.sql.Connection con, int sormProjectId)
    Возвращает id последнего выгруженного договора для конкретного проекта выгрузки СОРМ

  - ### updateContractLogTable

    public static void updateContractLogTable​(java.sql.Connection con, int lastUploadCid, int sormProjectId) throws java.sql.SQLException
    Обновляет информацию о последнем выгруженном договоре
    Parameters:
      `lastUploadCid` - - id последнего выгруженного договора
      `sormProjectId` - - id проекта выгрузки СОРМ
    Throws:
      `java.sql.SQLException`

  - ### clearContractLogTable

    public static void clearContractLogTable​(java.sql.Connection con, int sormProjectId) throws ru.bitel.bgbilling.common.BGException
    Чистит запись о последнем выгруженном договоре для проекта СОРМ
    Parameters:
      `sormProjectId` - - id проекта СОРМ
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getPairsAbonentInetServices

    public static java.util.Map<java.lang.Integer,​java.util.List<InetServ>> getPairsAbonentInetServices​(Preferences config, java.util.List<SormContract> contracts, ru.bitel.bgbilling.kernel.container.managed.ServerContext serverContext) throws ru.bitel.bgbilling.common.BGException
    Получение списка сервисов всех установленных модулей Inet с уникальными ip-адресами всех договоров, которые возвращает метод getContractIds
    Returns:
      map, где key - cid договороа, value - список сервисов для данного договора
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getInetServices

    public static java.util.List<InetServ> getInetServices​(Preferences preferences, ru.bitel.bgbilling.kernel.container.managed.ServerContext serverContext, java.util.List<SormContract> contractIds) throws ru.bitel.bgbilling.common.BGException
    Returns:
      список сервисов всех установленных экземпляров модулей инета, которые были отмечены для выгрузки
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getSelectedInetModulesToUpload

    public static java.util.List<java.lang.Integer> getSelectedInetModulesToUpload​(Preferences config)
    Returns:
      список id модулей inet, которые были выбраны для выгрузки

  - ### getListIntegerFromConfigByKey

    public static java.util.List<java.lang.Integer> getListIntegerFromConfigByKey​(Preferences config, java.lang.String key)
    Возвращает список(Integer) сохранённых в конфиге по переданному ключу

  - ### getIdsServices

    public static java.util.List<java.lang.Integer> getIdsServices​(Preferences config) throws ru.bitel.bgbilling.common.BGException
    Returns:
      список id выбранных для выгрузки услуг оператора
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getSelectedServicesForUpload

    public static java.util.List<ServiceSorm> getSelectedServicesForUpload​(Preferences config)
    Возвращает список услуг, которые были выбраны пользователем для выгрузки

  - ### sendErrorToEmail

    public static void sendErrorToEmail​(Setup setup, java.lang.Exception ex, java.lang.String subject)

  - ### sendErrorToEmail

    public static void sendErrorToEmail​(Setup setup, java.lang.Exception ex, java.lang.String subject, java.lang.String email)
    В случае возникновения любой ошибки формируется письмо, которое отправляется на почту администратору. Email задается при настройке выгрузки в модуле СОРМ, если не заполнен, то будет взять в конфигурации сервера в параметре alarm.mail
    Parameters:
      `setup` - конфигурация биллинга
      `ex` - экземпляр исключения. Из него берется сообщение об ошибке, а также печатается стектрейс
      `subject` - тема письма. Например, ошибка при выгрузке такого то файла, при формировании такого то списка и т.д.

  - ### trimField

    public static java.lang.String trimField​(java.lang.String value, int length)
    Обрезает строку до указанной длины.
    Parameters:
      `value` - строка, длину которой, возможно, нужно сократить
      `length` - длина, до которой обрезаем строку

  - ### getUploadFile

    public static java.nio.file.Path getUploadFile​(java.lang.String fileUploadPath, java.lang.String filePrefix, java.lang.String datePattern)
    Создает новый файл на диске по заданному пути
    Parameters:
      `fileUploadPath` - путь в локальной директории для создания файла
      `filePrefix` - префикс создаваемого файла
      `datePattern` - формат даты, которая должна присутствовать в названии файла
    Returns:
      объект типа файл в каталоге FILE_UPLOAD_PATH/

  - ### getAdminEmail

    public static java.lang.String getAdminEmail​(Preferences config)
    Возвращает указанный email для отправки информации по ошибкам

  - ### getCSVFile

    public static au.com.bytecode.opencsv.CSVWriter getCSVFile​(java.nio.file.Path file) throws java.io.IOException
    Throws:
      `java.io.IOException`

  - ### getCSVFile

    public static au.com.bytecode.opencsv.CSVWriter getCSVFile​(java.nio.file.Path file, java.lang.String encoding) throws java.io.IOException
    Throws:
      `java.io.IOException`

  - ### getCSVFile

    public static au.com.bytecode.opencsv.CSVWriter getCSVFile​(java.nio.file.Path file, char quoteCharacter) throws java.io.IOException
    Throws:
      `java.io.IOException`

  - ### getCSVFile

    public static au.com.bytecode.opencsv.CSVWriter getCSVFile​(java.nio.file.Path path, java.nio.charset.Charset encoding, char quoteCharacter) throws java.io.IOException
    Throws:
      `java.io.IOException`

  - ### getCSVFile

    public static au.com.bytecode.opencsv.CSVWriter getCSVFile​(java.nio.file.Path path, java.nio.charset.Charset charset, char quoteCharacter, char separator) throws java.io.IOException
    Parameters:
      `path` - - созданный для записи файл
      `quoteCharacter` - - Для поставщика Специальные Технологии использовать CSVWriter.NO_QUOTE_CHARACTER, для остальных CSVWriter.DEFAULT_QUOTE_CHARACTER
    Returns:
    Throws:
      `java.io.IOException`

  - ### getIdsModulesFromConfig

    public static java.util.List<java.lang.Integer> getIdsModulesFromConfig​(Preferences config, java.lang.String subKey)
    Возвращает из конфига список id модулей по подключу. (Например, для выгрузки коммутаторов было выбрано несколько модулей inet, то вернётся список с выбранными модулями)

  - ### getPairsMidsListIds

    public static java.util.Map<java.lang.Integer,​java.util.List<java.lang.Integer>> getPairsMidsListIds​(Preferences preferences, java.lang.String subKey)
    Достаёт Map по подключу из переданного конфига, где ключ-mid, value-ids для этого модуля

  - ### getInetDevices

    public static java.util.List<Device> getInetDevices​(Preferences config, ru.bitel.bgbilling.kernel.container.managed.ServerContext serverContext)
    Возвращает список устройств модуля Inet для выбранных в конфиге экземпляров Inet

  - ### getDialUpNasList

    public static java.util.List<DialUpNAS> getDialUpNasList​(ru.bitel.bgbilling.kernel.container.managed.ServerContext serverContext, Preferences config, boolean isSwitches) throws ru.bitel.bgbilling.common.BGException
    список nas'ов модуля dialUp для выгрузки как коммутаторов
    Parameters:
      `isSwitches` - если true, то вернётся список nas'ов выбранных в качестве коммутаторов, если false, то список в качестве шлюзов
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getDialUpLogins

    public static java.util.List<DialUpLogin> getDialUpLogins​(ru.bitel.bgbilling.kernel.container.managed.ServerContext serverContext, Preferences config, java.util.List<SormContract> contracts) throws ru.bitel.bgbilling.common.BGException
    Привязка договоров к логинам модуля DialUp.
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getIPResources

    public static java.util.Map<IpCategory,​java.util.List<IpResource>> getIPResources​(Preferences config, ru.bitel.bgbilling.kernel.container.managed.ServerContext serverContext)
    Возвращает список ip-ресурсов для выбранных в конфиге модулей inet, за исключением тех, которые были выбраны, как не выгружаемые

  - ### getVoiceDevices

    public static java.util.List<Device> getVoiceDevices​(Preferences config, ru.bitel.bgbilling.kernel.container.managed.ServerContext serverContext)
    Возвращает список устройств модуля Voice для выбранных модулей в конфиге

  - ### getPhoneSources

    public static java.util.List<Source> getPhoneSources​(Preferences config, ru.bitel.bgbilling.kernel.container.managed.ServerContext context)

  - ### getSelectedGateways

    public static java.util.List<Device> getSelectedGateways​(Preferences config, ru.bitel.bgbilling.kernel.container.managed.ServerContext serverContext)
    Возвращает список устройств, которые выбраны, как шлюзы оператора

  - ### getBunches

    public static java.util.List<Bunch> getBunches​(Preferences config)
    Возвращает список пучков оператора сохранённых в конфиге

  - ### getUploadVoiceNumberingResources

    public static java.util.List<NumberRange> getUploadVoiceNumberingResources​(Preferences config, ru.bitel.bgbilling.kernel.container.managed.ServerContext serverContext)
    Возвращает список номеров, которые должны быть выгружены для выбранных экземпляров модулей Voice

  - ### getUploadPhoneNumberingResources

    public static java.util.List<NumberRange> getUploadPhoneNumberingResources​(Preferences config, java.sql.Connection connection)
    Возвращает список номеров, которые должны быть выгружены для выбранных модулей phone

  - ### getTelephoneModulesIds

    public static java.util.Map<java.lang.String,​java.util.List<java.lang.Integer>> getTelephoneModulesIds​(Preferences config)
    Возвращает список выбранныз для выгрузки телефонных модулей
    Returns:
      Map, где key - модуль phone или voice, value - список id соответствующего модуля установленного в биллинге

  - ### getVoiceModuleSubscriptionList

    public static java.util.Map<java.lang.Integer,​java.util.List<PhoneResourceSubscription>> getVoiceModuleSubscriptionList​(java.util.List<java.lang.Integer> voiceModules, ru.bitel.bgbilling.kernel.container.managed.ServerContext context, Preferences config)
    Parameters:
      `voiceModules` - - список id установленных модулей Voice
    Returns:
      Map, где key - id модуля Voice, value - список подписок на ресурсы данного модуля за последние 3 года

  - ### checkThreeYearsAgo

    public static boolean checkThreeYearsAgo​(java.util.Date dateTo)
    Т.к. большинство поставщиков СОРМ просит данные за последние 3 года, создан метод для проверки даты
    Returns:
      true - если переданная дата была не раньше 3-х лет назад с текущего момента

  - ### getAddressList

    public static java.util.List<Pair<java.lang.Integer,​java.util.List<Pair<java.lang.String,​java.lang.Integer>>>> getAddressList​(Preferences config, java.util.List<SormContract> contracts)
    Для каждого договора формирует пары номер договора - пара, где first-идентификатор типа адреса, second-pid параметра договора для данного типа адреса

  - ### getAddressType

    public static java.lang.String getAddressType​(java.lang.String configAddressKey)
    Используется для MfiSoft и SpecTeh Соотносит тип адреса из конфига с типом адреса, который должен быть указан в формировании файла для выгрузки адресов абонента
    Parameters:
      `configAddressKey` - - тип адреса из конфига
    Returns:
      тип адреса (целое число в виде строки) из списка поставщиков MfiSoft или SpecTeh

  - ### ip2Hex

    public static java.lang.String ip2Hex​(java.lang.String ip)
    Преобразование строки с ip-адресом из десятичного в шестнадцатеричное представление
    Parameters:
      `ip` - вида 192.168.1.12
    Returns:
      вида C0A88565

  - ### getDocumentsTypes

    public static java.util.List<IdTitle> getDocumentsTypes​(Preferences config, ContractParameterManager cpm) throws ru.bitel.bgbilling.common.BGException
    Возвращает список документов из выбранного пользователем спискового параметра договора
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getDocumentTypeIdOfContract

    public static int getDocumentTypeIdOfContract​(Preferences config, ContractParameterManager cpm, int cid, java.util.List<IdTitle> documentTypes) throws ru.bitel.bgbilling.common.BGException
    Возвращает id типа документа для договора
    Parameters:
      `config` - - конфиг выгрузки
      `cpm` -
      `cid` - - id договора
      `documentTypes` - - список типов документов
    Returns:
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getConnectionStandart

    public static java.lang.String getConnectionStandart​(Preferences config)

  - ### getParameterOfCity

    public static java.lang.String getParameterOfCity​(ru.bitel.bgbilling.kernel.container.managed.ServerContext serverContext, AddressManager addressManager, AddressStruct addressStruct, java.lang.String parameterKey) throws ru.bitel.bgbilling.common.BGException
    Возвращает значение дополнительного параметра для города
    Parameters:
      `parameterKey` - - ключ параметра, значение которого будет возвращено
      `addressStruct` - - адрес из которого будет взят город, у которого будет взят параметр
    Returns:
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### checkValidAddress

    public static boolean checkValidAddress​(AddressStruct address)
    Проверка адреса на заполненность обязательных для СОРМа полей
    Returns:
      true - если все необходимые поля заполнены

  - ### getIPGatewayItem

    public static java.lang.String[] getIPGatewayItem​(Device inetDevice, java.lang.String regionId)
    Только для МФИСофт и Спец.Технологий! Для формирования файла IP_GATEWAY, т.к. для данных поставщиков структура файла одинакова
    Parameters:
      `inetDevice` - устройство модуля inet
    Returns:
      возвращает запись для файла IP_GATEWAY исходя из inetDevice

  - ### getFullOperatorAddress

    public static java.lang.String getFullOperatorAddress​(Preferences config)
    Формирует адрес оператора одной строкой из конфигурации выгрузки
    Returns:
      адресс оператора одной строкой

  - ### getInternalUsers

    public static java.util.List<InternalUser> getInternalUsers​(java.sql.Connection connection, ObjectManager objectManager, ParamValueManager valueManager, ru.bitel.bgbilling.modules.sorm.server.utils.SormUploadHelper uploadHelper, Preferences config) throws ru.bitel.bgbilling.common.BGException
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getAddressFromDeviceAttributes

    public static EntityAttrAddress getAddressFromDeviceAttributes​(Device device)

  - ### getAlias

    public static java.lang.String getAlias​(java.sql.Connection connection, int voiceIpMid, int loginId)
    Returns:
      alias по id логина для модуля VoiceIP

  - ### contractHasModule

    public static boolean contractHasModule​(java.sql.Connection connection, int moduleId, int contractId)

  - ### formatDateToUTC

    public static java.lang.String formatDateToUTC​(java.util.Date date, java.lang.String pattern)

  - ### formatDateToUTC

    public static java.lang.String formatDateToUTC​(java.util.Calendar date, java.lang.String pattern)