Создание ежедневного отчета о входе / выходе для сотрудников из данных биометрического ридера в python - PullRequest
0 голосов
/ 08 октября 2019

Я работаю над веб-приложением, в котором каждый сотрудник может видеть свою ежедневную историю входа / выхода за выбранный период.

Данные входа / выхода извлекаются из устройства учета биометрических отпечатков пальцев и сохраняются в базе данных следующим образом. :

    Employee    punchtime
    -------------------------------
    Jack        2019-03-19 07:23:37
    Smith       2019-03-19 07:45:07
    Will        2019-03-19 07:57:35
    Will        2019-03-19 07:57:40
    Jack        2019-03-19 16:57:53
    Will        2019-03-19 16:59:03
    Smith       2019-03-19 17:00:01
    Smith       2019-03-19 17:00:02

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

  1. Ежедневный вход и выход из системы каждого сотрудника. Проигнорируйте повторные удары, т. Е. Кто-то пробивает в 07:25:01, а кто-то в 07:26:01 (просто чтобы убедиться).
  2. Будет рассматриваться только первый и последний удар в любой день.
  3. Рассчитать количество часов в день и, следовательно, рассчитать месячную продолжительность. Прикрепите каждого сотрудника к заранее определенным графикам (каждая команда сотрудников имеет разное время входа / выхода из системы)

Мой вопрос - каков наилучший подход для этого в python? Мое предположение - создать один массив со всеми датами от start_date до end_date требуемого отчета и начать выдавать данные перфорации следующим образом:

date
employee_id
punchtime_login
punchtime_logout
ignored_punches (json)
logged_in_time

Затем показывать пользователям по мере необходимости. Мне интересно, есть ли какие-либо стандартные библиотеки / подходы к этой проблеме.

...