Публичное пространство

SetRetail10 ◾️ Техническое описание процесса весового модуля

Транспорт

1. Модуль SET-Scales (ScalesGoodsProcessor) 1 раз в фиксированный промежуток времени запрашивает обновление информации для весов у модуля SET-Products.

Таблицы, в которых хранятся сущности товаров:

  • un_cg_product - справочник товаров.
  • un_cg_product_weight- плагинные свойства весовых товаров.
  • un_cg_price - цены для товаров.
  • un_cg_barcode- штрихкоды.

2. Модуль SET-Products делает выборку всех товаров, для которых необходимо совершить какое-то действие на весах (загрузить, удалить, обновить товар).

  • При изменении цены у товара в поле un_cg_price.sentotscales проставляется флаг false , после отправки в весовой модуль флаг становится true
  • При изменении штрихкода товара у товара в поле un_cg_barcode ъ.sentotscales проставляется флаг false , после отправки в весовой модуль флаг становится true

3. Вся информация приходит в весовой модуль в таблицу scales_productentity и затем в таблицу с PLU scales_plues

4. Далее создаются собственно "линки" (задания) для отправки PLU на весы в таблице scales_linktoplu

Для создания линки используется информация о шаблоне используемых весов (scales_template) и самих весов (scales_scales).

Настройки весового модуля

Описанные выше взаимодействия между модулями осуществляются при помощи таймеров, настройки которых хранятся в файле scales.properties (\SetRetail10\standalone\configuration\modules\scales\). Файл содержит информацию в виде ключ-значение.

Ниже приведены примеры и пояснения ключевых настроек.

Параметр Комментарий
goods.checking.forscales.long.interval.duration

Частота выборки товаров, которые надо отправить в весовой модуль.

"Длинный" интервал используется системой в случае, когда товаров нет или их малое количество

значение по-умолчанию = 180000

goods.checking.forscales.short.interval.duration

Частота выборки товаров, которые надо отправить в весовой модуль.

"Короткий" интервал используется системой в случае, когда товаров много или их список часто обновляется.

значение по-умолчанию = 60000

goods.sending.interval.duration

Периодичность проверки на необходимость исполнения инструкций (реальная отправка команд в реальные весы)

значение по-умолчанию=60000

links.cleaner.interval

Периодичность проверки на необходимость очистки / удаления устаревших PLU и инструкций

значение по-умолчанию = 60000

links.maker.newscales.interval

Периодичность проверки на необходимость запуска техпроцесса обработки события добавления новых весов в систему

значение по-умолчанию = 60000

Описание PLU (scales_plues)

Название поля Комментарий
number Номер PLU
department Номер отдела
departmentName Название отдела
firstLine Наименование товара, 1 строка
secondLine Наименование товара 2-я строка
price Действующая цена  (цена №1)
priceBeginDate Начало действия текущей цены (цена №1)
priceEndDate Конец действия текущей цены (цена №1)
exPrice Цена по карте (цена №2)
exPriceBeginDate Начало действия цены по карте (цена №2)
exPriceEndDate Конец действия цены по карте (цена №2)
expired Срок годности этой PLU в часах или дня, в зависимости от expiredType
expiredType Hours или Days
fullBarCode Полный штрихкод
barCodePrefix Префикс штрихкод
barCodeWithoutPrefix штрихкод без префикса
messageId
messageText
alternativeText1
alternativeText2
alternativeText3
certificationType Тип сертификации
messages подробные сообщения (такие как состав, условия хранения, производитель и т.д.) для PLU. см. примечание

Примечание : Известно, что весы хранят два вида информации: PLU – информация о товаре и Message – подробные сообщения (такие как состав, условия хранения, производитель и т.д.) для PLU.

Существует два возможных сценария:

Сообщения отправляются независимо от PLU

В таком случае:

  • каждый драйвер обязан определить реализацию методов loadMessage(Message message) и clearMessage(int messageId)
  • Объект класса Message содержит ссылку на PLU. Объект класса PLU ничего не знает о сообщениях

Сообщения отправляются вместе с PLU

В таком случае:

  • Нет необходимости в методах loadMessage(Message message) и clearMessage(int messageId). Они будут удалены из Scales и всех наследников
  • Объект класса PLU содержит список сообщений, который отправляется вместе с PLU на весы

Описание заданий загрузки на весы (scales_linktoplu)

Поле Комментарий
actionType Действие, совершаемое с сущностью на весах : 0 - LoadPLU, 1- ClearPLU, 2 - LoadMessage, 3 - ClearMessage
status Статус исполнения команды: 0 - NEW, 1- INPROCESS, 2- LOADED, 3- LOAD_ERROR
exceptionType Тип произошедшей ошибки: 0 - NONE, 1- SUCCESS, 2 - COMMUNICATION, 3- OTHER, 4- LICENSE_VIOLATION
lastErrorCode Тип последней ошибки, разные весы определяют сами значение этого свойства.
lastErrorType Код последней ошибки, разные весы определяют сами значение этого свойства.
errorCount Количество попыток загрузки завершившихся неудачей
timeSending Время отправки данных Товаров на весы
scalesCode Уникальный код весов
plu PLU, для которого \ с которым производится действие

© 1994-2023, ООО «Кристалл Сервис Интеграция».
Все права защищены..

Политика обработки персональных данных