Распознавание
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. |br| raw:: html
Структура
----------------------------------------------------------------------------------------------------------------------------
.. code:: Kotlin
data class PredictionJsonData(
val sessionId: String? = null, //Идентификатор сессии
val error: String? = null, //Ошибка
val items: List = listOf(), //Распознанные элементы
val weight:Double? = null, //Вес в момент распознавания
val tare: Double? = null //Тара в момент распознавания
)
data class PredictionJsonItemData(
val itemCode: Int? = null, //Код товара из устройства распознавания
val product: Product? = null, //Данные товара из БД, соответствующие коду выше
val accuracyPercent: Double? = null, //Процент уверенности в правильности распознавания
)
data class Product(
val id: Int, //ID товара
val code: Int = 0, //Код товара
val pluNumber: Int?, //ПЛУ товара
val name: String, //Название
val price: Double, //Цена
val labelTemplate: Int?, //Приоритетный шаблон этикетки
val barcodeStructure: String?, //Приоритетная структура стрихкода
val shelfLifeInDays: Int?, //Срок годности в днях
val tare: Double?, //Тара
val pieceWeight: Double?, //Вес 1 штуки
val manufactureDate: String?, //Дата производства. Формат "DD-MM-YY"
val information: String?, //не используется
val type: Int?, //не используется
val barcodePrefixType: String?, //Приоритетный тип префикса штрихкода. NUMBER_SCALES - номер весов, GROUP_CODE - ID категории, PRODUCT_TYPE - тип продукта
val rostestCode: String?, //Код РОСТЕСТа
val sellByDate: String?, //Дата срока годности. Формат "DD-MM-YY"
val category: Int?, //ID категории
val productType: String, //Тип продукта. WEIGHT - весовой, PIECE - штучный
val deleted: Boolean, //Признак удалёного элемента
val message: Int?, //ID сообщения
val imageNumbers: Int?, //не используется
val minWeight: Double?, //Минимальный вес для печати этикетки
val maxWeight: Double?, //Максимальный вес для печати этикетки
val staticBarcodeType: Int?, //Тип статического штрихкода
val staticBarcodeValue: String?, //Значение статического штрихкода
val discountPrice: Double?, //Цена со скидкой
val labelDiscountTemplate: Int?, //Приоритетный шаблон этикетки, если указана цена со скидкой
val wrappingType: Int?, //Тип упаковки для ленты Мёбиуса
)
Пример
----------------------------------------------------------------------------------------------------------------------------
.. code:: JSON
{
"sessionId": "20230331214519469020000",
"tare": 0,
"weight": 0.336,
"items": [
{
"accuracyPercent": 0.72,
"itemCode": 2
},
{
"accuracyPercent": 0.14,
"itemCode": 6
},
{
"accuracyPercent": 0.12,
"itemCode": 4,
"product": {
"barcodeStructure": "NNNNNNNQQQQQC",
"code": 4,
"deleted": false,
"discountPrice": 678.99,
"id": 24007,
"labelTemplate": 11,
"message": 70709,
"name": "Мясо свежее ГОВЯДИНА УЗБЕКИСТАН",
"pieceWeight": 0,
"pluNumber": 70709,
"price": 678.99,
"productType": "WEIGHT",
"shelfLifeInDays": 36,
"staticBarcodeType": 8,
"tare": 0
}
},
]
}