New version QSystem 21.1 is available!

twitter  

Функциональность QSystem

Плагины и расширения

СУО QSystem может быть расширена по средствам плагинов. Плагины строятся по технологии services. Для знакомых с Java не составит труда разработать свой плагин и подключить его к серверу СУО QSystem. Рассмотрим основные принципы разработки плагинов и их применения.

Принцип действия

Технология создания плагинов основана на services. Т.е. плагин представляет собой jar, в котором реализуются специальные интерфейсы. Эти интерфейсы объявляются внутри сервера QSystem в пакете ru.apertum.qsystem.extra. Плагин реализовывает требуемый интерфейс определенным образом, а сервер вызывает эти методы из плагина в определенное время. Проще не придумаешь. Смотришь какие методы из какого интерфейса вызываются при необходимых событиях. Реализовываешь этот интерфейс, подготавливаешь jar и добавляешь его в ClassPath сервера СУО QSystem. При наступлении определенных событий сервер вызывает ваши методы.

События, для которых можно реализовать свой обработчик. Первая группа событий это движение клиента в очереди, т.е. постановка в очередь, удаление из очереди и т.д. Вторая группа это изменение статуса  самого клиента, т.е. новый, вызванный, подошедший, перенаправленный и т.д.

IChangeCustomerStateEvent изменение статуса посетителя в процессе оказания услуги, статусы находятся в  ru.apertum.qsystem.common.CustomerState

ICustomerChangePosition событие постановки посетителя в очередь и удаления

IPrintTicket печать талона для постановки в очередь и для предварительной записи

IPing проверка доступности централизованной базы данных

IDataExchange отправление информации в централизованную базу данных

IStartClient событие запуска приложения оператора.

Все плагины имеют версию и идентификатор. В зависимости от этих параметров плагин может быть не совместим или наоборот совместим с определенными версиями СУО QSystem.

Подключение

Для QSystem1.2.8 и младше подключение происходит помещением плагина в папку plugins. При старте плагины находятся и подключаются автоматически.

Если у вас версия СУО старше 1.2.8, то выполняем следующие действия. Берем jar подключаемого плагина и добавляем его в ClassPath при старте сервера. Это можно сделать следующим образом. В StartServer.bat в ключ -cp добавить jar плагина. Например

java -cp dist/QSystem.jar;E:/plugins/ZoneboardPlugin.jar ru.apertum.qsystem.server.QServer

Теперь сервер СУО QSystem увидит ваш плагин и будет вызывать методы вами реализованного интерфейса. Если настройка плагина вынесена в программу администрирования, то при старте StartAdmin так же необходимо добавить jar плагина в ClassPath.

Использование

После подключения плагина возможно может потребоваться его настроить. Для Некоторых плагинов настройка вынесена в программу администрирования, для некоторых нет. Читайте описание работы плагина. Если плагин не взаимодействует с какой-нибудь третьей программой, то более ничего делать с ним не требуется. Если же какая-то сторонняя программа все же взаимодействует с плагином, то позаботьтесь что бы эта программа была готова для такой работы. К примеру, при использовании плагина для сервера зональных табло, этот самый сервер должен быть запущен и настроен.

Плагин звукового голосового оповещения

Начиная с версии 1.3.1 ресурсы звукового голосового оповещения убраны из основной программы скрвера управления электронной очереди. Чтобы получить голосовое оповещения вызванного посетителя необходимо скачать плагин с выбранным голосом и поместить его в папку plugins. Доступные плагины:

  • Плагин голосового оповещения "Алёна". Русский язык.
  • Плагин голосового оповещения "Даша". Русский язык.
  • Плагин голосового оповещения "Николай". Русский язык.
  • Плагин голосового оповещения "Ольга". Русский язык.
  • Плагин голосового оповещения "Оксана". Украинский язык.

 

Плагин использования конструктора дизайна талонов JasperReports.

Плагин для QSystem1.2.8 и более новых версий, который печатает талоны с помощью библиотеки JasperReports. Разработал sarragoth. Скачать.

 

Зональные сервера, плагины к ним, совместимость

Таблица совместимости зональности

QSystemплагин зональный сервер
1.3.2 4 6
1.3.1 3 5
1.2.9 3 4
1.2.8 2 3
1.2.7 2 2

 

 

Работаем с QSystem