Class ReserveDao
java.lang.Object
ru.bitel.common.dao.AbstarctDaoConstant
ru.bitel.common.dao.AbstractDao<B>
ru.bitel.common.dao.AbstractIdDao<Reserve>
ru.bitel.bgbilling.kernel.contract.balance.server.bean.ReserveDao
- All Implemented Interfaces:
- java.lang.AutoCloseable
public class ReserveDao extends ru.bitel.common.dao.AbstractIdDao<Reserve>
- 
Nested Class SummaryNested classes/interfaces inherited from class ru.bitel.common.dao.AbstractDaoru.bitel.common.dao.AbstractDao.ResultSetIterator
- 
Field SummaryFields Modifier and Type Field Description static booleanflagReserveФлаг определяющий, будет ли влиять резерв на баланс.Fields inherited from class ru.bitel.common.dao.AbstractDaocacheFilter, cacheJoin, cacheOrderBy, cachePaged, cachePS, cacheWhat, con, getByIdPS, moduleId, orderByPattern, tableNameFields inherited from class ru.bitel.common.dao.AbstarctDaoConstantERROR, fields, 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 SummaryConstructors Constructor Description ReserveDao(java.sql.Connection con)
- 
Method SummaryModifier and Type Method Description booleancloseReserve(int reserveId)Закрытие резерва.java.math.BigDecimalgetBalanceWithReserve(Contract contract, java.math.BigDecimal balance, java.time.LocalDate localDate)java.math.BigDecimalgetBalanceWithReserve(Contract contract, java.math.BigDecimal balance, java.util.Calendar calendar)Deprecated.protected ReservegetFromRS(java.sql.ResultSet rs)java.util.List<Reserve>getReserveList(int cid, Period period, int reserveMembers)java.math.BigDecimalgetReserveSum(int contractId)Проверка на зависемый subContract не происоходит.java.math.BigDecimalgetReserveSumByDate(int cid, java.util.Date date)booleanisUseReserveType(int reserveTypeId)voidrecalculationSumReserve(int contractId)Переобсчет итогового поля резерва для договора.protected voidupdateImpl(Reserve reserve)Создание резерва и редактирование( тип, комментарий, сумма).Methods inherited from class ru.bitel.common.dao.AbstractIdDaodelete, get, getAndDelete, getAndUpdateMethods inherited from class ru.bitel.common.dao.AbstractDaoclose, delete, deleteImpl, eq, get, getById, getImpl, getListFromRS, getPeriod, getQueryById, getSQLOrder, getTableName, list, list, listImpl, listImpl, listImplPS, listImplPS, ormFromResultSet, ormUpdateImpl, ormUpdateImpl, ormUpdateImpl, ormUpdateImpl, processException, recycle, setStatementParam, updateMethods inherited from class ru.bitel.common.dao.AbstarctDaoConstantgetSQLOrderMethods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
- 
Field Details- 
flagReservepublic static final boolean flagReserveФлаг определяющий, будет ли влиять резерв на баланс. Если равен true, то значит влияет.
 
- 
- 
Constructor Details- 
ReserveDaopublic ReserveDao(java.sql.Connection con)
 
- 
- 
Method Details- 
isUseReserveTypepublic boolean isUseReserveType(int reserveTypeId) throws ru.bitel.bgbilling.common.BGException- Parameters:
- reserveTypeId-
- Returns:
- - true если есть резервы с таким типом
- Throws:
- ru.bitel.bgbilling.common.BGException
 
- 
updateImplprotected void updateImpl(Reserve reserve) throws ru.bitel.bgbilling.common.BGException, java.sql.SQLExceptionСоздание резерва и редактирование( тип, комментарий, сумма). Дата создания будет выставленна текущая, а не та что передается в резерве. При создании резерва, если выставлен период так же повесится job на момент dateTo, который когда сработает снимет резерв.- Specified by:
- updateImplin class- ru.bitel.common.dao.AbstractDao<Reserve>
- Parameters:
- reserve-
- Throws:
- ru.bitel.bgbilling.common.BGException
- java.sql.SQLException
 
- 
getReserveListpublic java.util.List<Reserve> getReserveList(int cid, Period period, int reserveMembers) throws ru.bitel.bgbilling.common.BGException- Parameters:
- cid- - номер договора.
- period- - 1 - если период != null, то вернет все резервы которые были активны в данном промежутке. 2 - если период == null, все резервы договора. 3 - если период != null, но одна из дат периода == null, все резервы которые были активны в данном промежутке. где null это либо от начало времен или до конца времен. 4 - если период != null, но обе даты из периода == null, вернет то же что и под номером 2. Второй датой пероиода у резерва будет считаться дата закрытия(dateClose), если же ее нет, то дата планируемого закрытия(dateTo),если и ее нет, то проверка только по дате создания.
- reserveMembers- - если == 1, то вернет резервы только данного договора, если = 2 то вернет еще и резервы зависемых субдоговоров, если = 3 то только резервы зависемых субдоговоров.
- Returns:
- список резервов договора(-ов).
- Throws:
- ru.bitel.bgbilling.common.BGException
 
- 
closeReservepublic boolean closeReserve(int reserveId) throws ru.bitel.bgbilling.common.BGExceptionЗакрытие резерва. Можно закрывать резерв без проверки, был ли он закрыт до этого или был ли уже удален. То есть дата закрытия у него не перетрется.(после закрытия,если результатом будет true, необходимо бросить событие,изменение баланса)- Parameters:
- reserveId- ид закрываемого резерва.
- Returns:
- true, если резерв закрыли сейчас. Если вернул false то либо резерв был до этого закрыт или его удалили.
- Throws:
- ru.bitel.bgbilling.common.BGException
 
- 
getReserveSumpublic java.math.BigDecimal getReserveSum(int contractId) throws ru.bitel.bgbilling.common.BGExceptionПроверка на зависемый subContract не происоходит.- Parameters:
- contractId- - номер договора.
- Returns:
- сумма резервов для договора. При этом происходит взятие только из таблицы, переобсчет не происходит.
- Throws:
- ru.bitel.bgbilling.common.BGException
 
- 
getReserveSumByDatepublic java.math.BigDecimal getReserveSumByDate(int cid, java.util.Date date) throws ru.bitel.bgbilling.common.BGException- Parameters:
- cid- - ид договора
- date- -
- Returns:
- сумму резервов на момент date.
- Throws:
- ru.bitel.bgbilling.common.BGException
 
- 
recalculationSumReservepublic void recalculationSumReserve(int contractId) throws ru.bitel.bgbilling.common.BGExceptionПереобсчет итогового поля резерва для договора. Вызывать при добавлении,закрытии резерва.- Parameters:
- contractId- - номер договора.
- Throws:
- ru.bitel.bgbilling.common.BGException
 
- 
getBalanceWithReserve@Deprecated public java.math.BigDecimal getBalanceWithReserve(Contract contract, java.math.BigDecimal balance, java.util.Calendar calendar) throws ru.bitel.bgbilling.common.BGException- Parameters:
- contract-
- balance-
- calendar-
- Returns:
- Throws:
- ru.bitel.bgbilling.common.BGException
 
- 
getBalanceWithReservepublic java.math.BigDecimal getBalanceWithReserve(Contract contract, java.math.BigDecimal balance, java.time.LocalDate localDate) throws ru.bitel.bgbilling.common.BGException- Parameters:
- contract- - договор
- balance- - текущий баланс, который считается без резерва.
- localDate- - задает месяц и год
- Returns:
- - входной баланс ,если в конфиге отключенно влияние резерва на баланс или вернет входной баланс с вычетом резервов, если включен. Так же вернет просто баланс, если баланс запрашивается не на текущую дату, так как резерв должен влиять только на текущий баланс.
- Throws:
- ru.bitel.bgbilling.common.BGException
 
- 
getFromRSprotected Reserve getFromRS(java.sql.ResultSet rs) throws java.sql.SQLException, ru.bitel.bgbilling.common.BGException- Specified by:
- getFromRSin class- ru.bitel.common.dao.AbstractDao<Reserve>
- Throws:
- java.sql.SQLException
- ru.bitel.bgbilling.common.BGException
 
 
- 
getBalanceWithReserve(Contract, BigDecimal, LocalDate)