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

# Class ChargeDao

java.lang.Object
ru.bitel.bgbilling.kernel.base.server.logger.BGLogger
ru.bitel.bgbilling.common.dao.AbstarctDaoConstant
ru.bitel.bgbilling.common.dao.AbstractDao<Charge>
ru.bitel.bgbilling.common.dao.AbstractIdDao<Charge>
ru.bitel.bgbilling.kernel.contract.balance.server.bean.ChargeDao

public class ChargeDao extends ru.bitel.bgbilling.common.dao.AbstractIdDao<Charge>
DAO для манипулирования расходами договоров.

- ## Field Summary

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

  `orderByPattern`

  ### 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
  `ChargeDao(Connection con)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `int`
  `deleteCharges(int contractId)`
  Удаление всех расходов для договора
  `SearchResult<Charge>`
  `getChargeList(int contractId, int chargeTypeId, Period period, int members)`
  Получает список расходов для договора
  `SearchResult<Charge>`
  `getChargeList(List<Integer> contractIds, Period period)`
  `protected Charge`
  `getFromRS(ResultSet rs)`
  `SearchResult<Charge>`
  `getPaybackList(int contractId, int paybackTypeId, Period period, int members)`
  `BigDecimal`
  `getSum(int contractId, Date dateFrom, Date dateTo, int typeId, int members, Boolean isPayback)`
  Получение суммы по расходам или возвратам.
  `void`
  `searchChargeList(SearchResult<Charge> searchResult, List<Integer> contractIds)`
  `void`
  `searchLastChargeList(SearchResult<Charge> searchResult, List<Integer> contractIds, int lastCharges)`
  `protected void`
  `updateImpl(Charge charge)`
  Обновляет существующий (charge.getId() > 0) или добавляет новый расход (charge.getId() invalid input: '<'= 0).

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

  `delete, executeUpdate, get, getAndDelete, getAndUpdate, opt, prepareStatement, sqlCommand, sqlCommandAndTable, sqlQuery, sqlWhereId`

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

  `delete, deleteImpl, eq, get, getById, getImpl, getListFromRS, getPeriod, getQueryById, getSQLOrder, list, list, listImpl, listImpl, listImplPS, listImplPS, ormFromResultSet, ormUpdateImpl, ormUpdateImpl, ormUpdateImpl, ormUpdateImpl, psSetPeriod, queryPeriod, setStatementParam, update`

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

  `getSQLOrder, getTableName, sqlLimit`

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

  - ### ChargeDao

    public ChargeDao(Connection con)

- ## Method Details

  - ### getChargeList

    public SearchResult<Charge> getChargeList(int contractId, int chargeTypeId, Period period, int members) throws SQLException
    Получает список расходов для договора
    Parameters:
      `contractId` - код договора.
      `chargeTypeId` - код типа расхода, если invalid input: '<'1, то значит всех типов.
      `period` - период начисления расхода для поиска. может быть = null(тогда вернет все) или может быть одна из дат = null.
      `members` - - если == 1, то только расходы данного договора, если = 2 то вернет еще и расходы з.субдоговоров, если = 3 то только расходы зависемых субдоговоров.
    Throws:
      `SQLException`

  - ### getPaybackList

    public SearchResult<Charge> getPaybackList(int contractId, int paybackTypeId, Period period, int members) throws SQLException
    Throws:
      `SQLException`

  - ### getChargeList

    public SearchResult<Charge> getChargeList(List<Integer> contractIds, Period period) throws SQLException
    Throws:
      `SQLException`

  - ### searchChargeList

    public void searchChargeList(SearchResult<Charge> searchResult, List<Integer> contractIds) throws SQLException
    Throws:
      `SQLException`

  - ### searchLastChargeList

    public void searchLastChargeList(SearchResult<Charge> searchResult, List<Integer> contractIds, int lastCharges) throws SQLException
    Throws:
      `SQLException`

  - ### deleteCharges

    public int deleteCharges(int contractId) throws SQLException
    Удаление всех расходов для договора
    Parameters:
      `contractId` -
    Returns:
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `SQLException`

  - ### getSum

    public BigDecimal getSum(int contractId, Date dateFrom, Date dateTo, int typeId, int members, Boolean isPayback) throws SQLException
    Получение суммы по расходам или возвратам.
    Parameters:
      `contractId` - - код договора.
      `dateFrom` - - от даты, может быть = null.
      `dateTo` - - до даты, может быть = null.
      `typeId` - - тип, если invalid input: '<' 1, то все типы.
      `members` - - если == 1, то только данного договора, если = 2 то вернет еще и з.субдоговоров, если = 3 то только зависемых субдоговоров.
      `isPayback` - - true - возврат, false - расход, null - все.
    Throws:
      `SQLException`

  - ### updateImpl

    protected void updateImpl(Charge charge) throws SQLException
    Обновляет существующий (charge.getId() > 0) или добавляет новый расход (charge.getId() invalid input: '<'= 0).
    Specified by:
      `updateImpl` in class `ru.bitel.bgbilling.common.dao.AbstractDao<Charge>`
    Parameters:
      `charge` - объект с данными расхода
    Throws:
      `SQLException`

  - ### getFromRS

    protected Charge getFromRS(ResultSet rs) throws SQLException
    Specified by:
      `getFromRS` in class `ru.bitel.bgbilling.common.dao.AbstractDao<Charge>`
    Throws:
      `SQLException`