Package ru.nilsoft.tm
Class TMOismHandler
- java.lang.Object
-
- android.os.Handler
-
- ru.nilsoft.tm.TMLibHandler
-
- ru.nilsoft.tm.TMOismHandler
-
public class TMOismHandler extends TMLibHandler
Handler для процедуры проверки маркированного товара.
Рекомендации по использованию:
- использовать в качестве хендлера для активности создания чека.
Доступны следующие функции:
StartCheck(android.content.Context, ru.nilsoft.tm.TMOismHandler.CallBack)
проверка поддержки работы с маркированным товаром;StartValidate(android.content.Context, ru.nilsoft.tm.TMOismHandler.CallBack, byte, ru.nilsoft.tm.TMOismHandler.Item)
проверка маркировки товара и подготовка для включения в чек.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
TMOismHandler.CallBack
Определение интерфейса обратного вызова.static class
TMOismHandler.Item
Описание позиции товара для валидации.static class
TMOismHandler.states
Состояния работы хендлера.
-
Field Summary
Fields Modifier and Type Field Description protected TMOismHandler.CallBack
callBack
Контекст установленный для хендлера.protected long
cmdTimeOut
Таймаут обращения к командам.protected android.content.Context
ctx
Контекст установленный для хендлера.protected static long
DEFAULT_TIME_OUT
Таймаут по умолчанию для команд КФН.protected byte
ffdVersion
Версия ФФД.protected java.lang.String
fnSerial
Серийный номер ФН.protected boolean
isAUTONOM
Зарегистрирован ли ФН для автономной работы.protected boolean
isCancel
Флаг отмены обновления ключей.protected boolean
isExtRegBits
Установлены ли 14,15,16 биты тега 1290 при регистрации.protected boolean
isTMT
Зарегистрирован ли ФН для работы с маркировкой.protected TMOismHandler.Item
oismCurItem
Позиция проходящая валидацию.protected boolean
oismNetFlag
Нужно ли проверять чек в ОИСМ (false - уведомительный режим [M], true - с проверкой онлайн в ОИСМ [M+][M-]).protected int
oismPeriod
Период обмена.protected int
oismPort
Порт соединения.protected int
oismReceiptType
Тип чека.protected int
oismRecvTime
Таймаут ожидания.protected int
oismSendTime
Таймаут отправки.protected java.lang.String
oismServer
Строка соединения.protected short
regTLV
Последний тег для команды получения параметров регистрации.protected int
state
Текущее состояние.
-
Constructor Summary
Constructors Constructor Description TMOismHandler(android.os.Looper looper)
Конструктор (необходимо подставлять в качестве lopper главный цикл приложения).TMOismHandler(android.os.Looper looper, long cmdTimeOut)
Конструктор (необходимо подставлять в качестве lopper главный цикл приложения).
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
Cancel()
Отмена обновления с управляющей стороны.void
DoCmdFNGetStatus()
Получение статуса ФНTMCommand.CmdFNGetStatus()
.void
DoCmdGetRegParam(short tlvID)
Получение параметра регистрации ФНTMCommand.CmdFNGetRegParam(short)
.void
DoCmdKMCheck()
Передать код маркировки для проверки в ФНTMCommand.CmdKMCheck(byte, byte[], byte, byte)
.void
DoCmdKMClean()
Очистка КМTMCommand.CmdKMClean()
.void
DoCmdKMGetStatus()
Запрос статуса КМTMCommand.CmdKMGetStatus()
.void
DoCmdKMNotifCreate()
Создать уведомление КМTMCommand.CmdKMNotifCreate(byte, byte, String, String)
.void
DoCmdKMOISMResp(byte[] resp)
Сохраняем ответ ОИСМ в ФНTMCommand.CmdKMOISMResp(byte[])
.void
DoCmdKMSaveResult()
Фиксируем результат проверкиTMCommand.CmdKMSaveResult(boolean)
.void
DoCmdOFDGetParamExt()
Получение адреса ОИСМTMCommand.CmdOFDGetParamExt(byte)
.byte
GetFFDVersion()
Получение версии ФФД (актуализируется после выполнения процедурыStartCheck(android.content.Context, ru.nilsoft.tm.TMOismHandler.CallBack)
).int
GetState()
Получение состояния.void
handleMessage(android.os.Message msg)
Вставляем обработку команд обновления внутрь обработчика, чтобы было прозрачно для внешней программы.boolean
IsAutonom()
Получение состояния поддержки автономного режима (актуализируется после выполнения процедурыStartCheck(android.content.Context, ru.nilsoft.tm.TMOismHandler.CallBack)
).boolean
isEXTRegBits()
Получение установлены ли 14,15,16 биты тега 1290 при регистрации (актуализируется после выполнения процедурыStartCheck(android.content.Context, ru.nilsoft.tm.TMOismHandler.CallBack)
).boolean
IsTMT()
Получение состояния поддержки TMT (актуализируется после выполнения процедурыStartCheck(android.content.Context, ru.nilsoft.tm.TMOismHandler.CallBack)
).protected void
oismHandlerCancel()
Прервано пользователем.protected void
oismHandlerError(java.lang.String text)
Ошибка выполнения.protected void
oismHandlerError(TMCommand cmd)
Ошибка выполнения команды.void
OismHandlerReset()
Зачистка ресурсов (установка значений по умолчанию).protected void
oismHandlerSuccess()
Прервано пользователем.protected boolean
processCmd(TMCommand cmd)
Обработка команд для обновления.void
StartCheck(android.content.Context ctx, TMOismHandler.CallBack callBack)
Запуск процесса проверки поддержки TMT.void
StartValidate(android.content.Context ctx, TMOismHandler.CallBack callBack, byte receiptType, TMOismHandler.Item item)
Запуск валидации кода маркировки товарной позиции с проверкой в ОИСМ (для совместимости с SDK 3.0.1).void
StartValidate(android.content.Context ctx, TMOismHandler.CallBack callBack, byte receiptType, TMOismHandler.Item item, boolean isCheckInOism)
Запуск валидации кода маркировки товарной позиции.-
Methods inherited from class ru.nilsoft.tm.TMLibHandler
onActive, onError, onPrint, onReady, onRespCmd, onRespData, onTimeOut, onVersion
-
Methods inherited from class android.os.Handler
createAsync, createAsync, dispatchMessage, dump, getLooper, getMessageName, hasCallbacks, hasMessages, hasMessages, obtainMessage, obtainMessage, obtainMessage, obtainMessage, obtainMessage, post, postAtFrontOfQueue, postAtTime, postAtTime, postDelayed, postDelayed, removeCallbacks, removeCallbacks, removeCallbacksAndMessages, removeMessages, removeMessages, sendEmptyMessage, sendEmptyMessageAtTime, sendEmptyMessageDelayed, sendMessage, sendMessageAtFrontOfQueue, sendMessageAtTime, sendMessageDelayed, toString
-
-
-
-
Field Detail
-
DEFAULT_TIME_OUT
protected static final long DEFAULT_TIME_OUT
Таймаут по умолчанию для команд КФН.- See Also:
- Constant Field Values
-
ctx
protected android.content.Context ctx
Контекст установленный для хендлера.
-
callBack
protected TMOismHandler.CallBack callBack
Контекст установленный для хендлера.
-
state
protected int state
Текущее состояние.
-
isCancel
protected boolean isCancel
Флаг отмены обновления ключей.
-
regTLV
protected short regTLV
Последний тег для команды получения параметров регистрации.
-
isTMT
protected boolean isTMT
Зарегистрирован ли ФН для работы с маркировкой.
-
isExtRegBits
protected boolean isExtRegBits
Установлены ли 14,15,16 биты тега 1290 при регистрации.
-
isAUTONOM
protected boolean isAUTONOM
Зарегистрирован ли ФН для автономной работы.
-
ffdVersion
protected byte ffdVersion
Версия ФФД.
-
fnSerial
protected java.lang.String fnSerial
Серийный номер ФН.
-
oismServer
protected java.lang.String oismServer
Строка соединения.
-
oismPort
protected int oismPort
Порт соединения.
-
oismPeriod
protected int oismPeriod
Период обмена.
-
oismRecvTime
protected int oismRecvTime
Таймаут ожидания.
-
oismSendTime
protected int oismSendTime
Таймаут отправки.
-
oismCurItem
protected TMOismHandler.Item oismCurItem
Позиция проходящая валидацию.
-
oismReceiptType
protected int oismReceiptType
Тип чека.
-
oismNetFlag
protected boolean oismNetFlag
Нужно ли проверять чек в ОИСМ (false - уведомительный режим [M], true - с проверкой онлайн в ОИСМ [M+][M-]).
-
cmdTimeOut
protected long cmdTimeOut
Таймаут обращения к командам.
-
-
Constructor Detail
-
TMOismHandler
public TMOismHandler(android.os.Looper looper)
Конструктор (необходимо подставлять в качестве lopper главный цикл приложения). Внимание: У Handler конструктор по умолчанию deprecated.- Parameters:
looper
- главный цикл для приема сообщений.
-
TMOismHandler
public TMOismHandler(android.os.Looper looper, long cmdTimeOut)
Конструктор (необходимо подставлять в качестве lopper главный цикл приложения). Внимание: У Handler конструктор по умолчанию deprecated.- Parameters:
looper
- главный цикл для приема сообщений.cmdTimeOut
- таймаут команд к КФН.
-
-
Method Detail
-
Cancel
public void Cancel()
Отмена обновления с управляющей стороны.
-
IsTMT
public boolean IsTMT()
Получение состояния поддержки TMT (актуализируется после выполнения процедурыStartCheck(android.content.Context, ru.nilsoft.tm.TMOismHandler.CallBack)
).- Returns:
- false: не поддерживает, true: поддерживает.
-
IsAutonom
public boolean IsAutonom()
Получение состояния поддержки автономного режима (актуализируется после выполнения процедурыStartCheck(android.content.Context, ru.nilsoft.tm.TMOismHandler.CallBack)
).- Returns:
- false: не поддерживает, true: поддерживает.
-
isEXTRegBits
public boolean isEXTRegBits()
Получение установлены ли 14,15,16 биты тега 1290 при регистрации (актуализируется после выполнения процедурыStartCheck(android.content.Context, ru.nilsoft.tm.TMOismHandler.CallBack)
).- Returns:
- false: не установлены, true: установлены.
-
GetFFDVersion
public byte GetFFDVersion()
Получение версии ФФД (актуализируется после выполнения процедурыStartCheck(android.content.Context, ru.nilsoft.tm.TMOismHandler.CallBack)
).- Returns:
TMCommand.proto_ffd
.
-
GetState
public int GetState()
Получение состояния.- Returns:
- текущее состояние
TMOismHandler.states
.
-
StartCheck
public void StartCheck(android.content.Context ctx, TMOismHandler.CallBack callBack)
Запуск процесса проверки поддержки TMT.- Parameters:
ctx
- контекст (необязателен может быть null).callBack
- возвратная функция.
-
StartValidate
public void StartValidate(android.content.Context ctx, TMOismHandler.CallBack callBack, byte receiptType, TMOismHandler.Item item)
Запуск валидации кода маркировки товарной позиции с проверкой в ОИСМ (для совместимости с SDK 3.0.1).- Parameters:
ctx
- контекст (необязателен может быть null).callBack
- возвратная функция.receiptType
- тип чекаTMCommand.receipt_types
.item
- описание позиции.
-
StartValidate
public void StartValidate(android.content.Context ctx, TMOismHandler.CallBack callBack, byte receiptType, TMOismHandler.Item item, boolean isCheckInOism)
Запуск валидации кода маркировки товарной позиции.- Parameters:
ctx
- контекст (необязателен может быть null).callBack
- возвратная функция.receiptType
- тип чекаTMCommand.receipt_types
.item
- описание позиции.isCheckInOism
- нужно ли проверять чек в ОИСМ (false - уведомительный режим [M], true - с проверкой онлайн в ОИСМ [M+][M-]).
-
oismHandlerError
protected void oismHandlerError(TMCommand cmd)
Ошибка выполнения команды.- Parameters:
cmd
- ответ на команду.
-
oismHandlerError
protected void oismHandlerError(java.lang.String text)
Ошибка выполнения.- Parameters:
text
- текст ошибки.
-
oismHandlerCancel
protected void oismHandlerCancel()
Прервано пользователем.
-
oismHandlerSuccess
protected void oismHandlerSuccess()
Прервано пользователем.
-
OismHandlerReset
public void OismHandlerReset()
Зачистка ресурсов (установка значений по умолчанию).
-
DoCmdGetRegParam
public void DoCmdGetRegParam(short tlvID)
Получение параметра регистрации ФНTMCommand.CmdFNGetRegParam(short)
.- Parameters:
tlvID
- тег параметра регистрации.
-
DoCmdFNGetStatus
public void DoCmdFNGetStatus()
Получение статуса ФНTMCommand.CmdFNGetStatus()
.
-
DoCmdOFDGetParamExt
public void DoCmdOFDGetParamExt()
Получение адреса ОИСМTMCommand.CmdOFDGetParamExt(byte)
.
-
DoCmdKMClean
public void DoCmdKMClean()
Очистка КМTMCommand.CmdKMClean()
.
-
DoCmdKMGetStatus
public void DoCmdKMGetStatus()
Запрос статуса КМTMCommand.CmdKMGetStatus()
.
-
DoCmdKMCheck
public void DoCmdKMCheck()
Передать код маркировки для проверки в ФНTMCommand.CmdKMCheck(byte, byte[], byte, byte)
.
-
DoCmdKMNotifCreate
public void DoCmdKMNotifCreate()
Создать уведомление КМTMCommand.CmdKMNotifCreate(byte, byte, String, String)
.
-
DoCmdKMOISMResp
public void DoCmdKMOISMResp(byte[] resp)
Сохраняем ответ ОИСМ в ФНTMCommand.CmdKMOISMResp(byte[])
.- Parameters:
resp
- данные ответа из ОИСМ.
-
DoCmdKMSaveResult
public void DoCmdKMSaveResult()
Фиксируем результат проверкиTMCommand.CmdKMSaveResult(boolean)
.
-
processCmd
protected boolean processCmd(TMCommand cmd)
Обработка команд для обновления.- Parameters:
cmd
- ответ на команду.- Returns:
- true: команда обработана, false: команда не обработана.
-
handleMessage
public void handleMessage(android.os.Message msg)
Вставляем обработку команд обновления внутрь обработчика, чтобы было прозрачно для внешней программы.- Overrides:
handleMessage
in classTMLibHandler
- Parameters:
msg
- сообщение отTMLib
.
-
-