首页 新闻 会员 周边

C# 考勤 录入数据库

0
悬赏园豆:40 [已解决问题] 解决于 2012-12-27 14:34

本人在系统中做一个考勤的模块,是医院用的考勤,有不同时间段的排班(

1、8:00--16:30(四次)
2、8:00--15:00(两次)
3、16:00--23:00(两次)
4、8:00--次日8:00(两次)
5、8:00--11:30(两次)
6、23:00--8:00(两次))

在打卡机里导出txt文件的打卡记录上传到服务器上,在根据排班表将每条记录循环存储至数据库里,因为排班的时间段的关系 要判断是打几次卡的,上班还是下班,是否重复打卡,是否迟到早退

数据库查询出来的某月排班表DataTable arrangetime = tool.GetArrangeTimeDate(date1, date2);date1开始日期每月的26日,date2次月的25日

导出的txt文件读取的打卡记录List<string[]> list = new List<string[]>();(如id  打卡时间  打卡人姓名  上班下班标示:I/O)

要求:上班迟到十分钟之内不记迟到,避免一个人的重复打卡(比如A打完卡B打,之后A又打了一遍) 

我的思路是循环数据库里的排班日期时间表  在循环list  其中符合要求(人名,日期相同,人名不重复,上班打卡时间小于上班时间)的 记为未迟到  写入数据库  类推....

不知道我又没有叙述清楚,不知道如何完成这个程序了,求高人指教

W宁宁的主页 W宁宁 | 小虾三级 | 园豆:522
提问于:2012-12-25 10:09
< >
分享
最佳答案
0

我觉得 出退勤分开 不要限制重复打卡

收获园豆:10
gxc. | 菜鸟二级 |园豆:319 | 2012-12-25 10:19
其他回答(2)
0

上班时间,取最早打卡时间记录

下班时间,取最晚打卡时间记录

收获园豆:10
chenping2008 | 园豆:9836 (大侠五级) | 2012-12-25 10:17

在遍历的时候我用了两个for  对 datatable里的数据和list里的数据分别比较的,怎么能取到你说的最早和最晚的呢,还要是这人的打卡呢

支持(0) 反对(0) W宁宁 | 园豆:522 (小虾三级) | 2012-12-25 10:21

@W宁宁: 按照日期和是人进行分组,取最早的时间记录和最晚的时间记录

支持(0) 反对(0) chenping2008 | 园豆:9836 (大侠五级) | 2012-12-25 10:25
0

你描述的很不清楚,按我理解,打卡机里的txt记录应该是每打一次卡有一条记录

USERID       USERNAME   CHECKTIME
A0001           张三          2010-12-28 7:49:38
A0001           张三          2010-12-28 17:05:12
A0002           李四          2010-12-28 7:50:38
A0002           李四          2010-12-28 17:07:12
A0002           李四          2010-12-28 17:07:16

我给你的思路是:

1.先将txt的数据全部导入数据库

2.通过再写一个存储过程统计出某个ID当天的最早打卡时间及最后打卡时间,结果如下:

USERID     USERNAME      START TIME          END TIME           TIMES
A0001           张三        2010-12-28 7:49:38    2010-12-28 17:05:12         8
A0002           李四        2010-12-28 7:50:38    2010-12-28 17:07:16         8

3.根据统计出来的数据,再判断他是否迟到或早退

收获园豆:20
Rich.T | 园豆:3440 (老鸟四级) | 2012-12-25 10:19

谢谢,是个思路,但是怎么避免有值夜班的跨了一天呢....

支持(0) 反对(0) W宁宁 | 园豆:522 (小虾三级) | 2012-12-25 10:24

@W宁宁: 

如果有跨天的话,这个应该就得手动操作了

不过这个还是要看你的同步时间,是每天同步一次,每周同步一次,还是每月同步一次

支持(0) 反对(0) Rich.T | 园豆:3440 (老鸟四级) | 2012-12-25 10:27

@Rich.T: 哦哦,是按月录入的,按月发工资嘛,嘻嘻

支持(0) 反对(0) W宁宁 | 园豆:522 (小虾三级) | 2012-12-25 10:35
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册