早班时间范围 7:00-7:30 15:30-16:00 上下班范围30分钟
中班时间范围 15:00-15:30 23:30-00:00 上下班范围30分钟
夜班时间范围 23:00-23:30 07:30--8:00 上下班范围30分钟考虑采用倒班自动识别, 根据刷卡时间来识别哪个班次, 上边这样,员工有可能随时进行倒班,或者替班,会出现班次重叠现象,无法识别到底是哪个班,请问大家 有什么好的建议呢。。?谢谢
中班时间范围 15:00-15:30 23:30-00:00 上下班范围30分钟
夜班时间范围 23:00-23:30 07:30--8:00 上下班范围30分钟考虑采用倒班自动识别, 根据刷卡时间来识别哪个班次, 上边这样,员工有可能随时进行倒班,或者替班,会出现班次重叠现象,无法识别到底是哪个班,请问大家 有什么好的建议呢。。?谢谢
kqbc sjleft sjfw sjright ( 上班刷卡有效时间,时间范围,下班刷卡有效时间)
车间早班 030030 07301530 030030
车间中班 030030 15302330 030030
车间夜班 030030 23300730 030030上班刷卡有效时间
例车间早班:
0730 前后30分可以刷卡,小于0730-030 或大于0730+030为无效刷卡,大于0730,至0800范围内刷卡为迟到,根据规则扣罚。 1530 前后30分可以刷卡,小于1530-030 或大于1530+030为无效刷卡,小于1530,至1500 范围内刷卡为早退,根据规则扣罚。
2.员工排班表员工编号(fnumber) 考勤班次(kqbc)4763 车间早班
4763 车间中班
4763 车间夜班
4765 车管中班
4765 车管夜班
4766 厂内巡逻中班
4766 厂内巡逻夜班
-------------------------------
以上员工,当月可能的班次。
更改原则,员工班次发生变化,那调整排班表,无变化,则延续使用。3.员工表employee编号bh 卡号kh 考勤班次kqbc 自动倒班iszddb
4763 17556 倒班 1
4700 15521 行管正常 04.原始考勤表编号bh 卡号kh 日期rq 时间sj
4763 17556 2008-04-01 23:31:00
4763 17556 2008-04-02 07:31:005.处理思路
对于自动倒班员工,依据班次自动识别法识别考勤循环员工表 select * from employee where iszddb=1
循环当前员工考勤日期范围(2008-04-01 至2008-04-30)
循环当前员工当前日期原始考勤 例4-1日 查找范围在 2008-03-30至2008-04-2 内考勤,即前后共三天。
循环当前员工排班表
查找当前班次内是否有刷卡记录:上下班同时满足条件,有,再进一步处理迟到早退。--------------------------------------------------------------------------------------
存在问题,如下刷卡时:
2008-4-1 15:31:00
2008-4-1 23:31:00
2008-4-2 07:12:00
2008-4-2 15:31:00会识别为 4.1 (车间中班,车间夜班) 正常,正常,迟到,早退。同时4.2日会有考勤,这样就凭空多了一个班次。考虑把已经处理过的刷卡记录置标志1,循环其余班次时不再考虑标志为1,这样也不可以,因为实际同时连上两个班时,有可能员工只刷一次卡。这样,标志又失效了难道只能修改考勤时间范围这条出路了吗?
上班时间同一个人取最大时间
下班时同一个人取最小时间 三个段一union
or
join
间隔在10小时之内的为一对进出记录。
[align=center]==== 思想重于技巧 ====
[/align]