ru.bitel.bgbilling.modules.license.common.service

## Interface OrderService

-     public interface OrderService

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `deleteOrder(int orderId)` Удалит заказ
    `java.util.List<Component>` | `getComponentItems(int copyId, boolean showHidden, boolean customer)`
    `java.math.BigDecimal` | `getCostComponent(java.lang.String componentName, int count, int copyId)` Вернет стоимость соответсвующего компонента
    `java.lang.Integer` | `getCountOrderedComponents(java.lang.String componentName, int copyId)` Вернет кол-во заказанных, подтвержденных.
    `java.util.List<NewPermanentOrder>` | `getNewPermanentOrders(int copyId)` Получим список постоянных заказов со статусом новый.
    `java.util.List<NewTestOrder>` | `getNewTestOrders(int copyId)` Получим список тестовых заказов со статусом новый.
    `Order` | `getOrder(int orderId)` Вернет заказ
    `java.util.List<Order>` | `getOrders(int copyId, java.lang.String testFilter, java.lang.String permanentFilter, int componentFilter)` Если все 3 фильтра незначимые (filterPermanentStatus=null ,filterTestStatus=null ,filterComponentItemId=-1 ), то выведит все заказы.
    `java.util.List<Order>` | `getOrdersList(int copyId, int type, int status, int componentId)`
    `int` | `orderCreate(int contractId, Order order, boolean customer)`
    `java.util.List<OrderBillData>` | `ordersBillDataList(int contractId, int copyId, java.util.Set<java.lang.Integer> orderIds)` Получение списка данных (общее/добавленное кол-во, стоимость) по заказам.
    `void` | `ordersCopy(int contractId, int copyId, java.util.Set<java.lang.Integer> orderIds, int term)` Копирование новых постоянных заказов в тестовые.
    `void` | `ordersDelete(int contractId, int copyId, java.util.Set<java.lang.Integer> orderIds)` Удаление заказов.
    `void` | `updateOrder(Order order)` Создает или изменяет существующий заказ.

- - ### Method Detail

    - #### getOrders

          java.util.List<Order> getOrders(int copyId,
                                          java.lang.String testFilter,
                                          java.lang.String permanentFilter,
                                          int componentFilter)
                                   throws ru.bitel.bgbilling.common.BGException

      Если все 3 фильтра незначимые (filterPermanentStatus=null ,filterTestStatus=null ,filterComponentItemId=-1 ), то выведит все заказы.
      Parameters:
        `copyId` -
        `testFilter` - - фильтр для "тестовых" заказов в виде 0,1,3 или 3,1 или 0 , где в скобках соответсвующий id (0-новый , 1-отказано, 3 -подтвержден). Если передать null или пустую строку, фильтр не будет выводить "тестовые" заказы.
        `permanentFilter` - - фильтр для "постоянных" заказов в виде 0,1,2 или 2,1 или 0 , где в скобках соответсвующий id (0-новый , 1-отказано, 2 -выполнен). Если передать null или пустую строку, фильтр не будет выводить "постоянные" заказы.
        `componentFilter` - - id компонента, фильтр по компоненту ну там id email или id ipn или id npay ну и т.д. или -1 если фильтр по нему не нужен.
      Returns:
        - отфильтрованный лист заказов
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### getOrdersList

          java.util.List<Order> getOrdersList(int copyId,
                                              int type,
                                              int status,
                                              int componentId)
                                       throws ru.bitel.bgbilling.common.BGException

      Parameters:
        `copyId` - - код продукта
        `type` - - тип, Тестовый - 0, Постоянный - 1. Все - <1
        `status` - - статус, Новый - 0, Отказано - 1, Подтвержденные(тестовые) и Постоянные( не тестовые) - 2. Все - <1
        `componentId` - - ид компонента. Все - <1
      Returns:
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### getOrder

          Order getOrder(int orderId)
                  throws ru.bitel.bgbilling.common.BGException

      Вернет заказ
      Parameters:
        `orderId` - ид заказа
      Returns:
        Order
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### updateOrder

          void updateOrder(Order order)
                    throws ru.bitel.bgbilling.common.BGException

      Создает или изменяет существующий заказ.
      Parameters:
        `order` - - заказ, в случае когда order.id == 0 создает заказ
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### deleteOrder

          void deleteOrder(int orderId)
                    throws ru.bitel.bgbilling.common.BGException,
                           ru.bitel.bgbilling.common.BGMessageException

      Удалит заказ
      Parameters:
        `orderId` - ид заказа
      Throws:
        `ru.bitel.bgbilling.common.BGException`
        `ru.bitel.bgbilling.common.BGMessageException`

    - #### getComponentItems

          java.util.List<Component> getComponentItems(int copyId,
                                                      boolean showHidden,
                                                      boolean customer)
                                               throws ru.bitel.bgbilling.common.BGException

      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### getCostComponent

          java.math.BigDecimal getCostComponent(java.lang.String componentName,
                                                int count,
                                                int copyId)
                                         throws ru.bitel.bgbilling.common.BGException

      Вернет стоимость соответсвующего компонента
      Parameters:
        `componentName` - - название компонента
        `count` - - кол-во элементов
        `contractId` - - номер договора
      Returns:
        Стоимость
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### getCountOrderedComponents

          java.lang.Integer getCountOrderedComponents(java.lang.String componentName,
                                                      int copyId)
                                               throws ru.bitel.bgbilling.common.BGException

      Вернет кол-во заказанных, подтвержденных. Если кол-во == 0 , то вернет -1, если кол-во == неогранченно вернет 0 ))))
      Parameters:
        `componentName` - - название компонента
        `copyId` - - код копии продукта
      Returns:
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### getNewPermanentOrders

          java.util.List<NewPermanentOrder> getNewPermanentOrders(int copyId)
                                                           throws ru.bitel.bgbilling.common.BGException

      Получим список постоянных заказов со статусом новый.
      Parameters:
        `copyId` - код копии продукта
      Returns:
        List
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### getNewTestOrders

          java.util.List<NewTestOrder> getNewTestOrders(int copyId)
                                                 throws ru.bitel.bgbilling.common.BGException

      Получим список тестовых заказов со статусом новый.
      Parameters:
        `copyId` - код копии продукта
      Returns:
        List
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### orderCreate

          int orderCreate(int contractId,
                          Order order,
                          boolean customer)
                   throws ru.bitel.bgbilling.common.BGException,
                          ru.bitel.bgbilling.common.BGMessageException,
                          ru.bitel.bgbilling.common.BGIllegalArgumentException

      Throws:
        `ru.bitel.bgbilling.common.BGException`
        `ru.bitel.bgbilling.common.BGMessageException`
        `ru.bitel.bgbilling.common.BGIllegalArgumentException`

    - #### ordersCopy

          void ordersCopy(int contractId,
                          int copyId,
                          java.util.Set<java.lang.Integer> orderIds,
                          int term)
                   throws ru.bitel.bgbilling.common.BGException,
                          ru.bitel.bgbilling.common.BGMessageException,
                          ru.bitel.bgbilling.common.BGIllegalArgumentException

      Копирование новых постоянных заказов в тестовые.
      Parameters:
        `contractId` -
        `copyId` -
        `orderIds` -
        `term` -
      Throws:
        `ru.bitel.bgbilling.common.BGException`
        `ru.bitel.bgbilling.common.BGMessageException`
        `ru.bitel.bgbilling.common.BGIllegalArgumentException`

    - #### ordersDelete

          void ordersDelete(int contractId,
                            int copyId,
                            java.util.Set<java.lang.Integer> orderIds)
                     throws ru.bitel.bgbilling.common.BGException,
                            ru.bitel.bgbilling.common.BGMessageException,
                            ru.bitel.bgbilling.common.BGIllegalArgumentException

      Удаление заказов.
      Parameters:
        `contractId` -
        `copyId` -
        `orderIds` -
        `term` -
      Throws:
        `ru.bitel.bgbilling.common.BGException`
        `ru.bitel.bgbilling.common.BGMessageException`
        `ru.bitel.bgbilling.common.BGIllegalArgumentException`

    - #### ordersBillDataList

          java.util.List<OrderBillData> ordersBillDataList(int contractId,
                                                           int copyId,
                                                           java.util.Set<java.lang.Integer> orderIds)
                                                    throws ru.bitel.bgbilling.common.BGException,
                                                           ru.bitel.bgbilling.common.BGMessageException,
                                                           ru.bitel.bgbilling.common.BGIllegalArgumentException

      Получение списка данных (общее/добавленное кол-во, стоимость) по заказам.
      Parameters:
        `contractId` -
        `orderIds` -
      Returns:
      Throws:
        `ru.bitel.bgbilling.common.BGException`
        `ru.bitel.bgbilling.common.BGMessageException`
        `ru.bitel.bgbilling.common.BGIllegalArgumentException`