Skip to content

Files

Latest commit

d564a47 · Aug 27, 2022

History

History
19 lines (12 loc) · 2.45 KB

README.md

File metadata and controls

19 lines (12 loc) · 2.45 KB

EmployeeSchedule

'скриншот'

EmployeeSchedule - Расписание сотрудников, название говорит само за себя.

Принцип работы:

Из-за политики безопасности браузера скрипт лучше запускать на сервере, так как он подгружает json-данные аяксом. Без сервера может не работать.

Предполагается что данные запрашиваются с сервера через диапазон дат, данные приходят в формате json. Количество данных не ограничено.

Скрипт строит расписание по дням, далее дни разбиваются по часам и на определенные промежутки времени можно назчанить время работы сотрудника. На основе дат (DATETIME как в MYSQL формат) вычисляются такие данные как процентное соотношение выполненной работы и плана, кто не явился, опоздания и т.д. Потом все это визуально отображается.

  1. Из json получаем даты и сортируем от меньшей к большему, для визуального удобства, повторные исключаем. Жалательно чтобы дни приходили без разрывов, т.е последовательно 1, 2, 3 и т.д.
  2. У одного сотрудника может быть несколько смен, по этому объединяем пользователей в одну строку с одинаковыми данными (имя сотрудника, место работы). Так же сохраняем дополнительные данные: процент выполнения, кол-во занимаемых клеток, на сколько опоздали и т.д
  3. выводим на экран пользователей и смены - последовательно, с привязкой ко времени, независимо в каком порядке они пришли
  4. добавляем обработчики событий, летающее меню и тд
  5. После вычислений отображаем