考勤项目中遇到算法问题,比较繁琐的那种
我主要在算法上想不通,没有找到有效的解决办法,具体内容如下:
单位要求上下班时间可以设置,每天员工上下班时间分4部分:
7:20-11:50
13:50-18:20
18:50-21:00
19:30-24:00
这些时间是可以更改的,员工们都是打卡,而且中途上厕所也得打卡,并从工时中扣除掉上厕所的时间(他们是计时工资)。
在考勤机数据库中得到的数据如下:
考勤日期 打卡时间 类别 部门编号 部门名称
39 康少山 2008-8-1 00:00 1900-1-2 07:19 03 2 喷涂车间
39 康少山 2008-8-1 00:00 1900-1-2 09:20 mZ 2 喷涂车间
39 康少山 2008-8-1 00:00 1900-1-2 09:27 mZ 2 喷涂车间
39 康少山 2008-8-1 00:00 1900-1-2 11:52 03 2 喷涂车间
39 康少山 2008-8-1 00:00 1900-1-2 14:15 03 2 喷涂车间
39 康少山 2008-8-1 00:00 1900-1-2 15:33 mZ 2 喷涂车间
39 康少山 2008-8-1 00:00 1900-1-2 15:41 mZ 2 喷涂车间
39 康少山 2008-8-1 00:00 1900-1-2 17:49 mZ 2 喷涂车间
39 康少山 2008-8-1 00:00 1900-1-2 17:54 mZ 2 喷涂车间
39 康少山 2008-8-1 00:00 1900-1-2 18:53 03 2 喷涂车间
39 康少山 2008-8-1 00:00 1900-1-2 19:40 03 2 喷涂车间
39 康少山 2008-8-1 00:00 1900-1-2 20:59 mZ 2 喷涂车间
39 康少山 2008-8-1 00:00 1900-1-2 21:03 mZ 2 喷涂车间
39 康少山 2008-8-1 00:00 1900-1-2 23:01 03 2 喷涂车间
其中打卡类别中,只要是数字则为上下班刷卡,为字母的是外出或回来时的打卡。
我现在不知道该怎么区分这些数据究竟哪些是上班的、哪些是下班的,因为有可能员工多打一次或少打一次。希望大家能给个思路或参考代码。
多谢了。只要能解决,分数由你说。