ru.bitel.bgbilling.plugins.cashcheck.server

## 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 and Description
    --- | ---
    `static class` | `CashCheckUtils.HttpReply`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `CashCheckUtils()`

  - ### Method Summary

    All Methods Static Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and 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)` 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 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 Detail

    - #### CashCheckUtils

          public CashCheckUtils()

  - ### Method Detail

    - #### getPrinter

          public static Printer getPrinter(int kkmNum)
                                    throws ru.bitel.bgbilling.common.BGException

      Из настроек плагина получаем принтер по его номеру в конфиге.
      Parameters:
        `kkmNum` - номер принтера в конфиге плагина.
      Throws:
        `ru.bitel.bgbilling.common.BGException` - если такого не найдено принтера.

    - #### getPrinter

          @Deprecated
          public static Printer getPrinter(java.lang.String address,
                                                       int port)

      Deprecated. address + port это свойство connector=address: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`