考勤系统,主要是统计每天早上迟到的分钟数和早退的分钟数。统计的时间主要是来自于指纹考勤机。每天每个员工可能会有多次摁手印的情况。数据库字段也很简单AttendTime(ID int,UID int ,AttendTime DateTime ). 规定早上上班时间是8 点,下午下班时间是5点,周六例外,上午8点,下午12点。现在棘手的问题是1.当某人某天多次摁了手印时,应该如何判断她的上班时间和下班时间?2.当某人某天上午摁了手印,下午忘记了摁手印时,应该如何判断?3.下午的早退的时间应该如何算呢?希望大家能够给个思路.....谢谢。。。
2 回答
动漫人物
TA贡献1815条经验 获得超10个赞
1. 如果没有规定进出必须都打手印的话,那就只好第一次打手印当进入,第二次当离开,第三次覆盖第二次的时间,还是当离开
2. 如果他离开的时候不按手印,你无法知道离开时见,设置一个timeout,比如,系统自动在23:59时记录他离开
3. 记录进出时间和计算迟到早退应该分开来各做各的,当你通过记录得知进出时间后,只要用两个时间跟规定时间比对就可以了
隔江千里
TA贡献1906条经验 获得超10个赞
如果没有规章的话就没法统计,按手印和打卡无异,不按规定做的话损失自负并发现后处罚。
指纹机应设在门口,有专人看管,要求每次进出都按才行,这样每对进出时间(单双)构成一个区间,当日的区间累积起来就是当日在职时间,可以据此来统计工时。
以下是在进出门都会强制按手印的基础上进行的判断:
1.由于进出必须按手印,当日第一次就是上班时间,最后一次就是下班时间。
2.还是由于进出必须按手印,只要他进来了就得有记录,没有记录直接无视就行。
3.根据第一条,最后一次如早于当日规定下班时间就是早退。或者也可以用累计在职区间计算是否早退。
- 2 回答
- 0 关注
- 782 浏览
添加回答
举报
0/150
提交
取消