Class CashCheckUtils
java.lang.Object
ru.bitel.bgbilling.plugins.cashcheck.server.CashCheckUtils
public class CashCheckUtils
extends java.lang.Object
Всякие методы-хелперы, которые можно использовать в скриптах для автоматизации печати чеков итд.
- 
Nested Class SummaryNested Classes Modifier and Type Class Description static classCashCheckUtils.HttpReply
- 
Constructor SummaryConstructors Constructor Description CashCheckUtils()
- 
Method SummaryModifier and Type Method Description static CashCheckUtils.HttpReplydoHttpRequest(java.lang.String method, java.lang.String url, java.lang.String body, java.util.Map<java.lang.String,java.lang.String> requestProperties, int timeout, org.apache.logging.log4j.Logger logger)http-запросstatic java.util.List<java.lang.Integer>getAllPaytypes(java.lang.Integer registratorId)Все замапленные типы платежей.static java.lang.StringgetCashierInn(java.sql.Connection con, int userId)Возвращает ИНН юзера-кассира по ид.static java.lang.StringgetCashierName(java.sql.Connection con, int userId)Возвращает имя юзера-кассира по ид.static ru.bitel.bgbilling.plugins.cashcheck.server.CheckMakergetCheckMaker(Setup setup, java.sql.Connection con, java.sql.Connection conSlave, Payment payment, Printer printer)Общий код получения дин.код через маппинги - платежа (если есть), принтера (если есть), общий.static java.util.List<Contract>getContractsWithBalance(java.sql.Connection con, java.time.LocalDate month)все договоры имеющие любое движение балансов в месяце указанной датыstatic java.lang.StringgetEmailCustomer(java.sql.Connection con, int cid)Получает email из "контактов" у сущности "клиент" договора.static java.lang.StringgetEmailParam(java.sql.Connection con, int cid, int pid)Возвращает значение email или телефона по cid и pid Поддерживает и mail-параметр и phone-параметр (если несколько мыл/телефонов, то вернётся первый) и текстовый параметр.static PrintergetPrinter(int kkmNum)Из настроек плагина получаем принтер по его номеру в конфиге.static PrintergetPrinter(java.lang.String address, int port)Deprecated.address + port это свойство connector=address:port в конфиге фискализатора.static java.util.List<Payment>getQueue(java.sql.Connection con, java.util.Date fromDate, java.util.Date toDate, java.lang.Integer registratorId)Получение очереди платежей.static voidopenDay(Printer printer, int kkmPass)Печатает отчёт об открытии дня, как это делает серверная часть плагина.static voidprintCheck(Check check, Printer printer, int kkmPass, java.sql.Connection con, int paymentId)static voidprintCheck(Check check, Printer printer, int kkmPass, java.sql.Connection con, int paymentId, java.lang.String posMapping, int contractId)Deprecated.добавить в конец параметров: ,null удалить в 8.1+static voidprintCheck(Check check, Printer printer, int kkmPass, java.sql.Connection con, int paymentId, java.lang.String posMapping, int contractId, java.lang.Integer logId)Печатает чек с указанными настройками, как это делает серверная часть плагина.static voidprintCheckCharge(Check check, Printer printer, int kkmPass, java.sql.Connection con, int chargeId)в коде не используется, автоплатежей расходов нету, можно в данный момент использовать в скриптахstatic voidprintCheckCharge(Check check, Printer printer, int kkmPass, java.sql.Connection con, int chargeId, java.lang.String posMapping, int contractId)Печатает чек возврата с указанными настройками, как это делает серверная часть плагина.static voidprintCheckVirtual(Check check, Printer printer, java.sql.Connection con, int paymentId, java.lang.String posMapping, int contractId)Виртуально печатает чек с указанными настройками.static voidrunCheckMakerAddPayment(PrinterManager.PaymentPrintMode printMode, Setup setup, java.sql.Connection con, java.sql.Connection conSlave, Payment payment, Check check, Printer printer)static voidrunCheckMakeraddPaymentAuto(Setup setup, java.sql.Connection con, java.sql.Connection conSlave, Payment payment, Check check, Printer printer)Формирование чека через прописанный в плагине динкод, т.е. вызов метода CheckMaker.addPaymentAuto.static voidrunCheckMakeraddPaymentAutoDelay(Setup setup, java.sql.Connection con, java.sql.Connection conSlave, Payment payment, Check check, Printer printer)static voidrunCheckMakerAddPaymentRefund(Setup setup, java.sql.Connection con, java.sql.Connection conSlave, Payment payment, Check check, Printer printer)аналог runCheckMakerAddPayment, но для формирования чека возврата. printMode нету, т.к. сейчас только ручной режимstatic voidsendMailsAutoprint(java.lang.String keysuffix, java.lang.String subject, java.lang.String body)Отправка сообщения на аларм.static voidsleepBatch()спит настроенно кол-во времени в задачах последовательных печатей чековstatic voidZReport(Printer printer, int kkmPass)Печатает z-отчёт, как это делает серверная часть плагина.Methods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
- 
Constructor Details- 
CashCheckUtilspublic CashCheckUtils()
 
- 
- 
Method Details- 
getPrinterИз настроек плагина получаем принтер по его номеру в конфиге.- Parameters:
- kkmNum- номер принтера в конфиге плагина.
- Throws:
- ru.bitel.bgbilling.common.BGException- если такого не найдено принтера.
 
- 
getPrinterDeprecated.address + port это свойство connector=address:port в конфиге фискализатора.Конструкция принтера по адресу и порту.
- 
printCheckpublic static void printCheck(Check check, Printer printer, int kkmPass, java.sql.Connection con, int paymentId) throws ru.bitel.bgbilling.common.BGException- Throws:
- ru.bitel.bgbilling.common.BGException
 
- 
printCheck@Deprecated public static void printCheck(Check check, Printer printer, int kkmPass, java.sql.Connection con, int paymentId, java.lang.String posMapping, int contractId) throws ru.bitel.bgbilling.common.BGExceptionDeprecated.добавить в конец параметров: ,null удалить в 8.1+- Throws:
- ru.bitel.bgbilling.common.BGException
 
- 
printCheckpublic static void printCheck(Check check, Printer printer, int kkmPass, java.sql.Connection con, int paymentId, java.lang.String posMapping, int contractId, java.lang.Integer logId) throws ru.bitel.bgbilling.common.BGExceptionПечатает чек с указанными настройками, как это делает серверная часть плагина. Сохраняет в лог запись о напечатанном чеке. Если была ошибка - то выходит с BGException и пишет в лог ошибок печати(!).- Parameters:
- logId- Если задан logId не-null то это значит печатается уже чек на готовый запись в логе, перепечатывается, логироваться будет именно туда и результат и ошибка. иначе запись добавится непременно новая.
- Throws:
- ru.bitel.bgbilling.common.BGException
 
- 
printCheckVirtualpublic static void printCheckVirtual(Check check, Printer printer, java.sql.Connection con, int paymentId, java.lang.String posMapping, int contractId) throws ru.bitel.bgbilling.common.BGExceptionВиртуально печатает чек с указанными настройками. Т.е. сохраняет его в лог как "новый" чтобы потом задача подхватила и напечатала. Для асинхронного формирования кучи чеков с последующей печатью неспеша (если скрипт печатал бы их два дня с риском что он упадёт и непонятно что ещё надо допечатать). Сохраняет в лог запись о "напечатанном" чеке с отметкой что новый (в виде фейковой "ошибки"). Ошибок печати быть не должно, т.к. печати реальной не происходит, только сохранение в БД.- Throws:
- ru.bitel.bgbilling.common.BGException
 
- 
printCheckChargepublic static void printCheckCharge(Check check, Printer printer, int kkmPass, java.sql.Connection con, int chargeId) throws ru.bitel.bgbilling.common.BGExceptionв коде не используется, автоплатежей расходов нету, можно в данный момент использовать в скриптах- Throws:
- ru.bitel.bgbilling.common.BGException
 
- 
printCheckChargepublic static void printCheckCharge(Check check, Printer printer, int kkmPass, java.sql.Connection con, int chargeId, java.lang.String posMapping, int contractId) throws ru.bitel.bgbilling.common.BGExceptionПечатает чек возврата с указанными настройками, как это делает серверная часть плагина. Печатает на расход. Сохраняет в лог возвратов запись о напечатанном чеке. в коде не используется, автоплатежей расходов нету, можно в данный момент использовать в скриптах Если была ошибка - то выходит с BGException и пишет в лог ошибок печати(!).- Throws:
- ru.bitel.bgbilling.common.BGException
 
- 
ZReportpublic static void ZReport(Printer printer, int kkmPass) throws ru.bitel.bgbilling.common.BGExceptionПечатает z-отчёт, как это делает серверная часть плагина. Если была ошибка - то выходит с BGException.- Throws:
- ru.bitel.bgbilling.common.BGException
 
- 
openDaypublic static void openDay(Printer printer, int kkmPass) throws ru.bitel.bgbilling.common.BGExceptionПечатает отчёт об открытии дня, как это делает серверная часть плагина. Если была ошибка - то выходит с BGException.- Throws:
- ru.bitel.bgbilling.common.BGException
 
- 
sendMailsAutoprintpublic static void sendMailsAutoprint(java.lang.String keysuffix, java.lang.String subject, java.lang.String body)Отправка сообщения на аларм.
- 
runCheckMakeraddPaymentAutopublic static void runCheckMakeraddPaymentAuto(Setup setup, java.sql.Connection con, java.sql.Connection conSlave, Payment payment, Check check, Printer printer) throws ru.bitel.bgbilling.common.BGExceptionФормирование чека через прописанный в плагине динкод, т.е. вызов метода CheckMaker.addPaymentAuto.- Throws:
- ru.bitel.bgbilling.common.BGException- если неправильно настроено, дин.код не реализован итд. Ну или если CheckMaker.addPaymentAuto ошибку вернул.
 
- 
runCheckMakeraddPaymentAutoDelaypublic static void runCheckMakeraddPaymentAutoDelay(Setup setup, java.sql.Connection con, java.sql.Connection conSlave, Payment payment, Check check, Printer printer) throws ru.bitel.bgbilling.common.BGException- Throws:
- ru.bitel.bgbilling.common.BGException
 
- 
getCheckMakerpublic static ru.bitel.bgbilling.plugins.cashcheck.server.CheckMaker getCheckMaker(Setup setup, java.sql.Connection con, java.sql.Connection conSlave, Payment payment, Printer printer) throws ru.bitel.bgbilling.common.BGExceptionОбщий код получения дин.код через маппинги - платежа (если есть), принтера (если есть), общий. Создаёт класс и вызывает ему init.- Throws:
- ru.bitel.bgbilling.common.BGException
 
- 
runCheckMakerAddPaymentpublic static void runCheckMakerAddPayment(PrinterManager.PaymentPrintMode printMode, Setup setup, java.sql.Connection con, java.sql.Connection conSlave, Payment payment, Check check, Printer printer) throws ru.bitel.bgbilling.common.BGException- Throws:
- ru.bitel.bgbilling.common.BGException
 
- 
runCheckMakerAddPaymentRefundpublic static void runCheckMakerAddPaymentRefund(Setup setup, java.sql.Connection con, java.sql.Connection conSlave, Payment payment, Check check, Printer printer) throws ru.bitel.bgbilling.common.BGExceptionаналог runCheckMakerAddPayment, но для формирования чека возврата. printMode нету, т.к. сейчас только ручной режим- Throws:
- ru.bitel.bgbilling.common.BGException
 
- 
getQueuepublic static java.util.List<Payment> getQueue(java.sql.Connection con, java.util.Date fromDate, java.util.Date toDate, java.lang.Integer registratorId) throws ru.bitel.bgbilling.common.BGExceptionПолучение очереди платежей.- Parameters:
- con- коннекшен
- fromDate- дата начала включительно, может быть null
- toDate- дата конца включительно, может быть null
- registratorId- конкретный принтер, может быть null
- Returns:
- Throws:
- ru.bitel.bgbilling.common.BGException
 
- 
getAllPaytypespublic static java.util.List<java.lang.Integer> getAllPaytypes(java.lang.Integer registratorId)Все замапленные типы платежей.- Parameters:
- registratorId- фильтр по номеру ккт, если null то все типы
- Returns:
- список ид типов платежей, не null
 
- 
getEmailParampublic static java.lang.String getEmailParam(java.sql.Connection con, int cid, int pid) throws ru.bitel.bgbilling.common.BGExceptionВозвращает значение email или телефона по cid и pid Поддерживает и mail-параметр и phone-параметр (если несколько мыл/телефонов, то вернётся первый) и текстовый параметр. Текстовый возвращается как есть, телефон - строкой без плюсика, мыло - отрезается имя/скобки.- Throws:
- ru.bitel.bgbilling.common.BGException
 
- 
getEmailCustomerpublic static java.lang.String getEmailCustomer(java.sql.Connection con, int cid) throws ru.bitel.bgbilling.common.BGExceptionПолучает email из "контактов" у сущности "клиент" договора. Если несколько, то первый, если нет клиента или контакта - вернёт null. Какой из них "первый" в общем случае неочевидно, так что "первый" следует трактовать как "случайный".- Throws:
- ru.bitel.bgbilling.common.BGException
 
- 
doHttpRequestpublic static CashCheckUtils.HttpReply doHttpRequest(java.lang.String method, java.lang.String url, java.lang.String body, java.util.Map<java.lang.String,java.lang.String> requestProperties, int timeout, org.apache.logging.log4j.Logger logger) throws ru.bitel.bgbilling.common.BGExceptionhttp-запрос- Parameters:
- method-
- url-
- body- тело или null для гет-запрос например
- requestProperties-
- timeout- таймаут в миллисекундах - и setConnectTimeout и setReadTimeout.
- logger-
- Returns:
- объект HttpReply с кодом и телом
- Throws:
- ru.bitel.bgbilling.common.BGException- если что-то не так
 
- 
getCashierNamepublic static java.lang.String getCashierName(java.sql.Connection con, int userId) throws ru.bitel.bgbilling.common.BGExceptionВозвращает имя юзера-кассира по ид. Сначала пытается взять настройку "cashcheck.name" из конфига юзера (можно перекрыть). Если не найдено, то будет null.- Throws:
- ru.bitel.bgbilling.common.BGException
 
- 
getCashierInnpublic static java.lang.String getCashierInn(java.sql.Connection con, int userId) throws ru.bitel.bgbilling.common.BGExceptionВозвращает ИНН юзера-кассира по ид. Пытается взять настройку "cashcheck.inn" из конфига юзера. Если не найдено, то будет null.- Throws:
- ru.bitel.bgbilling.common.BGException
 
- 
sleepBatchpublic static void sleepBatch() throws java.lang.InterruptedExceptionспит настроенно кол-во времени в задачах последовательных печатей чеков- Throws:
- java.lang.InterruptedException
 
- 
getContractsWithBalancepublic static java.util.List<Contract> getContractsWithBalance(java.sql.Connection con, java.time.LocalDate month) throws ru.bitel.bgbilling.common.BGExceptionвсе договоры имеющие любое движение балансов в месяце указанной даты- Throws:
- ru.bitel.bgbilling.common.BGException
 
 
-