Дерево страниц
Перейти к концу метаданных
Переход к началу метаданных

Печать ценников в Супермаг Мобайл 3 .


PostgreSQL
Информация об артикулах: название, штрихкод, цена и т.д.Служба печати: периодически просматривает файлы заданий печати. Формирует обращение к FastReportFastReport
Формирует PDF файл с использованием заданного frx файла и источника данных.




Node.js
Выполняет запросы к БД PostgreSQL. Результаты запроса (данные для ценника) сохраняются в текстовый файл в формате JSON. Клиенту возвращает ответ с идентификатором задания на создание ценника.
По запросу идентификатора задания возвращает URL файлов ценников или ошибку или ожидание.



Файловая система.
Сюда Node.js выкладывает файлы с параметрами и данными для ценников. Служба печати выкладывает завершенный PDF файл с ценниками.


ТСД – сканирует штрихкод, определяет артикул, который требует печати ценника.
Выполняет API запрос на получение PDF файла с ценниками для артикулов, места хранения и дизайна ценника. Nginx
Прокси сервер. Шифрует и перенаправляет запросы .





Сетевой принтер.




Один запрос ТСД может содержать несколько артикулов, для каждого из которых может быть указано количество копий ценников. В ответ на запрос сервер Node.js отсылает идентификатор, по которому можно будет другим запросом получить список URL файлов ценников, когда они будут готовы для получения. Один запрос может привести к созданию ценников разных типов (стандартный, аукционный и т.д.), в результате чего артикулы будут сгруппированы по типам и для каждого типа будет создан свой файл с ценниками. В случае ошибки формирования ценников Node.js возвращает сообщение об ошибке.
При получении запроса на печать ценников сервер Node.js выполняет обработку полученного списка артикулов для формирования списка файлов – источников данных для ценника FastReport. Источником данных в файле FastReport являются данные в формате JSON. Сервер Node.js формирует файл с данными на основе информации из БД. В JSON-файле для каждого артикула есть название артикула, штрихкод, цена и т.д. Общая для всех ценников информация, например, название магазина должна быть прописана в frx-файле. Один файл задания должен содержать список артикулов с данными для печати для одного типа ценников и одними условиями печати. Кроме файла с данными для печати выкладывается парный файл с условиями печати (путь к frx-файлу, путь к каталогу для pdf-файлов ценников и т.д.)
Файлы заданий от всех ТСД, всех организаций выкладываются в один каталог – каталог очереди печати сервера печати.
Сервер печати забирает и обрабатывает файлы параллельно (производительность зависит от количества процессоров сервера). Результат работы FastReport – файл в формате PDF - выкладывается в указанный каталог организации.
Супермаг Мобайл 3 периодически посылает запрос в Node.js для получения списка URL файлов ценников. По запросу Node.js просматривает каталоги, в которых ожидает обнаружить файлы с ценниками. При появлении файлов с ценниками Node.js возвращает список URL файлов.
Супермаг Мобайл 3, получив список URL, запрашивает файлы, копирует их в свой каталог и обращается к сервису печати Android для печати на сетевом принтере. Для каждого файла пользователю будет показан диалог с предварительным просмотром и подтверждением печати. Это неотключаемая функция сервиса Android. Сервис печати должен быть заранее настроен на конкретный принтер в настройках ОС Android.

  • Нет меток