您的位置:首页 > 其它

考勤打卡设计方案

2016-07-13 15:05 232 查看
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表示旷工,即没有打卡记录。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: