ru.bitel.bgbilling.plugins.helpdesk.server.bean

## Class HelpDeskDirectoryManager

- java.lang.Object
- - ru.bitel.bgbilling.plugins.helpdesk.server.bean.HelpDeskDirectoryManager

-     public class HelpDeskDirectoryManager
      extends java.lang.Object

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected java.sql.Connection` | `con`
    `protected ru.bitel.bgbilling.kernel.plugin.server.BGPluginServer` | `plugin`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `HelpDeskDirectoryManager(java.sql.Connection con, ru.bitel.bgbilling.kernel.plugin.server.BGPluginServer plugin)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addCategoryToGroup(int groupId, int categoryId)`
    `void` | `addSubcategoryToCategory(int groupId, int categoryId, int subCategoryId)`
    `void` | `deleteCategeryTitle(int id)`
    `void` | `deleteCategoryToGroup(int groupId, int categoryId)`
    `void` | `deleteGroupTitle(int id)`
    `void` | `deleteSubCategeryTitle(int id)`
    `void` | `deleteSubcategoryToCategory(int groupId, int categoryId, int subCategoryId)`
    `void` | `getCategoryList(SearchResult<IdTitle> searchResult)`
    `void` | `getCategoryListSelectAndAvailable(SearchResult<IdTitle> searchResultSelect, SearchResult<IdTitle> searchResultAvailable, int groupId)`
    `java.lang.String` | `getCategoryTitle(int categoryId)` Возвращает название категории по ее ИД
    `int` | `getContractGroupId(int cid)` Выдает номер группы к которой относится контракт
    `protected java.lang.String` | `getDBTableName(java.lang.String name)`
    `void` | `getGroupList(SearchResult<IdTitle> searchResult)`
    `java.util.Map<java.lang.Integer,java.util.List<java.lang.Integer>>` | `getSubCategoryIds(int groupId)` Возвращает Map категорий со списком ID подкатегорий в для указанной группы
    `void` | `getSubCategoryList(SearchResult<IdTitle> searchResult)`
    `void` | `getSubCategoryListAvailableAndSelect(SearchResult<IdTitle> selectSubCategory, SearchResult<IdTitle> availableSubCategory, int groupId, int categoryId)` Позволяет получить списки "выбранных подкатегорий" и тех что еще можно выбрать.
    `java.lang.String` | `getSubcategoryTitle(int subcategoryId)` Возвращает название подкатегории по ее ИД
    `boolean` | `hasContractGroup(int cid)`
    `int` | `inspectionCategory(int categoryId)` Метод небюходим для проверки перед удалением категории.
    `int` | `inspectionGroupContract(int groupId)` Метод небюходим для проверки перед удалением группы.
    `int` | `inspectionSubcategory(int subcategoryId)` Метод небюходим для проверки перед удалением подкатегории.
    `void` | `setCategorySubcategory(int categoryId, int subcategoryId, int topicId)`
    `void` | `updateCategoryTitle(IdTitle idTitle)`
    `void` | `updateContractGroup(int cid, int groupId)` Производит запись или если есть уже запись производит ее обновление (в параметрах контракта, которая указывает принадлежность к группе)
    `void` | `updateGroupTitle(IdTitle idTitle)`
    `void` | `updateSubCategoryTitle(IdTitle idTitle)`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### con

          protected java.sql.Connection con

    - #### plugin

          protected ru.bitel.bgbilling.kernel.plugin.server.BGPluginServer plugin

  - ### Constructor Detail

    - #### HelpDeskDirectoryManager

          public HelpDeskDirectoryManager(java.sql.Connection con,
                                          ru.bitel.bgbilling.kernel.plugin.server.BGPluginServer plugin)

  - ### Method Detail

    - #### getDBTableName

          protected java.lang.String getDBTableName(java.lang.String name)

    - #### getGroupList

          public void getGroupList(SearchResult<IdTitle> searchResult)

    - #### getCategoryList

          public void getCategoryList(SearchResult<IdTitle> searchResult)

    - #### getSubCategoryList

          public void getSubCategoryList(SearchResult<IdTitle> searchResult)

    - #### getCategoryListSelectAndAvailable

          public void getCategoryListSelectAndAvailable(SearchResult<IdTitle> searchResultSelect,
                                                        SearchResult<IdTitle> searchResultAvailable,
                                                        int groupId)

    - #### getSubCategoryIds

          public java.util.Map<java.lang.Integer,java.util.List<java.lang.Integer>> getSubCategoryIds(int groupId)
                                                                                               throws ru.bitel.bgbilling.common.BGException

      Возвращает Map категорий со списком ID подкатегорий в для указанной группы
      Parameters:
        `groupId` -
      Returns:
        Map категорий
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### getSubCategoryListAvailableAndSelect

          public void getSubCategoryListAvailableAndSelect(SearchResult<IdTitle> selectSubCategory,
                                                           SearchResult<IdTitle> availableSubCategory,
                                                           int groupId,
                                                           int categoryId)

      Позволяет получить списки "выбранных подкатегорий" и тех что еще можно выбрать. Выбранные это те, что будут отображаться пользователю/менеджеру в качестве возможных для темы.
      Parameters:
        `selectSubCategory` - - результат для уже выбранных, может быть=null.
        `availableSubCategory` - - рузультат, данные категории могут быть добавленны в качестве возможных, может быть=null.
        `groupId` - - группа к которой относится договор в HD.
        `categoryId` - - категория для которой мы хотим молучить данные.

    - #### updateGroupTitle

          public void updateGroupTitle(IdTitle idTitle)
                                throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### updateCategoryTitle

          public void updateCategoryTitle(IdTitle idTitle)
                                   throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### updateSubCategoryTitle

          public void updateSubCategoryTitle(IdTitle idTitle)
                                      throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### deleteGroupTitle

          public void deleteGroupTitle(int id)

    - #### deleteCategeryTitle

          public void deleteCategeryTitle(int id)

    - #### deleteSubCategeryTitle

          public void deleteSubCategeryTitle(int id)

    - #### addCategoryToGroup

          public void addCategoryToGroup(int groupId,
                                         int categoryId)

    - #### addSubcategoryToCategory

          public void addSubcategoryToCategory(int groupId,
                                               int categoryId,
                                               int subCategoryId)

    - #### deleteCategoryToGroup

          public void deleteCategoryToGroup(int groupId,
                                            int categoryId)

    - #### deleteSubcategoryToCategory

          public void deleteSubcategoryToCategory(int groupId,
                                                  int categoryId,
                                                  int subCategoryId)

    - #### updateContractGroup

          public void updateContractGroup(int cid,
                                          int groupId)

      Производит запись или если есть уже запись производит ее обновление (в параметрах контракта, которая указывает принадлежность к группе)
      Parameters:
        `cid` - - contract id
        `groupId` - - id Группы (которые в справочнике)

    - #### setCategorySubcategory

          public void setCategorySubcategory(int categoryId,
                                             int subcategoryId,
                                             int topicId)

    - #### hasContractGroup

          public boolean hasContractGroup(int cid)
                                   throws java.sql.SQLException

      Parameters:
        `cid` - - contract id
      Returns:
        true если содержит, иначе fals.
      Throws:
        `java.sql.SQLException`

    - #### getContractGroupId

          public int getContractGroupId(int cid)

      Выдает номер группы к которой относится контракт
      Parameters:
        `cid` - - contract id
      Returns:
        int - номер группы

    - #### getCategoryTitle

          public java.lang.String getCategoryTitle(int categoryId)

      Возвращает название категории по ее ИД
      Parameters:
        `categoryId` -
      Returns:
        String - название категории

    - #### getSubcategoryTitle

          public java.lang.String getSubcategoryTitle(int subcategoryId)

      Возвращает название подкатегории по ее ИД
      Parameters:
        `subcategoryId` -
      Returns:
        String - название подкатегории

    - #### inspectionGroupContract

          public int inspectionGroupContract(int groupId)

      Метод небюходим для проверки перед удалением группы. Возвращает количество контрактов которые пренадлежат к данной группе.
      Parameters:
        `groupId` - - ИД группы
      Returns:
        int - кол-во контрактов, если количество более 0 то небходимо предупридить перед удалением пользователя.

    - #### inspectionCategory

          public int inspectionCategory(int categoryId)

      Метод небюходим для проверки перед удалением категории. Возвращает количество топиков в которых выставлена эта категория.
      Parameters:
        `categoryId` - - ИД категории
      Returns:
        int - кол-во топиков, если количество более 0 то небходимо запретить удаление.

    - #### inspectionSubcategory

          public int inspectionSubcategory(int subcategoryId)

      Метод небюходим для проверки перед удалением подкатегории. Возвращает количество топиков в которых выставлена эта подкатегория.
      Parameters:
        `subcategoryId` - - ИД подкатегории
      Returns:
        int - кол-во топиков, если количество более 0 то небходимо запретить удаление.