Package ru.bitel.bgbilling.modules.voice.common.service

# Interface VoiceCostMapService

    @MTOM(enabled=true,
          threshold=1024)
    public interface VoiceCostMapService

Сервис для работы с картами цен. Позволяет создавать, редактировать, удалять карты цен и элементы карт цен.

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `java.util.List<VoiceCostMapItem>` | `costMapItemHistory​(int codeId, int costMapId)` | История кода в карте цен
  `void` | `exportCostMap()` | Экспорт карты цен в файл.
  `void` | `importCostMap​(int operatorId, int costMapId, Period period, boolean addNewGeocodes, java.lang.String importerId, javax.xml.ws.Holder<javax.activation.DataHandler> importContent)` | Импорт элементов карты цен.
  `org.json.JSONArray` | `importTemplateList()` |
  `int` | `voiceCostMapDelete​(int costMapId)` | Удаление карты цен из БД.
  `int` | `voiceCostMapItemDelete​(java.util.List<java.lang.Integer> itemIds)` | Удаление элемента (ов) карты цен по его идентификатору.
  `void` | `voiceCostMapItemDeleteAll​(int costMapId)` | Удаление всех элементов карты цен.
  `VoiceCostMapItem` | `voiceCostMapItemGet​(int itemId)` | Получение одного конкретного элемента карты цен по его идентификатору.
  `void` | `voiceCostMapItemTree​(int costMapId, java.util.Date date, javax.xml.ws.Holder<javax.activation.DataHandler> content)` | Получение списка элементов у карты цен.
  `int` | `voiceCostMapItemUpdate​(VoiceCostMapItem item)` | Добавление/редактирование элемента карты цен.
  `java.util.List<VoiceCostMap>` | `voiceCostMapList​(int operatorId)` | Получение общего списка карт цен.
  `int` | `voiceCostMapUpdate​(VoiceCostMap costMap)` | Добавление/Редактирование карты цен в БД.

- ## Method Details

  - ### voiceCostMapList

    java.util.List<VoiceCostMap> voiceCostMapList​(int operatorId) throws ru.bitel.bgbilling.common.BGException, ru.bitel.bgbilling.common.BGMessageException
    Получение общего списка карт цен.
    Returns:
      список карт цен.
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `ru.bitel.bgbilling.common.BGMessageException`

  - ### voiceCostMapUpdate

    int voiceCostMapUpdate​(VoiceCostMap costMap) throws ru.bitel.bgbilling.common.BGException, ru.bitel.bgbilling.common.BGMessageException
    Добавление/Редактирование карты цен в БД.
    Parameters:
      `costMap` - карта цен.
    Returns:
      код добавленной/обновленной записи.
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `ru.bitel.bgbilling.common.BGMessageException`

  - ### voiceCostMapDelete

    int voiceCostMapDelete​(int costMapId) throws ru.bitel.bgbilling.common.BGException, ru.bitel.bgbilling.common.BGMessageException
    Удаление карты цен из БД.
    Parameters:
      `costMapId` - код удаляемой карты цен.
    Returns:
      код удаленной карты цен.
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `ru.bitel.bgbilling.common.BGMessageException`

  - ### voiceCostMapItemTree

    void voiceCostMapItemTree​(int costMapId, java.util.Date date, javax.xml.ws.Holder<javax.activation.DataHandler> content) throws ru.bitel.bgbilling.common.BGException, ru.bitel.bgbilling.common.BGMessageException
    Получение списка элементов у карты цен.
    Parameters:
      `costMapId` - код карты цен.
      `date` - дата, на которую выводится дерево с элементами карты цен
      `content` - содержимое дерева элементов карты цен, представленное в виде сериализованного стандартными средствами Java объекта VoiceCostMapItem
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `ru.bitel.bgbilling.common.BGMessageException`

  - ### voiceCostMapItemGet

    VoiceCostMapItem voiceCostMapItemGet​(int itemId) throws ru.bitel.bgbilling.common.BGException, ru.bitel.bgbilling.common.BGMessageException
    Получение одного конкретного элемента карты цен по его идентификатору.
    Parameters:
      `itemId` - id элемента
    Returns:
      элемент карты цен
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `ru.bitel.bgbilling.common.BGMessageException`

  - ### voiceCostMapItemUpdate

    int voiceCostMapItemUpdate​(VoiceCostMapItem item) throws ru.bitel.bgbilling.common.BGException, ru.bitel.bgbilling.common.BGMessageException
    Добавление/редактирование элемента карты цен.
    Parameters:
      `item` - добавляемый/редактируемый элемент карты цен.
    Returns:
      код добавленного/отредактированного элемента карты цен.
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `ru.bitel.bgbilling.common.BGMessageException`

  - ### voiceCostMapItemDelete

    int voiceCostMapItemDelete​(java.util.List<java.lang.Integer> itemIds) throws ru.bitel.bgbilling.common.BGException, ru.bitel.bgbilling.common.BGMessageException
    Удаление элемента (ов) карты цен по его идентификатору.
    Parameters:
      `itemIds` - список id элементов карты цен, подлежащих удалению.
    Returns:
      кол-во удаленных элементов
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `ru.bitel.bgbilling.common.BGMessageException`

  - ### importCostMap

    void importCostMap​(int operatorId, int costMapId, Period period, boolean addNewGeocodes, java.lang.String importerId, javax.xml.ws.Holder<javax.activation.DataHandler> importContent) throws ru.bitel.bgbilling.common.BGException, ru.bitel.bgbilling.common.BGMessageException
    Импорт элементов карты цен. Поддерживаемые форматы:
    - code cost
    - code dateFrom dateTo cost
    - code dest cost
    - code dest dateFrom dateTo cost
    Разделителем полей в строках является символ табуляции ('\t'). Поле code имеет жесткую связь с справочником географических кодов (а он, в свою очередь, с справочником направлений), поэтому если соответствующий геокод будет отсутствовать в справочнике, то такая строка проигнорируется. При установке флага addNewGeocodes недостающий геокод будет добавлен в справочник, но при условии, что заполнено поле dest, т.к. соответствующее направление также должно добавляться при отсутствии направления в справочнике направлений. Поле dest при наличии должно содержать название направление для данного кода. Это название должно в точности совпадать с тем, что прописано в справочнике направлений для данного code. В поле cost должно быть вещественное число с точностью до 5 знаков после запятой включительно (ограничение БД). В случае, если поле cost содержит некорректное значение (например, алфавитные символы) или это поле вообще не заполнено, то значением данного поля будет 0.00000 по умолчанию. Поля dateFrom и dateTo должны содержать дату в формате dd.MM.yyyy. Если одно из них (или оба одновременно) не заполнено, то считается, что это поле равно бесконечности.
    Parameters:
      `operatorId` -
      `costMapId` - код карты цен, в которую импортируются элементы
      `period` - период, устанавливаемый у элементов
      `addNewGeocodes` - отвечает за возможность добавления на лету в справочник направлений и геокодов новых элементов, которые отсутствуют в справочнике.
      `importerId` -
      `importContent` - содержимое
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `ru.bitel.bgbilling.common.BGMessageException`

  - ### exportCostMap

    void exportCostMap() throws ru.bitel.bgbilling.common.BGException, ru.bitel.bgbilling.common.BGMessageException
    Экспорт карты цен в файл.
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `ru.bitel.bgbilling.common.BGMessageException`

  - ### voiceCostMapItemDeleteAll

    void voiceCostMapItemDeleteAll​(int costMapId) throws ru.bitel.bgbilling.common.BGException, ru.bitel.bgbilling.common.BGMessageException
    Удаление всех элементов карты цен.
    Parameters:
      `costMapId` - код карты цен, в которой нужно удалить все элементы
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `ru.bitel.bgbilling.common.BGMessageException`

  - ### costMapItemHistory

    java.util.List<VoiceCostMapItem> costMapItemHistory​(int codeId, int costMapId) throws ru.bitel.bgbilling.common.BGException, ru.bitel.bgbilling.common.BGMessageException
    История кода в карте цен
    Parameters:
      `code` - код карты цен
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `ru.bitel.bgbilling.common.BGMessageException`

  - ### importTemplateList

    org.json.JSONArray importTemplateList() throws ru.bitel.bgbilling.common.BGException, ru.bitel.bgbilling.common.BGMessageException
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `ru.bitel.bgbilling.common.BGMessageException`