如果你用的是中控考勤机且考勤机能联网,那恭喜有福了! 最近发现考勤机提供web方式查询,经过调试可以用程序直接读取考勤机数据跨过考勤机软件及其access数据库,数据同步及时性、可靠性大幅提高。

通达oa2011已经支持 指纹考勤机  但只限中控iclock660 这款2000大洋的型号,通过本文的开发接口,可以与任意一款指纹机集成, 需求指纹机管理软件能实时保存数据;

我这里用的是 中控u160 指纹考勤机, 这款机器支持WIFI ,可以实现实时传输考勤数据,这也就意味着,用户采集指纹马上就能够在自己的OA上看到自己的考勤数据;

特别指出的一点是这款机器的中控u160WIFI配置 容易出错的是 网线连接的ip网段 设置192.168.3.x,WIFI ip网段是在192.168.1.x   ,这样才能保证成功, 大多数都是错在这里

之前博文里提到的使用PHP同步 ACCESS与mysql数据库的方式,有些缺点由于php是被动执行的脚步,我们只能够定时重复执行的方式来实现,确实不方便;

来说下新方案:

1, 首先我们仍使用中控提供的考勤软件 ATT2008或称为zktime5.0 ,考勤机光盘附带的标准版,一般都有, 这里我们不再使用access而使用MSSQl数据库,安装目录下有一文件 mssql.sql ,放在sqlserver企业管理器中执行,就创建好要使用的数据库及表了,我们命名数据库为 Att2008;

2,打开 表checkinout , 添加自增字段 id (这里严重鄙视一下!。。 ),修改通达oa数据库 attend_duty 增加 outID字段

3,使用sql企业管理器创建作业任务名为:update_TDOA ,作业计划选择每天 ,作业步骤 添加以下脚本:

 1 use att2008
 2 declare @num int,
 3 <span style="white-space:pre">        </span>@sqls nvarchar(4000),
 4 <span style="white-space:pre">        </span>@con varchar(200),
 5 <span style="white-space:pre">        </span>@startID int,
 6 <span style="white-space:pre">        </span>@attend_duty varchar(300)
 7 set @startID=0
 8 --需先安装MySQL ODBC 3.51驱动
 9 set @con='OPENROWSET(''MSDASQL'',''DRIVER={MySQL ODBC 3.51 Driver};SERVER=127.0.0.1;PORT=3336;DATABASE=td_oa;USER=root;PASSWORD=myoa888;STMT=set names gb2312;OPTION=2049'','
10 set @attend_duty=@con+'''select * from ATTEND_DUTY;'')'
11 set @sqls='SELECT @a=outid FROM '+@con+'''select outid from attend_duty order by id desc limit 1;'')'
12 exec('delete &nbsp;'+@con+'''select * from attend_duty'') where register_type=2 and CONVERT(varchar(12) , register_time, 112 )=&nbsp;
13 (select top 1 CONVERT(varchar(12) ,CHECKTIME, 112 ) from CHECKINOUT order by CHECKTIME desc)&nbsp;
14 ')
15 exec sp_executesql @sqls,N'@a int output',@startID output&nbsp;
16 print @startID
17 exec('insert '+@con+'''select * from ATTEND_DUTY'') (outid,USER_ID,REGISTER_TYPE,REGISTER_TIME,REGISTER_IP,type)&nbsp;
18 SELECT top 500 &nbsp;C.id,case when A.user_id is not null then A.user_id else ''0'' end,

至此,你已经实现了数据同步,不过到这里仍然是定时执行,如果你没有进一步的要求,到这里也可以了

同步数据实现每次调用只更新增量数据,并且自动识别考勤类型写入mysql,每天第一次为上班登记,最后一次打卡为下班数据;

4,打开sql查询 添加以下脚本:

 1 use att2008
 2 if (object_id('tgr_zk2TDOA_insert', 'tr') is not null)
 3     drop trigger tgr_zk2TDOA_insert
 4 go
 5
 6 create trigger tgr_zk2TDOA_insert on CHECKINOUT  Instead Of Insert
 7 as
 8 SET XACT_ABORT ON
 9 --*************************************************************
10
11
12 if exists (select 1 from checkinout where checktime=(select checktime from inserted) )
13    return;
14
15 insert checkinout(USERID,CHECKTIME,CHECKTYPE,VERIFYCODE,SENSORID,WORKCODE,sn,USEREXTFMT)
16 select USERID,CHECKTIME,CHECKTYPE,VERIFYCODE,SENSORID,WORKCODE,sn,USEREXTFMT from inserted
17
18 --执行同步作业
19 declare @JobID uniqueidentifier
20 select @JobID=Job_ID from msdb.dbo.sysjobs where Name='update_TDOA' --查Job_ID
21 EXEC msdb.dbo.sp_start_job @job_id = @JobID
22
23 --************************************************************
24 go
25 SET XACT_ABORT OFF
26 print '更新成功!';
27 go

此处,使用触发器调用上一步的作业执行数据同步到OA,并且修正了 中控考勤软件的一处bug,你会发现每次点击考勤软件中下载记录会像数据库中添加全部数据 ,比如之前有9000条数据,点一次变成18000了再一次27000条记录了, 太可怕了。。。此处再鄙视以下中控;

这里触发器增加了验证,如果要增加的记录 数据库中已经有了,不再添加;

有人会问为什么不把同步脚本放在触发器中执行? 这里使用链接服务器写入mysql时直接在触发器中执行 基本不会成功,需要配置很多东西,还不一定成功,直接调用作业吧;

转载于:https://www.cnblogs.com/GmrBrian/p/3199314.html

通达OA 同步中控考勤机 增强版相关推荐

  1. 通达OA 与中控考勤机同步 最优http方案 附源码

    中控考勤机软件可以将考勤机记录实时下载到本地数据库里, 很让人恼怒的是考勤机软件经常与设备断开连接,断开还不会自动重连, 可考前太差了,之前的几种方案也都无从谈起了. 苦思之后,想起直接用考勤机ip访 ...

  2. 通达oa考勤可以代打吗_如何使用通达OA同步助手

    1.通达OA同步助手的作用 1)实现日程安排.工作日志和通讯簿的数据同步到客户端存储. 2)实现离线浏览日程安排.工作日志和通讯簿等信息. 3)支持多用户数据存储,保护用户隐私和数据安全. 2.通达O ...

  3. 小飞鱼通达OA二次开发 同步中控考勤机网络版数据到OA系统并增加个人查询功能(图文)

    一般我们同步的都是中控的单机版系统,这个系统本身是支持的,只不过原有的程序有些bug需要处理一下.这次同步的是中控的网络版考勤机,有什么不同么?当然有,网络版的数据库结构与单机版本完全不同. 经过连接 ...

  4. 潍坊OA:通达OA 2015版正式发布

    通达OA2015版在三月隆重登场.今天,我们正式发布通达 OA2015版全线产品.包括通达 OA2015版.通达 OA精灵2015双核极速版,以及通达 OA移动版(IOS版.Android版). 通达 ...

  5. android 通达信 数据接口,通达OA移动版完美兼容iOS/Android操作系统

    时下,6亿网民的生活正因移动互联网的进步而悄然发生改变,时代大潮已经让移动办公成为了2014上半年最炙手可热的主流办公模式,一个明显的趋势就是移动OA将是未来企业信息化不可缺少的重要组成部分. 以移动 ...

  6. 通达oa精灵的下载步骤_通达oa精灵app下载|通达oa精灵2018官方版下载_v2.12_9ht安卓下载...

    通达oa精灵手机版2018是一款便捷.高效的办公协助软件.能够让员工之间沟通更便捷,查询信息更方便,数据统计更高效,让您办公更轻松!新版的通达OA精灵2018使用更加流畅,消息的推送更加敏捷,再一次加 ...

  7. 通达oa精灵的下载步骤_通达OA精灵2016版官方下载_通达OA精灵2016版电脑版_通达OA精灵2016版20161212-华军软件园...

    通达OA精灵2016是通达OA网络智能办公系统的移动版软件,通达OA是国内领先的办公软件产品,已拥有上万家企事业单位用户.移动版提供了邮件.公告通知.日程安排.通讯薄.工作流.微讯等功能模块.其中,微 ...

  8. Centos mysql5.7 主从复制 之 无损复制,增强版的半同步复制 ( lossless replication )单向同步

    mysql 有四种同步方式: 1.异步复制( asynchronous replication) 原理:在异步复制中,master写数据到binlog且sync,slave request binlo ...

  9. 通达OA系统2019版流程中心,外部表单提交数据到指定流程第一步

    通达OA系统2019版流程中心,外部表单提交数据到指定流程第一步 总体操作过程 具体操作过程 1.根据需要提交到流程的表单,新建表 2.系统管理员账号登录OA系统,按照 菜单>流程中心>工 ...

最新文章

  1. pb分组数据累计_A轮公司数据分析面试经验
  2. VMware vCenter 6.0 安装及群集配置介绍
  3. 字符串作为freemarker模板的简单实现例子
  4. 【三分钟学习FFMPEG一个知识点】FFMPEG关于avio_alloc_context申请使用内存释放问题
  5. linux命令(32):free命令
  6. 记一次“U盘拔出”后重要文件丢失的恢复之旅
  7. ubuntu Mac 上ssh保持会话连接
  8. 计算机绘图相切,第九章计算机绘图基础.
  9. 数据读取入门——xlsread
  10. 从十七年蝉谈起——hashtable的表格大小为什么要选择质数
  11. 头哥Numpy初体验答案
  12. FLStudio水果最新版本V21支持中文语言
  13. 数藏行业公众号裂变,单日拉新8w+,实现低成本获客?
  14. 阿里云-个人建网站从0到精通(一)
  15. 128、H3C交换机恢复出厂和各种基本配置
  16. vr全景系统平台哪家好, vr全景是什么?
  17. 锁定计算机重启会变更ip吗,计算机更改IP不需要重启的方法
  18. 体育馆预约系统java_基于JAVA WEB的高校体育场地预约管理系统(计算机毕业设计)...
  19. Mac电脑使用:下载安装SourceTree的步骤以及使用方法
  20. wlan从入门到精通第四期WLAN常用概念

热门文章

  1. 服务器如何安装微软,新至强服务器上安装Hyper-V(一)
  2. go语言单元测试之三:go语言用goconvey库做单元测试
  3. python-docx 页眉-清除原页眉图像插入自适应图像
  4. 第一次用Sibelius 打谱记录~~_Andy_Issta_新浪博客
  5. 倒数日怎么显示在桌面_一款非常好用而且没广告的倒数日软件,记录生活中重要的日子-APP杂货店今日推荐...
  6. 玩具CE认证安全指令2009/48 / EC
  7. 百事通BesTV_R3300-L_S905L_8189线刷包
  8. 年底找工作,太难了!你觉得难吗?
  9. Creo3.0轴孔配合不能旋转
  10. 2010考研数学二第(16)题——极限:数列极限,夹逼准则,常考不等式,两问关联