теперь самое интересное: пробегаем по всем свободным ячейкам в этих днях и отбираем наиболее подходящие. Самые лучшие те, которые слева И справа имеют еще по пустой ячейке. Хорошие те, у которых слева ИЛИ справа есть хотя бы одна пустая ячейка. Здесь алгоритм работает по тому же принципу, по которому ведет запись живой человек (запись «через одну» ячейку). Если же нет ни тех, ни других ведем поиск среди обычных ячеек.
в результате сортировки отбираем три самых свободных дня
для каждого дня вычисляем свободное время (с учетом обедов, предпраздничных дней и уже занятых ячеек)
берем все дни, которые отстоят от текущей даты на 4-12 дней вперед
На мой взгляд, самым интересным было написание скрипта, который определяет свободные ячейки для записи. Если человек, взглянув на таблицу, легко понимает, куда нужно вставить запись, то как это объяснить компьютеру? Пришлось придумать следующий алгоритм:
Как все это работает (взгляд изнутри)
В-общем, взвесив все «за» и «против», я приступил к написанию скриптов.
Для терминала такие проблемы (не полностью, но большей частью) можно решить установкой 15-минутного таймера. Вряд ли кому-то захочется «тусоваться» возле терминала ради того, чтобы раз в 15 минут вводить по одному человеку. С другой стороны, предварительная запись на терминале используется не столь часто, чтобы случайно зашедший человек обнаружил блокировку записи.
Как обычно, все новшества мы сначала обкатываем на нашем информационно-справочном терминале (который стоит в зале приема), и только потом внедряем на сайте. Таким образом, удается заранее продумать все риски и «подводные камни». А рисков здесь достаточно. Например, «шутники», которые введут несуществующих людей. Или риэлторы, которые забьют все дни своими клиентами.
Все, что было описано выше это предварителная запись либо по телефону, либо при личном визите гражданина. Однако прогресс идет, и мы созрели до того, чтобы дать возможность людям записываться в очередь самостоятельно (!!).
Самостоятельная запись заявителей
В ходе дискуссии было реализовано еще одно рацпредложение возможность начальникам отделов смотреть, какой из специалистов в какой день ведет предварительную запись. Потенциально это должно исключить возможность записи «по блату» со своего рабочего места (в обход ответственного специалиста в данный день).
Около месяца назад началось использование системы еще в одном отделе. Конечно, у каждого отдела есть свои нюансы, но костяк системы, сделанный еще в самом начале, остается неизменными. По мере необходимости просто вводятся дополнительные поля в таблицах БД и дорабатываются скрипты. В целом же, все специалисты, использующие систему, отмечают ее большое удобство по сравнению с бумажными вариантами.
Все три месяца, прошедшие с момента запуска, система активно используется. Объем записи на каждый день колеблется в районе 80-90%, то есть остаются свободными всего 3-4 ячейки. Как указывалось в комментариях к моей предыдущей статье, такое полезно, если возникают сдвиги графика заявителей по времени свободные ячейки позволяют вернуть его в нормальный режим. Кроме того, по мере возможности, специалисты записывают заявителей «через одну» ячейку по той же самой причине.
Результаты за три месяца
Прошло три месяца с моей про то, как мы внедрили в нашем Управлении «электронную очередь» для приема граждан. За три месяца проделан очередной большой объем работы. Во-первых, конечно же, обкатка и «доработка напильником» всей системы в «боевых условиях». И, во-вторых буквально на днях была запущена система для самостоятельной (!!) записи заявителей в очередь. Обо всех этих «вкусностях» читайте под катом. Кроме того, для всех интересующихся я подготовил видеопрезентацию, позволяющую вживую посмотреть, как все это работает.
Добрый день, дорогие друзья!
Прием граждан: опыт внедрения «электронной очереди» (часть 2)
14 декабря 2009 в 06:26
Прием граждан: опыт внедрения «электронной очереди» (часть 2) / Хабрахабр
Комментариев нет:
Отправить комментарий