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

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

只要你的考勤机是中控系列并且能够使用考勤机IP打开web界面就可以使用下面方法,稳定、高效,强烈推荐!

使用方法:

1, 将代码总 192.168.1.202替换为你考勤机IP

2, 备份原文件后将下文覆盖: MYOA\webroot\task\sync_duty_machine.php

3,通达OA 系统管理 ->定时任务管理-> 同步考勤机数据 启用     。 ok!


<?

$start =microtime(true);
$con = mysql_connect(127.0.0.1:3336", "root", "myoa888");
if (!$con)
    echo "无法连接Mysql";
mysql_select_db("td_oa");
mysql_query("set names GB2312");

//获取OA用户数据
$rs = mysql_query("select USER_ID,USER_NAME from user");
while ($row = mysql_fetch_array($rs))
    $duty_user[] = $row;
	
$rs = mysql_query("select REGISTER_TIME from attend_duty order by REGISTER_TIME desc limit 1");
$row = mysql_fetch_array($rs);
    $startDate = $row[0];	

//获取考勤机上所有用户id和姓名
$webSource = file_get_contents("http://192.168.1.202/csl/query");
preg_match_all("/uid value=(\d{1,})>/", $webSource, $user);
foreach ($user[1] as $u)
    $userStr.=$u . ",";
	
//获取考勤记录
****..................
//更新考勤记录	
$cnt=0;			
/*
......
<span style="font-size:18px;color:#330033;background-color: rgb(255, 0, 0);">
</span><span style="font-size:14px;color:#ff0000;"></span>
*/



$end = microtime(true);
$time= $end -$start;
if($cnt)
{

	$open=@fopen("log.txt","a");
	$add="更新了{$cnt} 条数据 ,耗时:". number_format($time, 2, '.',"")." 秒  ".date("Y-m-d H:i:s")."\r\n";
	@fwrite($open,$add);
	fclose($open);
}
?>



评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值