Package ru.bitel.bgbilling.plugins.documents.common.service

# Interface DocumentsService

@MTOM(enabled=true) public interface DocumentsService
Сервис для работы с документами плагина, файлами документов, а также со справочниками Типы, Журналы, Статусы документов

- ## Method Summary

  Modifier and Type
  Method
  Description
  `List<String>`
  `checkNotFillParams(int cid, int patternId, int journal, int type)`
  `void`
  `deleteDocument(List<Integer> documentIdList)`
  Удаление документа.
  `void`
  `deleteDocumentFiles(List<Integer> fileIds)`
  Удаление списка файлов по их идентификаторам.
  `int`
  `documentJournalDelete(int journalId)`
  Удаление журнала из БД.
  `DocumentJournal`
  `documentJournalGet(int journalId)`
  Получение отдельно взятого журнала по коду.
  `List<DocumentJournal>`
  `documentJournalList()`
  Получение списка журналов документов.
  `int`
  `documentJournalUpdate(DocumentJournal journal)`
  Добавление/Обновление журнала.
  `int`
  `documentStatusDelete(int statusId)`
  Удаление статуса документа из БД.
  `DocumentStatus`
  `documentStatusGet(int statusId)`
  Получение конкретного статуса документа по его коду.
  `List<DocumentStatus>`
  `documentStatusList()`
  Получение списка статусов документа.
  `int`
  `documentStatusUpdate(DocumentStatus status)`
  Добавление/Обновление статуса документа в БД.
  `int`
  `documentTypeDelete(int typeId)`
  Удаление типа документа по его коду из БД.
  `DocumentType`
  `documentTypeGet(int typeId)`
  Получение конкретного типа документа по его коду.
  `List<DocumentType>`
  `documentTypeList()`
  Получение списка типов документов.
  `int`
  `documentTypeUpdate(DocumentType type)`
  Добавление/Обновление типа документа.
  `BGServerFile`
  `downloadDocumentFile(int fileId, int contractId, jakarta.xml.ws.Holder<jakarta.activation.DataHandler> fileData)`
  Скачивание указанного файла с сервера.
  `Document`
  `generateDocument(int cid, int pattern, int journal, int type)`
  Генерация документа определенного типа по заданному шаблону с заданным журналом
  `String`
  `getAdditionalParams(int contractId)`
  Метод возвращает набор дополнительных параметров, которые необходимы для автоматического создания директорий при загрузке/выгрузке документов, если документ имеет определенный тип и имя договора соответствует определенному шаблону.
  `Document`
  `getDocument(int documentId)`
  Получение одного единственного документа по его коду.
  `List<BGServerFile>`
  `getDocumentFileList(int documentId)`
  Возвращает список файлов (мета-информация), привязанных к документу.
  `List<Document>`
  `getDocumentList(int contractId, String title, Period period)`
  Получение списка документов плагина у договора.
  `List<DocumentStatusLogItem>`
  `getDocumentStatusLogList(int documentId)`
  Получение лога изменений статуса документа по коду документа.
  `File`
  `getFileNetShare(int id, String title)`
  Возвращает файл для открытия
  `void`
  `reinitDocumentSecret(int documentId)`
  `void`
  `sendDocumentLinkFiles(List<String> emails, int documentId, List<Integer> fileIds, int leastTime)`
  Отправляет ссылку на файл по почте
  `void`
  `sendFileByEmail(List<String> emails, List<Integer> fileIds)`
  Отравляет файл по почте
  `int`
  `updateDocument(Document document)`
  Добавление/Обновление документа и привязка его к договору
  `void`
  `updateDocumentFile(BGServerFile file)`
  Обновление данных вложенного файла (комментарий)
  `boolean`
  `updateDocumentStatus(int documentId, int statusId, String statusComment)`
  Обновление статуса документа.
  `List<DocumentStatusLogItem>`
  `updateStatusLog(DocumentStatusLogItem item)`
  Добавление записи в историю изменений статуса документа.

- ## Method Details

  - ### getDocumentList

    List<Document> getDocumentList(int contractId, String title, Period period) throws Exception
    Получение списка документов плагина у договора.
    Parameters:
      `contractId` - код договора
      `title` - фильтр по названию документа
      `period` - фильтр по периоду создания документа
    Returns:
      список документов
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `Exception`

  - ### getDocument

    Document getDocument(int documentId) throws Exception
    Получение одного единственного документа по его коду.
    Parameters:
      `documentId` - код документа
    Returns:
      документ
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `Exception`

  - ### updateDocument

    int updateDocument(Document document) throws Exception
    Добавление/Обновление документа и привязка его к договору
    Parameters:
      `document` - документ плагина
    Returns:
      код документа, который был добавлен/обновлен. Нужно для того, чтобы можно было привязывать файлы к еще не сохраненному в БД документу
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `Exception`

  - ### deleteDocument

    void deleteDocument(List<Integer> documentIdList) throws Exception
    Удаление документа. Происходит отвязка от договора, а также удаление вложенных файлов.
    Parameters:
      `documentId` - код документа
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `Exception`

  - ### updateDocumentStatus

    boolean updateDocumentStatus(int documentId, int statusId, String statusComment) throws Exception
    Обновление статуса документа.
    Parameters:
      `documentId` - код документа
      `statusId` - код статуса
      `statusComment` - комментарий к статусу
    Returns:
      true - если статус обновлен, false - в противном случае (провал может быть, если у документа уже установлен такой статус прежде)
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `Exception`

  - ### getAdditionalParams

    String getAdditionalParams(int contractId) throws Exception
    Метод возвращает набор дополнительных параметров, которые необходимы для автоматического создания директорий при загрузке/выгрузке документов, если документ имеет определенный тип и имя договора соответствует определенному шаблону.
    Parameters:
      `contractId` - код договора
    Returns:
      мап с параметрами
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `Exception`

  - ### getDocumentFileList

    List<BGServerFile> getDocumentFileList(int documentId) throws Exception
    Возвращает список файлов (мета-информация), привязанных к документу. Непосредственное скачивание файлов происходит в методе downloadFile
    Parameters:
      `documentId` - код документа, чей список файлов необходимо получить
    Returns:
      список файлов
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `Exception`

  - ### downloadDocumentFile

    BGServerFile downloadDocumentFile(int fileId, int contractId, jakarta.xml.ws.Holder<jakarta.activation.DataHandler> fileData) throws Exception
    Скачивание указанного файла с сервера. Происходит как в случае простого скачивания для сохранения файла на диске, так и для открытия файла в системном приложении
    Parameters:
      `fileId` - код файла
      `contractId` - код договора
      `fileData` - входной поток с данными файла
    Returns:
      сущность, содержащая информацию о файле в системе BG
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `Exception`

  - ### deleteDocumentFiles

    void deleteDocumentFiles(List<Integer> fileIds) throws Exception
    Удаление списка файлов по их идентификаторам. Используется при удалении файлов из документа плагина
    Parameters:
      `fileIds` - список идентификаторов файлов
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `Exception`

  - ### updateDocumentFile

    void updateDocumentFile(BGServerFile file) throws Exception
    Обновление данных вложенного файла (комментарий)
    Parameters:
      `file` - вложенный файл
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `Exception`

  - ### documentJournalList

    List<DocumentJournal> documentJournalList() throws Exception
    Получение списка журналов документов. Используется в справочнике.
    Returns:
      список журналов
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `Exception`

  - ### documentJournalGet

    DocumentJournal documentJournalGet(int journalId) throws Exception
    Получение отдельно взятого журнала по коду. Используется в справочнике.
    Parameters:
      `journalId` -
    Returns:
      журнал
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `Exception`

  - ### documentJournalUpdate

    int documentJournalUpdate(DocumentJournal journal) throws Exception
    Добавление/Обновление журнала. Используется в справочнике. В данном случае бросается событие, что данная сущность изменилась и требуется обновление на клиенте.
    Parameters:
      `journal` - журнал
    Returns:
      количество вставленных/обновленных записей.
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `Exception`

  - ### documentJournalDelete

    int documentJournalDelete(int journalId) throws Exception
    Удаление журнала из БД. При этом происходит автоматическая проверка используется ли данный журнал в каком-либо документе. Если используется, то удаление не произойдет.
    Parameters:
      `journalId` - код журанала
    Returns:
      количество удаленных записей.
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `Exception`

  - ### documentTypeList

    List<DocumentType> documentTypeList() throws Exception
    Получение списка типов документов. Используется в справочниках
    Returns:
      список типов документов
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `Exception`

  - ### documentTypeGet

    DocumentType documentTypeGet(int typeId) throws Exception
    Получение конкретного типа документа по его коду. Используется в справочниках.
    Parameters:
      `typeId` - код типа документа
    Returns:
      тип документа
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `Exception`

  - ### documentTypeUpdate

    int documentTypeUpdate(DocumentType type) throws Exception
    Добавление/Обновление типа документа. Используется в справочниках. При этом инициируется событие изменения типа документа и при необходимости с сервера подгружается обновленная информация на клиент.
    Parameters:
      `type` - тип документа
    Returns:
      количество вставленных/обновленных записей.
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `Exception`

  - ### documentTypeDelete

    int documentTypeDelete(int typeId) throws Exception
    Удаление типа документа по его коду из БД. Используется в справочнике.
    Parameters:
      `typeId` - код типа документа
    Returns:
      количество удаленных записей.
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `Exception`

  - ### documentStatusList

    List<DocumentStatus> documentStatusList() throws Exception
    Получение списка статусов документа. Используется в справочниках.
    Returns:
      список статусов
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `Exception`

  - ### documentStatusGet

    DocumentStatus documentStatusGet(int statusId) throws Exception
    Получение конкретного статуса документа по его коду. Используется в справочниках.
    Parameters:
      `statusId` - код статуса документа.
    Returns:
      статус документа
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `Exception`

  - ### documentStatusUpdate

    int documentStatusUpdate(DocumentStatus status) throws Exception
    Добавление/Обновление статуса документа в БД. Используется в справочниках.
    Parameters:
      `status` - статус документа
    Returns:
      количество вставленных/обновленных записей.
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `Exception`

  - ### documentStatusDelete

    int documentStatusDelete(int statusId) throws Exception
    Удаление статуса документа из БД. Удаление произойдет в том случае, если данный статус нигде в документах не используется. Иначе удаление невозможно.
    Parameters:
      `statusId` - код статуса.
    Returns:
      количество удаленных записей.
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `Exception`

  - ### getDocumentStatusLogList

    List<DocumentStatusLogItem> getDocumentStatusLogList(int documentId) throws Exception
    Получение лога изменений статуса документа по коду документа.
    Parameters:
      `documentId` - код документа
    Returns:
      история изменений статуса.
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `Exception`

  - ### updateStatusLog

    List<DocumentStatusLogItem> updateStatusLog(DocumentStatusLogItem item) throws Exception
    Добавление записи в историю изменений статуса документа. Тут же возвращается обновленная история изменения статусов по договору.
    Parameters:
      `item` - запись лога
    Returns:
      обновленная история изменений статусов
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `Exception`

  - ### generateDocument

    Document generateDocument(int cid, int pattern, int journal, int type) throws Exception
    Генерация документа определенного типа по заданному шаблону с заданным журналом
    Parameters:
      `cid` - код договора
      `pattern` - шаблон документа, по которому будет генерироваться документ
      `journal` - журнал
      `type` - тип документа
    Returns:
      сгенерированный документ
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `Exception`

  - ### checkNotFillParams

    List<String> checkNotFillParams(int cid, int patternId, int journal, int type) throws Exception
    Parameters:
      `cid` - код договора
      `patternId` - шаблон документа, по которому будет генерироваться документ
      `journal` - журнал
      `type` - тип документа
    Returns:
      список названий незаполненных параметров
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `Exception`

  - ### getFileNetShare

    File getFileNetShare(int id, String title) throws Exception
    Возвращает файл для открытия
    Returns:
      файл
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `Exception`

  - ### sendFileByEmail

    void sendFileByEmail(List<String> emails, List<Integer> fileIds) throws Exception
    Отравляет файл по почте
    Parameters:
      `emails` - - адреса получателей
      `fileIds` - - id'шники отправляемых файлов
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `Exception`

  - ### sendDocumentLinkFiles

    void sendDocumentLinkFiles(List<String> emails, int documentId, List<Integer> fileIds, int leastTime) throws Exception
    Отправляет ссылку на файл по почте
    Parameters:
      `emails` -
      `documentId` - ID документа
      `fileIds` - ID файлов, если файл один отправляется сссылка на файл если файлов несколько отсылается ссылка на архив
      `leastTime` - время жизни ссылки в секундах, 0 - бесконечно
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `ru.bitel.bgbilling.common.BGMessageException`
      `Exception`

  - ### reinitDocumentSecret

    void reinitDocumentSecret(int documentId) throws Exception
    Throws:
      `Exception`