考勤打卡设计方案
select * from t_kq_wastebook where date_format(kaoqin_time,'%Y-%m-%d')='2016-07-05'
-- 这个单位打几次卡?一般是二次或四次,不支持其它班次
-- 一轮班次
06:00:00 至 09:00:00 上午上班班次 其中 08:00:00之前为正常到岗,08:00:01之后至09:00:00之间,为迟到
17:00:00 至 21:00:00 下午上班班次 其中 17:00:00至17:30:00之前为早退,17:30:01之后至21:00:00之间,为正常下班
-- 两轮班次
06:00:00 至 09:00:00 上午上班班次 其中 08:00:00之前为正常到岗,08:00:01之后至09:00:00之间,为迟到
11:00:00 至 12:00:00 上午下班班次 其中 11:00:00至11:30:00 之间为早退,11:30:01之后至12:00:00之间,为正常下班
12:30:00 至 13:30:00 下午上班班次 其中 13:00:00之前为正常到岗,13:00:01之后至13:30:00之间,为迟到
17:00:00 至 21:00:00 下午上班班次 其中 17:00:00至17:30:00之前为早退,17:30:01之后至21:00:00之间,为正常下班
其它时间为无效打卡记录
-- 某个单位支持默认班次, 也支持特殊人群的指定班次,班次就是描述有几次打卡,支持两次和四次,其它不支持。
-- 四次打卡的四个字段均需要维护,二次打卡的只维护前两个字段
表1:
打卡规则 规则ID,几次打卡(2?4) 分别的打卡有效时间是什么范围?
表2:
哪个人,使用哪套打卡规则
表3:
哪个人,哪一天,四次(或两次)的有效打卡时间是什么?
AM_START:
AM_END:
PM_START:
PM_END:
HAPPEN_DATE:
PERSON_ID:
BUREAU_ID:
表4:流水帐,暂时用MYSQL来记录。
CREATE TABLE `t_kq_wastebook` ( `id` int(11) NOT NULL AUTO_INCREMENT, `person_id` int(11) DEFAULT NULL, `kaoqin_time` datetime DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;
*************************需要基础数据提供为每名员工维护员工编号的功能,并可以打印出带员工编号的员工列表。员工编号因打卡机为纯数字,不能输入字母,但东师理想的财务编号却是带字母的,所以,可能是两列,描述同一个人。*************************
统计分析应包括:
1、按部分汇总(一级部门,二级部门)
2、按人员查看打卡流水。
3、显示上面图示的整体全单位打卡的概况图。
上图中0表示旷工,即没有打卡记录。