Interface CashcheckService


public interface CashcheckService
  • Method Summary

    Modifier and Type Method Description
    void bindPrinter​(int registratorId, java.lang.String password)
    Привязка принтера к пользователю.
    void buzzer()
    Гудок.
    void cancelCheck()
    Аннулирование чека.
    java.lang.String closeCheckFix​(java.math.BigDecimal summa)
    Полуотладочная фишка - закрывает чек на зависшем принтере, да, увы бывает такое, надо признать.
    void continuePrint()
    Продолжение печати (например после отсутствия бумаги итд итп)
    void divReport()
    Отчёт по сменам.
    java.lang.String getCurrentPrinter()
    название текущего принтера в человеческом виде, либо надпись типа "не залогинен" итд
    java.lang.String getRegistratorStatus()
    Статус устройства.
    void helloPrinter​(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!)
    void openDay()
    Открытие смены.
    java.util.List<java.lang.String> posMappingList()
    Все маппинги когда-либо используемые в логах, для фильтра, например.
    PrintCheckData printCheck​(java.util.List<java.lang.Integer> paymentIds, java.math.BigDecimal clientsumma)
    Печать чека.
    java.lang.String printCheckBatchAuto​(java.util.List<java.lang.Integer> paymentIds)
    Метод аналогичный printCheck но запускается только из очереди.
    java.lang.String printCheckErrorAsIs​(java.util.List<java.lang.Integer> logIds)
    Будет ВЗЯТО СТАРОЕ СОДЕРЖИМОЕ и отправлено на перепечать несколько чеков, напечатанных с ошибками.
    java.lang.String printCheckErrorDyncode​(java.util.List<java.lang.Integer> logIds)
    Будут ЗАНОВО ПРОГНАНЫ ЧЕРЕЗ ДИН.КОД и отправлены на перепечать несколько чеков, напечатанных с ошибками Возьмётся только id платежа и выполнится вся процедура печати сначала для каждого платежа/чека.
    void printText​(java.lang.String text)  
    Result<Payment> queueTable​(Period period, Page page, int printerId, int checkType)
    Список очереди нераспечатанных (и платежей и возвратов).
    Result<IdTitle> registratorList()
    Возвращает список регистраторов. доп.атрибут registratorId.
    void repeatCheck()
    Повтор последнего документа
    PrintCheckData returnCheckCharge​(int chargeId)
    Возврат продажи, привязанный к создаваему расходу, по аналогии с обычным чеком на приход.
    void runAdvancePayments​(java.time.LocalDate month, java.util.List<java.lang.Integer> contractsIds)
    Запуск задачи зачётов авансов вручную
    java.lang.String sendPureCommand​(java.lang.String hexdump)
    Выполнение любой бинарной команды.
    void XReport()  
    void ZReport()  
  • 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.BGException
      BGPrinterNotloggedMessageException
      ru.bitel.bgbilling.common.BGMessageException
    • buzzer

      void buzzer() throws BGPrinterNotloggedMessageException, ru.bitel.bgbilling.common.BGMessageException, ru.bitel.bgbilling.common.BGException
      Гудок.
      Throws:
      ru.bitel.bgbilling.common.BGException
      BGPrinterNotloggedMessageException
      ru.bitel.bgbilling.common.BGMessageException
    • cancelCheck

      void cancelCheck() throws BGPrinterNotloggedMessageException, ru.bitel.bgbilling.common.BGMessageException, ru.bitel.bgbilling.common.BGException
      Аннулирование чека.
      Throws:
      BGPrinterNotloggedMessageException
      ru.bitel.bgbilling.common.BGMessageException
      ru.bitel.bgbilling.common.BGException
    • openDay

      void openDay() throws BGPrinterNotloggedMessageException, ru.bitel.bgbilling.common.BGMessageException, ru.bitel.bgbilling.common.BGException
      Открытие смены.
      Throws:
      BGPrinterNotloggedMessageException
      ru.bitel.bgbilling.common.BGMessageException
      ru.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:
      BGPrinterNotloggedMessageException
      ru.bitel.bgbilling.common.BGMessageException
      ru.bitel.bgbilling.common.BGException
    • continuePrint

      void continuePrint() throws BGPrinterNotloggedMessageException, ru.bitel.bgbilling.common.BGMessageException, ru.bitel.bgbilling.common.BGException
      Продолжение печати (например после отсутствия бумаги итд итп)
      Throws:
      BGPrinterNotloggedMessageException
      ru.bitel.bgbilling.common.BGMessageException
      ru.bitel.bgbilling.common.BGException
    • divReport

      void divReport() throws BGPrinterNotloggedMessageException, ru.bitel.bgbilling.common.BGMessageException, ru.bitel.bgbilling.common.BGException
      Отчёт по сменам. Нефискальный.
      Throws:
      BGPrinterNotloggedMessageException
      ru.bitel.bgbilling.common.BGMessageException
      ru.bitel.bgbilling.common.BGException
    • getCurrentPrinter

      java.lang.String getCurrentPrinter() throws BGPrinterNotloggedMessageException, ru.bitel.bgbilling.common.BGMessageException, ru.bitel.bgbilling.common.BGException
      название текущего принтера в человеческом виде, либо надпись типа "не залогинен" итд
      Throws:
      BGPrinterNotloggedMessageException
      ru.bitel.bgbilling.common.BGMessageException
      ru.bitel.bgbilling.common.BGException
    • getRegistratorStatus

      java.lang.String getRegistratorStatus() throws BGPrinterNotloggedMessageException, ru.bitel.bgbilling.common.BGMessageException, ru.bitel.bgbilling.common.BGException
      Статус устройства.
      Returns:
      строка статуса разбитая по линиям итд.
      Throws:
      BGPrinterNotloggedMessageException
      ru.bitel.bgbilling.common.BGMessageException
      ru.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.BGException
      BGPrinterNotloggedMessageException
      ru.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:
      BGPrinterNotloggedMessageException
      ru.bitel.bgbilling.common.BGMessageException
      ru.bitel.bgbilling.common.BGException
    • printText

      void printText​(java.lang.String text) throws BGPrinterNotloggedMessageException, ru.bitel.bgbilling.common.BGMessageException, ru.bitel.bgbilling.common.BGException
      Throws:
      BGPrinterNotloggedMessageException
      ru.bitel.bgbilling.common.BGMessageException
      ru.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.BGException
      BGPrinterNotloggedMessageException
      ru.bitel.bgbilling.common.BGMessageException
    • registratorList

      Result<IdTitle> registratorList() throws BGPrinterNotloggedMessageException, ru.bitel.bgbilling.common.BGMessageException, ru.bitel.bgbilling.common.BGException
      Возвращает список регистраторов. доп.атрибут registratorId. Возвращаются только не-hidden устройства.
      Throws:
      BGPrinterNotloggedMessageException
      ru.bitel.bgbilling.common.BGMessageException
      ru.bitel.bgbilling.common.BGException
    • repeatCheck

      void repeatCheck() throws BGPrinterNotloggedMessageException, ru.bitel.bgbilling.common.BGMessageException, ru.bitel.bgbilling.common.BGException
      Повтор последнего документа
      Throws:
      BGPrinterNotloggedMessageException
      ru.bitel.bgbilling.common.BGMessageException
      ru.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:
      BGPrinterNotloggedMessageException
      ru.bitel.bgbilling.common.BGMessageException
      ru.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.BGException
      BGPrinterNotloggedMessageException
      ru.bitel.bgbilling.common.BGMessageException
    • XReport

      void XReport() throws BGPrinterNotloggedMessageException, ru.bitel.bgbilling.common.BGMessageException, ru.bitel.bgbilling.common.BGException
      Throws:
      BGPrinterNotloggedMessageException
      ru.bitel.bgbilling.common.BGMessageException
      ru.bitel.bgbilling.common.BGException
    • ZReport

      void ZReport() throws BGPrinterNotloggedMessageException, ru.bitel.bgbilling.common.BGMessageException, ru.bitel.bgbilling.common.BGException
      Throws:
      BGPrinterNotloggedMessageException
      ru.bitel.bgbilling.common.BGMessageException
      ru.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.BGException
      BGPrinterNotloggedMessageException
      ru.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.BGMessageException
      ru.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.BGMessageException
      ru.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.BGMessageException
      ru.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.BGMessageException
      ru.bitel.bgbilling.common.BGException