原创_对于某些系统曾未支持考勤机的考勤数据自动采集方法_人力资产
学习.交流
专业源于专注
www. onlyit. cn   
学习交流 文件下载 手册资料 交流QQ群

    

 7  1/1   1  
作者
内容
awfixtdm  [个人空间]


注册  2011-08-18
发贴数  445
精华贴  2
原创贴  5
来自  
状态  正常

级别  版主
#1»发布于2013-07-16 16:02

遇到些不是大牌的打卡机,系统还没有相应DLL支持的时候。大家第一念头都是只能更换打卡机或是导出文本修改完 
 
再导入吧,有没有更方法的方法让系统能够采集到打卡机数据呢?答案是有的,下面试给大家看看 
 
首先把打卡机换到SQL数据库,不是山寨到尽点的一百来块的基本都支持SQL,具体就不行了,菜单里看看。有些考 
 
勤软件安装的时候已经自带了阉割版的SQL,去网上下完整的装上,2000或2005,2008都可以。 
 
接下来,SQL2000打开“SQL事件查看器”,2005版本打开“SQL Server Profiler”,新建一个跟踪,开始追踪数据 
 
首先通过考勤机自带的软件,按平时的操作习惯查看出勤记录,为了方便查找到追踪的数据,我们可以设定一个参 
 
照物,如设个日期,或者是查询某一个工号。 
 
根据下图,我们可以看到通过SQL的数据追踪界面,我们可以很方便的通过查询我们设好的参数而快速定位到我们在 
 
考勤界面所查询到的数据。我们前面所做的查询操作,在数据库里其实就是一条查询语句 
 
select d.DeptName,d.DeptNo,r.EmplId, e.WorkId, e.CardId, e.EmplName, r.CardNo,DBO.CM_ConvertDate(RecDate) as RecDate, RecTime, VerifyMode, IsAuto, EquNo, InOutType, OperId,  
DBO.CM_ConvertDate(OperDate) as OperDate, r.Remark  from AtdRecord r, #tmp130716154154046 tmp, HrEmployee e, HrDept d  where tmp.EmplId = e.EmplId and r.EmplId = e.EmplId and e.DeptId =  
d.DeptId   and r.RecDate >= '2013-06-30' and r.RecDate <= '2013-07-04' order by e.WorkId, cast(RecDate as datetime), RecTime  
 
分析这个语句,我们可以找到语句里所查询到的表有AtdRecord,临时表#tmp130716154154046,HrEmployee  
 
和 HrDept,在数据库里查询这些表,语法select * from 表名,看看这些表里是什么内容(其实有一定基础从上面 
 
的语句字段中已经可以看出来了) 
 
找出人员资料表HrEmployee,里面有工号有姓名等,AtdRecord表是打卡记录表,有这两个就可以用了 
 
HR系统里的打卡记录存放在timer_original_rec中(同样通过数据追踪可以找出来) 
 
好了,接下来,我们就根据timer_original_rec表里的格式,写个触发器,当考勤机软件采集数据的时候,就同步按 
 
timer_original_rec表里的格式,把考勤数据库里新写入的数据处理成timer_original_rec表格式后写入 
 
timer_original_rec表,在HR考勤的处理里就可以检索得到了。等于把系统里的数据采集这一步放到了考勤机自带 
 
的软件里。当然同步的SQL语句还要加上一些日期跟时间判断来避免多次采集数据造成的记录重复。 
 
当然有人会说,这些就失去了系统里的定时自动采集的功能,我们可以通过装个按键精灵,把打开考勤软件采集数 
 
据的操作过程记录下来,生成个EXE,用windows系统自带的“任务计划“创建个任务,设好运行时间,就可以在我 
 
们中午吃饭时由电脑自动把数据采集上来。




        于 2013-07-16 16:02 被 awfixtdm 修改




QQ:80240800

awfixtdm  [个人空间]


注册  2011-08-18
发贴数  445
精华贴  2
原创贴  5
来自  
状态  正常

级别  版主
#2»发布于2013-07-16 16:05

上面的方法是两者皆用SQL数据库,ACCESS的方法就要笨点了,最多一个表一个表去打开,看里面是什么内容,然后做个同步器,把考勤的数据库里处理好写入ONLYIT的数据库,一样可以通用,麻烦点而已






QQ:80240800

awfixtdm  [个人空间]


注册  2011-08-18
发贴数  445
精华贴  2
原创贴  5
来自  
状态  正常

级别  版主
#3»发布于2013-07-27 16:47

居然没人顶,过伤心






QQ:80240800

TOLY  [个人空间]


注册  2011-09-25
发贴数  18
精华数  0
原创贴  0
来自  
状态  正常

级别  会员
#4»发布于2013-08-19 14:21

楼主用心了,凭这个,就支持下。我们公司考勤就是用的山寨机子,用SQL2000的数据库,那考勤机自动一个叫“K7考勤管理系统”,和中控考勤机自带的差不多,估计就是破解版!




TOLY  [个人空间]


注册  2011-09-25
发贴数  18
精华数  0
原创贴  0
来自  
状态  正常

级别  会员
#5»发布于2013-08-19 14:27

想用onlyit考勤软件,但是和考勤机不通,所以这一块就放弃了!因为2边数据倒来倒去,还不如考勤自带系统来的省事! 
 
不过楼主所说的,要有一定计算机知识,像我这种文科出身的人,完全不明白啊!




awfixtdm  [个人空间]


注册  2011-08-18
发贴数  445
精华贴  2
原创贴  5
来自  
状态  正常

级别  版主
#6»发布于2013-08-20 17:24

用不用我帮你弄一下,呵






QQ:80240800

firelao  [个人空间]


注册  2012-07-04
发贴数  18
精华数  0
原创贴  0
来自  
状态  正常

级别  会员
#7»发布于2013-08-21 09:04

楼主怎么都不理人? 
付费开发..





 7  1/1   1  

登录后方可发贴


[ 电话: 0571-85462761 王先生 QQ: 124520435 加入软件QQ群 - 杭州 - 浙ICP备19051128号-1 网安 33010402003225 ]