Class CashCheckUtils

java.lang.Object
ru.bitel.bgbilling.plugins.cashcheck.server.CashCheckUtils

public class CashCheckUtils
extends java.lang.Object
Всякие методы-хелперы, которые можно использовать в скриптах для автоматизации печати чеков итд.
  • Nested Class Summary

    Nested Classes 
    Modifier and Type Class Description
    static class  CashCheckUtils.HttpReply  
  • Constructor Summary

    Constructors 
    Constructor Description
    CashCheckUtils()  
  • Method Summary

    Modifier and Type Method Description
    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.log4j.Logger logger)
    http-запрос
    static java.util.List<java.lang.Integer> getAllPaytypes​(java.lang.Integer registratorId)
    Все замапленные типы платежей.
    static java.lang.String getCashierName​(java.sql.Connection con, int userId)
    Возвращает имя юзера-кассира по ид.
    static java.lang.String getEmailParam​(java.sql.Connection con, int cid, int pid)
    Возвращает значение email или телефона по cid и pid Поддерживает и mail-параметр и phone-параметр (если несколько мыл/телефонов, то вернётся первый) и текстовый параметр.
    static Printer getPrinter​(int kkmNum)
    Из настроек плагина получаем принтер по его номеру в конфиге.
    static Printer getPrinter​(java.lang.String address, int port)
    Конструкция принтера по адресу и порту.
    static java.util.List<Payment> getQueue​(java.sql.Connection con, java.util.Date fromDate, java.util.Date toDate, java.lang.Integer registratorId)
    Получение очереди платежей.
    static void openDay​(Printer printer, int kkmPass)
    Печатает отчёт об открытии дня, как это делает серверная часть плагина.
    static void printCheck​(Check check, Printer printer, int kkmPass, java.sql.Connection con, int paymentId)  
    static void printCheck​(Check check, Printer printer, int kkmPass, java.sql.Connection con, int paymentId, java.lang.String posMapping, int contractId)
    Deprecated.
    добавить в конец параметров: ,null удалить в 8.1+
    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)
    Печатает чек с указанными настройками, как это делает серверная часть плагина.
    static void printCheckCharge​(Check check, Printer printer, int kkmPass, java.sql.Connection con, int chargeId)
    в коде не используется, автоплатежей расходов нету, можно в данный момент использовать в скриптах
    static void printCheckCharge​(Check check, Printer printer, int kkmPass, java.sql.Connection con, int chargeId, java.lang.String posMapping, int contractId)
    Печатает чек возврата с указанными настройками, как это делает серверная часть плагина.
    static void printCheckVirtual​(Check check, Printer printer, java.sql.Connection con, int paymentId, java.lang.String posMapping, int contractId)
    Виртуально печатает чек с указанными настройками.
    static void runCheckMakerAddPayment​(PrinterManager.PaymentPrintMode printMode, Setup setup, java.sql.Connection con, java.sql.Connection conSlave, Payment payment, Check check, Printer printer)  
    static void runCheckMakeraddPaymentAuto​(Setup setup, java.sql.Connection con, java.sql.Connection conSlave, Payment payment, Check check, Printer printer)
    Формирование чека через прописанный в плагине динкод, т.е. вызов метода CheckMaker.addPaymentAuto.
    static void runCheckMakeraddPaymentAutoDelay​(Setup setup, java.sql.Connection con, java.sql.Connection conSlave, Payment payment, Check check, Printer printer)  
    static void sendMailsAutoprint​(java.lang.String keysuffix, java.lang.String subject, java.lang.String body)
    Отправка сообщения на аларм.
    static void sleepBatch()
    спит настроенно кол-во времени в задачах последовательных печатей чеков
    static void ZReport​(Printer printer, int kkmPass)
    Печатает z-отчёт, как это делает серверная часть плагина.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

  • Method Details

    • getPrinter

      public static Printer getPrinter​(int kkmNum) throws ru.bitel.bgbilling.common.BGException
      Из настроек плагина получаем принтер по его номеру в конфиге.
      Parameters:
      kkmNum - номер принтера в конфиге плагина.
      Throws:
      ru.bitel.bgbilling.common.BGException - если такого не найдено принтера.
    • getPrinter

      public static Printer getPrinter​(java.lang.String address, int port)
      Конструкция принтера по адресу и порту.
    • printCheck

      public 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.BGException
      Deprecated.
      добавить в конец параметров: ,null удалить в 8.1+
      Throws:
      ru.bitel.bgbilling.common.BGException
    • printCheck

      public 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
    • printCheckVirtual

      public 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
    • printCheckCharge

      public 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
    • printCheckCharge

      public 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
    • ZReport

      public static void ZReport​(Printer printer, int kkmPass) throws ru.bitel.bgbilling.common.BGException
      Печатает z-отчёт, как это делает серверная часть плагина. Если была ошибка - то выходит с BGException.
      Throws:
      ru.bitel.bgbilling.common.BGException
    • openDay

      public static void openDay​(Printer printer, int kkmPass) throws ru.bitel.bgbilling.common.BGException
      Печатает отчёт об открытии дня, как это делает серверная часть плагина. Если была ошибка - то выходит с BGException.
      Throws:
      ru.bitel.bgbilling.common.BGException
    • sendMailsAutoprint

      public static void sendMailsAutoprint​(java.lang.String keysuffix, java.lang.String subject, java.lang.String body)
      Отправка сообщения на аларм.
    • runCheckMakeraddPaymentAuto

      public 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 ошибку вернул.
    • runCheckMakeraddPaymentAutoDelay

      public 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
    • runCheckMakerAddPayment

      public 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
    • getQueue

      public 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
    • getAllPaytypes

      public static java.util.List<java.lang.Integer> getAllPaytypes​(java.lang.Integer registratorId)
      Все замапленные типы платежей.
      Parameters:
      registratorId - фильтр по номеру ккт, если null то все типы
      Returns:
      список ид типов платежей, не null
    • getEmailParam

      public 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
    • doHttpRequest

      public 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.log4j.Logger logger) throws ru.bitel.bgbilling.common.BGException
      http-запрос
      Parameters:
      method -
      url -
      body - тело или null для гет-запрос например
      requestProperties -
      timeout - таймаут в миллисекундах - и setConnectTimeout и setReadTimeout.
      logger -
      Returns:
      объект HttpReply с кодом и телом
      Throws:
      ru.bitel.bgbilling.common.BGException - если что-то не так
    • getCashierName

      public 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
    • sleepBatch

      public static void sleepBatch() throws java.lang.InterruptedException
      спит настроенно кол-во времени в задачах последовательных печатей чеков
      Throws:
      java.lang.InterruptedException