ru.bitel.oss.systems.inventory.product.common.service

## Interface ProductService

-     public interface ProductService

- - ### Method Summary

    All Methods Instance Methods Abstract Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.util.List<java.lang.String[]>` | `getIncompatibleItems(int moduleId)`
    `void` | `productDelete(int contractId, int productId)`
    `Product` | `productGet(int contractId, int productId)`
    `java.util.List<Product>` | `productList(int moduleId, int contractId, int accountId, boolean kernel, java.util.Date timeFrom, java.util.Date timeTo, java.util.Date intersectTimeFrom, java.util.Date intersectTimeTo, boolean nonActive)` Deprecated.
    `java.util.List<Product>` | `productList(int moduleId, int contractId, int accountId, boolean kernel, java.util.Date timeFrom, java.util.Date timeTo, java.util.Date intersectTimeFrom, java.util.Date intersectTimeTo, boolean nonActive, boolean needProductPeriods)`
    `void` | `productPeriodDelete(int contractId, int productPeriodId)`
    `java.util.List<ProductPeriod>` | `productPeriodList(int contractId, int productId)`
    `int` | `productPeriodUpdate(int contractId, ProductPeriod productPeriod)`
    `java.util.List<ProductSpecActivationMode>` | `productSpecActivationModeList(int productSpecId, java.util.Date date)`
    `void` | `productSpecDelete(int id)`
    `ProductSpec` | `productSpecGet(int id)`
    `ProductSpec` | `productSpecGetByIdentifier(java.lang.String identifier)`
    `java.util.List<ProductSpec>` | `productSpecList(java.lang.Integer moduleId, java.util.Date dateFrom, java.util.Date dateTo, java.lang.String title, java.util.List<FilterEntityAttr> entityFilter)`
    `void` | `productSpecMove(int id, java.util.Set<java.lang.Integer> ids)`
    `ProductSpec` | `productSpecTree(java.lang.Integer moduleId, java.util.Date dateFrom, java.util.Date dateTo, java.lang.String title, java.util.List<FilterEntityAttr> entityFilter)`
    `int` | `productSpecUpdate(ProductSpec productSpec)`
    `int` | `productUpdate(Product product)`
    `java.util.List<ProductSpecServiceLink>` | `serviceLinkList(int productSpecId, java.util.Date date)`
    `void` | `serviceLinkUpdate(int productSpecId, java.util.List<ProductSpecServiceLink> linkList)`

- - ### Method Detail

    - #### productSpecGet

          ProductSpec productSpecGet(int id)
                              throws ru.bitel.bgbilling.common.BGException

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

    - #### productSpecGetByIdentifier

          ProductSpec productSpecGetByIdentifier(java.lang.String identifier)
                                          throws ru.bitel.bgbilling.common.BGException

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

    - #### productSpecList

          java.util.List<ProductSpec> productSpecList(java.lang.Integer moduleId,
                                                      java.util.Date dateFrom,
                                                      java.util.Date dateTo,
                                                      java.lang.String title,
                                                      java.util.List<FilterEntityAttr> entityFilter)
                                               throws ru.bitel.bgbilling.common.BGException

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

    - #### productSpecTree

          ProductSpec productSpecTree(java.lang.Integer moduleId,
                                      java.util.Date dateFrom,
                                      java.util.Date dateTo,
                                      java.lang.String title,
                                      java.util.List<FilterEntityAttr> entityFilter)
                               throws ru.bitel.bgbilling.common.BGException

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

    - #### productSpecUpdate

          int productSpecUpdate(ProductSpec productSpec)
                         throws ru.bitel.bgbilling.common.BGException

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

    - #### productSpecDelete

          void productSpecDelete(int id)
                          throws ru.bitel.bgbilling.common.BGException

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

    - #### productSpecActivationModeList

          java.util.List<ProductSpecActivationMode> productSpecActivationModeList(int productSpecId,
                                                                                  java.util.Date date)
                                                                           throws ru.bitel.bgbilling.common.BGException

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

    - #### productSpecMove

          void productSpecMove(int id,
                               java.util.Set<java.lang.Integer> ids)
                        throws ru.bitel.bgbilling.common.BGException

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

    - #### serviceLinkList

          java.util.List<ProductSpecServiceLink> serviceLinkList(int productSpecId,
                                                                 java.util.Date date)
                                                          throws ru.bitel.bgbilling.common.BGException

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

    - #### serviceLinkUpdate

          void serviceLinkUpdate(int productSpecId,
                                 java.util.List<ProductSpecServiceLink> linkList)
                          throws ru.bitel.bgbilling.common.BGException

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

    - #### productList

          @RequestWrapper(className="ru.bitel.oss.systems.inventory.product.common.jaxws.ProductListOldRequest")
           @ResponseWrapper(className="ru.bitel.oss.systems.inventory.product.common.jaxws.ProductListOldResponse")
           @Deprecated
          java.util.List<Product> productList(int moduleId,
                                                                                                                                                                                                                                                                            int contractId,
                                                                                                                                                                                                                                                                            int accountId,
                                                                                                                                                                                                                                                                            boolean kernel,
                                                                                                                                                                                                                                                                            java.util.Date timeFrom,
                                                                                                                                                                                                                                                                            java.util.Date timeTo,
                                                                                                                                                                                                                                                                            java.util.Date intersectTimeFrom,
                                                                                                                                                                                                                                                                            java.util.Date intersectTimeTo,
                                                                                                                                                                                                                                                                            boolean nonActive)
                                                                                                                                                                                                                                                                     throws ru.bitel.bgbilling.common.BGException

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

    - #### productList

          java.util.List<Product> productList(int moduleId,
                                              int contractId,
                                              int accountId,
                                              boolean kernel,
                                              java.util.Date timeFrom,
                                              java.util.Date timeTo,
                                              java.util.Date intersectTimeFrom,
                                              java.util.Date intersectTimeTo,
                                              boolean nonActive,
                                              boolean needProductPeriods)
                                       throws ru.bitel.bgbilling.common.BGException

      Parameters:
        `moduleId` - -1 или 0 (ядро) или ID модуля
        `contractId` - ID договора (>0)
        `accountId` - -1 или ID аккаунта
        `kernel` - добавить продукты ядра ()
        `timeFrom` -
        `timeTo` -
        `intersectTimeFrom` -
        `intersectTimeTo` -
        `nonActive` - включать ли неактивные (timeTo
        `needProductPeriods` - проставить ли subscriptionTimeFrom/subscriptionTimeTo
      Returns:
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### productUpdate

          int productUpdate(Product product)
                     throws ru.bitel.bgbilling.common.BGException

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

    - #### productGet

          Product productGet(int contractId,
                             int productId)
                      throws ru.bitel.bgbilling.common.BGException

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

    - #### productDelete

          void productDelete(int contractId,
                             int productId)
                      throws ru.bitel.bgbilling.common.BGException

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

    - #### productPeriodUpdate

          int productPeriodUpdate(int contractId,
                                  ProductPeriod productPeriod)
                           throws ru.bitel.bgbilling.common.BGException

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

    - #### productPeriodList

          java.util.List<ProductPeriod> productPeriodList(int contractId,
                                                          int productId)
                                                   throws ru.bitel.bgbilling.common.BGException

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

    - #### productPeriodDelete

          void productPeriodDelete(int contractId,
                                   int productPeriodId)
                            throws ru.bitel.bgbilling.common.BGException

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

    - #### getIncompatibleItems

          java.util.List<java.lang.String[]> getIncompatibleItems(int moduleId)
                                                           throws ru.bitel.bgbilling.common.BGException

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