Class ContractDao
java.lang.Object
ru.bitel.common.dao.AbstarctDaoConstant
ru.bitel.common.dao.AbstractDao<B>
ru.bitel.common.dao.AbstractIdDao<E>
ru.bitel.oss.kernel.entity.server.bean.AbstractEntityAttrDao<Contract>
ru.bitel.bgbilling.kernel.contract.api.server.bean.ContractDao
- All Implemented Interfaces:
AutoCloseable
-
Nested Class Summary
Nested classes/interfaces inherited from class ru.bitel.oss.kernel.entity.server.bean.AbstractEntityAttrDao
AbstractEntityAttrDao.AddressItemModifiedEventListener
Nested classes/interfaces inherited from class ru.bitel.common.dao.AbstractDao
ru.bitel.common.dao.AbstractDao.ResultSetIterator
-
Field Summary
Fields inherited from class ru.bitel.oss.kernel.entity.server.bean.AbstractEntityAttrDao
CONTRACT_OBJECT_SUPPORT, CONTRACT_SUPPORT, ENTITY_SUPPORT, entitySpecAttrDirectory, entitySpecDirectory, entityTableSuffix, filterWeightComparator, userId
Fields inherited from class ru.bitel.common.dao.AbstractDao
cacheFilter, cacheJoin, cacheOrderBy, cachePaged, cachePS, cacheWhat, con, getByIdPS, moduleId, orderByPattern, tableName
Fields inherited from class ru.bitel.common.dao.AbstarctDaoConstant
ERROR, 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 Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic void
addLabelAndDomainFilter
(StringBuilder where, User user) addSub
(int superId, int subId, int subMode) Добавляет договора в качестве субдоговора в другой договораvoid
checkContractParameter
(EntityAttr entityAttr) boolean
checkContractTitleOnDublication
(String contractTitle, int contractId) Проверка, если в базе договора у которых id<>contractId AND UPPER(title)=contractTirle.toUpperCase()void
closeContract
(int contractId) Закрываем период действия договораvoid
closeContract
(int contractId, int moduleId, int userId) Закрываем период действия договора текущей датойvoid
closeContract
(int contractId, int moduleId, int userId, Date date) Закрываем период действия договора указанной датойcontractListByFilter
(ContractFilters contractFilters, List<FilterEntityAttr> entityFilter, Page page) createFromPattern
(ContractCreateData data, boolean inModules) Создает договор по шаблонуcreateFromPattern
(ContractCreateData data, Map<String, Object> params, boolean inModules) Создает договор по шаблонуboolean
deleteContractParameter
(int entityId, int entitySpecAttrId) freeContract
(int contractId) Перевод субдоговора в независимый договорgetByTitle
(String title) Возвращает договор по заголовку.getContractByTextParameter
(int parameterId, String value) Список договоров у которых заданный текстовый параметр точно совпадает с заданным значениемgetContractForTextlikeParamValue
(int parameterId, String value) Получает договор по текстовому значению/представлению некоторого параметра неопределённого типа.getContractIdsByTitles
(List<String> titles) Возвращает договора по списку их номеров.getContractParameter
(int contractId, int parameterId) Получение параметра договора.getContractParameterAddress
(int contractId, int parameterId) getContractParameterAddressAsString
(int contractId, int parameterId) getContractParameterBoolean
(int contractId, int parameterId) getContractParameterBoolean
(int contractId, int parameterId, Boolean defaultValue) getContractParameterDate
(int contractId, int parameterId) getContractParameterDate
(int contractId, int parameterId, Date defaultValue) getContractParameterEmail
(int contractId, int parameterId) getContractParameterEmailAsString
(int contractId, int parameterId) getContractParameterEmailFirst
(int contractId, int parameterId) getContractParameterList
(int contractId, int parameterId) getContractParameterListAsString
(int contractId, int parameterId) getContractParameterMultiList
(int contractId, int parameterId) getContractParameterMultiListAsString
(int contractId, int parameterId) getContractParameterPhone
(int contractId, int parameterId) getContractParameterPhoneFirst
(int contractId, int parameterId) getContractParameters
(int contractId, int paramGroupId) Возвращает map параметров договора.
Если параметр не заведен (не указан, не добавлен), то данный параметр будет отсутствовать в результате.getContractParameters
(int entityId, Set<Integer> entitySpecAttrIds) getContractParameterText
(int contractId, int parameterId) getContractParameterTextAsString
(int contractId, int parameterId) getContractParameterValuesForParameterIds
(int contractId, Set<Integer> parameterIds) getContracts
(String idList) Возвращает список Договоров по строке с кодами договоров, перечисленными через запятуюgetContracts
(List<Integer> ids) Возвращает список Договоров по строке с кодами договоров, перечисленными через запятуюgetContractsByTitles
(List<String> titles) Возвращает договора по списку их номеров.getEmailFromContractParameter
(int contractId, int parameterId) Получение строкового представление e-mail параметра.
В начале пытаемся получить e-mail из TABLE_CONTRACT_PARAMETER_TYPE_EMAIL, если там нет с таким кодом, то возвращаем из TABLE_CONTRACT_PARAMETER_TYPE_STRING, то есть из строкового параметра.protected Directory<? extends EntitySpecAttr>
Directory<? extends EntitySpec>
protected Contract
getSubContracts
(int contractId, int subMode) Получает зависимые, независимые или все(subMode==-1) субдоговора данного договора.list
(String title, String comment, int fc, long groupMaskAnd, int firm, List<FilterEntityAttr> entityFilter, boolean subContracts, boolean closed, boolean hidden, String orderBy, Page page) Deprecated.list
(String title, String comment, int fc, long groupMaskAnd, int firm, List<FilterEntityAttr> entityFilter, boolean subContracts, boolean closed, boolean hidden, Page page) Deprecated.list
(ContractFilters contractFilters, List<FilterEntityAttr> entityFilter, String orderBy, Page page) list
(ContractFilters contractFilters, List<FilterEntityAttr> entityFilter, String orderBy, Page page, Set<Integer> labelIds, boolean inAllLabels) list
(ContractFilters contractFilters, List<FilterEntityAttr> entityFilter, Page page) list
(ContractFilters contractFilters, List<FilterEntityAttr> entityFilter, Page page, Set<Integer> labelIds, boolean inAllLabels) optByTitle
(String title) void
boolean
updateContractParameter
(int contractId, EntityAttr entityAttr) void
updateContractParameters
(int contractId, Map<Integer, EntityAttr> entityAttributes) Deprecated.void
updateDomain
(int contractId, int domainId) protected void
updateImpl
(Contract contract) void
updateParameter
(int contractId, EntityAttr a) Deprecated.void
updatePassword
(int contractId, String password) boolean
updatePassword
(int contractId, String pswd1, String pswd2, boolean isPswdAuto) void
updateSuperContractDependSubList
(int superId) Обновляет перечень зависимых субдоговоров.Methods inherited from class ru.bitel.oss.kernel.entity.server.bean.AbstractEntityAttrDao
checkEntityAttribute, checkEntitySpecAttrDelete, deleteEntityAttribute, deleteEntityAttributes, filterInit, filterJoin, filterToPS, getAllEntityAttributes, getAttribute, getEntityAttribute, getEntityAttributes, getEntityAttributes, getEntitySpecAttr, getEntityTableName, getEntityTableSuffix, getEntityValueForIds, getFromRS, list, listImpl, onAddressItemUpdate, optEntityAttribute, updateEntityAttribute, updateEntityAttributes
Methods inherited from class ru.bitel.common.dao.AbstractIdDao
delete, get, getAndDelete, getAndUpdate, opt
Methods inherited from class ru.bitel.common.dao.AbstractDao
close, 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
Methods inherited from class ru.bitel.common.dao.AbstarctDaoConstant
getLogger, getSQLOrder
-
Field Details
-
MESSAGE_ABOUT_DUPLICATE
- See Also:
-
-
Constructor Details
-
ContractDao
-
-
Method Details
-
getEntitySpecDirectory
public Directory<? extends EntitySpec> getEntitySpecDirectory() throws ru.bitel.bgbilling.common.BGException- Overrides:
getEntitySpecDirectory
in classAbstractEntityAttrDao<Contract>
- Throws:
ru.bitel.bgbilling.common.BGException
-
getEntitySpecAttrDirectory
protected Directory<? extends EntitySpecAttr> getEntitySpecAttrDirectory() throws ru.bitel.bgbilling.common.BGException- Overrides:
getEntitySpecAttrDirectory
in classAbstractEntityAttrDao<Contract>
- Throws:
ru.bitel.bgbilling.common.BGException
-
getFromRS
protected Contract getFromRS(ResultSet rs, boolean loadAttributes) throws SQLException, ru.bitel.bgbilling.common.BGException - Specified by:
getFromRS
in classAbstractEntityAttrDao<Contract>
- Throws:
SQLException
ru.bitel.bgbilling.common.BGException
-
updateContractParameter
public boolean updateContractParameter(int contractId, EntityAttr entityAttr) throws ru.bitel.bgbilling.common.BGException - Throws:
ru.bitel.bgbilling.common.BGException
-
deleteContractParameter
public boolean deleteContractParameter(int entityId, int entitySpecAttrId) throws ru.bitel.bgbilling.common.BGException - Throws:
ru.bitel.bgbilling.common.BGException
-
updateContractParameters
@Deprecated public void updateContractParameters(int contractId, Map<Integer, EntityAttr> entityAttributes) throws ru.bitel.bgbilling.common.BGExceptionDeprecated.- Throws:
ru.bitel.bgbilling.common.BGException
-
getContractParameters
public Map<Integer,EntityAttr> getContractParameters(int contractId, int paramGroupId) throws ru.bitel.bgbilling.common.BGException Возвращает map параметров договора.
Если параметр не заведен (не указан, не добавлен), то данный параметр будет отсутствовать в результате. Примером может служить параметр типа флаг - отсутствие параметра означает false.- Parameters:
contractId
- ID договора.paramGroupId
- ID группы параметров. Если значение >0, то выдаются параметры указанной группы, иначе - все параметры.- Returns:
- Throws:
ru.bitel.bgbilling.common.BGException
-
getContractParameters
public Map<Integer,EntityAttr> getContractParameters(int entityId, Set<Integer> entitySpecAttrIds) throws ru.bitel.bgbilling.common.BGException - Throws:
ru.bitel.bgbilling.common.BGException
-
getContractParameterValuesForParameterIds
public Map<Integer,String> getContractParameterValuesForParameterIds(int contractId, Set<Integer> parameterIds) throws ru.bitel.bgbilling.common.BGException - Throws:
ru.bitel.bgbilling.common.BGException
-
getContractParameter
public EntityAttr getContractParameter(int contractId, int parameterId) throws ru.bitel.bgbilling.common.BGException Получение параметра договора.- Parameters:
contractId
- ID договораparameterId
- ID параметра- Returns:
- Throws:
ru.bitel.bgbilling.common.BGException
-
getContractParameterText
public Optional<EntityAttrText> getContractParameterText(int contractId, int parameterId) throws ru.bitel.bgbilling.common.BGException - Throws:
ru.bitel.bgbilling.common.BGException
-
getContractParameterTextAsString
public Optional<String> getContractParameterTextAsString(int contractId, int parameterId) throws ru.bitel.bgbilling.common.BGException - Throws:
ru.bitel.bgbilling.common.BGException
-
getContractParameterDate
public Optional<EntityAttrDate> getContractParameterDate(int contractId, int parameterId) throws ru.bitel.bgbilling.common.BGException - Throws:
ru.bitel.bgbilling.common.BGException
-
getContractParameterDate
public Date getContractParameterDate(int contractId, int parameterId, Date defaultValue) throws ru.bitel.bgbilling.common.BGException - Throws:
ru.bitel.bgbilling.common.BGException
-
getContractParameterBoolean
public Optional<EntityAttrBoolean> getContractParameterBoolean(int contractId, int parameterId) throws ru.bitel.bgbilling.common.BGException - Throws:
ru.bitel.bgbilling.common.BGException
-
getContractParameterBoolean
public Boolean getContractParameterBoolean(int contractId, int parameterId, Boolean defaultValue) throws ru.bitel.bgbilling.common.BGException - Throws:
ru.bitel.bgbilling.common.BGException
-
getContractParameterPhone
public Optional<EntityAttrPhone> getContractParameterPhone(int contractId, int parameterId) throws ru.bitel.bgbilling.common.BGException - Throws:
ru.bitel.bgbilling.common.BGException
-
getContractParameterPhoneFirst
public String getContractParameterPhoneFirst(int contractId, int parameterId) throws ru.bitel.bgbilling.common.BGException - Throws:
ru.bitel.bgbilling.common.BGException
-
getContractParameterEmail
public Optional<EntityAttrEmail> getContractParameterEmail(int contractId, int parameterId) throws ru.bitel.bgbilling.common.BGException - Throws:
ru.bitel.bgbilling.common.BGException
-
getContractParameterEmailFirst
public String getContractParameterEmailFirst(int contractId, int parameterId) throws ru.bitel.bgbilling.common.BGException - Throws:
ru.bitel.bgbilling.common.BGException
-
getContractParameterEmailAsString
public Optional<String> getContractParameterEmailAsString(int contractId, int parameterId) throws ru.bitel.bgbilling.common.BGException - Throws:
ru.bitel.bgbilling.common.BGException
-
getContractParameterList
public Optional<EntityAttrList> getContractParameterList(int contractId, int parameterId) throws ru.bitel.bgbilling.common.BGException - Throws:
ru.bitel.bgbilling.common.BGException
-
getContractParameterListAsString
public Optional<String> getContractParameterListAsString(int contractId, int parameterId) throws ru.bitel.bgbilling.common.BGException - Throws:
ru.bitel.bgbilling.common.BGException
-
getContractParameterMultiList
public Optional<EntityAttrMultiList> getContractParameterMultiList(int contractId, int parameterId) throws ru.bitel.bgbilling.common.BGException - Throws:
ru.bitel.bgbilling.common.BGException
-
getContractParameterMultiListAsString
public Optional<String> getContractParameterMultiListAsString(int contractId, int parameterId) throws ru.bitel.bgbilling.common.BGException - Throws:
ru.bitel.bgbilling.common.BGException
-
getContractParameterAddress
public Optional<EntityAttrAddress> getContractParameterAddress(int contractId, int parameterId) throws ru.bitel.bgbilling.common.BGException - Throws:
ru.bitel.bgbilling.common.BGException
-
getContractParameterAddressAsString
public Optional<String> getContractParameterAddressAsString(int contractId, int parameterId) throws ru.bitel.bgbilling.common.BGException - Throws:
ru.bitel.bgbilling.common.BGException
-
getEmailFromContractParameter
public String getEmailFromContractParameter(int contractId, int parameterId) throws ru.bitel.bgbilling.common.BGException Получение строкового представление e-mail параметра.
В начале пытаемся получить e-mail из TABLE_CONTRACT_PARAMETER_TYPE_EMAIL, если там нет с таким кодом, то возвращаем из TABLE_CONTRACT_PARAMETER_TYPE_STRING, то есть из строкового параметра. Если в email будет несколько - вернутся все через \n.- Parameters:
contractId
- код договораparameterId
- параметр- Returns:
- - строка с e-mail(-ми) или null, если не найден.
- Throws:
ru.bitel.bgbilling.common.BGException
-
update
- Overrides:
update
in classru.bitel.common.dao.AbstractDao<Contract>
- Throws:
ru.bitel.bgbilling.common.BGException
-
updateImpl
protected void updateImpl(Contract contract) throws ru.bitel.bgbilling.common.BGException, SQLException - Specified by:
updateImpl
in classru.bitel.common.dao.AbstractDao<Contract>
- Throws:
ru.bitel.bgbilling.common.BGException
SQLException
-
updateParameter
@Deprecated public void updateParameter(int contractId, EntityAttr a) throws ru.bitel.bgbilling.common.BGException Deprecated.- Parameters:
contractId
-a
-- Throws:
ru.bitel.bgbilling.common.BGException
-
updatePassword
public boolean updatePassword(int contractId, String pswd1, String pswd2, boolean isPswdAuto) throws ru.bitel.bgbilling.common.BGException - Throws:
ru.bitel.bgbilling.common.BGException
-
list
@Deprecated public List<Contract> list(String title, String comment, int fc, long groupMaskAnd, int firm, List<FilterEntityAttr> entityFilter, boolean subContracts, boolean closed, boolean hidden, Page page) throws ru.bitel.bgbilling.common.BGException Deprecated.- Parameters:
title
-comment
-fc
- -1 - всеgroupMaskAnd
- маска группgroup
- = маске группfirm
- reservedentityFilter
-subContracts
- включать ли субдоговора в результатclosed
- включать ли закрытые на текущий моментhidden
- включать ли скрытыеpage
-- Returns:
- Throws:
ru.bitel.bgbilling.common.BGException
-
list
public List<Contract> list(ContractFilters contractFilters, List<FilterEntityAttr> entityFilter, Page page) throws ru.bitel.bgbilling.common.BGException - Throws:
ru.bitel.bgbilling.common.BGException
-
list
@Deprecated public List<Contract> list(String title, String comment, int fc, long groupMaskAnd, int firm, List<FilterEntityAttr> entityFilter, boolean subContracts, boolean closed, boolean hidden, String orderBy, Page page) throws ru.bitel.bgbilling.common.BGException Deprecated.- Parameters:
title
-comment
-fc
- -1 - всеgroupMaskAnd
- маска группgroup
- = маске группfirm
- reservedentityFilter
-subContracts
- включать ли субдоговора в результатclosed
- включать ли закрытые на текущий моментhidden
- включать ли скрытыеpage
-- Returns:
- Throws:
ru.bitel.bgbilling.common.BGException
-
list
public List<Contract> list(ContractFilters contractFilters, List<FilterEntityAttr> entityFilter, Page page, Set<Integer> labelIds, boolean inAllLabels) throws ru.bitel.bgbilling.common.BGException - Throws:
ru.bitel.bgbilling.common.BGException
-
list
public List<Contract> list(ContractFilters contractFilters, List<FilterEntityAttr> entityFilter, String orderBy, Page page) throws ru.bitel.bgbilling.common.BGException - Throws:
ru.bitel.bgbilling.common.BGException
-
list
public List<Contract> list(ContractFilters contractFilters, List<FilterEntityAttr> entityFilter, String orderBy, Page page, Set<Integer> labelIds, boolean inAllLabels) throws ru.bitel.bgbilling.common.BGException - Throws:
ru.bitel.bgbilling.common.BGException
-
getContracts
Возвращает список Договоров по строке с кодами договоров, перечисленными через запятую- Parameters:
idList
-- Throws:
ru.bitel.bgbilling.common.BGException
-
getSubContracts
public List<Contract> getSubContracts(int contractId, int subMode) throws ru.bitel.bgbilling.common.BGException Получает зависимые, независимые или все(subMode==-1) субдоговора данного договора.- Parameters:
contractId
- - код супер договора.subMode
- зависимый(0), независимый(1)(из KernelConst) или все(-1).- Throws:
ru.bitel.bgbilling.common.BGException
-
getByTitle
Возвращает договор по заголовку.- Parameters:
title
- заголовок.- Returns:
- договор.
- Throws:
ru.bitel.bgbilling.common.BGException
- ошибка.
-
optByTitle
- Throws:
ru.bitel.bgbilling.common.BGException
-
updatePassword
public void updatePassword(int contractId, String password) throws ru.bitel.bgbilling.common.BGException - Throws:
ru.bitel.bgbilling.common.BGException
-
addLabelAndDomainFilter
-
updateDomain
public void updateDomain(int contractId, int domainId) throws ru.bitel.bgbilling.common.BGException - Throws:
ru.bitel.bgbilling.common.BGException
-
getContractByTextParameter
public List<Contract> getContractByTextParameter(int parameterId, String value) throws ru.bitel.bgbilling.common.BGException Список договоров у которых заданный текстовый параметр точно совпадает с заданным значением- Parameters:
parameterId
-value
-- Returns:
- Throws:
ru.bitel.bgbilling.common.BGException
-
getContractForTextlikeParamValue
Получает договор по текстовому значению/представлению некоторого параметра неопределённого типа. Примерно как ContractParameterManager.getTextlikeParam В отличие от поиска берёт только полноценное совпадение. Работают: текстовые, email, телефон. -
contractListByFilter
public String contractListByFilter(ContractFilters contractFilters, List<FilterEntityAttr> entityFilter, Page page) throws ru.bitel.bgbilling.common.BGException - Throws:
ru.bitel.bgbilling.common.BGException
-
checkContractParameter
public void checkContractParameter(EntityAttr entityAttr) throws ru.bitel.bgbilling.common.BGException - Throws:
ru.bitel.bgbilling.common.BGException
-
createFromPattern
Создает договор по шаблону- Parameters:
pattern_id
- номер шаблонаinModules
- проверка в модуляхuserId
- код пользователя биллинга- Returns:
- Throws:
Exception
-
createFromPattern
public Contract createFromPattern(ContractCreateData data, Map<String, Object> params, boolean inModules) throws ExceptionСоздает договор по шаблону- Parameters:
params
- дополнительные параметры создания договора для модулейinModules
- проверка в модуляхuserId
- код пользователя биллинга- Returns:
- Throws:
Exception
-
checkContractTitleOnDublication
Проверка, если в базе договора у которых id<>contractId AND UPPER(title)=contractTirle.toUpperCase()- Parameters:
contractTitle
- название договора.contractId
- код договора для которого название проверяться не будет.- Returns:
- true - если дубликата нет.
-
addSub
public String addSub(int superId, int subId, int subMode) throws SQLException, ru.bitel.bgbilling.common.BGException Добавляет договора в качестве субдоговора в другой договора- Parameters:
superId
- супердоговорsubId
- субдоговорsubMode
- режим "субирования"- Returns:
- null - если все успешно, строку с ошибкой - если произошла ошибка
- Throws:
SQLException
ru.bitel.bgbilling.common.BGException
-
updateSuperContractDependSubList
Обновляет перечень зависимых субдоговоров.- Parameters:
superId
- код супердоговора- Throws:
SQLException
-
freeContract
public String freeContract(int contractId) throws SQLException, ru.bitel.bgbilling.common.BGException Перевод субдоговора в независимый договор- Parameters:
contractId
- код договора- Throws:
SQLException
ru.bitel.bgbilling.common.BGException
-
closeContract
public void closeContract(int contractId) throws SQLException, ru.bitel.bgbilling.common.BGException Закрываем период действия договора- Parameters:
contractId
- код договора- Throws:
SQLException
ru.bitel.bgbilling.common.BGException
-
closeContract
public void closeContract(int contractId, int moduleId, int userId) throws SQLException, ru.bitel.bgbilling.common.BGException Закрываем период действия договора текущей датой- Parameters:
contractId
- код договораmoduleId
- код модуляuserId
- идентификатор пользователя- Throws:
SQLException
ru.bitel.bgbilling.common.BGException
-
closeContract
public void closeContract(int contractId, int moduleId, int userId, Date date) throws ru.bitel.bgbilling.common.BGException Закрываем период действия договора указанной датой- Parameters:
contractId
- - код договораmoduleId
- - код модуляuserId
- - идентификатор пользователяdate
- - дата закрытия договора- Throws:
SQLException
ru.bitel.bgbilling.common.BGException
-
getContracts
Возвращает список Договоров по строке с кодами договоров, перечисленными через запятую- Parameters:
idList
-- Returns:
- Throws:
ru.bitel.bgbilling.common.BGException
-
getContractsByTitles
public List<Contract> getContractsByTitles(List<String> titles) throws ru.bitel.bgbilling.common.BGException Возвращает договора по списку их номеров.- Parameters:
titles
- номера договоров- Returns:
- Throws:
ru.bitel.bgbilling.common.BGException
-
getContractIdsByTitles
public List<Integer> getContractIdsByTitles(List<String> titles) throws ru.bitel.bgbilling.common.BGException Возвращает договора по списку их номеров.- Parameters:
titles
- номера договоров- Returns:
- Throws:
ru.bitel.bgbilling.common.BGException
-
list(ContractFilters, List, String, Page)