Как рассчитать посещаемость по журналу перфорации?
Дорогие Все,
Позвольте мне объяснить сценарий. Компания "ABC" имеет систему доступа к отпечаткам пальцев и посещаемости, которая регистрирует все удары(будь то вход или выход), устройство не настолько умно, чтобы определить его выход или вход, оно просто записывает все удары.
Компания "АВС" работает в 4 смены
SHIFT STARTTIME ENDTIME A 6:00 14:00 B 14:00 22:00 C 22:00 6:00 G 9:00 6:00
Сотрудники, работающие в смену А/Б/С, могут непрерывно работать в 2 смены(в таких случаях предоставляется C-Off(оплачиваемый отпуск) или выходной день)
Сотрудник, работающий в смену, также может присутствовать на смене B в зависимости от требования, но он должен пробить на смену и снова пробить на смену B(15-минутный интервал между этими 2 ударами является обязательным правилом, чтобы система могла понять, что он также присутствует на 2-й смене)
На основе вышеописанной рабочей системы на предприятии ниже приводится журнал перфорации сотрудника(код emp 3)
EMP LOGDATETIME 3 01-11-2017 14:00 3 01-11-2017 14:10 3 01-11-2017 15:01 3 01-11-2017 16:01 3 01-11-2017 17:11 3 01-11-2017 22:00 3 01-11-2017 22:15 3 01-11-2017 23:15 3 02-11-2017 01:15 3 02-11-2017 06:10 3 02-11-2017 22:01 3 02-11-2017 22:15 3 02-11-2017 23:15 3 03-11-2017 01:15 3 03-11-2017 06:10 3 05-11-2017 06:00 3 05-11-2017 07:10 3 05-11-2017 08:10 3 05-11-2017 09:10 3 05-11-2017 12:10 3 05-11-2017 14:01 3 06-11-2017 14:01 3 06-11-2017 15:01 3 06-11-2017 15:01 3 06-11-2017 22:01
Теперь как вы можете видеть у него есть несколько ударов в журнале мне нужно вычислить и показать данные следующим образом:
EMPCODE IN OUT SHIFT 3 01-11-2017 14:00 01-11-2017 22:00 B 3 01-11-2017 22:15 02-11-2017 06:10 C 3 02-11-2017 22:01 03-11-2017 06:10 C 3 05-11-2017 06:00 05-11-2017 14:01 A 3 06-11-2017 14:01 05-11-2017 22:01 B(HALF DAY)
Правила, подлежащие рассмотрению, заключаются в следующем
1) сотрудникам разрешается приходить пораньше за 30 минут до своей смены
2) сотрудникам разрешается уходить рано, если они пришли рано и их рабочий час закончился 8 часов
3) 3 коротких удара(означает, что сотрудники могут уйти за 40 минут до окончания смены) каждый месяц.
4) работник может уйти поздно в зависимости от требования, это будет считаться текущей сменой, но сверхурочные будут рассчитываться.
Что я уже пробовал:
Я прочитал несколько документов о решениях SAP/.NET, но ни один из них не охватывает вышеуказанное требование и не дает мне никаких идей, как действовать дальше. Большинство компаний имеют различные перфораторы для входа и выхода. но в этом случае одно устройство отвечает за вход/выход, что усложняет ситуацию.
Я пытаюсь получить полную логику доказательства, которая может справиться с таким случаем.
Любая помощь/идеи/документ/псевдокод будут высоко оценены.
Richard MacCutchan
Проблема действительно в том, чтобы знать, когда происходит первый удар. Принимая это за "удар", вам просто нужно чередовать временные метки с тех пор, как in (first), out, in, out ...
RaviSNaik
но настоящая проблема заключается в том,чтобы разделить их как смену, так и несколько смен в один день.
Richard MacCutchan
Да, но только вы и руководство завода можете понять, как вы распределяете время между различными сменами.
RaviSNaik
уже выделено, читайте начало поста, я думаю, что вы совершенно неправильно поняли всю тему.