Interface CashcheckService
public interface CashcheckService
- 
Method Summary
Modifier and TypeMethodDescriptionvoidbindPrinter(int registratorId, String password) Привязка принтера к пользователю.voidbuzzer()Гудок.voidАннулирование чека.voidcheckManualPrint(int checkMode, int paymentType) Предварительная (перед printCheck, returnCheckCharge) проверка возможности напечатать чек указанного типа, плюс так же как те методы кидает BGPrinterNotloggedMessageException и можно сразу рисовать логин.closeCheckFix(BigDecimal summa) Полуотладочная фишка - закрывает чек на зависшем принтере, да, увы бывает такое, надо признать.voidПродолжение печати (например после отсутствия бумаги итд итп)voidОтчёт по сменам.название текущего принтера в человеческом виде, либо надпись типа "не залогинен" итдСтатус устройства.voidhelloPrinter(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!)voidopenDay()Открытие смены.Все маппинги когда-либо используемые в логах, для фильтра, например.printCheck(List<Integer> paymentIds, BigDecimal clientsumma) Печать чека.printCheckBatchAuto(List<Integer> paymentIds) Метод аналогичный printCheck но запускается только из очереди.printCheckErrorAsIs(List<Integer> logIds) Будет ВЗЯТО СТАРОЕ СОДЕРЖИМОЕ и отправлено на перепечать несколько чеков, напечатанных с ошибками.printCheckErrorDyncode(List<Integer> logIds) Будут ЗАНОВО ПРОГНАНЫ ЧЕРЕЗ ДИН.КОД и отправлены на перепечать несколько чеков, напечатанных с ошибками Возьмётся только id платежа и выполнится вся процедура печати сначала для каждого платежа/чека.voidqueueTable(Period period, Page page, int printerId, int checkType) Список очереди нераспечатанных (и платежей и возвратов).Возвращает список регистраторов. доп.атрибут registratorId.voidПовтор последнего документаreturnCheckCharge(int chargeId) Возврат продажи, привязанный к создаваему расходу, по аналогии с обычным чеком на приход.voidrunAdvancePayments(LocalDate month, List<Integer> contractsIds) Запуск задачи зачётов авансов вручнуюsendPureCommand(String hexdump) Выполнение любой бинарной команды.voidXReport()voidZReport() 
- 
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.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
String closeCheckFix(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
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
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, 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(List<Integer> paymentIds, 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(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
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.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(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.BGExceptionBGPrinterNotloggedMessageExceptionru.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.BGMessageExceptionru.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.BGMessageExceptionru.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.BGMessageExceptionru.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.BGMessageExceptionru.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:
 BGPrinterNotloggedMessageExceptionru.bitel.bgbilling.common.BGMessageExceptionru.bitel.bgbilling.common.BGException
 
 -