Class PrinterManager

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

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

    • PrinterManager

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

    • getPrinters

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

      Возвращает Мэпинг типов платежей на регистраторы.
      Returns:
      тип_платежа=>PaymentMapping[список номеров_регистраторов(всегда не null), итд].
    • getChMap

      Возвращает Мэпинг типов расходов на регистраторы.
      Returns:
      тип_расхода=>PaymentMapping[список номеров_регистраторов(всегда не null), итд].
    • getPt

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

      public PrinterManager.PaymentMapping getCh(int chargeTypeId)
      возвращает один ChargeMapping для указанного типа расхода, или null если не настроено на этот тип
    • getRegistratorPtMap

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

      public Map<Integer,List<Integer>> getRegistratorChMap()
      Расходы регистраторов. Мэп обратный getChMap().
      Returns:
      мэп: номер_регистратора => [список типов расходов]. Ch выбираются из существующего getChMap().
    • setCurrentRegistrator

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

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

      public static 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()