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

# Interface BillService

    @MTOM
    public interface BillService

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `java.util.List<BankAccount>` | `bankAccountList()` | Список банковских счетов, которые могут быть указаны в счете.
  `int` | `billDocumentCreate​(int contractId, int documentSpecId, int bankAccountId, int year, int month, java.util.List<DocumentPosition> documentPositionList)` | Создание счета
  `void` | `billDocumentDelete​(int contractId, int id, boolean customer)` | Удаление счета.
  `void` | `billDocumentDownload​(int contractId, int id, javax.xml.ws.Holder<java.lang.String> name, javax.xml.ws.Holder<javax.activation.DataHandler> data)` | Получение счета в формате PDF.
  `Result<BillDocument>` | `billDocumentListForContract​(int contractId, Page page)` | Получение списка счетов для договора
  `void` | `deleteBankAccount​(int bankAccountId)` |
  `void` | `deleteOrganization​(int organizationId)` |
  `void` | `docTypeDelete​(int id)` |
  `DocType` | `docTypeGet​(int id)` |
  `java.util.List<DocType>` | `docTypeList​(DocumentType documentType)` |
  `java.util.List<DocType>` | `docTypeListForContract​(int contractId, DocumentType documentType)` |
  `void` | `docTypeUpdate​(DocType dt)` |
  `java.util.List<DocType>` | `documentSpecListForCustomer​(int contractId)` | Список разрешенных типов документов для договора, которые клиент/абонент может создать.
  `BankAccount` | `getBankAccount​(int bankAccountId)` |
  `java.util.List<BankAccount>` | `getBankAccountList​(int organizationId, java.lang.Boolean inUse)` |
  `java.util.List<IdTitle>` | `getBankAccountTitleList​(int contractId, int organizationId, java.lang.Boolean inUse, javax.xml.ws.Holder<java.lang.Integer> selectedItemId)` | Список доступных банковских счетов из справочника банков
  `BankAccount` | `getDefaultBankAccount​(int organizationId)` |
  `Organization` | `getDefaultOrganization()` |
  `Organization` | `getOrganization​(int organizationId)` |
  `java.util.List<Organization>` | `getOrganizationList()` |
  `java.util.List<IdTitle>` | `getOrganizationTitleList​(int contractId, java.lang.Boolean inUse, javax.xml.ws.Holder<java.lang.Integer> selectedId)` |
  `void` | `invoiceDocumentDownload​(int contractId, int id, javax.xml.ws.Holder<java.lang.String> name, javax.xml.ws.Holder<javax.activation.DataHandler> data)` | Получение счёт-фактуры в формате PDF.
  `Result<InvoiceDocument>` | `invoiceDocumentListForContract​(int contractId, boolean onlyReady, Page page)` | Получение списка счёт-фактур
  `boolean` | `positionDelete​(DocumentType documentType, int positionId)` |
  `Position` | `positionGet​(DocumentType documentType, int positionId)` |
  `java.util.List<IdTitle>` | `positionList​(DocumentType documentType)` |
  `Position` | `positionUpdate​(DocumentType documentType, Position position)` |
  `SearchResult<Position>` | `searchPositionList​(DocumentType documentType, Page page)` |
  `void` | `setBankAccount​(int contractId, int selectedBabkAccountId)` | Банковский Счет для договора по умолчанию
  `void` | `setDefaultBankAccount​(BankAccount bankAccount)` |
  `void` | `setDefaultOrganization​(int organizationId)` |
  `void` | `setOrganization​(int contractId, int selectedOrganizationId)` |
  `java.util.List<DocumentPosition>` | `templateDocumentPositionList​(int contractId, int documentSpecId, int year, int month)` | Список шаблонов-позиций документа для создания счета клиентом/абонентом.
  `void` | `updateBankAccount​(BankAccount bankAccount)` |
  `void` | `updateOrganization​(Organization organization)` |
  `MapHolder<java.lang.Integer,​java.util.List<IdTitle>>` | `xmlComposition()` | Получить структуру возможной XML-ки. На данный момент она содержит все модули и плагины.

- ## Method Details

  - ### billDocumentListForContract

    Result<BillDocument> billDocumentListForContract​(int contractId, Page page) throws ru.bitel.bgbilling.common.BGException, ru.bitel.bgbilling.common.BGMessageException, ru.bitel.bgbilling.common.BGIllegalArgumentException
    Получение списка счетов для договора
    Parameters:
      `contractId` - ID договора
      `page` - страница
    Returns:
      объект result = { list + page }
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `ru.bitel.bgbilling.common.BGMessageException`
      `ru.bitel.bgbilling.common.BGIllegalArgumentException`

  - ### billDocumentDelete

    void billDocumentDelete​(int contractId, int id, boolean customer) throws ru.bitel.bgbilling.common.BGException, ru.bitel.bgbilling.common.BGMessageException, ru.bitel.bgbilling.common.BGIllegalArgumentException
    Удаление счета. Если customer=true, то удаление возможно только в том случае, если счет был создан клиентом (uid=-1) и счет не оплачен (status=0).
    Parameters:
      `contractId` - ID договора
      `id` - ID счета
      `customer` - удаление клиентом/абонентом
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `ru.bitel.bgbilling.common.BGMessageException`
      `ru.bitel.bgbilling.common.BGIllegalArgumentException`

  - ### documentSpecListForCustomer

    java.util.List<DocType> documentSpecListForCustomer​(int contractId) throws ru.bitel.bgbilling.common.BGException, ru.bitel.bgbilling.common.BGMessageException, ru.bitel.bgbilling.common.BGIllegalArgumentException
    Список разрешенных типов документов для договора, которые клиент/абонент может создать. Типы документов должны быть добавлены в договор, а в конфиге модуля указан дополнительный фильтр allowed.web.bill.types
    Parameters:
      `contractId` - ID договора
    Returns:
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `ru.bitel.bgbilling.common.BGMessageException`
      `ru.bitel.bgbilling.common.BGIllegalArgumentException`

  - ### bankAccountList

    java.util.List<BankAccount> bankAccountList() throws ru.bitel.bgbilling.common.BGException, ru.bitel.bgbilling.common.BGMessageException, ru.bitel.bgbilling.common.BGIllegalArgumentException
    Список банковских счетов, которые могут быть указаны в счете.
    Returns:
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `ru.bitel.bgbilling.common.BGMessageException`
      `ru.bitel.bgbilling.common.BGIllegalArgumentException`

  - ### templateDocumentPositionList

    java.util.List<DocumentPosition> templateDocumentPositionList​(int contractId, int documentSpecId, int year, int month) throws ru.bitel.bgbilling.common.BGException, ru.bitel.bgbilling.common.BGMessageException, ru.bitel.bgbilling.common.BGIllegalArgumentException
    Список шаблонов-позиций документа для создания счета клиентом/абонентом.
    Parameters:
      `contractId` - ID договора
      `documentSpecId` - ID типа документа
      `year` - год
      `month` - месяц (0 - январь)
    Returns:
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `ru.bitel.bgbilling.common.BGMessageException`
      `ru.bitel.bgbilling.common.BGIllegalArgumentException`

  - ### billDocumentCreate

    int billDocumentCreate​(int contractId, int documentSpecId, int bankAccountId, int year, int month, java.util.List<DocumentPosition> documentPositionList) throws ru.bitel.bgbilling.common.BGException, ru.bitel.bgbilling.common.BGMessageException, ru.bitel.bgbilling.common.BGIllegalArgumentException
    Создание счета
    Parameters:
      `contractId` - ID договора
      `documentSpecId` - ID типа документа
      `bankAccountId` - ID банковского счета, который будет указан в счете
      `year` - год
      `month` - месяц (0 - январь)
      `documentPositionList` -
    Returns:
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `ru.bitel.bgbilling.common.BGMessageException`
      `ru.bitel.bgbilling.common.BGIllegalArgumentException`

  - ### billDocumentDownload

    void billDocumentDownload​(int contractId, int id, javax.xml.ws.Holder<java.lang.String> name, javax.xml.ws.Holder<javax.activation.DataHandler> data) throws ru.bitel.bgbilling.common.BGException, ru.bitel.bgbilling.common.BGMessageException, ru.bitel.bgbilling.common.BGIllegalArgumentException
    Получение счета в формате PDF.
    Parameters:
      `contractId` - ID договора
      `id` - ID счета
      `name` - результат - имя файла
      `data` - результат - файл
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `ru.bitel.bgbilling.common.BGMessageException`
      `ru.bitel.bgbilling.common.BGIllegalArgumentException`

  - ### invoiceDocumentListForContract

    Result<InvoiceDocument> invoiceDocumentListForContract​(int contractId, boolean onlyReady, Page page) throws ru.bitel.bgbilling.common.BGException, ru.bitel.bgbilling.common.BGMessageException, ru.bitel.bgbilling.common.BGIllegalArgumentException
    Получение списка счёт-фактур
    Parameters:
      `contractId` - ID договора
      `onlyReady` - только готовые
      `page` - страница
    Returns:
      объект result = { list + page }
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `ru.bitel.bgbilling.common.BGMessageException`
      `ru.bitel.bgbilling.common.BGIllegalArgumentException`

  - ### invoiceDocumentDownload

    void invoiceDocumentDownload​(int contractId, int id, javax.xml.ws.Holder<java.lang.String> name, javax.xml.ws.Holder<javax.activation.DataHandler> data) throws ru.bitel.bgbilling.common.BGException
    Получение счёт-фактуры в формате PDF.
    Parameters:
      `contractId` - ID договора
      `id` - ID счёт-фактуры
      `name` - результат - имя файла
      `data` - результат - файл
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `ru.bitel.bgbilling.common.BGMessageException`
      `ru.bitel.bgbilling.common.BGIllegalArgumentException`

  - ### getBankAccountList

    java.util.List<BankAccount> getBankAccountList​(int organizationId, java.lang.Boolean inUse) throws ru.bitel.bgbilling.common.BGException
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getDefaultBankAccount

    BankAccount getDefaultBankAccount​(int organizationId) throws ru.bitel.bgbilling.common.BGException
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### setDefaultBankAccount

    void setDefaultBankAccount​(BankAccount bankAccount) throws ru.bitel.bgbilling.common.BGException
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getBankAccountTitleList

    java.util.List<IdTitle> getBankAccountTitleList​(int contractId, int organizationId, java.lang.Boolean inUse, javax.xml.ws.Holder<java.lang.Integer> selectedItemId) throws ru.bitel.bgbilling.common.BGException
    Список доступных банковских счетов из справочника банков
    Returns:
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### setBankAccount

    void setBankAccount​(int contractId, int selectedBabkAccountId) throws ru.bitel.bgbilling.common.BGException
    Банковский Счет для договора по умолчанию
    Parameters:
      `contractId` -
      `selectedBabkAccountId` -
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### updateBankAccount

    void updateBankAccount​(BankAccount bankAccount) throws ru.bitel.bgbilling.common.BGException
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### deleteBankAccount

    void deleteBankAccount​(int bankAccountId) throws ru.bitel.bgbilling.common.BGException
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getBankAccount

    BankAccount getBankAccount​(int bankAccountId) throws ru.bitel.bgbilling.common.BGException
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getOrganizationList

    java.util.List<Organization> getOrganizationList() throws ru.bitel.bgbilling.common.BGException
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getDefaultOrganization

    Organization getDefaultOrganization() throws ru.bitel.bgbilling.common.BGException
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getOrganization

    Organization getOrganization​(int organizationId) throws ru.bitel.bgbilling.common.BGException
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### updateOrganization

    void updateOrganization​(Organization organization) throws ru.bitel.bgbilling.common.BGException
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### deleteOrganization

    void deleteOrganization​(int organizationId) throws ru.bitel.bgbilling.common.BGException
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### setDefaultOrganization

    void setDefaultOrganization​(int organizationId) throws ru.bitel.bgbilling.common.BGException
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getOrganizationTitleList

    java.util.List<IdTitle> getOrganizationTitleList​(int contractId, java.lang.Boolean inUse, javax.xml.ws.Holder<java.lang.Integer> selectedId) throws ru.bitel.bgbilling.common.BGException
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### setOrganization

    void setOrganization​(int contractId, int selectedOrganizationId) throws ru.bitel.bgbilling.common.BGException
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### docTypeList

    java.util.List<DocType> docTypeList​(DocumentType documentType) throws ru.bitel.bgbilling.common.BGException
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### docTypeListForContract

    java.util.List<DocType> docTypeListForContract​(int contractId, DocumentType documentType) throws ru.bitel.bgbilling.common.BGException
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### docTypeGet

    DocType docTypeGet​(int id) throws ru.bitel.bgbilling.common.BGException
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### docTypeUpdate

    void docTypeUpdate​(DocType dt) throws ru.bitel.bgbilling.common.BGException
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### docTypeDelete

    void docTypeDelete​(int id) throws ru.bitel.bgbilling.common.BGException
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### positionList

    java.util.List<IdTitle> positionList​(DocumentType documentType) throws ru.bitel.bgbilling.common.BGException
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### xmlComposition

    MapHolder<java.lang.Integer,​java.util.List<IdTitle>> xmlComposition() throws ru.bitel.bgbilling.common.BGException
    Получить структуру возможной XML-ки.
    На данный момент она содержит все модули и плагины. А для договора заполняется в клиенте.
    Returns:
      - map, в котором под кодом 1 - модули, 2 - плагины.
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### searchPositionList

    SearchResult<Position> searchPositionList​(DocumentType documentType, Page page) throws ru.bitel.bgbilling.common.BGException, ru.bitel.bgbilling.common.BGMessageException
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `ru.bitel.bgbilling.common.BGMessageException`

  - ### positionGet

    Position positionGet​(DocumentType documentType, int positionId) throws ru.bitel.bgbilling.common.BGException, ru.bitel.bgbilling.common.BGMessageException
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `ru.bitel.bgbilling.common.BGMessageException`

  - ### positionUpdate

    Position positionUpdate​(DocumentType documentType, Position position) throws ru.bitel.bgbilling.common.BGException, ru.bitel.bgbilling.common.BGMessageException
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `ru.bitel.bgbilling.common.BGMessageException`

  - ### positionDelete

    boolean positionDelete​(DocumentType documentType, int positionId) throws ru.bitel.bgbilling.common.BGException, ru.bitel.bgbilling.common.BGMessageException
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `ru.bitel.bgbilling.common.BGMessageException`