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 )void
changeStatus
(ContractStatus newStatus, Integer userId, boolean processEvent) Смена статуса договора.getPeriodList
(int contractId, Set<Integer> statuses, Date startMonth, Date endMonth) getStatusList
(int cid, Set<Integer> statuses, Date startMonth, Date endMonth) getStatusListAfterDate
(int contractId, Calendar date) Список статусов договора с датой начала позже указанной датыstatic boolean
isStatusPeriodValid
(ContractStatus status) Не выродился ли статус.void
recycle()
void
setContractStatus
(ContractStatus status) Установка действующего статуса договора.
-
Field Details
-
con
-
-
Constructor Details
-
ContractStatusManager
-
-
Method Details
-
getStatusListAfterDate
public List<ContractStatus> getStatusListAfterDate(int contractId, Calendar date) throws SQLException Список статусов договора с датой начала позже указанной даты- Parameters:
contractId
- код договораdate
- дата- Returns:
- Throws:
SQLException
-
setContractStatus
Установка действующего статуса договора.- Parameters:
status
- статус- Throws:
SQLException
-
changeStatus
public void changeStatus(ContractStatus newStatus, Integer userId) throws ru.bitel.bgbilling.common.BGException Вызов changeStatus( newStatus, userId, true )- 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 если период временной валидный.
-
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
-