ru.bitel.bgbilling.kernel.contract.balance.common

## Interface BalanceService

-     @MTOM(enabled=true)
      public interface BalanceService

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.util.List<BalanceDetailItem>` | `balanceDetailList(int contractId, Period period, boolean available)` Получнение списка для детализированного баланса, как с учетом резервов, так и нет.
    `java.util.List<ContractAccountDetail>` | `contractAccountDetailList(int contractId, int serviceId, Period period, javax.xml.ws.Holder<java.math.BigDecimal> holderTotalSum)`
    `java.util.List<ContractAccount>` | `contractAccountList(int contractId, Period period, int members, javax.xml.ws.Holder<java.math.BigDecimal> holderTotalSum)`
    `ContractBalance` | `contractBalanceGet(int contractId, int year, int month)` Возвращает баланс договора.
    `java.util.List<ContractBalance>` | `contractBalanceList(int contractId, Period period)` Возвратит список помесячных данных баланса(такие как приходы,расходы,наработки и входящий остаток).
    `java.util.List<java.lang.Integer>` | `contractBalanceTransfer(int contractId, java.util.Date date, java.util.List<BalanceDistributeData> balanceDistributeDataList, boolean customer)` Перераспределение средств с супердоговора на субдоговора.
    `void` | `getDataSource(java.lang.String type, int mode, int cid, Period period, javax.xml.ws.Holder<javax.activation.DataHandler> data)` Выгружаем информацию о балансе.
    `boolean` | `sendEmail(java.lang.String email, java.lang.String type, int mode, int cid, Period period)` Отправляет на почту информацию о балансе в зависимости от выбранного режима отображения.

- - ### Method Detail

    - #### balanceDetailList

          java.util.List<BalanceDetailItem> balanceDetailList(int contractId,
                                                              Period period,
                                                              boolean available)
                                                       throws ru.bitel.bgbilling.common.BGException

      Получнение списка для детализированного баланса, как с учетом резервов, так и нет. Метод максимально соответсвует старому акшену( ActionContractBalanceDetail );
      Parameters:
        `contractId` - - код договора.
        `period` - - период, шагом является месяц.
        `available` - если = true, то вернет с учетом резервов, то есть с учетом доступной суммы.
      Returns:
        список в хронологическом порядке(ну кроме нароботков) приходов, расходов, нароботков, резервов(если available=true) за период.
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### contractBalanceList

          java.util.List<ContractBalance> contractBalanceList(int contractId,
                                                              Period period)
                                                       throws ru.bitel.bgbilling.common.BGException

      Возвратит список помесячных данных баланса(такие как приходы,расходы,наработки и входящий остаток).
      Parameters:
        `cid` - - код договора.
        `period` - - за какой период.
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### contractAccountList

          java.util.List<ContractAccount> contractAccountList(int contractId,
                                                              Period period,
                                                              int members,
                                                              javax.xml.ws.Holder<java.math.BigDecimal> holderTotalSum)
                                                       throws ru.bitel.bgbilling.common.BGException

      Parameters:
        `contractId` - - код договора.
        `period` - - период, если == null, то все наработки.Если какая нибудь из дат == null, то она принемается за текущую дату.
        `members` - - если == 1, то вернет только данного договора, если = 2 то вернет еще и зависемых субдоговоров, если = 3 то только зависемых субдоговоров.
        `holderTotalSum` - - возвращаемое поле, если != null, то сюда занесется общая сумма по всем выбранным позициям. Если вам не нужно это, ставте null.
      Returns:
        список наработок
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### contractAccountDetailList

          java.util.List<ContractAccountDetail> contractAccountDetailList(int contractId,
                                                                          int serviceId,
                                                                          Period period,
                                                                          javax.xml.ws.Holder<java.math.BigDecimal> holderTotalSum)
                                                                   throws ru.bitel.bgbilling.common.BGException

      Parameters:
        `contractId` - - код договора.
        `period` - - период, если == null, то все наработки.Если какая нибудь из дат == null, то она принемается за текущую дату.
        `holderTotalSum` - - возвращаемое поле, если != null, то сюда занесется общая сумма по всем выбранным позициям. Если вам не нужно это, ставте null.
      Returns:
        список наработок
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### contractBalanceGet

          ContractBalance contractBalanceGet(int contractId,
                                             int year,
                                             int month)
                                      throws ru.bitel.bgbilling.common.BGException

      Возвращает баланс договора. Внимание! Метод возвращает баланс указанного договора, даже если он зависимый субдоговор!
      Вернет с учетом резервов, если запрашивается на текущий месяц( ну и если в конфиге включено влияние резервов на баланс).
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### sendEmail

          boolean sendEmail(java.lang.String email,
                            java.lang.String type,
                            int mode,
                            int cid,
                            Period period)
                     throws ru.bitel.bgbilling.common.BGException

      Отправляет на почту информацию о балансе в зависимости от выбранного режима отображения.
      Parameters:
        `email` - - адрес эл. почты
        `type` - - html/csv
        `mode` - - режим отображения баланса
        `cid` - - код договора
        `period` - - период за который необходимо отправить баланс
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### getDataSource

          void getDataSource(java.lang.String type,
                             int mode,
                             int cid,
                             Period period,
                             javax.xml.ws.Holder<javax.activation.DataHandler> data)
                      throws ru.bitel.bgbilling.common.BGException

      Выгружаем информацию о балансе.
      Используется при печати и сохрании в файл из клиента.
      Parameters:
        `type` - - html/csv
        `mode` - - режим отображения баланса
        `cid` - - код договора
        `period` - - период за который необходимо отправить баланс
        `data` - - дата сурс
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### contractBalanceTransfer

          java.util.List<java.lang.Integer> contractBalanceTransfer(int contractId,
                                                                    java.util.Date date,
                                                                    java.util.List<BalanceDistributeData> balanceDistributeDataList,
                                                                    boolean customer)
                                                             throws ru.bitel.bgbilling.common.BGException

      Перераспределение средств с супердоговора на субдоговора.
      Parameters:
        `contractId` -
        `date` -
        `balanceDistributeDataList` -
      Returns:
      Throws:
        `ru.bitel.bgbilling.common.BGException`