首页 新闻 搜索 专区 学院

关于考勤系统(查询一个月员工的打卡时间)

0
悬赏园豆:5 [待解决问题]

员工一天有多个上下班,没有迟到现象,只要员工上满8小时后,都算加班的时间。

求一个工作时间的累加,

例如:王五;(正常打卡的状态下):

1,上班 打卡时间:8:00 状态 0

2,午休回去打卡:11:00 状态 1

3,下午回来打卡:11:30 状态 0

4,晚上下班打卡:12:00 状态 1

5,下午回来打卡:14:30 状态 0

6,晚上下班打卡:17:00 状态 1

0表示上班状态,1表示下班状态

怎么通时员工的打卡状态(cuser2)跟打卡时间(brushdatetime),员工ID(empno char(32)),部门ID(deptno char(32))。 能不能做出员工每个月上班多少小时,加班多少小时,缺勤多少小时? 会的高手帮忙指点下。。。在此感谢了,论坛逛了好多,都没有找到类似的案例。。

JHCHEN的主页 JHCHEN | 初学一级 | 园豆:195
提问于:2010-11-06 09:53
< >
分享
所有回答(5)
0

你先算出每天的上班多少小时,加班多少小时,缺勤多少小时?然后再算出月的。

江淮 | 园豆:205 (菜鸟二级) | 2010-11-06 11:31
0

感觉你要把他们一个个分开来吧,不能全是0和1,这样你能分开是哪个打的吗

我觉得要这样:

1,上班 打卡时间:8:00 状态 0

2,午休回去打卡:11:00 状态 1

3,下午回来打卡:11:30 状态 2

4,晚上下班打卡:12:00 状态 3

5,下午回来打卡:14:30 状态 4

6,晚上下班打卡:17:00 状态 5

这样你才能算出每个人,每天到底上了多少小时,然后再算月吧,不知道对你有没有用,只是个人看法。

wlz0815 | 园豆:587 (小虾三级) | 2010-11-07 15:56
状态指的是员工上下班的工作状态,0代表上班打卡,1呢代表下班打卡
支持(0) 反对(0) JHCHEN | 园豆:195 (初学一级) | 2010-11-08 11:40
那比如说我8点来上班,11点下班回去后,下午就没来了,你怎么算出这天我上了多少小时了。
支持(0) 反对(0) wlz0815 | 园豆:587 (小虾三级) | 2010-11-08 14:48
那就只算8点到11点这段时间,不考虑其它的,
支持(0) 反对(0) JHCHEN | 园豆:195 (初学一级) | 2010-11-09 13:41
0

你的表结构是咋样的?向上面说的那种情况能预防吗?

雪莱·亨尼格 | 园豆:524 (小虾三级) | 2010-11-08 14:51
我知道只算8点到11点呀,可是你只知道,0和1,我怎么知道到底是哪段时间打的上卡了,像上面的朋友说的,要不你把表结构,贴出来。。
支持(0) 反对(0) wlz0815 | 园豆:587 (小虾三级) | 2010-11-09 20:07
0

感觉你的数据库设计太麻烦了,数据库字段不能直接设成这样么? 上午上班时间, 上午下班时间,下午上班时间,下午下班时间,晚上上班时间,晚上下班时间,其它字段。 这样的个人每日考勤数据就只有一条了,而且很容易计算了。

achao | 园豆:125 (初学一级) | 2010-11-16 12:05
0

这种方式,是可以的,毋庸置疑的!如果一定要按楼主那样,我很好奇这个数据库要如何设计,数据的冗余有多少?

但是,在实际的应用的,很少有公司这样去算一个员工的加班,也很少有员工会愿意吃个饭还要打卡。。。

我有个建议,也相信绝大多数公司都是这样:

上班打卡一次,下班打卡一次,计算两者之间的时间差,再减去中午的休息时间(如果有),就是员工一天的工作时长了。即简单又合理。。。

Tester Chen | 园豆:1690 (小虾三级) | 2010-11-17 15:58
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册