Class PaymentQueueManager
java.lang.Object
ru.bitel.bgbilling.plugins.cashcheck.server.bean.PaymentQueueManager
public class PaymentQueueManager
extends java.lang.Object
Менеджер лога печати. Также вычисление очереди актуальной для распечатки.
-
Constructor Summary
Constructors Constructor Description PaymentQueueManager(java.sql.Connection con)
-
Method Summary
Modifier and Type Method Description Result<Payment>
getChargeLog(java.util.Set<java.lang.Integer> cids, int printerId, java.lang.Boolean erroredType, java.lang.String posMapping, Period period, Page page)
Возвращаем список из лога уже напечатанных чеков возврата.Result<Payment>
getChargeQueue(Period period, java.util.List<java.lang.Integer> chatypes, Page page)
Список расходов, которые могут быть напечатаны, но ещё не были.java.util.List<Payment>
getChargesList(java.util.List<java.lang.Integer> chargeIds)
Получаем список расходов/возвратов по списку id.java.util.Set<java.lang.String>
getExistingPosMapping()
Все маппинги когда-либо используемые в логах, для фильтра, например.java.util.List<Payment>
getNeedPendingIdLog(int printerId, java.util.Date fromDate, java.util.Date toDate, boolean isError)
возвращает список pending_id платежей из лога готовых к опросу статуса - с наличием pending_id и без наличия ответа уже Берутся записи из cashcheck_payment_log только.Result<Payment>
getPaymentLog(int printerId, Period period, Page page)
Result<Payment>
getPaymentLog(java.util.Set<java.lang.Integer> cids, int printerId, java.lang.Boolean erroredType, java.lang.String posMapping, Period period, Page page, java.util.Collection<java.lang.Integer> logIds)
Возвращаем список прямо из лога уже напечатанных.java.util.List<Payment>
getPaymentNotLogList(java.util.List<java.lang.Integer> paymentIds)
Получаем список платежей по списку id.Result<Payment>
getPaymentQueue(Period period, java.util.List<java.lang.Integer> paytypes, Page page)
Список платежей, которые могут быть напечатаны, но ещё не были.void
updateChargeLog(int chargeId, int posId)
Deprecated.use updateChargeLog( int chargeId, int posId, String checkData, int checkType )void
updateChargeLog(int chargeId, int posId, java.lang.String checkData, Check.Type checkType, java.lang.String posMapping, java.lang.String errorText, java.lang.String pendingId, int contractId)
Добавляем расход/возврат (чек возврата) к логу.void
updatePaymentFiscalDataForPendingId(java.lang.String pendingId, java.lang.String fiscalData)
void
updatePaymentLastErrorForPendingId(java.lang.String pendingId, java.lang.String lastError)
void
updatePaymentLog(int paymentId, int posId)
Deprecated.use updatePaymentLog( int paymentId, int posId, String checkData, int checkType )void
updatePaymentLog(int paymentId, int posId, java.lang.String checkData, Check.Type checkType, java.lang.String posMapping, java.lang.String errorText, java.lang.String pendingId, int contractId, java.lang.Integer logId)
Добавляем платёж к логу (или обновляем текущий).Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Constructor Details
-
PaymentQueueManager
public PaymentQueueManager(java.sql.Connection con)
-
-
Method Details
-
getPaymentQueue
public Result<Payment> getPaymentQueue(Period period, java.util.List<java.lang.Integer> paytypes, Page page) throws ru.bitel.bgbilling.common.BGExceptionСписок платежей, которые могут быть напечатаны, но ещё не были. Технически — все платежи указанных типов, которые отсутствуют в логе распечатанных. Проверяет внутри параметр конфига "fiscal.start" и если есть - ограничивает снизу по нему очередь. Используется конечно таблица contract_payment.- Parameters:
period
- период фильтр (берутся включительно, обрезаются по "fiscal.start").paytypes
- список типов платежей (берётся, например, от конкретного регистратора). должен быть непустой, иначе и вернётся пустое.page
- пагинация- Returns:
- резулт со списком платежей и пагинацией.
- Throws:
ru.bitel.bgbilling.common.BGException
-
getPaymentNotLogList
public java.util.List<Payment> getPaymentNotLogList(java.util.List<java.lang.Integer> paymentIds) throws ru.bitel.bgbilling.common.BGExceptionПолучаем список платежей по списку id. Берутся платежи из contract_payment. Заберёт платежи и если в логах их нет (параметры относящиеся к логу будут пустые)- Parameters:
paymentIds
- ид платежей.- Returns:
- список платежей, без заполненных частей от лога.
- Throws:
ru.bitel.bgbilling.common.BGException
-
updatePaymentLog
public void updatePaymentLog(int paymentId, int posId, java.lang.String checkData, Check.Type checkType, java.lang.String posMapping, java.lang.String errorText, java.lang.String pendingId, int contractId, java.lang.Integer logId) throws ru.bitel.bgbilling.common.BGExceptionДобавляем платёж к логу (или обновляем текущий).- Parameters:
paymentId
- ид платежа.posId
- номер ККМ.logId
- если не null, то будет обновлена запись в логе с таким log_id, иначе вставлена- Throws:
ru.bitel.bgbilling.common.BGException
-
updatePaymentLog
@Deprecated public void updatePaymentLog(int paymentId, int posId) throws ru.bitel.bgbilling.common.BGExceptionDeprecated.use updatePaymentLog( int paymentId, int posId, String checkData, int checkType )- Throws:
ru.bitel.bgbilling.common.BGException
-
getPaymentLog
public Result<Payment> getPaymentLog(int printerId, Period period, Page page) throws ru.bitel.bgbilling.common.BGException- Throws:
ru.bitel.bgbilling.common.BGException
-
getPaymentLog
public Result<Payment> getPaymentLog(java.util.Set<java.lang.Integer> cids, int printerId, java.lang.Boolean erroredType, java.lang.String posMapping, Period period, Page page, java.util.Collection<java.lang.Integer> logIds) throws ru.bitel.bgbilling.common.BGExceptionВозвращаем список прямо из лога уже напечатанных. Берутся записи из cashcheck_payment_log.- Parameters:
cids
- фильтр по договорам, если null или пустой - то по всемprinterId
- фильтр по ККМ, или 0 если все.erroredType
- null - все чеки, true - только с ошибками, false - только без ошибокposMapping
- фильтр по маппингу, null - все, строка - только с указанным маппингом (пустая строка соответсвует и пустому и null значению в БД)period
- период (записи лога, а не платежа)page
- пагинация (null - не используется)logIds
- список ид лога, для возврата всех моделей целиком (используется для получения лога по айдишникам), null - не используется (пустой - ничего не вернёт)- Returns:
- список платежей в виде Result (т.е. поддержка пагинации), сортировка обратная.
- Throws:
ru.bitel.bgbilling.common.BGException
-
getChargeQueue
public Result<Payment> getChargeQueue(Period period, java.util.List<java.lang.Integer> chatypes, Page page) throws ru.bitel.bgbilling.common.BGExceptionСписок расходов, которые могут быть напечатаны, но ещё не были. Технически - все расходы указанных типов, которые отсутствуют в логе распечатанных. Проверяет внутри параметр конфига "fiscal.start" и если есть - ограничивает снизу по нему очередь. Используется конечно таблица contract_charge.- Parameters:
period
- период фильтр (берутся включительно, обрезаются по "fiscal.start").chatypes
- список типов расходов (берётся, например, от конкретного регистратора). должен быть непустой, иначе и вернётся пустое.page
- пагинация- Returns:
- резулт со списком cashcheck.Payment и пагинацией.
- Throws:
ru.bitel.bgbilling.common.BGException
-
getChargesList
public java.util.List<Payment> getChargesList(java.util.List<java.lang.Integer> chargeIds) throws ru.bitel.bgbilling.common.BGExceptionПолучаем список расходов/возвратов по списку id. Берутся из contract_charge. Дополняются другими данными. Аналог #getPaymentNotLogList Если данные из cashcheck_charge_log - getQueueDate итд не заполнены, значит в логе нет, заполнилось только ядерная инфа- Parameters:
chargeIds
- строка-список ид платежей через запятую.- Returns:
- список расходов/возвратов, возможно без заполненных частей от лога (модельки Payment).
- Throws:
ru.bitel.bgbilling.common.BGException
-
updateChargeLog
public void updateChargeLog(int chargeId, int posId, java.lang.String checkData, Check.Type checkType, java.lang.String posMapping, java.lang.String errorText, java.lang.String pendingId, int contractId) throws ru.bitel.bgbilling.common.BGExceptionДобавляем расход/возврат (чек возврата) к логу.- Parameters:
paymentId
- ид расхода/возврата.posId
- номер ККМ.- Throws:
ru.bitel.bgbilling.common.BGException
-
updateChargeLog
@Deprecated public void updateChargeLog(int chargeId, int posId) throws ru.bitel.bgbilling.common.BGExceptionDeprecated.use updateChargeLog( int chargeId, int posId, String checkData, int checkType )- Throws:
ru.bitel.bgbilling.common.BGException
-
getChargeLog
public Result<Payment> getChargeLog(java.util.Set<java.lang.Integer> cids, int printerId, java.lang.Boolean erroredType, java.lang.String posMapping, Period period, Page page) throws ru.bitel.bgbilling.common.BGExceptionВозвращаем список из лога уже напечатанных чеков возврата. Берутся записи из cashcheck_charge_log.- Parameters:
cids
- фильтр по договорам, если null или пустой - то по всемprinterId
- фильтр по ККМ, или 0 если все.erroredType
- null - все чеки, true - только с ошибками, false - только без ошибокposMapping
- фильтр по маппингу, null - все, строка - только с указанным маппингом (пустая строка соответсвует и пустому и null значению в БД)period
- периодpage
- пагинация (null - не используется)- Returns:
- список расходов/возвратов в виде Result (т.е. поддержка пагинации), сортировка обратная.
- Throws:
ru.bitel.bgbilling.common.BGException
-
updatePaymentLastErrorForPendingId
public void updatePaymentLastErrorForPendingId(java.lang.String pendingId, java.lang.String lastError) throws ru.bitel.bgbilling.common.BGException- Throws:
ru.bitel.bgbilling.common.BGException
-
updatePaymentFiscalDataForPendingId
public void updatePaymentFiscalDataForPendingId(java.lang.String pendingId, java.lang.String fiscalData) throws ru.bitel.bgbilling.common.BGException- Throws:
ru.bitel.bgbilling.common.BGException
-
getNeedPendingIdLog
public java.util.List<Payment> getNeedPendingIdLog(int printerId, java.util.Date fromDate, java.util.Date toDate, boolean isError) throws ru.bitel.bgbilling.common.BGExceptionвозвращает список pending_id платежей из лога готовых к опросу статуса - с наличием pending_id и без наличия ответа уже Берутся записи из cashcheck_payment_log только.- Parameters:
isError
- если true то выбираются только те в которых есть last_error (т.е. уже печатали и не получилось), если false только те где нет last_error (т.е. первый раз попытка печатать)- Throws:
ru.bitel.bgbilling.common.BGException
-
getExistingPosMapping
public java.util.Set<java.lang.String> getExistingPosMapping() throws ru.bitel.bgbilling.common.BGExceptionВсе маппинги когда-либо используемые в логах, для фильтра, например. И из таблицы чеков приходов и расходов.- Throws:
ru.bitel.bgbilling.common.BGException
-