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

## Class PaymentDao

- java.lang.Object
- - ru.bitel.common.dao.AbstarctDaoConstant
  - - ru.bitel.common.dao.AbstractDao<B>
    - - ru.bitel.common.dao.AbstractIdDao<Payment>
      - - ru.bitel.bgbilling.kernel.contract.balance.server.bean.PaymentDao

- All Implemented Interfaces:
    java.lang.AutoCloseable

      public class PaymentDao
      extends ru.bitel.common.dao.AbstractIdDao<Payment>

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class ru.bitel.common.dao.AbstractDao

      `ru.bitel.common.dao.AbstractDao.ResultSetIterator`

  - ### Field Summary

    - ### Fields inherited from class ru.bitel.common.dao.AbstractDao

      `cacheFilter, cacheJoin, cacheOrderBy, cachePaged, cachePS, cacheWhat, con, getByIdPS, mid, moduleId, orderByPattern, tableName`

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

      `ERROR, SQL_CALC_FOUND_ROWS, SQL_DELETE, SQL_DISTINCT, SQL_EQ, SQL_EQCS, SQL_FROM, SQL_GROUP, SQL_IN, SQL_INSERT, SQL_LIMIT, SQL_ON_DUPLICATE_KEY_UPDATE, SQL_ORDER, SQL_SELECT, SQL_SET, SQL_UPDATE, SQL_VALUES, SQL_WHERE`

  - ### Constructor Summary

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

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected int` | `deleteImpl(int id)`
    `void` | `deletePaymentsById(java.lang.String idList)`
    `protected Payment` | `getFromRS(java.sql.ResultSet rs)`
    `java.util.List<Payment>` | `getPaymentList(int contractId, Period period, int members, javax.xml.ws.Holder<java.math.BigDecimal> totalSum)` Возвращает список платежей за период для договора отсортированный по дате
    `java.util.List<Payment>` | `getPaymentList(java.util.List<java.lang.Integer> contractIds, Period period, javax.xml.ws.Holder<java.math.BigDecimal> totalSum)` Возвращает список платежей за период для договора отсортированный по дате
    `java.util.List<Payment>` | `getPaymentsById(java.lang.String idList)`
    `void` | `searchLastPaymentList(SearchResult<Payment> searchResult, int contractId, int members, int lastPayments)`
    `void` | `searchLastPaymentList(SearchResult<Payment> searchResult, java.util.List<java.lang.Integer> contractIds, int lastPayments)`
    `void` | `searchPaymentList(SearchResult<Payment> searchResult, int contractId, int members)`
    `void` | `searchPaymentList(SearchResult<Payment> searchResult, java.util.List<java.lang.Integer> contractIds)`
    `protected void` | `updateImpl(Payment payment)` Обновляет существующий (payment.getId() > 0) или добавляет новый платеж (payment.getId() < 1)
    `void` | `zeroBalancePayment(java.util.Date date, int contractId, int paymentTypeId)` Обнуление баланса с помощью виртуального платежа.
    `void` | `zeroBalancePayment(java.util.Date date, int contractId, int paymentTypeId, java.lang.String paymentComment)` Обнуление баланса с помощью виртуального платежа

    - ### Methods inherited from class ru.bitel.common.dao.AbstractIdDao

      `delete, get, getAndDelete, getAndUpdate`

    - ### Methods inherited from class ru.bitel.common.dao.AbstractDao

      `close, delete, eq, get, getById, getImpl, getListFromRS, getPeriod, getSQLOrder, getTableName, list, list, listImpl, listImpl, listImplPS, listImplPS, processException, recycle, setStatementParam, update`

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

      `getSQLOrder`

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

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

- - ### Constructor Detail

    - #### PaymentDao

          public PaymentDao(java.sql.Connection con)

  - ### Method Detail

    - #### getPaymentList

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

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

    - #### searchPaymentList

          public void searchPaymentList(SearchResult<Payment> searchResult,
                                        int contractId,
                                        int members)
                                 throws ru.bitel.bgbilling.common.BGException

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

    - #### getPaymentList

          public java.util.List<Payment> getPaymentList(java.util.List<java.lang.Integer> contractIds,
                                                        Period period,
                                                        javax.xml.ws.Holder<java.math.BigDecimal> totalSum)
                                                 throws ru.bitel.bgbilling.common.BGException

      Возвращает список платежей за период для договора отсортированный по дате
      Parameters:
        `contractIds` - код(ы) договора(ов)
        `period` - период, null - все платежи, можно что бы значения dateFrom и dateTo были равны null.
        `totalSum` - - если != null, то сюда занесется общая сумма по всем выбранным приходам.
      Returns:
        список платежей, если платежей нет, возвращает пустой список
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### searchPaymentList

          public void searchPaymentList(SearchResult<Payment> searchResult,
                                        java.util.List<java.lang.Integer> contractIds)
                                 throws ru.bitel.bgbilling.common.BGException

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

    - #### searchLastPaymentList

          public void searchLastPaymentList(SearchResult<Payment> searchResult,
                                            int contractId,
                                            int members,
                                            int lastPayments)
                                     throws ru.bitel.bgbilling.common.BGException

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

    - #### searchLastPaymentList

          public void searchLastPaymentList(SearchResult<Payment> searchResult,
                                            java.util.List<java.lang.Integer> contractIds,
                                            int lastPayments)
                                     throws ru.bitel.bgbilling.common.BGException

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

    - #### updateImpl

          protected void updateImpl(Payment payment)
                             throws ru.bitel.bgbilling.common.BGException,
                                    java.sql.SQLException

      Обновляет существующий (payment.getId() > 0) или добавляет новый платеж (payment.getId() < 1)
      Specified by:
        `updateImpl` in class `ru.bitel.common.dao.AbstractDao<Payment>`
      Parameters:
        `payment` - объект с данными платежа
      Throws:
        `ru.bitel.bgbilling.common.BGException`
        `java.sql.SQLException`

    - #### zeroBalancePayment

          public void zeroBalancePayment(java.util.Date date,
                                         int contractId,
                                         int paymentTypeId)
                                  throws ru.bitel.bgbilling.common.BGException

      Обнуление баланса с помощью виртуального платежа. Коментарий платежа "Виртуальный платеж для обнуления баланса"
      Parameters:
        `date` - дата платежа
        `contractId` - код договора
        `paymentTypeId` - код типа платежа
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### zeroBalancePayment

          public void zeroBalancePayment(java.util.Date date,
                                         int contractId,
                                         int paymentTypeId,
                                         java.lang.String paymentComment)
                                  throws ru.bitel.bgbilling.common.BGException

      Обнуление баланса с помощью виртуального платежа
      Parameters:
        `date` - дата платежа
        `contractId` - код договора
        `paymentTypeId` - код типа платежа
        `paymentComment` - коментарий платежа
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### getPaymentsById

          public java.util.List<Payment> getPaymentsById(java.lang.String idList)
                                                  throws ru.bitel.bgbilling.common.BGException

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

    - #### deleteImpl

          protected int deleteImpl(int id)
                            throws ru.bitel.bgbilling.common.BGException,
                                   java.sql.SQLException

      Overrides:
        `deleteImpl` in class `ru.bitel.common.dao.AbstractDao<Payment>`
      Throws:
        `ru.bitel.bgbilling.common.BGException`
        `java.sql.SQLException`

    - #### deletePaymentsById

          public void deletePaymentsById(java.lang.String idList)
                                  throws java.sql.SQLException,
                                         ru.bitel.bgbilling.common.BGException

      Throws:
        `java.sql.SQLException`
        `ru.bitel.bgbilling.common.BGException`

    - #### getFromRS

          protected Payment getFromRS(java.sql.ResultSet rs)
                               throws java.sql.SQLException,
                                      ru.bitel.bgbilling.common.BGException

      Specified by:
        `getFromRS` in class `ru.bitel.common.dao.AbstractDao<Payment>`
      Throws:
        `java.sql.SQLException`
        `ru.bitel.bgbilling.common.BGException`