员工表(不用说了吧,基本信息)
记录表(日期、员工号、开始时间、结束时间、出勤情况)
如果自动打卡机,获取的就是工号、日期、时间。你通过程序判断每个人当天最小和最大时间,写到记录表里面
如果当天开始时间和结束时间都有,而且你还能根据时间段判断迟到、早退什么的,然后在出勤情况中写上相应信息
后面想怎么统计都用这个表来完成
比如说每个月出勤天数 select sum(*) from 记录表 where 日期在指定月范围 and 出勤情况 = '出勤'
月报表等等都能通过语句加上适当的循环来实现
是不是给你说得有点复杂?那你就别考虑打卡机和迟到早退,更简单了,呵呵
1.员工信息表(包括 职务(级别),入职时间(工龄),部门等)2.部门信息表(分组表)
3.工时总表(记录每个月的实际出勤数)(员工号,年度,1月工时,2月工时.....12月工时)
4.休假总表(记录各种假的基数,已休数,剩余数)(员工号,年度,年假基数,上年剩余,已休天数,未休天数,病假基数已休天数,未休天数,其它假已休天数)
5. 考勤明细表(员工号,考勤日期,工时数....)
6. 休假明细表(员工 号,休假日期,休假类型,休假小时数)
7. 休假类型表
8. 工作日表(只需要设置发生状态变化的,周一至周五缺省认为是工作日,周六日为休息日,如10月1日是周一,要设为非工作日,如果刚好是周六,则不需要设置)
9.用户表(包括 权限设置等)
用三张表来实现第一张表记录人员信息,包括工号、姓名、性别、适应考勤规则代码
第二张表记录人员上班明细记录,包括工号、上班时间、下班时间
第三张表记录考勤规则,报表考勤规则代码、另外的字段就是你上面的这些规则
做考勤处理的时候把这三种关联起来
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)