Interface CashcheckService
public interface CashcheckService
-
Method Summary
Modifier and TypeMethodDescriptionvoid
bindPrinter
(int registratorId, String password) Привязка принтера к пользователю.void
buzzer()
Гудок.void
Аннулирование чека.void
checkManualPrint
(int checkMode, int paymentType) Предварительная (перед printCheck, returnCheckCharge) проверка возможности напечатать чек указанного типа, плюс так же как те методы кидает BGPrinterNotloggedMessageException и можно сразу рисовать логин.closeCheckFix
(BigDecimal summa) Полуотладочная фишка - закрывает чек на зависшем принтере, да, увы бывает такое, надо признать.void
Продолжение печати (например после отсутствия бумаги итд итп)void
Отчёт по сменам.название текущего принтера в человеческом виде, либо надпись типа "не залогинен" итдСтатус устройства.void
helloPrinter
(int registratorId, String password) Привет.logTable
(Set<Integer> cids, int printerId, int checkType, Boolean erroredType, String posMapping, Period period, Page page) Получение лога уже напечатанных чеков (и платежей и возвратов).logTableOnlyId
(Set<Integer> cids, int printerId, int checkType, Boolean erroredType, String posMapping, Period period) Аналог метода "получение лога уже напечатанных платажей" но возвращает все id (log-id, не payment-id!)void
openDay()
Открытие смены.Все маппинги когда-либо используемые в логах, для фильтра, например.printCheck
(List<Integer> paymentIds, BigDecimal clientsumma) Печать чека.printCheckBatchAuto
(List<Integer> paymentIds) Метод аналогичный printCheck но запускается только из очереди.printCheckErrorAsIs
(List<Integer> logIds) Будет ВЗЯТО СТАРОЕ СОДЕРЖИМОЕ и отправлено на перепечать несколько чеков, напечатанных с ошибками.printCheckErrorDyncode
(List<Integer> logIds) Будут ЗАНОВО ПРОГНАНЫ ЧЕРЕЗ ДИН.КОД и отправлены на перепечать несколько чеков, напечатанных с ошибками Возьмётся только id платежа и выполнится вся процедура печати сначала для каждого платежа/чека.void
queueTable
(Period period, Page page, int printerId, int checkType) Список очереди нераспечатанных (и платежей и возвратов).Возвращает список регистраторов. доп.атрибут registratorId.void
Повтор последнего документаreturnCheckCharge
(int chargeId) Возврат продажи, привязанный к создаваему расходу, по аналогии с обычным чеком на приход.void
runAdvancePayments
(LocalDate month, List<Integer> contractsIds) Запуск задачи зачётов авансов вручнуюsendPureCommand
(String hexdump) Выполнение любой бинарной команды.void
XReport()
void
ZReport()
-
Method Details
-
bindPrinter
void bindPrinter(int registratorId, 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
String closeCheckFix(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
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
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, 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(List<Integer> paymentIds, 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(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
String sendPureCommand(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(Set<Integer> cids, int printerId, int checkType, Boolean erroredType, 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
List<Integer> logTableOnlyId(Set<Integer> cids, int printerId, int checkType, Boolean erroredType, String posMapping, Period period) throws ru.bitel.bgbilling.common.BGException Аналог метода "получение лога уже напечатанных платажей" но возвращает все id (log-id, не payment-id!) соответствующие (не учитывая пагинацию, конечно)- Throws:
ru.bitel.bgbilling.common.BGException
-
printCheckBatchAuto
String printCheckBatchAuto(List<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
String printCheckErrorDyncode(List<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
String printCheckErrorAsIs(List<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
Все маппинги когда-либо используемые в логах, для фильтра, например.- Throws:
ru.bitel.bgbilling.common.BGException
-
runAdvancePayments
void runAdvancePayments(LocalDate month, List<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
-
checkManualPrint
void checkManualPrint(int checkMode, int paymentType) throws BGPrinterNotloggedMessageException, ru.bitel.bgbilling.common.BGMessageException, ru.bitel.bgbilling.common.BGException Предварительная (перед printCheck, returnCheckCharge) проверка возможности напечатать чек указанного типа, плюс так же как те методы кидает BGPrinterNotloggedMessageException и можно сразу рисовать логин. Предварительная проверка спасает от большинства случаев когда хотели добавит платёж + чек, но чек потом не напечатался, а т.к. мы печатаем постфактум, то получается что добавлен платёж а чека нет, надо идти в очередь и вручную делать (чего оператор может не смочь) а если косяк с маппингом то вообще нигде не будет инфы про чек.- Parameters:
checkMode
- аналогично как в редакторе платежей/расходов, например: 0 - чек платежа/покупок, 1 - чеки возвратов/продажpaymentType
- тип платежа/расхода соответственно с которым собрались печатать.- Throws:
BGPrinterNotloggedMessageException
ru.bitel.bgbilling.common.BGMessageException
ru.bitel.bgbilling.common.BGException
-