Interface CashcheckService
public interface CashcheckService
-
Method Summary
Modifier and Type Method Description voidbindPrinter(int registratorId, java.lang.String password)Привязка принтера к пользователю.voidbuzzer()Гудок.voidcancelCheck()Аннулирование чека.java.lang.StringcloseCheckFix(java.math.BigDecimal summa)Полуотладочная фишка - закрывает чек на зависшем принтере, да, увы бывает такое, надо признать.voidcontinuePrint()Продолжение печати (например после отсутствия бумаги итд итп)voiddivReport()Отчёт по сменам.java.lang.StringgetCurrentPrinter()название текущего принтера в человеческом виде, либо надпись типа "не залогинен" итдjava.lang.StringgetRegistratorStatus()Статус устройства.voidhelloPrinter(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!)voidopenDay()Открытие смены.java.util.List<java.lang.String>posMappingList()Все маппинги когда-либо используемые в логах, для фильтра, например.PrintCheckDataprintCheck(java.util.List<java.lang.Integer> paymentIds, java.math.BigDecimal clientsumma)Печать чека.java.lang.StringprintCheckBatchAuto(java.util.List<java.lang.Integer> paymentIds)Метод аналогичный printCheck но запускается только из очереди.java.lang.StringprintCheckErrorAsIs(java.util.List<java.lang.Integer> logIds)Будет ВЗЯТО СТАРОЕ СОДЕРЖИМОЕ и отправлено на перепечать несколько чеков, напечатанных с ошибками.java.lang.StringprintCheckErrorDyncode(java.util.List<java.lang.Integer> logIds)Будут ЗАНОВО ПРОГНАНЫ ЧЕРЕЗ ДИН.КОД и отправлены на перепечать несколько чеков, напечатанных с ошибками Возьмётся только id платежа и выполнится вся процедура печати сначала для каждого платежа/чека.voidprintText(java.lang.String text)Result<Payment>queueTable(Period period, Page page, int printerId, int checkType)Список очереди нераспечатанных (и платежей и возвратов).Result<IdTitle>registratorList()Возвращает список регистраторов. доп.атрибут registratorId.voidrepeatCheck()Повтор последнего документаPrintCheckDatareturnCheckCharge(int chargeId)Возврат продажи, привязанный к создаваему расходу, по аналогии с обычным чеком на приход.voidrunAdvancePayments(java.time.LocalDate month, java.util.List<java.lang.Integer> contractsIds)Запуск задачи зачётов авансов вручнуюjava.lang.StringsendPureCommand(java.lang.String hexdump)Выполнение любой бинарной команды.voidXReport()voidZReport()
-
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.BGExceptionBGPrinterNotloggedMessageExceptionru.bitel.bgbilling.common.BGMessageException
-
buzzer
void buzzer() throws BGPrinterNotloggedMessageException, ru.bitel.bgbilling.common.BGMessageException, ru.bitel.bgbilling.common.BGExceptionГудок.- Throws:
ru.bitel.bgbilling.common.BGExceptionBGPrinterNotloggedMessageExceptionru.bitel.bgbilling.common.BGMessageException
-
cancelCheck
void cancelCheck() throws BGPrinterNotloggedMessageException, ru.bitel.bgbilling.common.BGMessageException, ru.bitel.bgbilling.common.BGExceptionАннулирование чека.- Throws:
BGPrinterNotloggedMessageExceptionru.bitel.bgbilling.common.BGMessageExceptionru.bitel.bgbilling.common.BGException
-
openDay
void openDay() throws BGPrinterNotloggedMessageException, ru.bitel.bgbilling.common.BGMessageException, ru.bitel.bgbilling.common.BGExceptionОткрытие смены.- Throws:
BGPrinterNotloggedMessageExceptionru.bitel.bgbilling.common.BGMessageExceptionru.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:
BGPrinterNotloggedMessageExceptionru.bitel.bgbilling.common.BGMessageExceptionru.bitel.bgbilling.common.BGException
-
continuePrint
void continuePrint() throws BGPrinterNotloggedMessageException, ru.bitel.bgbilling.common.BGMessageException, ru.bitel.bgbilling.common.BGExceptionПродолжение печати (например после отсутствия бумаги итд итп)- Throws:
BGPrinterNotloggedMessageExceptionru.bitel.bgbilling.common.BGMessageExceptionru.bitel.bgbilling.common.BGException
-
divReport
void divReport() throws BGPrinterNotloggedMessageException, ru.bitel.bgbilling.common.BGMessageException, ru.bitel.bgbilling.common.BGExceptionОтчёт по сменам. Нефискальный.- Throws:
BGPrinterNotloggedMessageExceptionru.bitel.bgbilling.common.BGMessageExceptionru.bitel.bgbilling.common.BGException
-
getCurrentPrinter
java.lang.String getCurrentPrinter() throws BGPrinterNotloggedMessageException, ru.bitel.bgbilling.common.BGMessageException, ru.bitel.bgbilling.common.BGExceptionназвание текущего принтера в человеческом виде, либо надпись типа "не залогинен" итд- Throws:
BGPrinterNotloggedMessageExceptionru.bitel.bgbilling.common.BGMessageExceptionru.bitel.bgbilling.common.BGException
-
getRegistratorStatus
java.lang.String getRegistratorStatus() throws BGPrinterNotloggedMessageException, ru.bitel.bgbilling.common.BGMessageException, ru.bitel.bgbilling.common.BGExceptionСтатус устройства.- Returns:
- строка статуса разбитая по линиям итд.
- Throws:
BGPrinterNotloggedMessageExceptionru.bitel.bgbilling.common.BGMessageExceptionru.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.BGExceptionBGPrinterNotloggedMessageExceptionru.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:
BGPrinterNotloggedMessageExceptionru.bitel.bgbilling.common.BGMessageExceptionru.bitel.bgbilling.common.BGException
-
printText
void printText(java.lang.String text) throws BGPrinterNotloggedMessageException, ru.bitel.bgbilling.common.BGMessageException, ru.bitel.bgbilling.common.BGException- Throws:
BGPrinterNotloggedMessageExceptionru.bitel.bgbilling.common.BGMessageExceptionru.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.BGExceptionBGPrinterNotloggedMessageExceptionru.bitel.bgbilling.common.BGMessageException
-
registratorList
Result<IdTitle> registratorList() throws BGPrinterNotloggedMessageException, ru.bitel.bgbilling.common.BGMessageException, ru.bitel.bgbilling.common.BGExceptionВозвращает список регистраторов. доп.атрибут registratorId. Возвращаются только не-hidden устройства.- Throws:
BGPrinterNotloggedMessageExceptionru.bitel.bgbilling.common.BGMessageExceptionru.bitel.bgbilling.common.BGException
-
repeatCheck
void repeatCheck() throws BGPrinterNotloggedMessageException, ru.bitel.bgbilling.common.BGMessageException, ru.bitel.bgbilling.common.BGExceptionПовтор последнего документа- Throws:
BGPrinterNotloggedMessageExceptionru.bitel.bgbilling.common.BGMessageExceptionru.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:
BGPrinterNotloggedMessageExceptionru.bitel.bgbilling.common.BGMessageExceptionru.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.BGExceptionBGPrinterNotloggedMessageExceptionru.bitel.bgbilling.common.BGMessageException
-
XReport
void XReport() throws BGPrinterNotloggedMessageException, ru.bitel.bgbilling.common.BGMessageException, ru.bitel.bgbilling.common.BGException- Throws:
BGPrinterNotloggedMessageExceptionru.bitel.bgbilling.common.BGMessageExceptionru.bitel.bgbilling.common.BGException
-
ZReport
void ZReport() throws BGPrinterNotloggedMessageException, ru.bitel.bgbilling.common.BGMessageException, ru.bitel.bgbilling.common.BGException- Throws:
BGPrinterNotloggedMessageExceptionru.bitel.bgbilling.common.BGMessageExceptionru.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.BGExceptionBGPrinterNotloggedMessageExceptionru.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.BGMessageExceptionru.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.BGMessageExceptionru.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.BGMessageExceptionru.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.BGMessageExceptionru.bitel.bgbilling.common.BGException
-