我为员工出勤系统构建验证,编程语言是独立的。我为很多案例设计了算法,并且它的工作非常精细。
现在,我遇到了一些情况。我只需要一些人给我的想法一些火花,这样我就可以完成它。
让我们假设以下情况:
使用如下所示的时间表监控员工出勤率,
df.loc[(df.column_name < 0),'column_name'] = 0
06:30 Shift 1 - IN
12:00 Shift 1 - OUT
13:00 Shift 2 - IN
现在,如果员工打了五次,我必须根据班次与班次时间表的接近程度取消一次打卡,这意味着我想删除多余的打卡。 例如,员工如下所示:
15:30 Shift 2 - OUT
06:12
11:57
12:48
12:57
如果我进行手动删除,我将删除第3个打孔(12:48),因为所有其他打孔都接近计划。
现在,我的逻辑是将第一个冲头视为Shift 1 - IN冲头,最后一个冲头为Shift 2 - OUT冲头。 然后需要中间三个工作并删除一个。
编辑:
***我找到了一些东西,
17:02
。剩下的是第二,第三和第四拳。1st punch and 5th punch
拳的绝对差异
安排2nd, 3rd and 4th
和S1-OUT
。采取上述最低限度
差异值。删除另一拳。