- PVSM.RU - https://www.pvsm.ru -
Как-то раз, бороздя просторы интернета в поисках новых идей, я наткнулся на статью на Хабре Как мы написали helpdesk [1]. В данной статье было описание системы очень похожей на ту, которую я создаю уже больше полугода. И я решил о ней написать.
Придя в данную организацию 4 года назад, я познакомился с имеющейся системой заявок. Она решала все необходимые задачи, за исключением того, что все отчеты о занятости/безделии решающих проблемы специалистов оставалась начальству неизвестна. И так уже сложилось, что было 3-4 диспетчера, отвечающих за распределение этих самых заявок специалистам. Ведь не каждый пользователь, создавший заявку, может верно указать её тип. То ли от лени, то ли от незнания, из-за чего автоматическое распределение периодически давало сбой. Всё работало отлажено даже в самых старых браузерах старейших юникс систем, в частности ff 2.0.
Со временем, появилась необходимость сделать надстройку над уже имеющейся системой, которая будет отслеживать сколько времени специалист тратит на решение заявки. И, как итог, вывод отчета по специалистам и их деятельности.
Взвесив все «за» и «против», решили делать всё с чистого листа.
Как и во всех проектах данной организации, в основе лежит БД Sybase SQL Anywhere. А из плюсов у нее:
Обоснованность выбора именно SQL Anywhere еще и в том, что планируется, что данная система вырастет ищи и до PowerBuilder и Android версии. Именно поэтому использование процедур — более рационально. Написав весомую часть всей логики в БД, остается лишь «дёргать» её из разных платформ и разных приложений.
Веб-сервер сделали из обычного Apache + PHP 5.3 на CentOS.
Схема файлов очень похожа на то, как реализовано в посте из ссылки в начале поста. Имеется:
Все значки на сайте реализованы на FONTAWESOME [2] — крайне удобная вещь!
Приступая к работе, спроектировали примерную схему самой БД, которая, в итоге, очень отдалилась от исходного варианта.
Рабочий стол всей системы делится на два основных составляющих:
Жизненный путь заявок. Создание с выбором типа ошибки (программы, оборудование, 1С ...). Распределение диспетчером специалисту. При распределении заявки конкретному специалисту, у него появляется задание, к которому прикрепляется данная заявка. Далее три пути:
Создатель заявки уведомляется и, войдя в систему и отобразив информацию по данной заявке, может:
Создание заявки:
Просмотр полной информации диспетчером о любой заявке или просмотр специалистом о своей заявке:
Упор сделан на то, чтобы специалист мог планировать, указывать и рассчитывать время, которое он тратит на то или иное задание. В визуальном представлении это был обычный календарь с отметками заданий на нем.
Просмотр списка завершенных заданий:
Просмотр списка актуальных заданий:
Просмотр информации о задании:
Приступая к работе над заявкой, специалист нажимает кнопку «приступить», она же play(треугольник) и берется за дело. По завершению, он нажимает «завершить», она же stop (квадрат). После чего заявка попадает на утверждение пользователю, создавшему её.
Тут доступны комментарии, которые хранятся исключительно у этого задания (например, можно указать «не забыть полить фикус, лишь потом приступать»); переписка — это сообщения для общей дискуссии между создателем и специалистом, которые, так же, может просматривать и добавлять диспетчер (например, для выяснения подробностей ошибки); служебные комментарии — переписка между диспетчером и специалистами, работающими по данной заявке (например, пояснение «не получится сделать, нужно больше железа») — данная информация их технических соображений скрывается от создателя заявки.
Создавать задания специалист и диспетчер может сам, без привязки к заявке, что бы указать иную занятость, например, «поехал за закупкой не хватающего товара». Данная занятость тоже будет отображена на временной шкале занятости.
Приступать к заданию можно неограниченное количество раз, тем самым регулируя очередь выполнения и их продолжительность.
По итогам работы, можно высчитать, сколько времени специалист тратил на задания в выбранный временной промежуток, будь то день, месяц или год. В отчете по занятости отображается, сколько рабочих часов в выбранном периоде, сколько специалист проработал всего, сколько в рабочее время и сколько в нерабочее время (нередко и такое).
Содержимое отчетов:
На данной стадии есть много проблем и вопросов по созданию отчетов, поэтому, этот раздел скучен и примитивен и содержит только цифры. Не приложу ума, как бы это сделать все информативнее и приятнее.
Предлагайте свои варианты в комментариях!
В планах огромная работа:
Хочу пометить, что отсутствие красоты данной системы связано с тем, что она была изначально ориентирована исключительно для внутреннего пользования и выход на внешний рынок не планировался, в связи с чем, не имею пока что возможности предоставить даже тестовый доступ к системе.
Жду ваших вопросов и отзывов!
Автор: mad_jerico
Источник [3]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/javascript/84180
Ссылки в тексте:
[1] Как мы написали helpdesk: http://habrahabr.ru/post/227277/
[2] FONTAWESOME: http://fortawesome.github.io/Font-Awesome/icons/
[3] Источник: http://habrahabr.ru/post/251657/
Нажмите здесь для печати.