壹佰网|ERP100 - 企业信息化知识门户

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1871|回复: 0

通达OA 指纹考勤机接口源代码

[复制链接]
发表于 2011/9/8 22:25:19 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。如果您注册时有任何问题请联系客服QQ: 83569622  。

您需要 登录 才可以下载或查看,没有帐号?注册

x
通达OA 指纹考勤机接口 源代码 .

通达oa2011已经支持 指纹考勤机  但只限中控iclock660 这款2000大洋的型号

通过本文的开发接口,可以与任意一款指纹机集成, 需求指纹机管理软件能实时保存数据

我这里用的是 中控u160 指纹考勤机, 这款机器支持WIFI ,可以实现实时传输考勤数据,

特别指出的一点是这款机器的中控u160WIFI配置 容易出错的是 网线连接的ip网段 设置192.168.3.x

WIFI ip网段是在192.168.1.x   ,这样才能保证成功, 大多数都是错在这里



考勤机管理软件会生成一个 Access 数据库以保存信息,或其他数据库同理, 我们的目的就是用通达OA的

php连接此库,将信息同步到 OA考勤记录上, 本接口适用 通达oa2011 通达oa2010 ,通达oa早期版本未测试



代码中 将 通达oa的 attend_duty表 加了俩个字段 type和 update_time 自行添加或修改吧,

同步代码:




view plaincopy to clipboardprint?
01.<?  
02.include_once( "inc/td_core.php" );  
03.include_once( "inc/conn.php" );  
04.include_once( "inc/utility.php" );  
05.include_once( "inc/utility_all.php" );  
06.  
07.$ACCESS_PATH="D:\Program Files\Att2008\att2000.mdb";  
08.$CUR_DATE = date( "Y-m-d", time( ) );  
09.$conn = new COM( "ADODB.Connection" );  
10.        $connstr = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=".realpath( "{$ACCESS_PATH}" );  
11.        $conn->Open( $connstr );  
12.        $rs = new COM( "ADODB.RecordSet" );  
13.        $query = "select CHECKINOUT.USERID as USERID,CHECKINOUT.CHECKTIME as CHECKTIME ,USERINFO.name as name from CHECKINOUT,USERINFO where CHECKINOUT.USERID=USERINFO.USERID  ";  
14.        $rs->Open( $query, $conn, 1, 1 );  
15.        $i=0;  
16.        while ( !$rs->eof )  
17.        {  
18.                  
19.    $query1 = "SELECT USER_ID from USER where USER_NAME='".$rs->Fields("name")."'";  
20.    $cursor1 = exequery( $connection, $query1 );  
21.    if ( $ROW1 = mysql_fetch_array( $cursor1 ) )  
22.    {  
23.        $USER_ID = $ROW1['USER_ID'];  
24.        //            
25.        $CUR_DATE = date( "Y-m-d", time( ) );  
26.        $CUR_TIME = $rs->Fields("checktime");  
27.        $CUR_TIME=str_replace("上午","",$CUR_TIME);     
28.        $CUR_TIME=str_replace("下午 12","12",$CUR_TIME);   
29.        if((strpos($CUR_TIME,"下午")>-1))  
30.        {  
31.            //处理时间格式 删除上午 下午则加12小时   
32.            $CUR_TIME=str_replace("下午","",$CUR_TIME);  
33.            $CUR_TIME=strtotime($CUR_TIME)+43200;         
34.            $CUR_TIME=date("Y-m-d H:i:s",$CUR_TIME+12);   
35.        }         
36.         
37.         
38.        $update_time=date("Y-m-d H:i:s",time());  
39.        $REGISTER_TYPE="2";  
40.        $t=$_REQUEST['tcode'];  
41.         
42.        $query = "SELECT * from ATTEND_DUTY where USER_ID='".$USER_ID."' and to_days(REGISTER_TIME)=to_days('{$CUR_TIME}') order by id desc limit 1";  
43.        $cursor = exequery( $connection, $query );  
44.        if ( !( $ROW = mysql_fetch_array( $cursor ) ) )  
45.        {  
46.            $REGISTER_TYPE=1;  
47.                $query = "insert into ATTEND_DUTY(USER_ID,REGISTER_TYPE,REGISTER_TIME,REGISTER_IP,type,UPDATE_TIME) values ('".$USER_ID."','{$REGISTER_TYPE}','{$CUR_TIME}','zk指纹考勤机','0','{$update_time}')";  
48.                exequery( $connection, $query );  
49.                $i++;  
50.        }  
51.        else  
52.        {  
53.            $REGISTER_TYPE=2;  
54.              
55.            if($ROW['REGISTER_TYPE']==1)  
56.            {     
57.              if( strtotime($CUR_TIME) > strtotime($ROW['REGISTER_TIME'])  )  
58.                $query = "insert into ATTEND_DUTY(USER_ID,REGISTER_TYPE,REGISTER_TIME,REGISTER_IP,type,UPDATE_TIME) values ('".$USER_ID."','{$REGISTER_TYPE}','{$CUR_TIME}','zk指纹考勤机','0','{$update_time}')";  
59.            }  
60.            else  
61.            $query = "update ATTEND_DUTY set type='0',REGISTER_TIME='".$CUR_TIME."',REGISTER_IP='zk指纹考勤机',UPDATE_TIME='".$update_time."' where USER_ID='".$USER_ID."' and REGISTER_TYPE='{$REGISTER_TYPE}' and to_days(REGISTER_TIME)=to_days('{$CUR_TIME}')" ;  
62.            exequery( $connection, $query );      
63.            $i++;     
64.        }                 
65.    }            
66.                     
67.  
68.    $rs->MoveNext( );  
69.}  
70.    echo "成功更新".($i)."条记录!";  
71.?>  
<?
include_once( "inc/td_core.php" );
include_once( "inc/conn.php" );
include_once( "inc/utility.php" );
include_once( "inc/utility_all.php" );

$ACCESS_PATH="D:\Program Files\Att2008\att2000.mdb";
$CUR_DATE = date( "Y-m-d", time( ) );
$conn = new COM( "ADODB.Connection" );
                $connstr = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=".realpath( "{$ACCESS_PATH}" );
                $conn->Open( $connstr );
                $rs = new COM( "ADODB.RecordSet" );
                $query = "select CHECKINOUT.USERID as USERID,CHECKINOUT.CHECKTIME as CHECKTIME ,USERINFO.name as name from CHECKINOUT,USERINFO where CHECKINOUT.USERID=USERINFO.USERID  ";
                $rs->Open( $query, $conn, 1, 1 );
                $i=0;
                while ( !$rs->eof )
                {
                                
        $query1 = "SELECT USER_ID from USER where USER_NAME='".$rs->Fields("name")."'";
        $cursor1 = exequery( $connection, $query1 );
        if ( $ROW1 = mysql_fetch_array( $cursor1 ) )
        {
                $USER_ID = $ROW1['USER_ID'];
                //                        
                $CUR_DATE = date( "Y-m-d", time( ) );
                $CUR_TIME = $rs->Fields("checktime");
                $CUR_TIME=str_replace("上午","",$CUR_TIME);        
                $CUR_TIME=str_replace("下午 12","12",$CUR_TIME);        
                if((strpos($CUR_TIME,"下午")>-1))
                {
                        //处理时间格式 删除上午 下午则加12小时
                        $CUR_TIME=str_replace("下午","",$CUR_TIME);
                        $CUR_TIME=strtotime($CUR_TIME)+43200;               
                        $CUR_TIME=date("Y-m-d H:i:s",$CUR_TIME+12);        
                }               
               
               
                $update_time=date("Y-m-d H:i:s",time());
                $REGISTER_TYPE="2";
                $t=$_REQUEST['tcode'];
               
                $query = "SELECT * from ATTEND_DUTY where USER_ID='".$USER_ID."' and to_days(REGISTER_TIME)=to_days('{$CUR_TIME}') order by id desc limit 1";
                $cursor = exequery( $connection, $query );
                if ( !( $ROW = mysql_fetch_array( $cursor ) ) )
                {
                        $REGISTER_TYPE=1;
                                $query = "insert into ATTEND_DUTY(USER_ID,REGISTER_TYPE,REGISTER_TIME,REGISTER_IP,type,UPDATE_TIME) values ('".$USER_ID."','{$REGISTER_TYPE}','{$CUR_TIME}','zk指纹考勤机','0','{$update_time}')";
                                exequery( $connection, $query );
                                $i++;
                }
                else
                {
                        $REGISTER_TYPE=2;
                        
                        if($ROW['REGISTER_TYPE']==1)
                        {        
                          if( strtotime($CUR_TIME) > strtotime($ROW['REGISTER_TIME'])  )
                                $query = "insert into ATTEND_DUTY(USER_ID,REGISTER_TYPE,REGISTER_TIME,REGISTER_IP,type,UPDATE_TIME) values ('".$USER_ID."','{$REGISTER_TYPE}','{$CUR_TIME}','zk指纹考勤机','0','{$update_time}')";
                        }
                        else
                        $query = "update ATTEND_DUTY set type='0',REGISTER_TIME='".$CUR_TIME."',REGISTER_IP='zk指纹考勤机',UPDATE_TIME='".$update_time."' where USER_ID='".$USER_ID."' and REGISTER_TYPE='{$REGISTER_TYPE}' and to_days(REGISTER_TIME)=to_days('{$CUR_TIME}')" ;
                        exequery( $connection, $query );        
                        $i++;        
                }                                
        }                        
                                       

        $rs->MoveNext( );
}
        echo "成功更新".($i)."条记录!";
?>






下面奉上 通达oa 定时执行代码
可以实现上午9点前每隔1分钟执行一次 同步程序, 9-17点每隔5分钟一次 5-6点 1分钟一次。
具体内容大家自己研究 不详细解释了

webroot\ispirit\status_bar.php.




view plaincopy to clipboardprint?
01.<?php  
02./*********************/  
03./*                   */  
04./*  Version : 5.1.0  */  
05./*  Author  : RM     */  
06./*  Comment : 071223 */  
07./*                   */  
08./*********************/  
09.  
10.include_once( "inc/auth.php" );  
11.include_once( "inc/utility_all.php" );  
12.include_once( "inc/td_core.php" );  
13.$query = "SELECT * from USER where USER_ID='".$LOGIN_USER_ID."'";  
14.$cursor = exequery( $connection, $query );  
15.if ( $ROW = mysql_fetch_array( $cursor ) )  
16.{  
17.        $SMS_ON = $ROW['SMS_ON'];  
18.        $CALL_SOUND = $ROW['CALL_SOUND'];  
19.        $PWD = $ROW['PASSWORD'];  
20.        $PWD = substr( md5( keyed_str( $PWD, "BLVY" ) ), 0, 16 );  
21.}  
22.$CHECK_SMS = 0;  
23.if ( find_id( $USER_FUNC_ID_STR, "42" ) )  
24.{  
25.        $CHECK_SMS = 1;  
26.}  
27.else  
28.{  
29.        $query = "select * from SMS2_PRIV";  
30.        $cursor = exequery( $connection, $query );  
31.        if ( $ROW = mysql_fetch_array( $cursor ) )  
32.        {  
33.                $SMS2_REMIND_PRIV = $ROW['SMS2_REMIND_PRIV'];  
34.        }  
35.        if ( find_id( $SMS2_REMIND_PRIV, $LOGIN_USER_ID ) )  
36.        {  
37.                $CHECK_SMS = 1;  
38.        }  
39.}  
40.$NEW_SMS_HTML = "<a href='#' onclick='javascript:show_sms();' title='点击查看短信'><img src='/images/sms1.gif'border=0 height=10> 短信</a>";  
41.if ( $CALL_SOUND != "0" )  
42.{  
43.        $NEW_SMS_SOUND_HTML = "<object id='sms_sound' classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' codebase='/inc/swflash.cab' width='0' height='0'><param name='movie' value='/wav/".$CALL_SOUND.".swf'><param name=quality value=high><embed id='sms_sound' src='/wav/{$CALL_SOUND}.swf' width='0' height='0' quality='autohigh' wmode='opaque' type='application/x-shockwave-flash' plugspace='http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash'></embed></object>";  
44.}  
45.else  
46.{  
47.        $NEW_SMS_SOUND_HTML = "";  
48.}  
49.echo "\r\n<html>\r\n<head>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=gb2312\">\r\n<link rel=\"stylesheet\" type=\"text/css\" href=\"/theme/";  
50.echo $LOGIN_THEME;  
51.echo "/status_bar.css\">\r\n";  
52.  
53.//echo "<meta http-equiv=refresh content=\"10\">";   
54.  
55.echo "<title>状态栏</title>\r\n<script src=\"/inc/js/utility.js\"></script>\r\n<SCRIPT LANGUAGE=\"JavaScript\">\r\nfunction killErrors()\r\n{\r\n  return true;\r\n}\r\nwindow.onerror = killErrors;\r\n\r\nvar ctroltime;\r\nvar checktime;\r\n\r\nfunction MyLoad()\r\n{\r\n  setTimeout(\"online_mon()\",1000);\r\n  clearTimeout(ctroltime);\r\n  ctroltime=setTimeout(\"sms_mon()\",3000);\r\n  setTimeout(\"email_mon()\",11000);\r\n";  
56.if ( $I_VER == "2" )  
57.{  
58.        echo "     window.external.OA_SMS(\"";  
59.        echo $LOGIN_USER_NAME;  
60.        echo "\",\"";  
61.        echo $PWD;  
62.        echo "\",\"NAME\");\r\n";  
63.}  
64.echo "}\r\n\r\nfunction online_mon(req)\r\n{\r\n  if(isUndefined(req))\r\n  {\r\n     _get(\"../general/ipanel/user/user_count.php\",\"CHECK_SMS=";  
65.echo $CHECK_SMS;  
66.echo "\",online_mon);\r\n     setTimeout(\"online_mon()\",";  
67.echo $ONLINE_REF_SEC * 1000;  
68.echo ");\r\n  }\r\n  else\r\n  {\r\n     var count = 0;\r\n     if(req.status==200)\r\n        count = isNaN(parseInt(req.responseText)) ? 0 : parseInt(req.responseText);\r\n     \$(\"user_count1\").value=count;\r\n     \$(\"user_count1\").size=(\$(\"user_count1\").value.length<3 ? 3 : \$(\"user_count1\").value.length);\r\n";  
69.if ( $I_VER == 2 )  
70.{  
71.        echo "     if(count == 0)\r\n     {\r\n        window.external.OA_SMS(\"\",\"\",\"RELOGIN\");\r\n     }\r\n";  
72.}  
73.echo "  }\r\n}\r\n\r\nfunction email_mon(req)\r\n{\r\n  if(isUndefined(req))\r\n  {\r\n     _get(\"../general/status_bar/email_mon.php\",\"\",email_mon);\r\n     setTimeout(\"email_mon()\",900000);\r\n  }\r\n  else if(req.status==200)\r\n  {\r\n     if(req.responseText==\"1\")\r\n        \$(\"new_letter\").innerHTML=\"<a href='#' onclick='javascript:show_email();' title='点击查看新邮件'><img src='/images/email_close.gif' border='0' width='16' height='16' align='absMiddle'></a> \";\r\n     else\r\n        \$(\"new_letter\").innerHTML=\"\";\r\n  }\r\n}\r\n\r\nvar sms_mon_ref = ";  
74.echo $SMS_REF_SEC * 1000;  
75.echo ";\r\nfunction sms_mon(req)\r\n{\r\n  if(isUndefined(req))\r\n  {\r\n     clearTimeout(ctroltime);\r\n     _get(\"../attachment/new_sms/";  
76.echo $LOGIN_UID;  
77.echo ".sms?now=\" + new Date().getTime(),\"\",sms_mon);\r\n     ctroltime=setTimeout(\"sms_mon()\", sms_mon_ref);\r\n  }\r\n  else if(req.status==200)\r\n  {\r\n     if(req.responseText==\"1\")\r\n     {\r\n        \$(\"new_sms\").innerHTML=\"";  
78.echo $NEW_SMS_HTML;  
79.echo "\";\r\n        \$(\"new_sms_sound\").innerHTML=\"";  
80.echo $NEW_SMS_SOUND_HTML;  
81.echo "\";\r\n";  
82.if ( $I_VER == "2" )  
83.{  
84.        echo "     window.external.OA_SMS(\"\",\"1\",\"OPEN\");\r\n";  
85.}  
86.else if ( $SMS_ON == 1 )  
87.{  
88.        echo "       show_sms();\r\n";  
89.}  
90.echo "     }\r\n     else\r\n     {\r\n     \t  set_no_sms()\r\n     }\r\n  }\r\n}\r\n\r\nfunction set_sms_ref()\r\n{\r\n   sms_mon_ref = ";  
91.echo $SMS_REF_SEC * 10 * 1000;  
92.echo ";\r\n}\r\nfunction set_no_sms()\r\n{\r\n   \$(\"new_sms\").innerHTML=\"\";\r\n   \$(\"new_sms_sound\").innerHTML=\"\";\r\n}\r\nfunction show_sms()\r\n{\r\n   set_no_sms();\r\n   mytop=(screen.availHeight-410)/2;\r\n   myleft=(screen.availWidth-425)/2;\r\n   URL=\"im/smsbox.php@ISPIRIT=1*I_VER=";  
93.echo $I_VER;  
94.echo "*CALL_SOUND=";  
95.echo $CALL_SOUND;  
96.echo "\";\r\n   window.open(\"/ispirit/go.php?LOGIN_UID=";  
97.echo $LOGIN_UID;  
98.echo "&LOGIN_USER_PRIV=";  
99.echo $LOGIN_USER_PRIV;  
100.echo "&LOGIN_DEPT_ID=";  
101.echo $LOGIN_DEPT_ID;  
102.echo "&LOGIN_AVATAR=";  
103.echo $LOGIN_AVATAR;  
104.echo "&PWD=";  
105.echo $PWD;  
106.echo "&URL=\"+URL,\"sms_show_";  
107.echo $LOGIN_UID;  
108.echo "\",\"height=422,width=480,top=\"+mytop+\",left=\"+myleft+\",status=0,toolbar=no,menubar=no,location=no,scrollbars=no,resizable=yes\");\r\n}\r\n\r\nfunction show_email()\r\n{\r\n   \$(\"new_letter\").innerHTML=\"\";\r\n   mytop=(screen.availHeight-500)/2-30;\r\n   myleft=(screen.availWidth-780)/2;\r\n\r\n   URL=\"/general/email/\";\r\n   window.open(\"/ispirit/go.php?LOGIN_UID=";  
109.echo $LOGIN_UID;  
110.echo "&LOGIN_USER_PRIV=";  
111.echo $LOGIN_USER_PRIV;  
112.echo "&LOGIN_DEPT_ID=";  
113.echo $LOGIN_DEPT_ID;  
114.echo "&LOGIN_AVATAR=";  
115.echo $LOGIN_AVATAR;  
116.echo "&PWD=";  
117.echo $PWD;  
118.echo "&URL=\"+URL,\"oa_sub_window\",\"height=500,width=780,status=0,toolbar=no,menubar=no,location=no,scrollbars=yes,top=\"+mytop+\",left=\"+myleft+\",resizable=yes\");\r\n}\r\n\r\nfunction show_online()\r\n{\r\n   parent.ipanel.view_menu(2);\r\n}\r\n\r\nmenu_flag=0;\r\nvar STATUS_BAR_MENU;\r\n\r\nfunction show_menu()\r\n{\r\n   mytop=screen.availHeight-480;\r\n   myleft=screen.availWidth-215;\r\n   if(menu_flag==0)\r\n       STATUS_BAR_MENU=window.open(\"menu.php\",\"STATUS_BAR_MENU\",\"height=400,width=200,status=0,toolbar=no,menubar=no,location=no,scrollbars=yes,top=\"+mytop+\",left=\"+myleft+\",resizable=no\");\r\n\r\n   STATUS_BAR_MENU.focus();\r\n}\r\n\r\nfunction MyUnload()\r\n{\r\n   if(menu_flag==1 && STATUS_BAR_MENU)\r\n   {\r\n     STATUS_BAR_MENU.focus();\r\n     STATUS_BAR_MENU.MAIN_CLOSE=1;\r\n     STATUS_BAR_MENU.close();\r\n   }\r\n}\r\n";  
119.  
120./*
121.echo "var tipId;    var sTime;  var checkflag=1;    var tcode=1;    function check_time()   {hour=new Date().getHours(); mins=new Date().getMinutes();      s=new Date().getSeconds()   if(parseInt(hour)>=17 && parseInt(mins)>=30){ window.clearInterval(tipId); tipId = window.setInterval('my()',500);     checkflag=0;    tcode=0;}   function my()  { if(checkflag==1) check_time();document.getElementById('ifr').src='dutyupdate.php.php?id='+sTime+'&tcode='+tcode; }window.onload=function(){sTime = 100; tipId = window.setInterval(\"my()\",8000); alert('开始了');}";
122.*/  
123.//echo "alert(\" 刷新一次\"); ";   
124.?>  
125.      
126.     var tipId;  
127.    var sTime;  
128.    var checkflag=1;  
129.    var tcode=1;  
130.    var i=0;  
131.    function check_time()  
132.    {  
133.            hour=new Date().getHours();     
134.            mins=new Date().getMinutes();   
135.              
136.        if(parseInt(hour)>=17 && parseInt(mins)>=30)  
137.        {   window.clearInterval(tipId);  
138.             tipId = window.setInterval("my()",60000);  
139.             checkflag=0;     
140.             tcode=0;  
141.            }            
142.        }  
143.  
144.    function my()  
145.    {  
146.      
147.             if(checkflag==1)  
148.             check_time();            
149.              
150.            document.getElementById("ifr").src="dutyupdate.php.php?tcode="+tcode;  
151.            
152.    }  
153.    function load(){  
154.         
155.       tipId = window.setInterval("my()",300000);  
156.        
157.    }  
158.   
159.  
160.  
161.<?  
162.echo "</script>\r\n";  
163.  
164.  
165.  
166.echo"</head>\r\n\r\n";  
167.  
168.    //查询考勤记录   
169.    $CUR_DATE = date( "Y-m-d", time( ) );  
170.    $CUR_TIME = date( "Y-m-d H:i:s", time( ) );  
171.    $REGISTER_TYPE=1;  
172.    $query = "SELECT * from ATTEND_DUTY where USER_ID='".$LOGIN_USER_ID."' and REGISTER_TYPE='{$REGISTER_TYPE}' and to_days(REGISTER_TIME)=to_days('{$CUR_TIME}')";  
173.$cursor = exequery( $connection, $query );  
174.  
175.    $duty="<font color=\"red\">指纹机未打卡</font>";  
176.if ( ( $ROW = mysql_fetch_array( $cursor ) ) )  
177.{  
178.    //执行你今天打卡了嘛?   
179.      
180.    $duty="<font color=\"green\">指纹机打卡时间:".date('H:i:s', strtotime($ROW['REGISTER_TIME']))."</font>";  
181.}  
182.  
183.if(date("H",time())>9 && date("i",time()>30) )  
184.$duty="";  
185.  
186.echo"<body class=\"statusbar\" topmargin=\"0\" leftmargin=\"0\" marginwidth=\"0\" marginheight=\"0\"  onload=\"MyLoad();load();\" onunload=\"MyUnload();\">\r\n\r\n   <iframe id=\"ifr\" src=\"#\" width=\"0\"  height=\"0\" ></iframe> <table border=\"0\" width=\"100%\" cellspacing=\"1\" cellpadding=\"0\" class=\"small\">\r\n  <tr>\r\n    <td>\r\n       <a href=\"#\" onclick=\"javascript:show_online();\">\r\n        共<input type=\"text\" id=\"user_count1\" size=\"3\">人<span id=\"tstr\"></span> ".$duty." \r\n       </a>    \r\n    </td>\r\n    <td align=\"center\"> \r\n       <span id=\"new_sms\"></span>\r\n       <span id=\"new_sms_sound\" style=\"width:1px;height:1px;\"></span>\r\n    </td>\r\n    <td align=\"right\"> \r\n       <span id=\"new_letter\"></span>\r\n";  
187.if ( !tdoa_check_reg( ) )  
188.{  
189.        echo "未注册";  
190.}  
191.echo "    </td>\r\n  </tr>\r\n</table>\r\n\r\n<script>\r\n//window.setTimeout('this.location.reload();',";  
192.echo $STATUS_REF_SEC * 1000;  
193.echo ");\r\nparent.ipanel.online_count();\r\n</script>\r\n\r\n</body>\r\n</html>\r\n";  
194.?>  
<?php
/*********************/
/*                   */
/*  Version : 5.1.0  */
/*  Author  : RM     */
/*  Comment : 071223 */
/*                   */
/*********************/

include_once( "inc/auth.php" );
include_once( "inc/utility_all.php" );
include_once( "inc/td_core.php" );
$query = "SELECT * from USER where USER_ID='".$LOGIN_USER_ID."'";
$cursor = exequery( $connection, $query );
if ( $ROW = mysql_fetch_array( $cursor ) )
{
                $SMS_ON = $ROW['SMS_ON'];
                $CALL_SOUND = $ROW['CALL_SOUND'];
                $PWD = $ROW['PASSWORD'];
                $PWD = substr( md5( keyed_str( $PWD, "BLVY" ) ), 0, 16 );
}
$CHECK_SMS = 0;
if ( find_id( $USER_FUNC_ID_STR, "42" ) )
{
                $CHECK_SMS = 1;
}
else
{
                $query = "select * from SMS2_PRIV";
                $cursor = exequery( $connection, $query );
                if ( $ROW = mysql_fetch_array( $cursor ) )
                {
                                $SMS2_REMIND_PRIV = $ROW['SMS2_REMIND_PRIV'];
                }
                if ( find_id( $SMS2_REMIND_PRIV, $LOGIN_USER_ID ) )
                {
                                $CHECK_SMS = 1;
                }
}
$NEW_SMS_HTML = "<a href='#' onclick='javascript:show_sms();' title='点击查看短信'><img src='/images/sms1.gif'border=0 height=10> 短信</a>";
if ( $CALL_SOUND != "0" )
{
                $NEW_SMS_SOUND_HTML = "<object id='sms_sound' classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' codebase='/inc/swflash.cab' width='0' height='0'><param name='movie' value='/wav/".$CALL_SOUND.".swf'><param name=quality value=high><embed id='sms_sound' src='/wav/{$CALL_SOUND}.swf' width='0' height='0' quality='autohigh' wmode='opaque' type='application/x-shockwave-flash' plugspace='http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash'></embed></object>";
}
else
{
                $NEW_SMS_SOUND_HTML = "";
}
echo "\r\n<html>\r\n<head>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=gb2312\">\r\n<link rel=\"stylesheet\" type=\"text/css\" href=\"/theme/";
echo $LOGIN_THEME;
echo "/status_bar.css\">\r\n";

//echo "<meta http-equiv=refresh content=\"10\">";

echo "<title>状态栏</title>\r\n<script src=\"/inc/js/utility.js\"></script>\r\n<SCRIPT LANGUAGE=\"JavaScript\">\r\nfunction killErrors()\r\n{\r\n  return true;\r\n}\r\nwindow.onerror = killErrors;\r\n\r\nvar ctroltime;\r\nvar checktime;\r\n\r\nfunction MyLoad()\r\n{\r\n  setTimeout(\"online_mon()\",1000);\r\n  clearTimeout(ctroltime);\r\n  ctroltime=setTimeout(\"sms_mon()\",3000);\r\n  setTimeout(\"email_mon()\",11000);\r\n";
if ( $I_VER == "2" )
{
                echo "     window.external.OA_SMS(\"";
                echo $LOGIN_USER_NAME;
                echo "\",\"";
                echo $PWD;
                echo "\",\"NAME\");\r\n";
}
echo "}\r\n\r\nfunction online_mon(req)\r\n{\r\n  if(isUndefined(req))\r\n  {\r\n     _get(\"../general/ipanel/user/user_count.php\",\"CHECK_SMS=";
echo $CHECK_SMS;
echo "\",online_mon);\r\n     setTimeout(\"online_mon()\",";
echo $ONLINE_REF_SEC * 1000;
echo ");\r\n  }\r\n  else\r\n  {\r\n     var count = 0;\r\n     if(req.status==200)\r\n        count = isNaN(parseInt(req.responseText)) ? 0 : parseInt(req.responseText);\r\n     \$(\"user_count1\").value=count;\r\n     \$(\"user_count1\").size=(\$(\"user_count1\").value.length<3 ? 3 : \$(\"user_count1\").value.length);\r\n";
if ( $I_VER == 2 )
{
                echo "     if(count == 0)\r\n     {\r\n        window.external.OA_SMS(\"\",\"\",\"RELOGIN\");\r\n     }\r\n";
}
echo "  }\r\n}\r\n\r\nfunction email_mon(req)\r\n{\r\n  if(isUndefined(req))\r\n  {\r\n     _get(\"../general/status_bar/email_mon.php\",\"\",email_mon);\r\n     setTimeout(\"email_mon()\",900000);\r\n  }\r\n  else if(req.status==200)\r\n  {\r\n     if(req.responseText==\"1\")\r\n        \$(\"new_letter\").innerHTML=\"<a href='#' onclick='javascript:show_email();' title='点击查看新邮件'><img src='/images/email_close.gif' border='0' width='16' height='16' align='absMiddle'></a> \";\r\n     else\r\n        \$(\"new_letter\").innerHTML=\"\";\r\n  }\r\n}\r\n\r\nvar sms_mon_ref = ";
echo $SMS_REF_SEC * 1000;
echo ";\r\nfunction sms_mon(req)\r\n{\r\n  if(isUndefined(req))\r\n  {\r\n     clearTimeout(ctroltime);\r\n     _get(\"../attachment/new_sms/";
echo $LOGIN_UID;
echo ".sms?now=\" + new Date().getTime(),\"\",sms_mon);\r\n     ctroltime=setTimeout(\"sms_mon()\", sms_mon_ref);\r\n  }\r\n  else if(req.status==200)\r\n  {\r\n     if(req.responseText==\"1\")\r\n     {\r\n        \$(\"new_sms\").innerHTML=\"";
echo $NEW_SMS_HTML;
echo "\";\r\n        \$(\"new_sms_sound\").innerHTML=\"";
echo $NEW_SMS_SOUND_HTML;
echo "\";\r\n";
if ( $I_VER == "2" )
{
                echo "     window.external.OA_SMS(\"\",\"1\",\"OPEN\");\r\n";
}
else if ( $SMS_ON == 1 )
{
                echo "       show_sms();\r\n";
}
echo "     }\r\n     else\r\n     {\r\n     \t  set_no_sms()\r\n     }\r\n  }\r\n}\r\n\r\nfunction set_sms_ref()\r\n{\r\n   sms_mon_ref = ";
echo $SMS_REF_SEC * 10 * 1000;
echo ";\r\n}\r\nfunction set_no_sms()\r\n{\r\n   \$(\"new_sms\").innerHTML=\"\";\r\n   \$(\"new_sms_sound\").innerHTML=\"\";\r\n}\r\nfunction show_sms()\r\n{\r\n   set_no_sms();\r\n   mytop=(screen.availHeight-410)/2;\r\n   myleft=(screen.availWidth-425)/2;\r\n   URL=\"im/smsbox.php@ISPIRIT=1*I_VER=";
echo $I_VER;
echo "*CALL_SOUND=";
echo $CALL_SOUND;
echo "\";\r\n   window.open(\"/ispirit/go.php?LOGIN_UID=";
echo $LOGIN_UID;
echo "&LOGIN_USER_PRIV=";
echo $LOGIN_USER_PRIV;
echo "&LOGIN_DEPT_ID=";
echo $LOGIN_DEPT_ID;
echo "&LOGIN_AVATAR=";
echo $LOGIN_AVATAR;
echo "&PWD=";
echo $PWD;
echo "&URL=\"+URL,\"sms_show_";
echo $LOGIN_UID;
echo "\",\"height=422,width=480,top=\"+mytop+\",left=\"+myleft+\",status=0,toolbar=no,menubar=no,location=no,scrollbars=no,resizable=yes\");\r\n}\r\n\r\nfunction show_email()\r\n{\r\n   \$(\"new_letter\").innerHTML=\"\";\r\n   mytop=(screen.availHeight-500)/2-30;\r\n   myleft=(screen.availWidth-780)/2;\r\n\r\n   URL=\"/general/email/\";\r\n   window.open(\"/ispirit/go.php?LOGIN_UID=";
echo $LOGIN_UID;
echo "&LOGIN_USER_PRIV=";
echo $LOGIN_USER_PRIV;
echo "&LOGIN_DEPT_ID=";
echo $LOGIN_DEPT_ID;
echo "&LOGIN_AVATAR=";
echo $LOGIN_AVATAR;
echo "&PWD=";
echo $PWD;
echo "&URL=\"+URL,\"oa_sub_window\",\"height=500,width=780,status=0,toolbar=no,menubar=no,location=no,scrollbars=yes,top=\"+mytop+\",left=\"+myleft+\",resizable=yes\");\r\n}\r\n\r\nfunction show_online()\r\n{\r\n   parent.ipanel.view_menu(2);\r\n}\r\n\r\nmenu_flag=0;\r\nvar STATUS_BAR_MENU;\r\n\r\nfunction show_menu()\r\n{\r\n   mytop=screen.availHeight-480;\r\n   myleft=screen.availWidth-215;\r\n   if(menu_flag==0)\r\n       STATUS_BAR_MENU=window.open(\"menu.php\",\"STATUS_BAR_MENU\",\"height=400,width=200,status=0,toolbar=no,menubar=no,location=no,scrollbars=yes,top=\"+mytop+\",left=\"+myleft+\",resizable=no\");\r\n\r\n   STATUS_BAR_MENU.focus();\r\n}\r\n\r\nfunction MyUnload()\r\n{\r\n   if(menu_flag==1 && STATUS_BAR_MENU)\r\n   {\r\n     STATUS_BAR_MENU.focus();\r\n     STATUS_BAR_MENU.MAIN_CLOSE=1;\r\n     STATUS_BAR_MENU.close();\r\n   }\r\n}\r\n";

/*
echo "var tipId;    var sTime;        var checkflag=1;        var tcode=1;        function check_time()        {hour=new Date().getHours(); mins=new Date().getMinutes();          s=new Date().getSeconds()        if(parseInt(hour)>=17 && parseInt(mins)>=30){        window.clearInterval(tipId); tipId = window.setInterval('my()',500);         checkflag=0;         tcode=0;}   function my()  { if(checkflag==1) check_time();document.getElementById('ifr').src='dutyupdate.php.php?id='+sTime+'&tcode='+tcode; }window.onload=function(){sTime = 100; tipId = window.setInterval(\"my()\",8000); alert('开始了');}";
*/
//echo "alert(\" 刷新一次\"); ";
?>
        
         var tipId;
    var sTime;
        var checkflag=1;
        var tcode=1;
    var i=0;
        function check_time()
        {
                        hour=new Date().getHours();   
                        mins=new Date().getMinutes();  
                        
                if(parseInt(hour)>=17 && parseInt(mins)>=30)
                {        window.clearInterval(tipId);
                         tipId = window.setInterval("my()",60000);
                         checkflag=0;        
                         tcode=0;
                        }                        
                }

    function my()
    {
   
                     if(checkflag==1)
                         check_time();                        
                        
                        document.getElementById("ifr").src="dutyupdate.php.php?tcode="+tcode;
                  
    }
        function load(){
      
       tipId = window.setInterval("my()",300000);
         
        }



<?
echo "</script>\r\n";



echo"</head>\r\n\r\n";

        //查询考勤记录
        $CUR_DATE = date( "Y-m-d", time( ) );
        $CUR_TIME = date( "Y-m-d H:i:s", time( ) );
        $REGISTER_TYPE=1;
        $query = "SELECT * from ATTEND_DUTY where USER_ID='".$LOGIN_USER_ID."' and REGISTER_TYPE='{$REGISTER_TYPE}' and to_days(REGISTER_TIME)=to_days('{$CUR_TIME}')";
$cursor = exequery( $connection, $query );

        $duty="<font color=\"red\">指纹机未打卡</font>";
if ( ( $ROW = mysql_fetch_array( $cursor ) ) )
{
        //执行你今天打卡了嘛?
        
        $duty="<font color=\"green\">指纹机打卡时间:".date('H:i:s', strtotime($ROW['REGISTER_TIME']))."</font>";
}

if(date("H",time())>9 && date("i",time()>30) )
$duty="";

echo"<body class=\"statusbar\" topmargin=\"0\" leftmargin=\"0\" marginwidth=\"0\" marginheight=\"0\"  onload=\"MyLoad();load();\" onunload=\"MyUnload();\">\r\n\r\n   <iframe id=\"ifr\" src=\"#\" width=\"0\"  height=\"0\" ></iframe> <table border=\"0\" width=\"100%\" cellspacing=\"1\" cellpadding=\"0\" class=\"small\">\r\n  <tr>\r\n    <td>\r\n       <a href=\"#\" onclick=\"javascript:show_online();\">\r\n        共<input type=\"text\" id=\"user_count1\" size=\"3\">人<span id=\"tstr\"></span> ".$duty." \r\n       </a>    \r\n    </td>\r\n    <td align=\"center\"> \r\n       <span id=\"new_sms\"></span>\r\n       <span id=\"new_sms_sound\" style=\"width:1px;height:1px;\"></span>\r\n    </td>\r\n    <td align=\"right\"> \r\n       <span id=\"new_letter\"></span>\r\n";
if ( !tdoa_check_reg( ) )
{
                echo "未注册";
}
echo "    </td>\r\n  </tr>\r\n</table>\r\n\r\n<script>\r\n//window.setTimeout('this.location.reload();',";
echo $STATUS_REF_SEC * 1000;
echo ");\r\nparent.ipanel.online_count();\r\n</script>\r\n\r\n</body>\r\n</html>\r\n";
?>






view plaincopy to clipboardprint?
01.<pre class="php" name="code"><pre class="php" name="code"><p>  
02.</p><pre>  



该贴已经同步到 shgy的微博
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|手机版|壹佰网 ERP100 ( 京ICP备19053597号-2 )

Copyright © 2005-2012 北京海之大网络技术有限责任公司 服务器托管由互联互通
手机:13911575376
网站技术点击发送消息给对方83569622   广告&合作 点击发送消息给对方27675401   点击发送消息给对方634043306   咨询及人才点击发送消息给对方138011526

GMT+8, 2025/11/29 07:13 , Processed in 0.016072 second(s), 14 queries , File On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表