通达OA 与中控考勤机同步方案

中控考勤机软件可以将考勤机记录实时下载到本地数据库里,但考勤机软件经常与设备断开连接,断开还不会自动重连。 可以采用考勤机ip访问有web页面,跨过考勤机软件。


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


使用方法:


1, 将代码总 192.168.1.201替换为你考勤机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.201/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);

}

?>