Interface CashcheckService
public interface CashcheckService
-
Method Summary
Modifier and Type Method Description void
bindPrinter(int registratorId, java.lang.String password)
Привязка принтера к пользователю.void
buzzer()
Гудок.void
cancelCheck()
Аннулирование чека.java.lang.String
closeCheckFix(java.math.BigDecimal summa)
Полуотладочная фишка - закрывает чек на зависшем принтере, да, увы бывает такое, надо признать.void
continuePrint()
Продолжение печати (например после отсутствия бумаги итд итп)void
divReport()
Отчёт по сменам.java.lang.String
getCurrentPrinter()
название текущего принтера в человеческом виде, либо надпись типа "не залогинен" итдjava.lang.String
getRegistratorStatus()
Статус устройства.void
helloPrinter(int registratorId, java.lang.String password)
Привет.Result<Payment>
logTable(java.util.Set<java.lang.Integer> cids, int printerId, int checkType, java.lang.Boolean erroredType, java.lang.String posMapping, Period period, Page page)
Получение лога уже напечатанных чеков (и платежей и возвратов).java.util.List<java.lang.Integer>
logTableOnlyId(java.util.Set<java.lang.Integer> cids, int printerId, int checkType, java.lang.Boolean erroredType, java.lang.String posMapping, Period period)
Аналог метода "получение лога уже напечатанных платажей" но возвращает все id (log-id, не payment-id!)void
openDay()
Открытие смены.java.util.List<java.lang.String>
posMappingList()
Все маппинги когда-либо используемые в логах, для фильтра, например.PrintCheckData
printCheck(java.util.List<java.lang.Integer> paymentIds, java.math.BigDecimal clientsumma)
Печать чека.java.lang.String
printCheckBatchAuto(java.util.List<java.lang.Integer> paymentIds)
Метод аналогичный printCheck но запускается только из очереди.java.lang.String
printCheckErrorAsIs(java.util.List<java.lang.Integer> logIds)
Будет ВЗЯТО СТАРОЕ СОДЕРЖИМОЕ и отправлено на перепечать несколько чеков, напечатанных с ошибками.java.lang.String
printCheckErrorDyncode(java.util.List<java.lang.Integer> logIds)
Будут ЗАНОВО ПРОГНАНЫ ЧЕРЕЗ ДИН.КОД и отправлены на перепечать несколько чеков, напечатанных с ошибками Возьмётся только id платежа и выполнится вся процедура печати сначала для каждого платежа/чека.void
printText(java.lang.String text)
Result<Payment>
queueTable(Period period, Page page, int printerId, int checkType)
Список очереди нераспечатанных (и платежей и возвратов).Result<IdTitle>
registratorList()
Возвращает список регистраторов. доп.атрибут registratorId.void
repeatCheck()
Повтор последнего документаPrintCheckData
returnCheckCharge(int chargeId)
Возврат продажи, привязанный к создаваему расходу, по аналогии с обычным чеком на приход.void
runAdvancePayments(java.time.LocalDate month, java.util.List<java.lang.Integer> contractsIds)
Запуск задачи зачётов авансов вручнуюjava.lang.String
sendPureCommand(java.lang.String hexdump)
Выполнение любой бинарной команды.void
XReport()
void
ZReport()
-
Method Details
-
bindPrinter
void bindPrinter(int registratorId, java.lang.String password) throws BGPrinterNotloggedMessageException, ru.bitel.bgbilling.common.BGMessageException, ru.bitel.bgbilling.common.BGExceptionПривязка принтера к пользователю. Сохраняет для юзера номер регистратора и пароль. Пробует просто снять статус регистратора с этим паролем. Если всё прошло как нельзя лучше - данные сохраняются, иначе в любом случае все данные о залогинивании, увы, стираются. Принимает регистратор, который мы хотим привязать к себе и его пароль:- Parameters:
registratorId
- ид регистратора, или 0 если надо сделать разлогин.password
- пароль принтера.- Throws:
ru.bitel.bgbilling.common.BGException
BGPrinterNotloggedMessageException
ru.bitel.bgbilling.common.BGMessageException
-
buzzer
void buzzer() throws BGPrinterNotloggedMessageException, ru.bitel.bgbilling.common.BGMessageException, ru.bitel.bgbilling.common.BGExceptionГудок.- Throws:
ru.bitel.bgbilling.common.BGException
BGPrinterNotloggedMessageException
ru.bitel.bgbilling.common.BGMessageException
-
cancelCheck
void cancelCheck() throws BGPrinterNotloggedMessageException, ru.bitel.bgbilling.common.BGMessageException, ru.bitel.bgbilling.common.BGExceptionАннулирование чека.- Throws:
BGPrinterNotloggedMessageException
ru.bitel.bgbilling.common.BGMessageException
ru.bitel.bgbilling.common.BGException
-
openDay
void openDay() throws BGPrinterNotloggedMessageException, ru.bitel.bgbilling.common.BGMessageException, ru.bitel.bgbilling.common.BGExceptionОткрытие смены.- Throws:
BGPrinterNotloggedMessageException
ru.bitel.bgbilling.common.BGMessageException
ru.bitel.bgbilling.common.BGException
-
closeCheckFix
java.lang.String closeCheckFix(java.math.BigDecimal summa) throws BGPrinterNotloggedMessageException, ru.bitel.bgbilling.common.BGMessageException, ru.bitel.bgbilling.common.BGExceptionПолуотладочная фишка - закрывает чек на зависшем принтере, да, увы бывает такое, надо признать.- Parameters:
summa
- сумма.- Returns:
- сдача.
- Throws:
BGPrinterNotloggedMessageException
ru.bitel.bgbilling.common.BGMessageException
ru.bitel.bgbilling.common.BGException
-
continuePrint
void continuePrint() throws BGPrinterNotloggedMessageException, ru.bitel.bgbilling.common.BGMessageException, ru.bitel.bgbilling.common.BGExceptionПродолжение печати (например после отсутствия бумаги итд итп)- Throws:
BGPrinterNotloggedMessageException
ru.bitel.bgbilling.common.BGMessageException
ru.bitel.bgbilling.common.BGException
-
divReport
void divReport() throws BGPrinterNotloggedMessageException, ru.bitel.bgbilling.common.BGMessageException, ru.bitel.bgbilling.common.BGExceptionОтчёт по сменам. Нефискальный.- Throws:
BGPrinterNotloggedMessageException
ru.bitel.bgbilling.common.BGMessageException
ru.bitel.bgbilling.common.BGException
-
getCurrentPrinter
java.lang.String getCurrentPrinter() throws BGPrinterNotloggedMessageException, ru.bitel.bgbilling.common.BGMessageException, ru.bitel.bgbilling.common.BGExceptionназвание текущего принтера в человеческом виде, либо надпись типа "не залогинен" итд- Throws:
BGPrinterNotloggedMessageException
ru.bitel.bgbilling.common.BGMessageException
ru.bitel.bgbilling.common.BGException
-
getRegistratorStatus
java.lang.String getRegistratorStatus() throws BGPrinterNotloggedMessageException, ru.bitel.bgbilling.common.BGMessageException, ru.bitel.bgbilling.common.BGExceptionСтатус устройства.- Returns:
- строка статуса разбитая по линиям итд.
- Throws:
BGPrinterNotloggedMessageException
ru.bitel.bgbilling.common.BGMessageException
ru.bitel.bgbilling.common.BGException
-
helloPrinter
void helloPrinter(int registratorId, java.lang.String password) throws BGPrinterNotloggedMessageException, ru.bitel.bgbilling.common.BGMessageException, ru.bitel.bgbilling.common.BGExceptionПривет. Проверяется наличие принтера и пробуется туда приветствие напечатать. Никаких действий по запоминанию логина после логина не производится. Регистратор, который мы хотим проверить и его пароль:- Parameters:
registratorId
-password
- пароль (если не задан, то пытаемся взять куда залогинены. это если в клиенте уже вошли на этот момент)- Throws:
ru.bitel.bgbilling.common.BGException
BGPrinterNotloggedMessageException
ru.bitel.bgbilling.common.BGMessageException
-
printCheck
PrintCheckData printCheck(java.util.List<java.lang.Integer> paymentIds, java.math.BigDecimal clientsumma) throws BGPrinterNotloggedMessageException, ru.bitel.bgbilling.common.BGMessageException, ru.bitel.bgbilling.common.BGExceptionПечать чека. Вызывается аж из трёх сейчас мест - из очереди, из списка платежей в контракте, и из диалога добавления прихода, при условии, что стоит галочка. Сейчас для всех этих трёх способов разницы тут нет - везде передаётся только ИД платежа, возможно, несколько (несколько можно напечатать из всех трёх мест: при печати из лога, из таблицы платежей и по галке, если стоит распределение платежей). Также сумма от клиента используется. Внутри уже проверяется возможность печати итд.- Parameters:
paymentIds
- несколько ИД платежей.clientsumma
- сумма от клиента.- Throws:
BGPrinterNotloggedMessageException
ru.bitel.bgbilling.common.BGMessageException
ru.bitel.bgbilling.common.BGException
-
printText
void printText(java.lang.String text) throws BGPrinterNotloggedMessageException, ru.bitel.bgbilling.common.BGMessageException, ru.bitel.bgbilling.common.BGException- Throws:
BGPrinterNotloggedMessageException
ru.bitel.bgbilling.common.BGMessageException
ru.bitel.bgbilling.common.BGException
-
queueTable
Result<Payment> queueTable(Period period, Page page, int printerId, int checkType) throws BGPrinterNotloggedMessageException, ru.bitel.bgbilling.common.BGMessageException, ru.bitel.bgbilling.common.BGExceptionСписок очереди нераспечатанных (и платежей и возвратов).- Parameters:
period
- периодpage
- пагинацияprinterId
- регистратор для которого получить (0, -1 -- возмётся "текущий" как раньше)checkType
- 0 - чеки платежей, 1 - чеки возврата- Returns:
- доп.атрибуты registratorBindedName, registratorId, fiscalStart.
- Throws:
ru.bitel.bgbilling.common.BGException
BGPrinterNotloggedMessageException
ru.bitel.bgbilling.common.BGMessageException
-
registratorList
Result<IdTitle> registratorList() throws BGPrinterNotloggedMessageException, ru.bitel.bgbilling.common.BGMessageException, ru.bitel.bgbilling.common.BGExceptionВозвращает список регистраторов. доп.атрибут registratorId. Возвращаются только не-hidden устройства.- Throws:
BGPrinterNotloggedMessageException
ru.bitel.bgbilling.common.BGMessageException
ru.bitel.bgbilling.common.BGException
-
repeatCheck
void repeatCheck() throws BGPrinterNotloggedMessageException, ru.bitel.bgbilling.common.BGMessageException, ru.bitel.bgbilling.common.BGExceptionПовтор последнего документа- Throws:
BGPrinterNotloggedMessageException
ru.bitel.bgbilling.common.BGMessageException
ru.bitel.bgbilling.common.BGException
-
returnCheckCharge
PrintCheckData returnCheckCharge(int chargeId) throws BGPrinterNotloggedMessageException, ru.bitel.bgbilling.common.BGMessageException, ru.bitel.bgbilling.common.BGExceptionВозврат продажи, привязанный к создаваему расходу, по аналогии с обычным чеком на приход.- Parameters:
chargeId
- ид расхода- Returns:
- сдача(?)
- Throws:
BGPrinterNotloggedMessageException
ru.bitel.bgbilling.common.BGMessageException
ru.bitel.bgbilling.common.BGException
-
sendPureCommand
java.lang.String sendPureCommand(java.lang.String hexdump) throws BGPrinterNotloggedMessageException, ru.bitel.bgbilling.common.BGMessageException, ru.bitel.bgbilling.common.BGExceptionВыполнение любой бинарной команды.- Parameters:
hexdump
- дамп в виде hex.- Returns:
- ответ от железки
- Throws:
ru.bitel.bgbilling.common.BGException
BGPrinterNotloggedMessageException
ru.bitel.bgbilling.common.BGMessageException
-
XReport
void XReport() throws BGPrinterNotloggedMessageException, ru.bitel.bgbilling.common.BGMessageException, ru.bitel.bgbilling.common.BGException- Throws:
BGPrinterNotloggedMessageException
ru.bitel.bgbilling.common.BGMessageException
ru.bitel.bgbilling.common.BGException
-
ZReport
void ZReport() throws BGPrinterNotloggedMessageException, ru.bitel.bgbilling.common.BGMessageException, ru.bitel.bgbilling.common.BGException- Throws:
BGPrinterNotloggedMessageException
ru.bitel.bgbilling.common.BGMessageException
ru.bitel.bgbilling.common.BGException
-
logTable
Result<Payment> logTable(java.util.Set<java.lang.Integer> cids, int printerId, int checkType, java.lang.Boolean erroredType, java.lang.String posMapping, Period period, Page page) throws BGPrinterNotloggedMessageException, ru.bitel.bgbilling.common.BGMessageException, ru.bitel.bgbilling.common.BGExceptionПолучение лога уже напечатанных чеков (и платежей и возвратов). "Залогиненный" принтер не учитывается.- Parameters:
cids
- фильтр по договорам, если null или пустой - то по всемprinterId
- фильтр по ККМ, или 0, если по всемcheckType
- 0 - чеки платежей, 1 - чеки возвратаerroredType
- null - все чеки, true - только с ошибками, false - только без ошибокposMapping
- фильтр по маппингу, null - все, строка - только с указанным маппингомperiod
- периодpage
- пагинация- Returns:
- список платежей в виде Result. Список не null всегда.
- Throws:
ru.bitel.bgbilling.common.BGException
BGPrinterNotloggedMessageException
ru.bitel.bgbilling.common.BGMessageException
-
logTableOnlyId
java.util.List<java.lang.Integer> logTableOnlyId(java.util.Set<java.lang.Integer> cids, int printerId, int checkType, java.lang.Boolean erroredType, java.lang.String posMapping, Period period) throws ru.bitel.bgbilling.common.BGExceptionАналог метода "получение лога уже напечатанных платажей" но возвращает все id (log-id, не payment-id!) соответствующие (не учитывая пагинацию, конечно)- Throws:
ru.bitel.bgbilling.common.BGException
-
printCheckBatchAuto
java.lang.String printCheckBatchAuto(java.util.List<java.lang.Integer> paymentIds) throws ru.bitel.bgbilling.common.BGMessageException, ru.bitel.bgbilling.common.BGExceptionМетод аналогичный printCheck но запускается только из очереди. Проверяется что режим auto. По-нормальному auto там не должны оставаться (а попадать в лог с ошибкой), метод на всякий случай для допечати тех которые внесли для фискализации позже, например. В итоге запускается таск в планировщике. manual печатаются методом ручным. delay печатаются своей задачей, она эти платежи в очереди подцепит в штатном режиме.- Parameters:
paymentIds
- список платежей.- Returns:
- какое-то сообщение.
- Throws:
ru.bitel.bgbilling.common.BGMessageException
ru.bitel.bgbilling.common.BGException
-
printCheckErrorDyncode
java.lang.String printCheckErrorDyncode(java.util.List<java.lang.Integer> logIds) throws ru.bitel.bgbilling.common.BGMessageException, ru.bitel.bgbilling.common.BGExceptionБудут ЗАНОВО ПРОГНАНЫ ЧЕРЕЗ ДИН.КОД и отправлены на перепечать несколько чеков, напечатанных с ошибками Возьмётся только id платежа и выполнится вся процедура печати сначала для каждого платежа/чека. Каждый будет напечатан на соответствующем по настройкам фискализаторе. После обработки записи останутся в логе с успехом или ошибкой (новой или той же). Чеки должны быть привязаны к платежу. Печатаются асинхронно в планировщике.- Parameters:
logIds
- список log_id записей лога (не ид платежей!). и лог на платежи обязательно, не на возвраты (это разные таблицы).- Returns:
- какое-то сообщение.
- Throws:
ru.bitel.bgbilling.common.BGMessageException
ru.bitel.bgbilling.common.BGException
-
printCheckErrorAsIs
java.lang.String printCheckErrorAsIs(java.util.List<java.lang.Integer> logIds) throws ru.bitel.bgbilling.common.BGMessageException, ru.bitel.bgbilling.common.BGExceptionБудет ВЗЯТО СТАРОЕ СОДЕРЖИМОЕ и отправлено на перепечать несколько чеков, напечатанных с ошибками. ДИН.КОД ВЫПОЛНЯТЬСЯ НЕ БУДЕТ, возьмётся \"как есть\" содержимое чека сформированное ранее, и заново отправится в фискализатор. Каждый будет напечатан на том же самом фискализаторе, который сохранён в логе. После обработки записи останутся в логе с успехом или ошибкой (новой или той же). Чеки могут быть не привязаны к платежу (удалён или не было привязано). Печатаются асинхронно в планировщике.- Parameters:
logIds
- список log_id записей лога (не ид платежей!). и лог на платежи обязательно, не на возвраты (это разные таблицы).- Returns:
- какое-то сообщение.
- Throws:
ru.bitel.bgbilling.common.BGMessageException
ru.bitel.bgbilling.common.BGException
-
posMappingList
java.util.List<java.lang.String> posMappingList() throws ru.bitel.bgbilling.common.BGExceptionВсе маппинги когда-либо используемые в логах, для фильтра, например.- Throws:
ru.bitel.bgbilling.common.BGException
-
runAdvancePayments
void runAdvancePayments(java.time.LocalDate month, java.util.List<java.lang.Integer> contractsIds) throws ru.bitel.bgbilling.common.BGMessageException, ru.bitel.bgbilling.common.BGExceptionЗапуск задачи зачётов авансов вручную- Parameters:
month
- месяцcontractsIds
- (опционально) договоры для обработки (если null/пустое - все)- Throws:
ru.bitel.bgbilling.common.BGMessageException
ru.bitel.bgbilling.common.BGException
-