public class LicenseManager
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
protected java.sql.Connection |
con |
protected org.apache.log4j.Logger |
log |
protected java.lang.String |
mid |
protected int |
moduleId |
protected static java.lang.String |
SQL_ALL |
protected static java.lang.String |
SQL_AND |
protected static java.lang.String |
SQL_DELETE |
protected static java.lang.String |
SQL_DISTINCT |
protected static java.lang.String |
SQL_FROM |
protected static java.lang.String |
SQL_GROUP_BY |
protected static java.lang.String |
SQL_IN |
protected static java.lang.String |
SQL_INSERT |
protected static java.lang.String |
SQL_JOIN |
protected static java.lang.String |
SQL_LEFT_JOIN |
protected static java.lang.String |
SQL_NOT_IN |
protected static java.lang.String |
SQL_ON |
protected static java.lang.String |
SQL_ORDER_BY |
protected static java.lang.String |
SQL_SELECT |
protected static java.lang.String |
SQL_SET |
protected static java.lang.String |
SQL_UPDATE |
protected static java.lang.String |
SQL_WHERE |
Constructor and Description |
---|
LicenseManager(java.sql.Connection con,
int moduleId) |
Modifier and Type | Method and Description |
---|---|
boolean |
checkCopyItemStatus(int copyItemId)
Проверяет, является ли статус для заказа данного компонента
"выполнен" (если куплен) или "подтвержден" (если тестовый)
|
boolean |
checkHaveNonSignAdditionalAgreement(int copyId)
Проверка, есть ли не подписанный допик.
|
protected void |
closeConnection(java.sql.Connection con) |
int |
createLicense(License lic) |
void |
createTestCopiesForOrder(Order order,
int term,
int count) |
void |
deleteAdditionalAgreement(int idAdditionalAgreement)
Удалит доп. соглашение из базе
|
void |
deleteComponent(int id) |
void |
deleteComponents(int productId) |
void |
deleteOrder(int orderId) |
void |
deleteProduct(int pid) |
java.util.List<ContractData> |
doContractData(int productId,
int componentId)
select distinct c.id, title, c.comment from lic_order_154 as a
left join lic_copy_154 as b on a.copy_id=b.id and product_id=20
left join contract as c on c.id=contract_id where component_id=28
|
AdditionalAgreement |
getAdditionalAgreement(int id)
Вернет допик по его ид
|
Component |
getComponent(int id) |
Component |
getComponent(java.lang.String name) |
java.util.List<Component> |
getComponentList()
Получает список всех компонентов.
|
java.util.List<Component> |
getComponentList(int copyId,
boolean showHidden,
java.lang.Boolean availableOnWeb)
Получает список всех компонентов для заданной копии продукта.
|
java.util.List<Component> |
getComponentsForProduct(int productId) |
java.util.List<Contract> |
getContractByTitlePart(java.lang.String titlePart)
Возвращает договоры, номера которых начинаются с заданной подстроки.
|
java.lang.String |
getContractComment(int contractId) |
Copy |
getCopy(int copyId) |
java.util.Map<java.lang.Integer,int[]> |
getCopyCountForComponentByProductMap(int productId)
находим в скольких копиях продукта встречается компонент
select component_id, count(copy_id) from lic_order_16 where type=0 and status=2 and copy_id in (select id from lic_copy_16 where product_id=3) group by component_id
unlimited
select component_id, count(copy_id) from lic_order_16 where type=1 and status=2 and count=0 and copy_id in (select id from lic_copy_16 where product_id=3) group by component_id
SELECT component_id, SUM(count) FROM lic_order_16 WHERE type=1 AND status=2 AND count=0 AND copy_id IN ( SELECT id FROM lic_copy_16 WHERE product_id=3 ) AND concat(copy_id,' ',component_id) NOT IN ( SELECT concat(copy_id,' ',component_id) FROM lic_order_16 WHERE count=0 AND type=1 AND status=2 ) GROUP BY component_id
|
int[] |
getCopyItemIds(int copyId) |
java.util.List<ConfirmedOrder> |
getCopyItems(int copyId,
int filter)
Получает список экземпляров компонентов для указанной копии продукта.
|
java.util.List<ConfirmedOrder> |
getCopyItemsFromPackage(int packageId) |
java.util.List<Copy> |
getCopyList(int contractId)
Получает список копий продукта для заданного договора.
|
License |
getCurrentLicense(int copyId)
Получает текущую лицензию для заданной копии.
|
java.math.BigDecimal |
getDiscount(int contractId,
int copyId)
Вернет скидку(ну или ту сумму которую они уже оплатили и которую необходимо учитовать).
|
int |
getLastNumber(int contractId)
Вернет максимальный номер допика для соответсвующего контракта.
|
License |
getLicenseById(int licenseId)
Получает текущую лицензию для заданной копии.
|
java.util.List<ConfirmedOrder> |
getLicenseItems(int licenseId,
boolean testDateForNow) |
java.util.List<License> |
getLicenses(int copyId)
Получает список лицензий для заданной копии продукта
|
java.lang.String |
getLicenseText(int packageId) |
java.util.List<AdditionalAgreement> |
getListAdditionalAgreement(int contractId,
int copyId) |
Order |
getOrder(int orderId) |
int |
getOrderIdFromConfirmedId(int condirmedOrderId)
возращает код заказа для потвержденного заказа
|
java.util.List<Order> |
getOrders(int copyId) |
java.util.List<Order> |
getOrders(int copyId,
int filterType,
int filterStatus,
int filterComponentItemId) |
java.util.List<Order> |
getOrders(int copyId,
java.lang.String filterPermanentStatus,
java.lang.String filterTestStatus,
int filterComponentItemId)
Если все 3 фильтра незначимые (filterPermanentStatus=null ,filterTestStatus=null ,filterComponentItemId=-1 ), то выведит все заказы.
|
int |
getOrdersCountOnComponent(int componentId) |
int |
getOrdersCountOnProduct(int productId) |
int |
getOrderStatus(int id) |
int |
getOrderType(int id) |
java.lang.String |
getOrganizationTitle(int contractId,
int fullOrganizationNameParamId)
Получает наименование организации.
|
java.lang.String |
getOriginalLicenseText(int packageId) |
Product |
getProduct(int pid) |
java.util.List<Product> |
getProducts() |
java.util.List<Product> |
getProductsWithComponent(int componentId) |
java.util.List<SpecificationTitle> |
getSpecificationOfAdditionalAgreement(int id)
Вернет список всех компонентов соответсвующего допика.
|
ConfirmedOrder |
groupCopyItems(int productItemId,
int copyId,
int[] orderStatuses)
Получает информацию заказанных компонентах ( id компонента, название компонента, количество)
по заданному id компонента, группируя все заказы на данный компонент
|
protected int |
lastInsertId(java.sql.PreparedStatement ps) |
void |
linkComponentToProduct(int productId,
int componentId) |
void |
resetCopyDiscount(int contractId,
int productCopyId) |
void |
setAdditionalAgreement(AdditionalAgreement title,
int contractId)
Сохранит доп. соглашение в базе
|
void |
setCharge(int id,
int chargeId)
Установит ид расхода у допика.
|
void |
setDiscount(java.math.BigDecimal discount,
int contractId,
int copyId)
Установим скидку для конткретного договора и продукта.
|
void |
setInvoice(int id,
int invoiceId) |
void |
setStatusSigned(int id)
Установит статус "Подписано"
|
void |
unlinkComponentFromProduct(int productId,
int componentId) |
void |
updateComponent(Component component) |
void |
updateCopy(Copy copy) |
void |
updateCopyItem(ConfirmedOrder copyItem)
Создает записи о компонентах, входящих в состав заданной копии продукта.
|
void |
updateCopyItemOrder(Order order)
Создает или обновляет заказ
|
void |
updateCopyItemOrder(Order order,
boolean updateConfirmed)
Создает или обновляет заказ
|
void |
updateCopyItemOrder(Order order,
java.util.Date copyItemToDate) |
void |
updateLicenseData(License lic) |
void |
updateProduct(Product product)
Создает или обновляет запись о продукте.
|
void |
updateTestComponentDateTo(int orderId,
java.util.Date dateTo)
Обновляет дату окончания действия лицензии на тестовый компонент.
|
protected static final java.lang.String SQL_SELECT
protected static final java.lang.String SQL_INSERT
protected static final java.lang.String SQL_UPDATE
protected static final java.lang.String SQL_DELETE
protected static final java.lang.String SQL_FROM
protected static final java.lang.String SQL_ALL
protected static final java.lang.String SQL_WHERE
protected static final java.lang.String SQL_ORDER_BY
protected static final java.lang.String SQL_LEFT_JOIN
protected static final java.lang.String SQL_JOIN
protected static final java.lang.String SQL_GROUP_BY
protected static final java.lang.String SQL_SET
protected static final java.lang.String SQL_AND
protected static final java.lang.String SQL_IN
protected static final java.lang.String SQL_NOT_IN
protected static final java.lang.String SQL_DISTINCT
protected static final java.lang.String SQL_ON
protected org.apache.log4j.Logger log
protected java.sql.Connection con
protected java.lang.String mid
protected int moduleId
public void updateProduct(Product product)
public void deleteProduct(int pid)
public Product getProduct(int pid)
public int getOrdersCountOnProduct(int productId)
public java.util.List<Product> getProductsWithComponent(int componentId) throws ru.bitel.bgbilling.common.BGException
ru.bitel.bgbilling.common.BGException
public void updateComponent(Component component)
public void deleteComponent(int id)
public void deleteComponents(int productId)
public Component getComponent(int id)
public Component getComponent(java.lang.String name)
public java.util.List<Component> getComponentList()
public java.util.List<Component> getComponentList(int copyId, boolean showHidden, java.lang.Boolean availableOnWeb)
copyId
- - код копииshowHidden
- - если true, то в список будут включены компоненты, отмеченные как 'скрытые'public int getOrdersCountOnComponent(int componentId)
public java.util.List<Component> getComponentsForProduct(int productId)
public void linkComponentToProduct(int productId, int componentId)
public void unlinkComponentFromProduct(int productId, int componentId)
public void updateCopy(Copy copy)
public Copy getCopy(int copyId)
public void updateCopyItem(ConfirmedOrder copyItem)
public void updateCopyItemOrder(Order order) throws ru.bitel.bgbilling.common.BGMessageException
ru.bitel.bgbilling.common.BGMessageException
- - если кол-во общих заказов привысит unlimpublic void updateCopyItemOrder(Order order, boolean updateConfirmed) throws ru.bitel.bgbilling.common.BGMessageException
ru.bitel.bgbilling.common.BGMessageException
- - если кол-во общих заказов привысит unlimpublic void updateCopyItemOrder(Order order, java.util.Date copyItemToDate) throws ru.bitel.bgbilling.common.BGMessageException
ru.bitel.bgbilling.common.BGMessageException
public int getOrderStatus(int id)
public int getOrderType(int id)
public java.util.List<Order> getOrders(int copyId, int filterType, int filterStatus, int filterComponentItemId)
public java.util.List<Order> getOrders(int copyId, java.lang.String filterPermanentStatus, java.lang.String filterTestStatus, int filterComponentItemId)
copyId
- filterPermanentStatus
- - фильтр для "постоянных" заказов в виде 0,1,2 или 2,1 или 0 , где в скобках соответсвующий id (0-новый , 1-отказано, 2 -выполнен).
Если передать null или пустую строку, фильтр не будет выводить "постоянные" заказы.filterTestStatus
- - фильтр для "тестовых" заказов в виде 0,1,3 или 3,1 или 0 , где в скобках соответсвующий id (0-новый , 1-отказано, 3 -подтвержден).
Если передать null или пустую строку, фильтр не будет выводить "тестовые" заказы.filterComponentItemId
- - id компонента, фильтр по компоненту ну там id email или id ipn или id npay ну и т.д. или -1 если фильтр по нему не нужен.public java.util.List<Order> getOrders(int copyId)
public Order getOrder(int orderId)
public void createTestCopiesForOrder(Order order, int term, int count) throws ru.bitel.bgbilling.common.BGMessageException
ru.bitel.bgbilling.common.BGMessageException
public void deleteOrder(int orderId)
public boolean checkCopyItemStatus(int copyItemId)
copyItemId
- public boolean checkHaveNonSignAdditionalAgreement(int copyId) throws ru.bitel.bgbilling.common.BGException
copyId
- - ид копии продукта.ru.bitel.bgbilling.common.BGException
public int createLicense(License lic)
public void updateLicenseData(License lic)
public ConfirmedOrder groupCopyItems(int productItemId, int copyId, int[] orderStatuses)
productItemId
- java.sql.SQLException
public java.util.List<License> getLicenses(int copyId)
copyId
- - id копии продуктаpublic License getCurrentLicense(int copyId)
copyId
- - id копии продукта.public License getLicenseById(int licenseId)
copyId
- - id копии продукта.public java.util.List<ConfirmedOrder> getLicenseItems(int licenseId, boolean testDateForNow)
licenseId
- testDate
- - если true, то не будут выведены тестовые дата завершения которых меньше текущей даты.public java.util.List<Copy> getCopyList(int contractId)
contractId
- - id договораpublic java.util.List<ConfirmedOrder> getCopyItems(int copyId, int filter) throws ru.bitel.bgbilling.common.BGException
copyId
- - id копии продуктаfilter
- - если 0, то в список попадают только компоненты с наибольшим количеством
если 1 - только купленные компоненты
если 2 - все компонентыru.bitel.bgbilling.common.BGException
public int[] getCopyItemIds(int copyId) throws ru.bitel.bgbilling.common.BGException
ru.bitel.bgbilling.common.BGException
public java.util.List<Product> getProducts() throws ru.bitel.bgbilling.common.BGException
ru.bitel.bgbilling.common.BGException
public java.util.List<Contract> getContractByTitlePart(java.lang.String titlePart) throws ru.bitel.bgbilling.common.BGException
title
- номер договораru.bitel.bgbilling.common.BGException
public void updateTestComponentDateTo(int orderId, java.util.Date dateTo)
orderId
- - код заказа, для которого продливается тестовая лицензия.dateTo
- - новая дата окончания действия лицензии.public java.util.List<ConfirmedOrder> getCopyItemsFromPackage(int packageId)
public java.lang.String getOrganizationTitle(int contractId, int fullOrganizationNameParamId)
contractId
- - id договораfullOrganizationNameParamId
- - id параметра, содержащего полное наименование организацииpublic java.lang.String getContractComment(int contractId)
public java.lang.String getLicenseText(int packageId)
public java.lang.String getOriginalLicenseText(int packageId)
protected int lastInsertId(java.sql.PreparedStatement ps) throws java.sql.SQLException
java.sql.SQLException
protected void closeConnection(java.sql.Connection con)
public java.util.List<AdditionalAgreement> getListAdditionalAgreement(int contractId, int copyId) throws ru.bitel.bgbilling.common.BGException
cid
- - id договораru.bitel.bgbilling.common.BGException
public AdditionalAgreement getAdditionalAgreement(int id) throws ru.bitel.bgbilling.common.BGException
id
- ru.bitel.bgbilling.common.BGException
public void setAdditionalAgreement(AdditionalAgreement title, int contractId) throws ru.bitel.bgbilling.common.BGException
title
- - доп. соглашение которое было созданоcontractId
- - номер договора к которому приписываем д.с.ru.bitel.bgbilling.common.BGException
public void deleteAdditionalAgreement(int idAdditionalAgreement) throws ru.bitel.bgbilling.common.BGException
idAdditionalAgreement
- - ид. удаляемого допикаru.bitel.bgbilling.common.BGException
public void resetCopyDiscount(int contractId, int productCopyId) throws ru.bitel.bgbilling.common.BGException
ru.bitel.bgbilling.common.BGException
public java.util.List<SpecificationTitle> getSpecificationOfAdditionalAgreement(int id) throws ru.bitel.bgbilling.common.BGException
id
- ид допика, у которого будет взят SpecificationTitleru.bitel.bgbilling.common.BGException
public int getLastNumber(int contractId) throws ru.bitel.bgbilling.common.BGException
contractId
- ru.bitel.bgbilling.common.BGException
public java.math.BigDecimal getDiscount(int contractId, int copyId) throws ru.bitel.bgbilling.common.BGException
contractId
- copyId
- ru.bitel.bgbilling.common.BGException
public void setDiscount(java.math.BigDecimal discount, int contractId, int copyId) throws ru.bitel.bgbilling.common.BGException
discount
- - скидкаcontractId
- - номер договороcopyId
- - код копии продуктаru.bitel.bgbilling.common.BGException
public void setStatusSigned(int id) throws ru.bitel.bgbilling.common.BGException
id
- - ид доп. соглошенияru.bitel.bgbilling.common.BGException
public void setCharge(int id, int chargeId) throws ru.bitel.bgbilling.common.BGException
id
- - ид допика.chargeId
- - ид расхода.ru.bitel.bgbilling.common.BGException
public void setInvoice(int id, int invoiceId) throws ru.bitel.bgbilling.common.BGException
ru.bitel.bgbilling.common.BGException
public int getOrderIdFromConfirmedId(int condirmedOrderId)
public java.util.Map<java.lang.Integer,int[]> getCopyCountForComponentByProductMap(int productId)
public java.util.List<ContractData> doContractData(int productId, int componentId)
productId
- componentId
-