Мои проекты

Выгрузка табеля рабочего времени СУДОС Цирконий-М

Приложение для создания отчёта рабочего времени сотрудников в формате Excel на основе архивных сообщений о проходах сотрудников на объекте под управлением СУДОС Цирконий-М.

О проекте

По требованию заказчика, на основе утверждённого шаблона Excel, требовалось автоматизировать создание отчёта по фактической отработке групп сотрудников на рабочем месте на основе данных о входе/выходе на объект. Так же должен учитываться обеденный перерыв и опоздания относительно начала и окончания смены, указанного в БД сотрудников.

Демонстрация работы проекта

Внешний вид приложения

Демонстрация работы проекта

Результат выгрузки в формате Excel (xlsx)

Основные функции

Кроссплатформенность

Возможность разворачивания программы на хостах с ОС Windows7-11x64/AstraLinux1.7.

Максимальная гибкость в работе и настройке

Полный набор фильтров по БД сотрудников. Настройка ключевых параметров в отдельной форме приложения.

Портабальность

Состав программы - бинарный файл и dll для встроенной БД. Файл конфигурации пересоздаётся при его отсутствии.

Используемые технологии

Windows7-11x64/AstraLinux1.7.4 Golang Fyne Slog Object-box Xlsx-go-templat

При старте программы считываются переменные из файла конфигурации. Далее выполняется считывание БД сотрудников и доступные даты протоколов сообщений для активации их в календаре. Календарь для фреймворка Fyne был дописан отдельно (добавлена подсветка выбранных дат, изменена локлизация языка на кирилицу). Все данные по сотрудникам и протоколам прохода обрабатываются в БД Object-box, которая выбиралась по параметрам быстродействия и для задач ознакомления и сравнения с аналогами. После окончания фильтрации сотрудников и выделения нужных для выгрузки, выполняется анализ по каждому сотруднику его времени нахождения на объекте по каждому дню интервала, вычитая время опозданий и игнорируя отсутствие на объекте в обеденный перерыв. Процесс создания алгоритма анализа интервалов нахождения на объекте сотрудника был наиболее трудоёмким, так как необходимо было учитывать частые нестандартные ситуации: повторные уходы/приходы, например при транзите кабины без отметки в системе, приход без ухода, уход без прихода и т.п. Результаты заполняют шаблон формата xlsx, находящийся в теле бинарного файла и после заполнения происходит сохранение результата в файл.

← Вернуться ко всем проектам