Создание табеля учета рабочего времени в Excel

Бюджет 117$ / 7000
руб
в месяц
Создан: 3 года назад
На модерации
Описание
Необходимо сделать программу для подсчета рабочего времени сотрудников организации на основе данных, полученных из системы контроля доступа. Из системы получаются данные по проходам сотрудников через турникет.
Для написания программы необходимо использовать Excel, исходный код должен быть открыт для возможных модификаций впоследствии.

Такая программа уже существует, но ввиду перехода на другую СКД требуется новая, с новой логикой работы. Текущая версия выложена просто как пример, ее переделывать не нужно.

Подробное ТЗ во вложении и ниже:

Исходные данные: выгрузка из системы контроля доступа, представляющая собой Excel файл следующего вида:
04.05.2021 18:04:41 Авторизованный выход Бабарыкин Максим Сергеевич
04.05.2021 18:07:31 Авторизованный выход Подкладова Мария Ивановна
04.05.2021 18:32:49 Авторизованный вход Бабарыкин Максим Сергеевич
Всего в файле до 100 000 строк.
Столбец 1 – дата и время наступления события (время, когда сотрудник поднес личную карту к считывателю)
Столбец 2 – вид наступившего события

Интересующими нас являются два вида событий: "Авторизированный вход" – вход на территорию, рабочее время учитывается и "Авторизированный выход" – выход с территории, учет рабочего времени прекращается.
Остальные события являются служебными и могут игнорироваться.
Столбец 3 – ФИО пользователя.

Сотрудники компании могут иметь различные графики работы:
1. Дневной: время начала рабочего дня сотрудников – с 7.00 до 10.00, продолжительность рабочего дня – 8 часов. 
2. Сменный: время начала рабочего дня – 8.00, конец рабочего дня – 20.00 или время начала рабочего дня – 20.00, конец рабочего дня – 8.00.
Для каждого сотрудника должен быть установлен его график работы в исходных данных. 
Шаблоны для сотрудников, имеющих график "дневной" следующие: 8-17, 9-18. При этом для каждого сотрудника часы начала и конца рабочего дня могут быть установлены "вручную", к примеру начало: "7:15", конец "18:45". График работы устанавливается на календарный месяц и в течении месяца не изменяется.

График работы (кто в какие смены должен работать) вводится отдельно, график составляется только для сотрудников, у которых график "сменный", в графике – "д" соответствует рабочим часам 08-20, а "н" – 20-08.

Опционально, для каждого сотрудника может быть установлена опция "отбросить часы до начала рабочего дня", "отбросить часы после конца рабочего дня" или обе одновременно. То есть, если сотрудник пришел раньше начала рабочего дня, то эти часы в рабочее время не учитываются или же, если ушел после конца рабочего дня, то эти часы не учитываются, или обе опции одновременно.

Алгоритм работы программы:
На отдельном листе вводится перечень сотрудников компании с указанием графика работы для каждого сотрудника и возможных опций, которые следует учитывать.
График может быть "дневной 8-17", "дневной 9-18", "сменный" или индивидуальный, где часы нормального рабочего дня указываются вручную. Если индивидуальные часы не установлены в соответствующей ячейке, то график считается по шаблону. При этом вышеописанные опции могут быть выставлены для каждого сотрудника по отдельности.
1. Проверка корректности введенных данных о сотрудниках. Указанный на отдельном листе перечень сотрудников сравнивается со столбцом 3, при этом, если в перечне сотрудник числится, а в столбце 3 для него нет ни одной записи, выдавать ошибку с указанием такого сотрудника (их может быть несколько). Проверка необходима для поиска опечаток внутри базы СКД (неправильные буквы, лишние пробелы итп.). Также необходимо проверить, что для всех сотрудников с графиком работы "сменный", график был введен, чтобы не забыть указать график для кого-то.
2. Рабочее время считается как время, проведенное "внутри", то есть между событиями "вход" и "выход" в течение одной смены. При этом необходимо учесть, что смена может заканчиваться в другой день/месяц/год, чем тот, когда она началась. Если сотрудник отработал более 5 часов (строго), отнимается 1 час на обед. То есть если сотрудник отработал 4 ч 59 минут, то рабочим считается время в 4 ч 59 минут, если 5 ч 01 минута, то рабочее время – 4 ч 01 минута.
a. Для одного сотрудника могут быть несколько событий "вход" подряд, без события "выход". В таком случае за начало рабочего времени принимается последнее событие "вход", перед которым появилось событие "выход". Таким образом исключаются фиктивные проходы.
3. Программа формирует табель учета рабочего времени по каждому сотруднику с точностью до 0,01 часа. В качестве формата шаблона можно использовать типовую форму Т-12.
4. На отдельном листе формируется таблица по имеющимся (если имеются) отклонениям сменного персонала от имеющегося графика сменности для учета ситуаций, когда сотрудник не пришел в свою смену или пришел не в свою.
Категория
Источник: fl.ru

Похожие проекты

safe$22
9 0
требуется готовую онлайн анкету на django по приему на работу перенести в whatsapp, telegram и viber. Нужно чтобы кандидат мог с удобством заполнять анкету с телефона, а все заполненные им данные по всем позициям автоматически загружались в нашу базу данных. В нашей базе будет создаваться резюме кандидата......
safe 
28 0
В наличии массив кадастровых номеров (КН), необходимо путем запроса на ПКК определить примерные географические координаты каждого объекта из массива КН (ОКС, ЗУ), вывести в результирующий файл эти ко-ты и ряд сопутствующих данных по этому КН....
1 год назад
safe 
44 1
Необходимо разработать бек и фронт мини-сервиса таким образом, чтоб его можно было развернуть внутри другого проекта....
safe$1111
23 0
Стоит на Бизнесе для своих нужд на простеньком базовом шаблоне, складываю туда контент потихоньку. Нужно начинать приводить в соответствие что бы публика сразу не убегала, а как то цеплялась, да и продвигать не торопясь. Шаблон где порвался от вставки баннеров подправить, для мобилок может сверстать.......
safe$22
55 0
Парсер для сайта stockx. com на питоне (selenium/pyppeteer). Необходим следующий функционал: 1. На главной странице с поиском по ключевым словам найти первый результат из поиска (ссылку на страницу товара) ....
1 год назад
safe$44
49 0
Трипланарная транспортная задача (отправители - транспорт - получатели) генерация исходных данных трехэтапное решение 1....
safe$1111
48 0
Требуется написать парсер маркетплейса, у которого есть только мобильное приложение (IOS, Android). Есть исходный код Android приложения (Java + Kotlin), реверснутый через JADX. Необходимо парсить данные о товарах, полученные по артикулу. За подробностями тг: @markermann)....
1 год назад
 
38 0
Требуется написать софт , который будет делать рассылку по личным сообщениям на площадке Ebay Kleinanzeigen по заранее спаршенным обьявлениям....
1 год назад
 
36 0
Требуется написать софт , который будет делать рассылку по личным сообщениям на площадке Ebay Kleinanzeigen по заранее спаршенным обьявлениям....
1 год назад
 
37 0
Требуется написать софт , который будет делать рассылку по личным сообщениям на площадке Ebay Kleinanzeigen по заранее спаршенным обьявлениям....
1 год назад
 
31 0
Требуется написать софт , который будет делать рассылку по личным сообщениям на площадке Ebay Kleinanzeigen по заранее спаршенным обьявлениям....
1 год назад
 
40 1
Требуется написать софт , который будет делать рассылку по личным сообщениям на площадке Ebay Kleinanzeigen по заранее спаршенным обьявлениям....
1 год назад
$22
59 1
В Геткурсе нужно сделать интеграцию со Сбербанком для оформления рассрочки/кредита. Основная задача – передача суммы и номера заказа при переходе для оформления рассрочки и возврат сведений при удачном оформлении. Эквайринг от Сбербанка к Геткурсу подключён, а готовой интеграции для рассрочки нет. Если......
1 год назад
 
96 0
Нужно сделать бот перехватчик заказов по фильтру такси Максим!...
1 год назад
$33
75 1
Как можно загрузить готовое фото из галереи, если приложение просит загрузить фото и при этом открывает камеру телефона? Нужно вместо использования реальной камеры смоделировать вход камеры и при этом загрузить фото из галереи....
1 год назад
 
117 3
Очень простой криптообменник в виде веб-сайта. Без смарт-контрактов и т. Все платежи вручную....
Смотреть все