Class ContractStatusManager
java.lang.Object
bitel.billing.server.contract.bean.ContractStatusManager
- All Implemented Interfaces:
ru.bitel.common.worker.Recyclable
- Direct Known Subclasses:
ContractStatusManager.ContractStatusManager4Script
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
Заменяем кусочек класа ContractStatusManager с приватными методами такими же, но открытыми. -
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
changeStatus
(ContractStatus newStatus, Integer userId) Вызов changeStatus( newStatus, userId, true, false )void
changeStatus
(ContractStatus newStatus, Integer userId, boolean processEvent) Смена статуса договора.getLogList
(int cid) Возвращает список логов статуса договораgetPeriodList
(int contractId, Set<Integer> statuses, Date startMonth, Date endMonth) Возвращает статус договора на какую-то дату, если записи нет, статус по-умолчанию - "активен" (отсюда вернётся null).getStatusList
(int contractId) Полный список статусов договораgetStatusList
(int cid, Date date) Список статусов договора с датой окончания пустой либо большей или равной параметру date1getStatusList
(int cid, Set<Integer> statuses, Date startMonth, Date endMonth) getStatusListAfterDate
(int cid, Calendar date) Список статусов договора с датой начала позже указанной датыstatic boolean
isStatusPeriodValid
(ContractStatus status) Не выродился ли статус.void
recycle()
void
setContractStatus
(ContractStatus status) Установка действующего статуса договора.
-
Field Details
-
con
-
-
Constructor Details
-
ContractStatusManager
-
-
Method Details
-
getStatus
Возвращает статус договора на какую-то дату, если записи нет, статус по-умолчанию - "активен" (отсюда вернётся null).- Parameters:
cid
- код договораdate
- дата- Returns:
- статус или null, если записи нет
- Throws:
SQLException
-
getStatusList
Список статусов договора с датой окончания пустой либо большей или равной параметру date1- Parameters:
cid
- код договораdate
- дата- Returns:
- Throws:
SQLException
-
getStatusListAfterDate
Список статусов договора с датой начала позже указанной даты- Parameters:
cid
- код договораdate
- дата- Returns:
- Throws:
SQLException
-
getStatusList
public List<ContractStatus> getStatusList(int contractId) throws ru.bitel.bgbilling.common.BGException Полный список статусов договора- Parameters:
contractId
- код договора- Returns:
- Throws:
ru.bitel.bgbilling.common.BGException
-
setContractStatus
Установка действующего статуса договора.- Parameters:
status
- статус- Throws:
SQLException
-
changeStatus
public void changeStatus(ContractStatus newStatus, 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, 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:
SQLException
-
getStatusList
public List<ContractStatus> getStatusList(int cid, Set<Integer> statuses, Date startMonth, Date endMonth) throws SQLException - Throws:
SQLException
-
getPeriodList
public List<Period> getPeriodList(int contractId, Set<Integer> statuses, Date startMonth, Date endMonth) throws SQLException - Throws:
SQLException
-
recycle
public void recycle()- Specified by:
recycle
in interfaceru.bitel.common.worker.Recyclable
-