Package ru.bitel.bgbilling.modules.sorm.common.service

# Interface SormService

public interface SormService

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addContractToUpload(int contractId)`
  `List<ClosedSormContract>`
  `checkClosedContract()`
  Проверяет закрытые договора, которые не подходят по диапазону дат для выгрузки, но на которых есть модуль сорм и есть какой-либо из модулей, который подлежит выгрузкам `UploadModulesTitle`
  `void`
  `clearStatisticOfProject(int sormProjectId, Date dateFilter)`
  Удаление статистики для проекта СОРМ
  `void`
  `deleteSormProject(int id)`
  Удаляет проект(выгрузку) СОРМ по его id
  `List<SormProject>`
  `getActiveSormProject()`
  Возвращает список включенных для выгрузки проекта СОРМ
  `List<IdTitle>`
  `getBillAttributeTypeList(int billModuleId)`
  `List<InstalledInstanceModule>`
  `getInstalledEthernetModules()`
  Возвращает список установленных экземпляров модулей интернета
  `List<InstalledInstanceModule>`
  `getInstalledPhoneModules()`
  Возвращает список установленных экземпляров модулей телефонии
  `List<InstalledInstanceModule>`
  `getInstalledSormModules()`
  Возвращает список установленных модулей, по которым может быть выполнена выгрузка для СОРМ
  `List<InstalledInstanceModule>`
  `getInstanceModules(String moduleName)`
  Возвращает список установленных экземпляров модулей по переданному имени модуля
  `SormProject`
  `getSormProject(int id)`
  `List<SormProject>`
  `getSormProjects()`
  `SearchResult<SormUploadStatistic>`
  `getStatisticOfProject(int sormProjectId, Page page)`
  `List<IdTitle>`
  `listObjectParamsByObjectType(int objectTypeId)`
  `List<IdTitle>`
  `listObjectType()`
  `void`
  `removeModuleOfContracts(Set<Integer> cids)`
  Удаление модуля СОРМ с договоров
  `List<ClosedSormContract>`
  `searchOpenedContractsWithClosedServices(SormProject sormProject)`
  Поиск открытых договоров, на которых есть модуль СОРМ, но сервисы, аккаунты и т.д. модулей, которые должны подлежать выгрузке, закрыты.
  `void`
  `startFullUpload(SormProject sormProject, boolean withPayments)`
  Запуск единоразовой полной выгрузки СОРМ
  `void`
  `startUpload(SormProject sormProject, boolean withPayments)`
  Запуск единоразовой инкрементальной выгрузки СОРМ
  `void`
  `tryUploadToFTPAgain(SormUploadStatistic statistic)`
  Попытка снова выгрузить файлы на фтп для неудачной выгрузки.
  `Integer`
  `updateSormProject(SormProject sormProject)`
  Обновляет или добавляет проект(выгрузку) СОРМ

- ## Method Details

  - ### getInstalledSormModules

    List<InstalledInstanceModule> getInstalledSormModules()
    Возвращает список установленных модулей, по которым может быть выполнена выгрузка для СОРМ
    Returns:

  - ### getInstalledEthernetModules

    List<InstalledInstanceModule> getInstalledEthernetModules()
    Возвращает список установленных экземпляров модулей интернета
    Returns:

  - ### getInstalledPhoneModules

    List<InstalledInstanceModule> getInstalledPhoneModules()
    Возвращает список установленных экземпляров модулей телефонии
    Returns:

  - ### getInstanceModules

    List<InstalledInstanceModule> getInstanceModules(String moduleName)
    Возвращает список установленных экземпляров модулей по переданному имени модуля
    Parameters:
      `moduleName` - - имя искомого модуля, например bill или npay
    Returns:

  - ### getBillAttributeTypeList

    List<IdTitle> getBillAttributeTypeList(int billModuleId) throws Exception
    Returns:
      типы атрибутов заведенных в модуле бухгалтерия
    Throws:
      `Exception`

  - ### getSormProjects

    List<SormProject> getSormProjects() throws Exception
    Returns:
      список проектов СОРМ
    Throws:
      `Exception`

  - ### getSormProject

    SormProject getSormProject(int id) throws Exception
    Returns:
      проект(выгрузку) СОРМ по id
    Throws:
      `Exception`

  - ### updateSormProject

    Integer updateSormProject(SormProject sormProject) throws Exception
    Обновляет или добавляет проект(выгрузку) СОРМ
    Parameters:
      `sormProject` - - проект СОРМ
    Throws:
      `Exception`

  - ### deleteSormProject

    void deleteSormProject(int id) throws Exception
    Удаляет проект(выгрузку) СОРМ по его id
    Parameters:
      `id` - - id удаляемого проекта(выгрузки)
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `Exception`

  - ### getActiveSormProject

    List<SormProject> getActiveSormProject() throws Exception
    Возвращает список включенных для выгрузки проекта СОРМ
    Returns:
    Throws:
      `Exception`

  - ### startUpload

    void startUpload(SormProject sormProject, boolean withPayments) throws Exception
    Запуск единоразовой инкрементальной выгрузки СОРМ
    Parameters:
      `sormProject` - - проект СОРМ, для которого необходимо начать выгрузку
      `withPayments` - - c платежами или без
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `Exception`

  - ### startFullUpload

    void startFullUpload(SormProject sormProject, boolean withPayments) throws Exception
    Запуск единоразовой полной выгрузки СОРМ
    Parameters:
      `sormProject` - проект СОРМ, для которого необходимо начать выгрузку
      `withPayments` - с платежами или без
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `Exception`

  - ### getStatisticOfProject

    SearchResult<SormUploadStatistic> getStatisticOfProject(int sormProjectId, Page page) throws Exception
    Throws:
      `Exception`

  - ### clearStatisticOfProject

    void clearStatisticOfProject(int sormProjectId, Date dateFilter) throws Exception
    Удаление статистики для проекта СОРМ
    Parameters:
      `sormProjectId` - - id проекта сорм, для которого будет удалена статистика выгрузок
      `dateFilter` - будет удалена вся статистика по проекту, до указанной даты
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `Exception`

  - ### tryUploadToFTPAgain

    void tryUploadToFTPAgain(SormUploadStatistic statistic) throws Exception
    Попытка снова выгрузить файлы на фтп для неудачной выгрузки.
    Parameters:
      `statistic` - - статистика неудавшейся выгрузки на фтп
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `Exception`

  - ### listObjectType

    List<IdTitle> listObjectType() throws Exception
    Throws:
      `Exception`

  - ### listObjectParamsByObjectType

    List<IdTitle> listObjectParamsByObjectType(int objectTypeId) throws Exception
    Throws:
      `Exception`

  - ### checkClosedContract

    List<ClosedSormContract> checkClosedContract() throws Exception
    Проверяет закрытые договора, которые не подходят по диапазону дат для выгрузки, но на которых есть модуль сорм и есть какой-либо из модулей, который подлежит выгрузкам `UploadModulesTitle`
    Returns:
      список id и название договора
    Throws:
      `Exception`

  - ### searchOpenedContractsWithClosedServices

    List<ClosedSormContract> searchOpenedContractsWithClosedServices(SormProject sormProject) throws Exception
    Поиск открытых договоров, на которых есть модуль СОРМ, но сервисы, аккаунты и т.д. модулей, которые должны подлежать выгрузке, закрыты. (Например, закрыли сервисы инета, но договор активен и на нём есть аккаунт ТВ, и такой договор не должен выгружаться)
    Returns:
      список id и название договора
    Throws:
      `Exception`

  - ### removeModuleOfContracts

    void removeModuleOfContracts(Set<Integer> cids) throws Exception
    Удаление модуля СОРМ с договоров
    Parameters:
      `cids` - список id договоров, с которых удаляется модуль
    Throws:
      `Exception`

  - ### addContractToUpload

    void addContractToUpload(int contractId) throws Exception
    Throws:
      `Exception`