java.lang.Object
ru.bitel.bgbilling.plugins.cashcheck.common.Check
Direct Known Subclasses:
Check

public class Check
extends java.lang.Object
Используется для формирования последовательностей линий чека. Этот же объект передаётся в скрипты формирования вида чека. После этого отсюда получается список строк для непосредственной посылки в сервер печати. Основной код чека, используется во всех фискализаторах.
  • Nested Class Summary

    Nested Classes
    Modifier and Type Class Description
    static class  Check.CheckLine
    Класс "линия чека", либо продажа(позиция), либо просто строка (когда сумма и отдел равны -1) В сервере печати используется так же: Строка чека.
    static class  Check.Type  
  • Field Summary

    Fields
    Modifier and Type Field Description
    protected java.lang.String cashierINN  
    protected java.lang.String cashierName  
    protected Check.Type checkType
    тип чека: приход, возврат прихода, итд сделан чтобы можно было теоретически поменять в скрипте тип с прихода на возврат (например печатать чек возврата прихода на отрицательные платежи) также используется чтобы печатать чек коррекции прихода вместо чека прихода
    protected java.lang.String customerEmail
    Установленный "адрес пользователя" мыло/телефон.
    protected java.util.Map<java.lang.Integer,​java.lang.Object> customTags
    Доп. теги.
    protected java.util.Date documentDate  
    protected java.lang.String documentId  
    protected java.util.List<Check.CheckLine> lines
    список линий чека, заполняем сначала этот список теперь, а не сразу текстовые строки, чтобы иметь возможность гибкого манипулирования позициями, суммами итд
    protected boolean onlyElCheck
    Только электронный чек, на бумаге не печатать
    protected java.math.BigDecimal paymentsum
    считаем сумму, по всем пунктам чека.
    protected int paymentType
    тип оплаты (он один на весь чек, не на каждую позицию)
    protected java.lang.Integer payMethod  
    protected java.lang.Integer payObject  
    protected int tax
    налог, налоговая группа итд. задаётся на весь чек одним числом.
  • Constructor Summary

    Constructors
    Constructor Description
    Check()  
    Check​(Check.Type checkType)  
  • Method Summary

    Modifier and Type Method Description
    void addPayment​(java.math.BigDecimal summa, java.lang.String string, int dep)
    Добавление строки продажи.
    void addPayment​(java.math.BigDecimal summa, java.lang.String string, int dep, java.lang.Integer payMethod, java.lang.Integer payObject)  
    void addPayment​(java.math.BigDecimal summa, java.lang.String string, int dep, java.lang.Integer payMethod, java.lang.Integer payObject, java.lang.Integer tax)
    Добавление строки продажи с указанием специфичных признаков способа и объекта расчёта.
    void addString​(java.lang.String string)
    Добавление строки текста.
    java.lang.String getCashierName()  
    java.lang.String getCheckData()
    получение текстового представления сожержимого чека в том виде котором оно отдаётся на сервер печати
    Check.Type getCheckType()  
    java.lang.String getCustomerEmail()  
    java.util.Date getDocumentDate()
    дата документа, используется в некоторых системах
    java.lang.String getDocumentId()  
    java.util.List<Check.CheckLine> getLines()
    Список линий чека, как платежей, так и каментов.
    java.math.BigDecimal getPaymentsum()  
    int getPaymentType()  
    java.lang.Integer getPayMethod()
    Признак способа расчёта, вообще это атрибут позиции чека, но здесь оно на весь чек задаётся
    java.lang.Integer getPayObject()
    Признак предмета расчёта, вообще это атрибут позиции чека, но здесь оно на весь чек задаётся
    java.util.List<java.lang.String> getPlines()
    Метод возвращающий список строк для передачи его к клиенту посылки на удалённый сервер печати.
    int getTax()  
    void setCashierINN​(java.lang.String cashierINN)  
    void setCashierName​(java.lang.String cashierName)  
    void setCheckType​(Check.Type checkType)  
    void setCustomerEmail​(java.lang.String customerEmail)
    установка "адреса пользователя" - мыло/телефон
    void setDocumentDate​(java.util.Date documentDate)
    дата документа, используется в некоторых системах
    void setDocumentId​(int documentId)  
    void setDocumentId​(java.lang.String documentId)  
    void setLastPaymentTag​(int tag, byte[] value)
    Добавление к предыдущей позиции (addPayment) тега, "привязанного к позиции"
    void setLastPaymentTag​(int tag, long value)
    Добавление к предыдущей позиции (addPayment) тега, "привязанного к позиции" целочисленного
    void setLastPaymentTag​(int tag, java.lang.String value)
    Добавление к предыдущей позиции (addPayment) тега, "привязанного к позиции" строкового
    void setOnlyElCheck​(boolean onlyElCheck)
    Установка признака "только электронный чек, без печати на ленту".
    void setPaymentType​(int paymentType)
    Установка типа оплаты (если используется и протокол позволяет)
    void setPayMethod​(int payMethod)
    Признак способа расчёта, вообще это атрибут позиции чека, но здесь оно на весь чек задаётся
    void setPayObject​(int payObject)
    Признак предмета расчёта, вообще это атрибут позиции чека, но здесь оно на весь чек задаётся
    void setTag​(int tag, byte[] value)
    установка произвольного тега
    void setTag​(int tag, long value)
    установка произвольного целочисленного тега
    void setTag​(int tag, java.lang.String value)
    установка произвольного строкового тега
    void setTax​(int tax)
    Установка налога/налоговой группы (если используется и протокол позволяет)
    static byte[] STLV​(byte[]... tlvs)
    создаёт общую структуру из нескольких переданных TLV-структур
    static byte[] TLV​(int tag, byte[] value)  
    static byte[] TLV​(int tag, long value, int len)  
    static byte[] TLV​(int tag, java.lang.String value, java.lang.String charsetName)  

    Methods inherited from class java.lang.Object

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

    • paymentsum

      protected java.math.BigDecimal paymentsum
      считаем сумму, по всем пунктам чека. В том числе, если clientsumma не передана, мы подставим её туда, будто клиент дал
    • lines

      protected java.util.List<Check.CheckLine> lines
      список линий чека, заполняем сначала этот список теперь, а не сразу текстовые строки, чтобы иметь возможность гибкого манипулирования позициями, суммами итд
    • paymentType

      protected int paymentType
      тип оплаты (он один на весь чек, не на каждую позицию)
    • tax

      protected int tax
      налог, налоговая группа итд. задаётся на весь чек одним числом. хотя например в штрихе задаётся и на продажную позицию и на закрытие чека, также в штрихе можно задать tax1...tax4, но используем только первую
    • customerEmail

      protected java.lang.String customerEmail
      Установленный "адрес пользователя" мыло/телефон.
    • onlyElCheck

      protected boolean onlyElCheck
      Только электронный чек, на бумаге не печатать
    • customTags

      protected java.util.Map<java.lang.Integer,​java.lang.Object> customTags
      Доп. теги. Они могут быть строкой, целым(byte устаревшим), целым(long), массивом байт. В новом виде передаётся каждый тип по-разному.
    • payMethod

      protected java.lang.Integer payMethod
    • payObject

      protected java.lang.Integer payObject
    • checkType

      protected Check.Type checkType
      тип чека: приход, возврат прихода, итд сделан чтобы можно было теоретически поменять в скрипте тип с прихода на возврат (например печатать чек возврата прихода на отрицательные платежи) также используется чтобы печатать чек коррекции прихода вместо чека прихода
    • cashierName

      protected java.lang.String cashierName
    • cashierINN

      protected java.lang.String cashierINN
    • documentDate

      protected java.util.Date documentDate
    • documentId

      protected java.lang.String documentId
  • Constructor Details

    • Check

      public Check​(Check.Type checkType)
    • Check

      public Check()
  • Method Details

    • addString

      public void addString​(java.lang.String string)
      Добавление строки текста.
      Parameters:
      string - строка.
    • addPayment

      public void addPayment​(java.math.BigDecimal summa, java.lang.String string, int dep)
      Добавление строки продажи.
      Parameters:
      summa - сумма.
      string - название позиции (если используется и протокол позволяет).
      dep - "отдел" в ККМ (если используется и протокол позволяет, иначе ставьте 0).
      See Also:
      addPayment(BigDecimal, String, int)
    • addPayment

      public void addPayment​(java.math.BigDecimal summa, java.lang.String string, int dep, java.lang.Integer payMethod, java.lang.Integer payObject)
    • addPayment

      public void addPayment​(java.math.BigDecimal summa, java.lang.String string, int dep, java.lang.Integer payMethod, java.lang.Integer payObject, java.lang.Integer tax)
      Добавление строки продажи с указанием специфичных признаков способа и объекта расчёта.
      Parameters:
      summa - сумма, должна быть не null
      string - название позиции (если используется и протокол позволяет).
      dep - "отдел" в ККМ (если используется и протокол позволяет, иначе ставьте 0).
      payMethod - признак способа расчёта позиции, не задано: null
      payObject - признак предмета расчёта позиции, не задано: null
      tax - налог для позиции, не задано: null
      See Also:
      addPayment(BigDecimal, String, int)
    • setLastPaymentTag

      public void setLastPaymentTag​(int tag, java.lang.String value)
      Добавление к предыдущей позиции (addPayment) тега, "привязанного к позиции" строкового
    • setLastPaymentTag

      public void setLastPaymentTag​(int tag, long value)
      Добавление к предыдущей позиции (addPayment) тега, "привязанного к позиции" целочисленного
    • setLastPaymentTag

      public void setLastPaymentTag​(int tag, byte[] value)
      Добавление к предыдущей позиции (addPayment) тега, "привязанного к позиции"
    • setPaymentType

      public void setPaymentType​(int paymentType)
      Установка типа оплаты (если используется и протокол позволяет)
      Parameters:
      paymentType - тип оплаты (-1 не задан)
    • setTax

      public void setTax​(int tax)
      Установка налога/налоговой группы (если используется и протокол позволяет)
      Parameters:
      tax - налог/налоговая группа (-1 не задан)
    • setOnlyElCheck

      public void setOnlyElCheck​(boolean onlyElCheck)
      Установка признака "только электронный чек, без печати на ленту".
    • getPlines

      public java.util.List<java.lang.String> getPlines()
      Метод возвращающий список строк для передачи его к клиенту посылки на удалённый сервер печати.
      Returns:
      список строк
    • getPaymentsum

      public java.math.BigDecimal getPaymentsum()
    • getLines

      public java.util.List<Check.CheckLine> getLines()
      Список линий чека, как платежей, так и каментов.
      Returns:
      лист объектов
    • getPaymentType

      public int getPaymentType()
    • getTax

      public int getTax()
    • setCustomerEmail

      public void setCustomerEmail​(java.lang.String customerEmail)
      установка "адреса пользователя" - мыло/телефон
    • getCustomerEmail

      public java.lang.String getCustomerEmail()
    • setTag

      public void setTag​(int tag, java.lang.String value)
      установка произвольного строкового тега
    • setTag

      public void setTag​(int tag, long value)
      установка произвольного целочисленного тега
    • setTag

      public void setTag​(int tag, byte[] value)
      установка произвольного тега
    • setPayMethod

      public void setPayMethod​(int payMethod)
      Признак способа расчёта, вообще это атрибут позиции чека, но здесь оно на весь чек задаётся
    • setPayObject

      public void setPayObject​(int payObject)
      Признак предмета расчёта, вообще это атрибут позиции чека, но здесь оно на весь чек задаётся
    • getPayMethod

      public java.lang.Integer getPayMethod()
      Признак способа расчёта, вообще это атрибут позиции чека, но здесь оно на весь чек задаётся
    • getPayObject

      public java.lang.Integer getPayObject()
      Признак предмета расчёта, вообще это атрибут позиции чека, но здесь оно на весь чек задаётся
    • getCheckType

      public Check.Type getCheckType()
      Returns:
      текущий тип чека (теоретически может быть незадан на данный момент).
    • setCheckType

      public void setCheckType​(Check.Type checkType)
      Parameters:
      \u043d\u0430\u0441\u0438\u043b\u044c\u043d\u0430\u044f - установка типа чека.
    • TLV

      public static byte[] TLV​(int tag, java.lang.String value, java.lang.String charsetName)
    • TLV

      public static byte[] TLV​(int tag, long value, int len)
    • TLV

      public static byte[] TLV​(int tag, byte[] value)
    • STLV

      public static byte[] STLV​(byte[]... tlvs)
      создаёт общую структуру из нескольких переданных TLV-структур
    • setCashierName

      public void setCashierName​(java.lang.String cashierName)
      Parameters:
      cashierName - значение кассир (1021) для чеков
    • setCashierINN

      public void setCashierINN​(java.lang.String cashierINN)
      Parameters:
      cashierINN - значение инн кассира (1203) для чеков
    • getCashierName

      public java.lang.String getCashierName()
    • getCheckData

      public java.lang.String getCheckData()
      получение текстового представления сожержимого чека в том виде котором оно отдаётся на сервер печати
    • getDocumentDate

      public java.util.Date getDocumentDate()
      дата документа, используется в некоторых системах
    • setDocumentDate

      public void setDocumentDate​(java.util.Date documentDate)
      дата документа, используется в некоторых системах
    • getDocumentId

      public java.lang.String getDocumentId()
    • setDocumentId

      public void setDocumentId​(int documentId)
    • setDocumentId

      public void setDocumentId​(java.lang.String documentId)