Вторник, 16.10.2018, 11:35
Приветствую Вас Гость | RSS
Меню сайта

Погода

Статистика зарплат

Заканчиваю проект с рабочим названием BarMaster - система учета для кафе, баров, ресторанов.

Предыстория. Клиент открыл свое кафе и захотел упростить работу себе и персоналу. В общем автоматизации ему захотелось. Посмотрел он цены на готовые решения и побежал за валидолом. Попросил моей помощи. Думал я под него "заточить" ломанную систему BarBo$$, но отказался от этого решения: во-первых, не хорошо воровать чужой хлеб, во-вторых, внести изменения в чужую систему без наличия исходников представляется несколько затруднительным. Тем более заказчик хочет, чтобы официанты не с блокнотом ходили, а тыкали пальцем по планшету с модулем учета (впрочем, слышал, что в BarBo$$`е уже сделали веб-интерфейс фронт-офиса). Если идти по честному пути, то пару тысяч зеленых за установку и настройку данного продукта "барбоссовцами" выложить придется. В общем решил я писать всю систему с нуля. Вот только сразу маленькая загвоздка вылезла: планшет же под управлением ОС Андроид, следовательно Фронт-офис на Delphi 7 не напишешь, а к изучению программирования под Андроид я пока не созрел... Решил таки остановиться на веб-интерфейсе и писать фронт-офис на php (html + css + js + jQuery).

 

Краткая схема взаимодействия системы BarMaster выглядит так:

* В качестве "сервера" использован обычный нетбук с двумя селероновскими ядрами по 2,1 ГГц и с 2 ГБ оперативной памятью, под управлением Windows 7 Ultimate X86. Более того умудрились даже установить на него систему видео-наблюдения. "Тянет" все без проблем :)

Минимально-необходимый набор "железа" для работы системы BarMaster следующий:

  1. Компьютер (нетбук, ноутбук) под управлением ОС Windows 2000 - 8.1.
  2. Принтер чеков любой модели - шаблоны отчетов можно "допилить" под любую ширину бумаги.

Стандартный набор "железа" для небольших заведений:

  1. Компьютер со встроенным wi-fi модулем или с внешним wi-fi роутером.
  2. Принтеры чеков по объектам: бар, кухня - печать бегунков; зал - печать чеков (можно ограничится и двумя принтерами, да, собственно, и вообще одним - в баре). Желательно, чтобы все принтеры чеков были одинаковой модели или, хотя бы, с одинаковой шириной бумажной ленты. Хотя, по ситуации, могу дописать систему для возможности использования принтеров с разной шириной бумаги (тут работы на пару часов).
  3. Принтер формата А4 для печати отчетов из бэк-офиса.
  4. Планшеты или смартфоны с поддержкой wi-fi по количеству официантов в смене.

Дабы представители BarBo$$ не обвиняли меня в плагиате, вот небольшая картинка с перечнем таблиц в созданной мною БД для BarMaster`a:

Кстати, для связи внешних устройств с сервером используется wi-fi соединение, правда, с небольшим нюансом - отсутствует wi-fi роутер... Дело в том, что нэтбук под управлением Windows 7 может сам выступать в роли "раздатчика" wi-fi. Для этого в компании Майкрософт создали виртуальный роутер, который был успешно мной активирован на данном нетбуке. Благодаря небольшим манипуляциям с командной строкой от имени админа (netsh wlan start hostednetwork) удалось добиться того, что в зоне нахождения нетбука появилось wi-fi соединение под названием "BarMaster Front". После подключение к данному соединению открываем на планшете (смартфоне) браузер и вводим адрес 192.168.173.1 - появляется страница входа в фронт-офис:

Во фронт-офис также можно зайти непосредственно с сервера, набрав в адресной строке браузера localhost или 127.0.0.1 или 192.168.173.1 или front.web (в файле hosts указал, что front.web = localhost).

Итак, как я уже сказал, фронт-офис написан на php. Данный модуль позволяет делать в системе практически все, что нужно для оперативного обслуживания посетителей. Печатаются бегунки, предчеки, чеки. Все, что отправляется официантами на печать, сохраняется в базе данных, что в дальнейшем может помочь при возникновении "трений" с дотошными клиентами.

Вот немного скриншотов фронт-офиса и его "печатной продукции":

Пришлось немного задуматься над организацией печати бегунков/чеков из фронт-офиса, ведь прямое соединение планшета с принтером создать практически нереально, организовать фоновую печать средствами php для меня представилось несколько затруднительным действом. "Выкрутился" написанием windows-сервиса на Delphi, который периодически проверяет некую таблицу в базе данных на предмет новых записей. В записях указывается информация о том, что нужно распечатать. "Умный" сервис знает, какие принтеры подключены к серверу и где эти принтеры расположены (бар, кухня, зал). Соответственно если ему будет сказано, что нужно распечатать бегунок, то список блюд для кухни он отправит на печать на принтере кухни, бара - на соответствующий принтер, чек распечатается на принтере в зале. Формирование "печатной продукции" и ее печать возложил на плечи Fast Report 2.5. Официант на планшете нажимает кнопку печати, скрипт на php создает в базе данных новое задание на печать, сервис это дело "подхватывает", формирует отчет, отправляет на нужный принтер, сохраняет картинку в базе данных и ждет следующей задачи... Просто и со вкусом.

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

Теперь несколько слов о бэк-офисе.

Данный модуль используется хозяином кафе, бухгалтером, экономистом, ... В нем (будет, дописываю в процессе) реализовано все, начиная от справочников продуктов/поставщиков и заканчивая всевозможными отчетами. На сегодняшний день в бэк-офисе доступно:

1. Управление справочниками: типы товаров, товары, группы блюд, контрагенты, пользователи системы.

2. Учет приходов товара.

3. Списание товара.

4. Переучет товара.

5. Калькуляция блюд.

6. Управление скидками.

... to be continued ...

Форма входа

Поиск

Друзья сайта

Королевство Delphi

Инвестиционная группа РОСТ




Время

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0


Copyright AlexChmil Software © 2018