Class ContractStatusManager
java.lang.Object
bitel.billing.server.contract.bean.ContractStatusManager
- All Implemented Interfaces:
ru.bitel.common.worker.Recyclable
- Direct Known Subclasses:
ContractStatusManager.ContractStatusManager4Script
public class ContractStatusManager
extends java.lang.Object
implements ru.bitel.common.worker.Recyclable
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classContractStatusManager.ContractStatusManager4ScriptЗаменяем кусочек класа ContractStatusManager с приватными методами такими же, но открытыми. -
Field Summary
Fields Modifier and Type Field Description protected java.sql.Connectioncon -
Constructor Summary
Constructors Constructor Description ContractStatusManager(java.sql.Connection con) -
Method Summary
Modifier and Type Method Description voidchangeStatus(ContractStatus newStatus, java.lang.Integer userId)Вызов changeStatus( newStatus, userId, true, false )voidchangeStatus(ContractStatus newStatus, java.lang.Integer userId, boolean processEvent)Смена статуса договора.java.util.List<ContractStatusLog>getLogList(int cid)Возвращает список логов статуса договораjava.util.List<Period>getPeriodList(int contractId, java.util.Set<java.lang.Integer> statuses, java.util.Date startMonth, java.util.Date endMonth)ContractStatusgetStatus(int cid, java.util.Date date)Возвращает статус договора на какую-то дату, если записи нет, статус по-умолчанию - "активен" (отсюда вернётся null).java.util.List<ContractStatus>getStatusList(int contractId)Полный список статусов договораjava.util.List<ContractStatus>getStatusList(int cid, java.util.Date date)Список статусов договора с датой окончания пустой либо большей или равной параметру date1java.util.List<ContractStatus>getStatusList(int cid, java.util.Set<java.lang.Integer> statuses, java.util.Date startMonth, java.util.Date endMonth)java.util.List<ContractStatus>getStatusListAfterDate(int cid, java.util.Calendar date)Список статусов договора с датой начала позже указанной датыstatic booleanisStatusPeriodValid(ContractStatus status)Не выродился ли статус.voidrecycle()voidsetContractStatus(ContractStatus status)Установка действующего статуса договора.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Field Details
-
con
protected final java.sql.Connection con
-
-
Constructor Details
-
ContractStatusManager
public ContractStatusManager(java.sql.Connection con)
-
-
Method Details
-
getStatus
Возвращает статус договора на какую-то дату, если записи нет, статус по-умолчанию - "активен" (отсюда вернётся null).- Parameters:
cid- код договораdate- дата- Returns:
- статус или null, если записи нет
- Throws:
java.sql.SQLException
-
getStatusList
public java.util.List<ContractStatus> getStatusList(int cid, java.util.Date date) throws java.sql.SQLExceptionСписок статусов договора с датой окончания пустой либо большей или равной параметру date1- Parameters:
cid- код договораdate- дата- Returns:
- Throws:
java.sql.SQLException
-
getStatusListAfterDate
public java.util.List<ContractStatus> getStatusListAfterDate(int cid, java.util.Calendar date) throws java.sql.SQLExceptionСписок статусов договора с датой начала позже указанной даты- Parameters:
cid- код договораdate- дата- Returns:
- Throws:
java.sql.SQLException
-
getStatusList
public java.util.List<ContractStatus> getStatusList(int contractId) throws ru.bitel.bgbilling.common.BGExceptionПолный список статусов договора- Parameters:
contractId- код договора- Returns:
- Throws:
ru.bitel.bgbilling.common.BGException
-
setContractStatus
Установка действующего статуса договора.- Parameters:
status- статус- Throws:
java.sql.SQLException
-
changeStatus
public void changeStatus(ContractStatus newStatus, java.lang.Integer userId) throws ru.bitel.bgbilling.common.BGExceptionВызов changeStatus( newStatus, userId, true, false )- Parameters:
newStatus-userId-- Throws:
ru.bitel.bgbilling.common.BGException
-
changeStatus
public void changeStatus(ContractStatus newStatus, java.lang.Integer userId, boolean processEvent) throws ru.bitel.bgbilling.common.BGExceptionСмена статуса договора. При этом происходит корректное перекрытие существующих на моменты времени статусов, с тем, чтобы на каждый день была активна только одна запись о статусе.- Parameters:
newStatus- новый статус с периодом.userId- ид юзера. если будет null, то это эквивалентно 0. Если веб, то надо передать User.USER_CONTRACT.processEvent- проводить ли события. НЕ относится к событию задания логики перетирания, оно всегда вызовется.- Throws:
ru.bitel.bgbilling.common.BGException
-
isStatusPeriodValid
Не выродился ли статус. Проверяет, что промежуток открытый или же есть оба конца, и левый меньше либо равен правому. Используется в многих местах, потому вынесено отдельно. Также проверяет, что начало промежутка не null, то есть промежуток ( +бесконечность, +бесконечность ), в такое тоже могло выродиться, если особенно действует алгоритм задания статусов.- Parameters:
status- тестируемый статус.- Returns:
- true если период временной валидный.
-
getLogList
Возвращает список логов статуса договора- Parameters:
cid- код договора- Returns:
- Throws:
java.sql.SQLException
-
getStatusList
public java.util.List<ContractStatus> getStatusList(int cid, java.util.Set<java.lang.Integer> statuses, java.util.Date startMonth, java.util.Date endMonth) throws java.sql.SQLException- Throws:
java.sql.SQLException
-
getPeriodList
public java.util.List<Period> getPeriodList(int contractId, java.util.Set<java.lang.Integer> statuses, java.util.Date startMonth, java.util.Date endMonth) throws java.sql.SQLException- Throws:
java.sql.SQLException
-
recycle
public void recycle()- Specified by:
recyclein interfaceru.bitel.common.worker.Recyclable
-