Class PrinterManager

java.lang.Object
ru.bitel.bgbilling.plugins.cashcheck.server.bean.PrinterManager

public class PrinterManager
extends java.lang.Object
Класс, предоставляющий доступ к информации о принтерах (из конфига), парсящий её, управляющий авторизацией и логинами на принтер и т.д.
  • Nested Class Summary

    Nested Classes
    Modifier and Type Class Description
    static class  PrinterManager.PaymentMapping  
    static class  PrinterManager.PaymentPrintMode  
  • Constructor Summary

    Constructors
    Constructor Description
    PrinterManager​(ru.bitel.bgbilling.kernel.plugin.server.BGPluginServer plugin)  
  • Method Summary

    Modifier and Type Method Description
    static int getCurrentRegistratorId()
    Номер залогиненного регистратора.
    static java.lang.String getCurrentRegistratorPassword()
    Текущий пароль залогиненного юзера в регистратор.
    Printer getPrinter()
    Возвращает текущий выбранный принтер.
    Printer getPrinter​(int kkmNum)
    Возвращает указанный по номеру принтер.
    java.util.Collection<Printer> getPrinters()
    Список всех настроенных принтеров в конфиге.
    PrinterManager.PaymentMapping getPt​(int paymentTypeId)
    возвращает один PaymentMapping для указанного типа платежа, или null если не настроено на этот тип
    java.util.Map<java.lang.Integer,​PrinterManager.PaymentMapping> getPtMap()
    Возвращает Мэпинг типов платежей на регистраторы.
    java.util.Map<java.lang.Integer,​java.util.List<java.lang.Integer>> getRegistratorPtMap()
    Платежи регистраторов.
    static void resetCache()  
    static void setCurrentRegistrator​(int registratorId, java.lang.String password)
    Запись в сессию ИД регистратора, на котором пользователь залогинен.

    Methods inherited from class java.lang.Object

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

    • PrinterManager

      public PrinterManager​(ru.bitel.bgbilling.kernel.plugin.server.BGPluginServer plugin)
  • Method Details

    • getPrinters

      public java.util.Collection<Printer> getPrinters()
      Список всех настроенных принтеров в конфиге.
      Returns:
      коллекшен принтеров.
    • getPtMap

      public java.util.Map<java.lang.Integer,​PrinterManager.PaymentMapping> getPtMap()
      Возвращает Мэпинг типов платежей на регистраторы.
      Returns:
      тип_платежа=>PaymentMapping[список номеров_регистраторов(всегда не null), итд].
    • getPt

      public PrinterManager.PaymentMapping getPt​(int paymentTypeId)
      возвращает один PaymentMapping для указанного типа платежа, или null если не настроено на этот тип
    • getRegistratorPtMap

      public java.util.Map<java.lang.Integer,​java.util.List<java.lang.Integer>> getRegistratorPtMap()
      Платежи регистраторов. Мэп обратный getPtMap(). Показываются привязки со ВСЕМИ режимами печати.
      Returns:
      мэп: номер_регистратора => [список типов платежей]. Pt выбираются из существующего getPtMap().
    • setCurrentRegistrator

      public static void setCurrentRegistrator​(int registratorId, java.lang.String password)
      Запись в сессию ИД регистратора, на котором пользователь залогинен. И пароля пользователя. Передаём 0 - это значит мы разлогиниваемся.
      Parameters:
      registratorId - номер регистратора в системе.
      password - пароль введённый.
    • getCurrentRegistratorId

      public static int getCurrentRegistratorId()
      Номер залогиненного регистратора.
      Returns:
      номер регистратора, или 0 если не выбран регистратор.
    • getCurrentRegistratorPassword

      public static java.lang.String getCurrentRegistratorPassword()
      Текущий пароль залогиненного юзера в регистратор. Используется при отправке команды на удалённый сервер печати.
      Returns:
      строка-пароль
    • getPrinter

      public Printer getPrinter() throws BGPrinterNotloggedMessageException, ru.bitel.bgbilling.common.BGException
      Возвращает текущий выбранный принтер. Если не выбран текущий - бросается экзепшен с ошибкой. Не настроен - тоже. Используется в экшенах с действиями к принтеру, в остальных (запрос очереди итд) может использоваться getCurrentRegistratorId() отдельно. Внимание - это просто объект из мэпа настроек, никакого коннекта если не найден принтер - не происходит.
      Returns:
      экземпляр объекта "текущий принтер на который вошли", всегда не null. при любом казусе (незалогинен, ненастроен) бросается экзепшен. Возвращается клон принтера, а не оригинал из мапа. Чтобы можно было переопределять дальше его, перетирать внутри, а мап не ломался от этого.
      Throws:
      BGPrinterNotloggedMessageException - незалогинен, по нему можно отличить необходимость войти
      ru.bitel.bgbilling.common.BGException - остальные ошибки, например, ненастроеный принтер.
    • getPrinter

      public Printer getPrinter​(int kkmNum) throws ru.bitel.bgbilling.common.BGException
      Возвращает указанный по номеру принтер. Возвращается клон принтера, а не оригинал из мапа. Чтобы можно было переопределять дальше его, перетирать внутри, а мап не ломался от этого.
      Throws:
      ru.bitel.bgbilling.common.BGException
    • resetCache

      public static void resetCache()