Interface CashcheckService


public interface CashcheckService
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    bindPrinter(int registratorId, String password)
    Привязка принтера к пользователю.
    void
    Гудок.
    void
    Аннулирование чека.
    void
    checkManualPrint(int checkMode, int paymentType)
    Предварительная (перед printCheck, returnCheckCharge) проверка возможности напечатать чек указанного типа, плюс так же как те методы кидает BGPrinterNotloggedMessageException и можно сразу рисовать логин.
    Полуотладочная фишка - закрывает чек на зависшем принтере, да, увы бывает такое, надо признать.
    void
    Продолжение печати (например после отсутствия бумаги итд итп)
    void
    Отчёт по сменам.
    название текущего принтера в человеческом виде, либо надпись типа "не залогинен" итд
    Статус устройства.
    void
    helloPrinter(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!)
    void
    Открытие смены.
    Все маппинги когда-либо используемые в логах, для фильтра, например.
    printCheck(List<Integer> paymentIds, BigDecimal clientsumma)
    Печать чека.
    Метод аналогичный printCheck но запускается только из очереди.
    Будет ВЗЯТО СТАРОЕ СОДЕРЖИМОЕ и отправлено на перепечать несколько чеков, напечатанных с ошибками.
    Будут ЗАНОВО ПРОГНАНЫ ЧЕРЕЗ ДИН.КОД и отправлены на перепечать несколько чеков, напечатанных с ошибками Возьмётся только id платежа и выполнится вся процедура печати сначала для каждого платежа/чека.
    void
     
    queueTable(Period period, Page page, int printerId, int checkType)
    Список очереди нераспечатанных (и платежей и возвратов).
    Возвращает список регистраторов. доп.атрибут registratorId.
    void
    Повтор последнего документа
    returnCheckCharge(int chargeId)
    Возврат продажи, привязанный к создаваему расходу, по аналогии с обычным чеком на приход.
    void
    runAdvancePayments(LocalDate month, List<Integer> contractsIds)
    Запуск задачи зачётов авансов вручную
    Выполнение любой бинарной команды.
    void
     
    void
     
  • 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.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

      String closeCheckFix(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

      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

      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, 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(List<Integer> paymentIds, 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(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

      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.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(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.BGException
      BGPrinterNotloggedMessageException
      ru.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.BGMessageException
      ru.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.BGMessageException
      ru.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.BGMessageException
      ru.bitel.bgbilling.common.BGException
    • posMappingList

      List<String> posMappingList() throws ru.bitel.bgbilling.common.BGException
      Все маппинги когда-либо используемые в логах, для фильтра, например.
      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.BGMessageException
      ru.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:
      BGPrinterNotloggedMessageException
      ru.bitel.bgbilling.common.BGMessageException
      ru.bitel.bgbilling.common.BGException