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

## Interface ChargeService

-     public interface ChargeService

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `chargeDelete(int chargeId)` Удаление расхода договора.
    `int` | `chargeDelete(int contractId, int chargeId)` Удаление расхода договора.
    `Charge` | `chargeGet(int chargeId)` Получение расхода договора по его ид.
    `java.util.List<Charge>` | `chargeList(int contractId, int type, Period period, int members, javax.xml.ws.Holder<java.math.BigDecimal> holderTotalSum)` Получает список расходов для договора
    `int` | `chargeTypeDelete(int chargeTypeId)` Удаление типа расход/возврат.
    `ChargeType` | `chargeTypeGet(int chargeTypeId)` Получение типа расхода.
    `java.util.List<ChargeType>` | `chargeTypeList(java.lang.Integer editable, java.lang.Integer type, java.lang.Boolean isPayback)` Получение списка типов расхода.
    `void` | `chargeTypeMove(int chargeTypeId, java.util.List<java.lang.Integer> idList)` Один из способов редактирования типа расход, если необходимо изменить положение типов расхода в дереве.
    `PaymentTypeItem` | `chargeTypeTree(int editable, boolean isPayback, boolean showEmptyRoot)` Получение дерева типов.
    `int` | `chargeTypeUpdate(ChargeType chargeType)` Обновление или создание типа расход/возврат
    `int` | `chargeUpdate(Charge charge)` Создание или обновление расхода.
    `java.util.List<Charge>` | `paybackList(int contractId, int paybackTypeId, Period period, int members, javax.xml.ws.Holder<java.math.BigDecimal> holderTotalSum)` Получает список возвратов для договора

- - ### Method Detail

    - #### chargeGet

          Charge chargeGet(int chargeId)
                    throws ru.bitel.bgbilling.common.BGException

      Получение расхода договора по его ид.
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### chargeList

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

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

    - #### chargeDelete

          @RequestWrapper(className="ru.bitel.bgbilling.kernel.contract.balance.common.jaxws.ChargeDeleteByIdRequest")
           @ResponseWrapper(className="ru.bitel.bgbilling.kernel.contract.balance.common.jaxws.ChargeDeleteByIdResponse")
          int chargeDelete(int chargeId)
                                                                                                                                                                                                                                                 throws ru.bitel.bgbilling.common.BGException,
                                                                                                                                                                                                                                                        ru.bitel.bgbilling.common.BGMessageException

      Удаление расхода договора.
      Parameters:
        `chargeId` -
      Returns:
        - кол-во удаленных строк
      Throws:
        `ru.bitel.bgbilling.common.BGException`
        `ru.bitel.bgbilling.common.BGMessageException`

    - #### chargeDelete

          int chargeDelete(int contractId,
                           int chargeId)
                    throws ru.bitel.bgbilling.common.BGException,
                           ru.bitel.bgbilling.common.BGMessageException

      Удаление расхода договора.
      Parameters:
        `chargeId` -
      Returns:
        - кол-во удаленных строк
      Throws:
        `ru.bitel.bgbilling.common.BGException`
        `ru.bitel.bgbilling.common.BGMessageException`

    - #### chargeUpdate

          int chargeUpdate(Charge charge)
                    throws ru.bitel.bgbilling.common.BGException,
                           ru.bitel.bgbilling.common.BGMessageException

      Создание или обновление расхода.
      Parameters:
        `charge` - - bean расхода.
      Returns:
        ид созданного/обнавленного расхода.
      Throws:
        `ru.bitel.bgbilling.common.BGException`
        `ru.bitel.bgbilling.common.BGMessageException`

    - #### paybackList

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

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

    - #### chargeTypeGet

          ChargeType chargeTypeGet(int chargeTypeId)
                            throws ru.bitel.bgbilling.common.BGException

      Получение типа расхода.
      На прямую лучше не использовать, берите через справочник.
      Parameters:
        `chargeTypeId` - - ид типа расхода.
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### chargeTypeList

          java.util.List<ChargeType> chargeTypeList(java.lang.Integer editable,
                                                    java.lang.Integer type,
                                                    java.lang.Boolean isPayback)
                                             throws ru.bitel.bgbilling.common.BGException

      Получение списка типов расхода.
      Если нужны все, на прямую лучше не использовать, берите через справочник.
      Parameters:
        `editable` - если = 0 - только редактируемые, = 1 - не редактируемые, null или меньше 0 - все.
        `type` - - 0 - элемент группы, 1 - группа, null или меньше 0 - все
        `isPayback` - - если true, то возврат , если false приход, если null - все. Если editable или type будут иметь другие значения, то результатом будет пустой список.
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### chargeTypeTree

          PaymentTypeItem chargeTypeTree(int editable,
                                         boolean isPayback,
                                         boolean showEmptyRoot)
                                  throws ru.bitel.bgbilling.common.BGException

      Получение дерева типов.
      Parameters:
        `editable` - - 0 - редактируемые, 1 - не редактируемые, меньше 0 - все.
        `isPayback` - - если true то только возвраты, false - расходы
        `showEmptyRoot` - - показывать ли пустые элементы группы.
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### chargeTypeMove

          void chargeTypeMove(int chargeTypeId,
                              java.util.List<java.lang.Integer> idList)
                       throws ru.bitel.bgbilling.common.BGException

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

    - #### chargeTypeUpdate

          int chargeTypeUpdate(ChargeType chargeType)
                        throws ru.bitel.bgbilling.common.BGException,
                               ru.bitel.bgbilling.common.BGMessageException

      Обновление или создание типа расход/возврат
      Parameters:
        `chargeTypeId` -
      Returns:
      Throws:
        `ru.bitel.bgbilling.common.BGMessageException` - - если передаваемый тип == null, или его поля неворно заполнены.
        `ru.bitel.bgbilling.common.BGException`

    - #### chargeTypeDelete

          int chargeTypeDelete(int chargeTypeId)
                        throws ru.bitel.bgbilling.common.BGException,
                               ru.bitel.bgbilling.common.BGMessageException

      Удаление типа расход/возврат.
      Parameters:
        `chargeTypeId` - - код удаляемого расхода.
      Returns:
        - число удаленных записей.
      Throws:
        `ru.bitel.bgbilling.common.BGMessageException` - - в случае, если удаление невозможно в связи с нарушением ссылочной целостности.
        `ru.bitel.bgbilling.common.BGException`