Skip to content

Latest commit

 

History

History
102 lines (84 loc) · 6.69 KB

README.md

File metadata and controls

102 lines (84 loc) · 6.69 KB

Обзор проекта printchecks_from_jsonpack:


Технологии:

Название Версия
Go 1.20.6
libfptr10 10.0.1.1

Подробности проекта:


Подробное описание папок проекта:

C:\Users\Enduro\Documents\correctionchecks\union\printchecks_from_jsonpack
├── consttypes - содержит константные типы и структуры, используемые в проекте
├── fptr - содержит привязки Go для библиотеки libfptr10, используемой для взаимодействия с кассовыми аппаратами ATOL
├── packetlog - содержит функциональность для ведения логов проекта
├── resource - содержит ресурсы для проекта, такие как иконки и манифесты
└── sendtcp - содержит функциональность для отправки TCP-команд кассовым аппаратам Mercury

Полная бизнес-логика:

  • Проект предназначен для печати большого объема коррекционных чеков на кассовых аппаратах ATOL и Mercury.
  • Он читает JSON-файлы, содержащие данные чеков, из указанной директории.
  • Он проверяет существующие марки в данных чеков и запускает процесс проверки для каждой марки.
  • Он обрабатывает ошибки во время проверки марки и печати чеков, включая переподключение к кассовому аппарату и закрытие/открытие смен при необходимости.
  • Он позволяет настраивать параметры чеков, такие как адрес электронной почты и опции печати/электронные опции.
  • Он отслеживает напечатанные чеки, чтобы избежать повторной печати.

Управление зависимостями:

  • Проект использует модули Go для управления зависимостями.

Примечания:

  • Для работы проекта требуется установка и настройка библиотеки libfptr10.
  • Проект может быть запущен в режиме эмуляции для тестирования.
  • Проект может быть настроен на паузу после определенного количества чеков или дней для безопасного завершения.

Все конечные точки/Все события, которые проект обрабатывает и слушает:

TCP

  • {ipktt}:{port} - используется для связи с кассовыми аппаратами Mercury

Все downstream сервисы

  • Кассовый аппарат ATOL - используется для печати чеков
  • Кассовый аппарат Mercury - используется для печати чеков
  • Сервер маркировки - используется для проверки марок

Все upstream сервисы

  • Пользователь - предоставляет данные чеков в формате JSON и параметры конфигурации

Тестирование

  • Зависимости: Тестовые зависимости не найдены.
  • Сводка найденных тестовых потоков: Тестовые потоки не найдены.
  • Хранилища фикстур: Хранилища фикстур не найдены.
  • Полезно знать: Проект может быть запущен в режиме эмуляции с симулированными ошибками для тестирования.

Развертывание

  • Сводка: Специфические инструкции по развертыванию не найдены.

Настройка среды разработки

  1. Установите Go: Скачайте и установите язык программирования Go с официального сайта (https://go.dev/).
  2. Установите libfptr10: Скачайте и установите библиотеку libfptr10 с сайта ATOL (https://atol.ru/).
  3. Настройте переменные окружения:
    • Установите переменную окружения DIROFJSONS в директорию, содержащую файлы данных чеков в формате JSON.
    • Установите переменную окружения LOGSDIR в директорию для хранения лог-файлов.
    • Установите переменную окружения GOPATH в директорию вашего рабочего пространства Go.

Запуск проекта в среде разработки

Предварительные условия

  • Запустите драйвер кассового аппарата ATOL или Mercury.

Инструкции по выполнению

  • Локально:
go run jsontokkt.go -kassatype=[kassatype] -com=[comport] -dirjsons=[dirjsons] -debug=[debug] -emul=[emulation] -test=[dontprintrealfortest] -emulmist=[emulatmistakes] -emulmistmark=[emulatmistakesmarks] -countchecks=[countPrintChecks] -pauseAfterDay=[pauseAfterDay] -exldate=[ExlusionDate]
  • kassatype: Тип кассового аппарата (atol или merc).
  • comport: COM-порт кассового аппарата.
  • dirjsons: Директория, содержащая файлы данных чеков в формате JSON.
  • debug: Уровень отладки (0-6).
  • emul: Режим эмуляции (true или false).
  • test: Тестовый режим - не печатать реальные чеки (true или false).
  • emulmist: Эмуляция ошибок (true или false).
  • emulmistmark: Эмуляция ошибок марок (true или false).
  • `countchecks: Количество печатаемых чеков
  • pauseAfterDay: Пауза после определенного количества дней
  • exldate: Дата исключения