ru.bitel.bgbilling.kernel.contract.balance.server.bean

## Class BalanceDao

- java.lang.Object
- - ru.bitel.bgbilling.kernel.contract.balance.server.bean.BalanceDao

- All Implemented Interfaces:
    ru.bitel.common.worker.Recyclable

      public class BalanceDao
      extends java.lang.Object
      implements ru.bitel.common.worker.Recyclable

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `BalanceDao(java.sql.Connection con)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addBalanceAccount(int contractId, int superContractId, int yy, int mm, java.math.BigDecimal account)` Нужно вызывать только после того как добавили наработку в contract_account!
    `void` | `addContractAccount(int contractId, int yy, int mm, int serviceId, java.math.BigDecimal account)`
    `protected void` | `addContractAccount2(int contractId, int yy, int mm, int serviceId, java.math.BigDecimal account)`
    `java.math.BigDecimal` | `getBalance(int contractId, int yy, int mm)` Отличается от BalanceUtils тем что нет проверки, является ли договор дочерним!
    `java.util.List<ContractAccount>` | `getContractAccountList(int contractId, Period period, int members, javax.xml.ws.Holder<java.math.BigDecimal> totalSum)`
    `ContractBalance` | `getContractBalance(int contractId, int yy, int mm)` Возвращает баланс договора.
    `java.util.List<ContractBalance>` | `getContractBalanceList(int cid, Period period)` Возвратит список помесячных данных баланса(такие как приходы,расходы,наработки и входящий остаток).
    `void` | `recycle()` В реализацию данного метода стоит включить инструкции, которые освобождают использованные в классе ресурсы (закешированые PreparedStatement, дао, отнаследованные от AbstractDao, потоки ввода/вывода ).
    `void` | `removeContractAccount(int cid, int yy, int mm, java.lang.String sids)` Удаление наработки за услугу
    `java.math.BigDecimal` | `setBalanceAccount(int contractId, int superContractId, int yy, int mm)` Установка наработки (summa3) в contract_balance из суммы contract_account.
    `void` | `setContractAccount(int cid, int yy, int mm, int serviceId, java.math.BigDecimal summa)` Установка суммы наработки за услугу

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

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

- - ### Constructor Detail

    - #### BalanceDao

          public BalanceDao(java.sql.Connection con)

  - ### Method Detail

    - #### addContractAccount

          public void addContractAccount(int contractId,
                                         int yy,
                                         int mm,
                                         int serviceId,
                                         java.math.BigDecimal account)
                                  throws ru.bitel.bgbilling.common.BGException

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

    - #### addContractAccount2

          protected void addContractAccount2(int contractId,
                                             int yy,
                                             int mm,
                                             int serviceId,
                                             java.math.BigDecimal account)
                                      throws ru.bitel.bgbilling.common.BGException

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

    - #### addBalanceAccount

          public void addBalanceAccount(int contractId,
                                        int superContractId,
                                        int yy,
                                        int mm,
                                        java.math.BigDecimal account)
                                 throws ru.bitel.bgbilling.common.BGException

      Нужно вызывать только после того как добавили наработку в contract_account!
      Parameters:
        `contractId` - - id договора
        `superContractId` - - id супердоговора, если это субдоговор с зависимым балансом
        `yy` -
        `mm` -
        `account` -
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### setBalanceAccount

          public java.math.BigDecimal setBalanceAccount(int contractId,
                                                        int superContractId,
                                                        int yy,
                                                        int mm)
                                                 throws ru.bitel.bgbilling.common.BGException

      Установка наработки (summa3) в contract_balance из суммы contract_account.
      Parameters:
        `contractId` - - id договора
        `superContractId` - - id супердоговора, если это субдоговор с зависимым балансом
        `yy` -
        `mm` -
      Returns:
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### getContractBalance

          public ContractBalance getContractBalance(int contractId,
                                                    int yy,
                                                    int mm)
                                             throws ru.bitel.bgbilling.common.BGException

      Возвращает баланс договора. Внимание! Метод возвращает баланс указанного договора, даже если он зависимый субдоговор!
      Вернет с учетом резервов, если запрашивается на текущий месяц( ну и если в конфиге включено влияние резервов на баланс).
      Parameters:
        `contractId` -
        `yy` -
        `mm` -
      Returns:
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### getContractBalanceList

          public java.util.List<ContractBalance> getContractBalanceList(int cid,
                                                                        Period period)

      Возвратит список помесячных данных баланса(такие как приходы,расходы,наработки и входящий остаток).
      Parameters:
        `cid` - - код договора.
        `period` - - за какой период.

    - #### getBalance

          public java.math.BigDecimal getBalance(int contractId,
                                                 int yy,
                                                 int mm)
                                          throws ru.bitel.bgbilling.common.BGException

      Отличается от BalanceUtils тем что нет проверки, является ли договор дочерним! Это должно происходить выше. Вернет с учетом резервов, если запрашивается на текущий месяц( ну и если в конфиге включено влияние резервов на баланс).
      Parameters:
        `contractId` -
        `yy` -
        `mm` -
      Returns:
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### setContractAccount

          public void setContractAccount(int cid,
                                         int yy,
                                         int mm,
                                         int serviceId,
                                         java.math.BigDecimal summa)
                                  throws java.sql.SQLException

      Установка суммы наработки за услугу
      Parameters:
        `cid` - - код договора
        `time` - - месяц
        `serviceId` - - код услуги
        `summa` - - сумма
      Throws:
        `java.sql.SQLException`

    - #### removeContractAccount

          public void removeContractAccount(int cid,
                                            int yy,
                                            int mm,
                                            java.lang.String sids)
                                     throws java.sql.SQLException

      Удаление наработки за услугу
      Parameters:
        `cid` - - код договора
        `time` - - месяц
        `serviceId` - - код услуги
        `summa` - - сумма
      Throws:
        `java.sql.SQLException`

    - #### recycle

          public void recycle()

      Description copied from interface: `ru.bitel.common.worker.Recyclable`
      В реализацию данного метода стоит включить инструкции, которые освобождают использованные в классе ресурсы (закешированые PreparedStatement, дао, отнаследованные от AbstractDao, потоки ввода/вывода ).
      Specified by:
        `recycle` in interface `ru.bitel.common.worker.Recyclable`

    - #### getContractAccountList

          public java.util.List<ContractAccount> getContractAccountList(int contractId,
                                                                        Period period,
                                                                        int members,
                                                                        javax.xml.ws.Holder<java.math.BigDecimal> totalSum)
                                                                 throws ru.bitel.bgbilling.common.BGException

      Parameters:
        `contractId` - - код договора.
        `period` - - период, если == null, то все наработки.Если какая нибудь из дат == null, то она принемается за текущую дату.
        `members` - - если == 1, то вернет только данного договора, если = 2 то вернет еще и зависемых субдоговоров, если = 3 то только зависемых субдоговоров.
      Returns:
        список наработок
      Throws:
        `ru.bitel.bgbilling.common.BGException`