ru.bitel.bgbilling.plugins.documents.common

## Interface DocumentsService

-     @MTOM(enabled=true)
      public interface DocumentsService

  Сервис для работы с документами плагина, файлами документов, а также со справочниками Типы, Журналы, Статусы документов
  Author:
    reflexive

- - ### Method Summary

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

- - ### Method Detail

    - #### getDocumentList

          java.util.List<Document> getDocumentList(int contractId,
                                                   java.lang.String title,
                                                   Period period)
                                            throws ru.bitel.bgbilling.common.BGException

      Получение списка документов плагина у договора.
      Parameters:
        `contractId` - код договора
        `title` - фильтр по названию документа
        `period` - фильтр по периоду создания документа
      Returns:
        список документов
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### getDocument

          Document getDocument(int documentId)
                        throws ru.bitel.bgbilling.common.BGException

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

    - #### updateDocument

          int updateDocument(Document document)
                      throws ru.bitel.bgbilling.common.BGException

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

    - #### deleteDocument

          void deleteDocument(java.util.List<java.lang.Integer> documentIdList)
                       throws ru.bitel.bgbilling.common.BGException

      Удаление документа. Происходит отвязка от договора, а также удаление вложенных файлов.
      Parameters:
        `documentId` - код документа
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### updateDocumentStatus

          boolean updateDocumentStatus(int documentId,
                                       int statusId,
                                       java.lang.String statusComment)
                                throws ru.bitel.bgbilling.common.BGException

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

    - #### getAdditionalParams

          DataMap<java.lang.String,java.lang.String> getAdditionalParams(int contractId)
                                                                  throws ru.bitel.bgbilling.common.BGException

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

    - #### getDocumentFileList

          java.util.List<BGServerFile> getDocumentFileList(int documentId)
                                                    throws ru.bitel.bgbilling.common.BGException

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

    - #### downloadDocumentFile

          BGServerFile downloadDocumentFile(int fileId,
                                            int cid,
                                            javax.xml.ws.Holder<javax.activation.DataHandler> fileData)
                                     throws ru.bitel.bgbilling.common.BGException

      Скачивание указанного файла с сервера. Происходит как в случае простого скачивания для сохранения файла на диске, так и для открытия файла в системном приложении
      Parameters:
        `fileId` - код файла
        `cid` - код договора
        `fileData` - входной поток с данными файла
      Returns:
        сущность, содержащая информацию о файле в системе BG
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### uploadDocumentFile

          void uploadDocumentFile(BGServerFile serverFile,
                                  javax.xml.ws.Holder<javax.activation.DataHandler> inclusion)
                           throws ru.bitel.bgbilling.common.BGException

      Загрузка файла в документ плагина. Происходит привязка загружаемого файла к документу.
      Parameters:
        `serverFile` - представление файла на сервере, содержит в себе мета-информацию о файле: размер, код родительской сущности, название, пользователь, добавивший файл и т.д.
        `inclusion` - содержимое файла в виде InputStream
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### deleteDocumentFiles

          void deleteDocumentFiles(java.util.List<java.lang.Integer> fileIds)
                            throws ru.bitel.bgbilling.common.BGException

      Удаление списка файлов по их идентификаторам. Используется при удалении файлов из документа плагина
      Parameters:
        `fileIds` - список идентификаторов файлов
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### updateDocumentFile

          void updateDocumentFile(BGServerFile file)
                           throws ru.bitel.bgbilling.common.BGException

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

    - #### documentJournalList

          java.util.List<DocumentJournal> documentJournalList()
                                                       throws ru.bitel.bgbilling.common.BGException

      Получение списка журналов документов. Используется в справочнике.
      Returns:
        список журналов
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### documentJournalGet

          DocumentJournal documentJournalGet(int journalId)
                                      throws ru.bitel.bgbilling.common.BGException

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

    - #### documentJournalUpdate

          int documentJournalUpdate(DocumentJournal journal)
                             throws ru.bitel.bgbilling.common.BGException

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

    - #### documentJournalDelete

          int documentJournalDelete(int journalId)
                             throws ru.bitel.bgbilling.common.BGException

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

    - #### documentTypeList

          java.util.List<DocumentType> documentTypeList()
                                                 throws ru.bitel.bgbilling.common.BGException

      Получение списка типов документов. Используется в справочниках
      Returns:
        список типов документов
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### documentTypeGet

          DocumentType documentTypeGet(int typeId)
                                throws ru.bitel.bgbilling.common.BGException

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

    - #### documentTypeUpdate

          int documentTypeUpdate(DocumentType type)
                          throws ru.bitel.bgbilling.common.BGException

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

    - #### documentTypeDelete

          int documentTypeDelete(int typeId)
                          throws ru.bitel.bgbilling.common.BGException

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

    - #### documentStatusList

          java.util.List<DocumentStatus> documentStatusList()
                                                     throws ru.bitel.bgbilling.common.BGException

      Получение списка статусов документа. Используется в справочниках.
      Returns:
        список статусов
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### documentStatusGet

          DocumentStatus documentStatusGet(int statusId)
                                    throws ru.bitel.bgbilling.common.BGException

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

    - #### documentStatusUpdate

          int documentStatusUpdate(DocumentStatus status)
                            throws ru.bitel.bgbilling.common.BGException

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

    - #### documentStatusDelete

          int documentStatusDelete(int statusId)
                            throws ru.bitel.bgbilling.common.BGException

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

    - #### getDocumentStatusLogList

          java.util.List<DocumentStatusLogItem> getDocumentStatusLogList(int documentId)
                                                                  throws ru.bitel.bgbilling.common.BGException

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

    - #### updateStatusLog

          java.util.List<DocumentStatusLogItem> updateStatusLog(DocumentStatusLogItem item)
                                                         throws ru.bitel.bgbilling.common.BGException

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

    - #### generateDocument

          Document generateDocument(int cid,
                                    int pattern,
                                    int journal,
                                    int type)
                             throws ru.bitel.bgbilling.common.BGException

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

    - #### checkNotFillParams

          java.util.List<java.lang.String> checkNotFillParams(int cid,
                                                              int patternId,
                                                              int journal,
                                                              int type)
                                                       throws ru.bitel.bgbilling.common.BGException

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

    - #### getFileNetShare

          java.io.File getFileNetShare(int id,
                                       java.lang.String title)
                                throws ru.bitel.bgbilling.common.BGException

      Возвращает файл для открытия
      Returns:
        файл
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### sendFileByEmail

          void sendFileByEmail(java.util.List<java.lang.String> emails,
                               java.util.List<java.lang.Integer> fileIds)
                        throws ru.bitel.bgbilling.common.BGException

      Отравляет файл по почте
      Parameters:
        `emails` - - адреса получателей
        `fileIds` - - id'шники отправляемых файлов
      Throws:
        `ru.bitel.bgbilling.common.BGException`