Package ru.bitel.bgbilling.modules.rscm.server.bean

# Class RSCMContractServiceManager

java.lang.Object
ru.bitel.bgbilling.kernel.base.server.logger.BGLogger
ru.bitel.bgbilling.common.dao.AbstarctDaoConstant
ru.bitel.bgbilling.modules.rscm.server.bean.RSCMContractServiceManager

All Implemented Interfaces:
  `AutoCloseable`

public class RSCMContractServiceManager extends ru.bitel.bgbilling.common.dao.AbstarctDaoConstant implements AutoCloseable
DAO потребленных договором услуг модуля.

- ## Field Summary

  ### Fields inherited from class ru.bitel.bgbilling.common.dao.AbstarctDaoConstant

  `con, ERROR, fields, moduleId, SQL_ALL, SQL_AND, SQL_CALC_FOUND_ROWS, SQL_DELETE, SQL_DISTINCT, SQL_EQ, SQL_EQCS, SQL_FROM, SQL_GROUP, SQL_IN, SQL_INSERT, SQL_JOIN, SQL_LEFT_JOIN, SQL_LIMIT, SQL_NOT_IN, SQL_ON, SQL_ON_DUPLICATE_KEY_UPDATE, SQL_ORDER, SQL_SELECT, SQL_SET, SQL_UPDATE, SQL_VALUES, SQL_WHERE, tableName`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `RSCMContractServiceManager(Connection con, int moduleId)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String`
  `checkBalanceForService(int contractId, int serviceId, int amountUp, int amountDown, LocalDate localDate, BigDecimal costFromContract, ConnectionSet connectionSet)`
  Проверяет возможность добавление на договор с кодом contractId услуги с кодом serviceId в размере amount единиц на текущую дату.
  `void`
  `checkTariffsForService(int contractId, int serviceId, LocalDate localDate, ConnectionSet connectionSet)`
  `void`
  `close()`
  `void`
  `deleteContractService(int id, int contractId, LocalDate month)`
  Удаление потребленной услуги договора.
  `RSCMContractServiceInstallment`
  `deleteContractServiceInstallment(int id)`
  `RSCMContractService`
  `getContractService(int contractId, int id)`
  Получение потребленной услуги договора.
  `RSCMContractService`
  `getContractServiceByInstallmentId(int installmentId, int contractId, LocalDate month)`
  Находим начисление по ID рассрочки в заданном месяце
  `RSCMContractServiceInstallment`
  `getContractServiceInstallment(int id)`
  `List<RSCMContractServiceInstallment>`
  `getContractServiceInstallmentList()`
  `List<RSCMContractService>`
  `getContractServiceList(int contractId, Calendar month)`
  Список потребленных договором услуг.
  `List<RSCMContractService>`
  `getContractServiceList(int contractId, Period period, Page page, boolean dateAscOrder)`
  `void`
  `hotCalc(int contractId, LocalDate date, ConnectionSet connectionSet)`
  `void`
  `searchContractServiceInstallment(SearchResult<RSCMContractServiceInstallment> searchResult, int contractId, int status, Page page)`
  `void`
  `updateContractService(RSCMContractService contractService)`
  Изменение/добавление потребленной услуги.
  `void`
  `updateRSCMContractServiceInstallment(RSCMContractServiceInstallment rscmContractServiceInstallment)`

  ### Methods inherited from class ru.bitel.bgbilling.common.dao.AbstarctDaoConstant

  `getPeriod, getSQLOrder, getTableName, psSetDate, psSetInt, psSetString`

  ### Methods inherited from class ru.bitel.bgbilling.kernel.base.server.logger.BGLogger

  `error, error, error, getLogger, logError, logError, warn`

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

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

- ## Constructor Details

  - ### RSCMContractServiceManager

    public RSCMContractServiceManager(Connection con, int moduleId)

- ## Method Details

  - ### checkBalanceForService

    public String checkBalanceForService(int contractId, int serviceId, int amountUp, int amountDown, LocalDate localDate, BigDecimal costFromContract, ConnectionSet connectionSet) throws ru.bitel.bgbilling.common.BGException
    Проверяет возможность добавление на договор с кодом contractId услуги с кодом serviceId в размере amount единиц на текущую дату. В случае, если на договоре достаточно средств, то метод возвращает null, иначе - строку с описанием причины невозможности добавления услуги.
    Parameters:
      `contractId` - код договора
      `serviceId` - код услуги
      `amountUp` - количество единиц (числитель дроби)
      `amountDown` - количество единиц (знаменатель дроби)
      `connectionSet` -
      `date` - дата
    Returns:
      null - если добавление возможно, и String - причина невозможности добавления услуги
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### checkTariffsForService

    public void checkTariffsForService(int contractId, int serviceId, LocalDate localDate, ConnectionSet connectionSet) throws ru.bitel.bgbilling.common.BGException
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getContractServiceList

    public List<RSCMContractService> getContractServiceList(int contractId, Calendar month) throws ru.bitel.bgbilling.common.BGException
    Список потребленных договором услуг.
    Parameters:
      `contractId` - код договора
      `month` - месяц
    Returns:
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### getContractServiceList

    public List<RSCMContractService> getContractServiceList(int contractId, Period period, Page page, boolean dateAscOrder) throws ru.bitel.bgbilling.common.BGException
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### updateContractService

    public void updateContractService(RSCMContractService contractService) throws ru.bitel.bgbilling.common.BGException
    Изменение/добавление потребленной услуги. Добавление происходит при getId() invalid input: '<'= 0.
    Parameters:
      `contractService` -
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### deleteContractService

    public void deleteContractService(int id, int contractId, LocalDate month) throws SQLException
    Удаление потребленной услуги договора.
    Parameters:
      `id` - код записи
      `contractId` - код договора
      `month` - месяц
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `SQLException`

  - ### getContractService

    public RSCMContractService getContractService(int contractId, int id) throws SQLException
    Получение потребленной услуги договора.
    Parameters:
      `contractId` - код договора
      `id` - код записи
    Returns:
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `SQLException`

  - ### updateRSCMContractServiceInstallment

    public void updateRSCMContractServiceInstallment(RSCMContractServiceInstallment rscmContractServiceInstallment) throws SQLException
    Throws:
      `SQLException`

  - ### hotCalc

    public void hotCalc(int contractId, LocalDate date, ConnectionSet connectionSet) throws ru.bitel.bgbilling.common.BGException, ru.bitel.bgbilling.common.BGMessageException
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `ru.bitel.bgbilling.common.BGMessageException`

  - ### searchContractServiceInstallment

    public void searchContractServiceInstallment(SearchResult<RSCMContractServiceInstallment> searchResult, int contractId, int status, Page page) throws SQLException
    Throws:
      `SQLException`

  - ### getContractServiceByInstallmentId

    public RSCMContractService getContractServiceByInstallmentId(int installmentId, int contractId, LocalDate month) throws SQLException
    Находим начисление по ID рассрочки в заданном месяце
    Parameters:
      `id` -
      `localDate` -
    Returns:
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `ru.bitel.bgbilling.common.BGMessageException`
      `SQLException`

  - ### getContractServiceInstallmentList

    public List<RSCMContractServiceInstallment> getContractServiceInstallmentList() throws SQLException
    Throws:
      `SQLException`

  - ### getContractServiceInstallment

    public RSCMContractServiceInstallment getContractServiceInstallment(int id) throws ru.bitel.bgbilling.common.BGException, ru.bitel.bgbilling.common.BGMessageException
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `ru.bitel.bgbilling.common.BGMessageException`

  - ### deleteContractServiceInstallment

    public RSCMContractServiceInstallment deleteContractServiceInstallment(int id) throws SQLException
    Throws:
      `SQLException`

  - ### close

    public void close() throws Exception
    Specified by:
      `close` in interface `AutoCloseable`
    Throws:
      `Exception`