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:
    java.lang.AutoCloseable, ru.bitel.common.worker.Recyclable

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

- - ### 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)`
    `void` | `addContractAccountDetail(ContractAccountDetail contractAccountDetail)`
    `void` | `close()`
    `java.math.BigDecimal` | `getBalance(int contractId, int yy, int mm)` Отличается от BalanceUtils тем что нет проверки, является ли договор дочерним!
    `java.util.List<ContractAccountDetail>` | `getContractAccountDetailList(int contractId, int serviceId, Period period, javax.xml.ws.Holder<java.math.BigDecimal> totalSum)`
    `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()`
    `void` | `removeContractAccount(int cid, int yy, int mm, java.lang.String sids)` Удаление наработки за услугу
    `void` | `removeContractAccount(int yy, int mm, java.util.Set<java.lang.Integer> cids, java.lang.String sids, long groupMask)` Удаление наработки за услугу *
    `void` | `removeContractAccountDetail(int contractId, Period period, int moduleId)` Удаление детализации наработки за услуги
    `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`

    - #### recycle

          public void recycle()

      Specified by:
        `recycle` in interface `ru.bitel.common.worker.Recyclable`

    - #### close

          public void close()
                     throws java.lang.Exception

      Specified by:
        `close` in interface `java.lang.AutoCloseable`
      Throws:
        `java.lang.Exception`

    - #### 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`

    - #### getContractAccountDetailList

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

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

    - #### removeContractAccountDetail

          public void removeContractAccountDetail(int contractId,
                                                  Period period,
                                                  int moduleId)
                                           throws java.sql.SQLException

      Удаление детализации наработки за услуги
      Parameters:
        `contractId` - - код договора
        `period` - - период
        `moduleId` - - код модуля, по нему выбираются все услуги модуля
      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` - - месяц
        `sids` - - коды услуг
      Throws:
        `java.sql.SQLException`

    - #### removeContractAccount

          public void removeContractAccount(int yy,
                                            int mm,
                                            java.util.Set<java.lang.Integer> cids,
                                            java.lang.String sids,
                                            long groupMask)
                                     throws ru.bitel.bgbilling.common.BGException

      Удаление наработки за услугу *
      Parameters:
        `yy` - - год
        `yy` - - месяц
        `serviceId` - - код услуги
        `summa` - - сумма
      Throws:
        `java.sql.SQLException`
        `ru.bitel.bgbilling.common.BGException`

    - #### addContractAccountDetail

          public void addContractAccountDetail(ContractAccountDetail contractAccountDetail)
                                        throws ru.bitel.bgbilling.common.BGException

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