通达OA 使用Ajax和工作流插件实现根据人力资源系统数据增加OA账号(图文详解)

所属分类: 网络编程 / AJAX相关 阅读数: 886
收藏 0 赞 0 分享

本次小飞鱼开发的程序主要解决某下属公司在人力系统中增加账号不能马上审批完毕的问题,可以通过这个流程审批后由插件在后台判断自动增加OA账号,增加机制与hr与OA系统同步相同。

只进行增加操作,没有修改、删除的操作。原有已经进行了两个系统的数据自动同步开发,因此这次的开发属于一个补充的内容,仅在此提供一个应用的思路和开发过程的探讨。

前端发起人申请时填写hr系统中已经分配的工号,即可对应查询出其他相关数据。为了避免查出数据后对工号修改,增加一个确认工号输入框。其他信息由Ajax自动获取为只读形式。这样通过从另外的系统获取数据方式可以避免完全人为输入数据造成错误。

通过流程审批完毕后,流转到OA管理员哪里,管理员在进行下一步转交时即在后台创建账号,如果没有错误则会提示创建成功,如果有错误也会进行提示。

hr系统为宏景的人力系统,数据库为SQL Server2008,因此本开发中还需要连接sqlserver的数据库。

系统的主要代码:

$query="select * from t_hr_view where c01u7='" .$gonghao. "'"; 
$cursor=sqlsrv_query($conn,$query); 
if($row=sqlsrv_fetch_array($cursor,SQLSRV_FETCH_ASSOC)){ 
  $hr_dept_id=$row["E0122_0"];  
  $hr_dept_name=$row["e0122"];  
  $OA=$row["OA"]; 
  $hr_name=$row["A0101"]; 
  $hr_gangwei=$row["e01a1"]; 
  $hr_gonghao=$row["c01u7"]; 
  $hr_unique_id=$row["unique_id"]; 
  if($OA==1 or $OA==2){ 
    $query2="select * from user where hr_unique_id='$hr_unique_id' limit 1"; 
    $cursor2=exequery(TD::conn(),$query2); 
    $num=mysql_num_rows($cursor2); 
    if($num==0 and $hr_gonghao!=""){ 
      //新增用户 
      $DEPT_ID="0"; 
      $new_flag=1; 
      $query4="select DEPT_ID  from department where hr_dept_id='$hr_dept_id' limit 1"; 
      $cursor4=exequery(TD::conn(),$query4); 
      if($row4=mysql_fetch_row($cursor4)){ 
        $DEPT_ID=$row4[0]; 
      } 
      if(in_array($hr_dept_name, $neitui_dept_arr)){  
        $DEPT_ID="0"; 
      }         
      /****查询byname有没有重复的**/ 
      $query5="select * from user where BYNAME='$hr_gonghao' limit 1"; 
      $cursor5=exequery(TD::conn(),$query5); 
      $num5=mysql_num_rows($cursor5);      
      //$num5=1;//测试失败       
      if($num5==1){ 
        $new_flag=-1;  
      } 
      /******/ 
      if($new_flag==1){ //允许新增用户 
          $has_user_id_str = ''; 
          $queryn = 'SELECT UID,USER_ID FROM user'; 
          $cursorn = exequery(TD::conn(), $queryn); 
          while ($rown = mysql_fetch_array($cursorn)) { 
            $has_user_id_str .= $rown['USER_ID'] . ','; 
          } 
          $USER_ID = get_user_id($has_user_id_str); 
          $BYNAME=$hr_gonghao; //登录名为工号 
          $BYNAME = trim($BYNAME); 
          $USER_NAME=$hr_name; 
          $USER_NAME = trim($USER_NAME); 
          $BYNAME = trim($BYNAME); 
          $UID=add_user_new($ARRAY); 
            if($UID!=""){  
              $USER_ID=$UID; 
              $query3 = "insert into USER_EXT(UID,USER_ID,USE_POP3,EMAIL_CAPACITY,FOLDER_CAPACITY,WEBMAIL_CAPACITY,WEBMAIL_NUM,DUTY_TYPE) values('$UID','$USER_ID','0','500','500','0','0','1')";              
              exequery(TD::conn(),$query3);                                           
          }  
      }  
    }     
  }  
}

以上所述是小编给大家介绍的通达OA 使用Ajax和工作流插件实现根据人力资源系统数据增加OA账号(图文详解),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

更多精彩内容其他人还在看

PHP+AJAX无刷新实现返回天气预报数据

天气数据是通过采集中国气象网站的。本来中国天气网站也给出了数据的API接口,接下来为大家介绍下用php来写一个天气预报的模块,感兴趣的朋友可以参考下
收藏 0 赞 0 分享

jQuery的ajax传参巧用JSON使用示例(附Json插件)

jQuery的ajax调用很方便,传参的时候喜欢用Json的数据格式,使用示例代码如下,感兴趣的朋友可以参考下,希望对大家有所帮助
收藏 0 赞 0 分享

ajax jquery 异步表单验证示例代码

异步表单验证想必大家早已如雷贯耳,本文为大家详细讲述下ajax jquery实现异步表单验证,感兴趣的朋友可以参考下
收藏 0 赞 0 分享

AJAX如何接收JSON数据示例介绍

如何使用AJAX返回JSON数据,就是dataType,当你设置json后返回的json字符串传递到客户端就是JSON对象了,示例如下,感兴趣的朋友可以参考下
收藏 0 赞 0 分享

ajax局部刷新一个div下jsp内容的方法

局部刷新某个div下的jsp可以通过setInterval或者是setTimeout来轻松实现,具体如下,有此需求的朋友可以参考下,希望对大家有所帮助
收藏 0 赞 0 分享

ajax交互Struts2的action(客户端/服务器端)

本文为大家探讨下ajax交互Struts2的action并有客户端及服务器端代码,感兴趣的朋友可以参考下,希望对大家有所帮助
收藏 0 赞 0 分享

Ajax工作原理深入理解

ajax是异步的意思,它有别于传统web开发中采用的同步的方式。异步传输是面向字符的传输,它的单位是字符;而同步传输是面向比特的传输,它的单位是桢,它传输的时候要求接受方和发送方的时钟是保持一致的
收藏 0 赞 0 分享

Ajax方式删除表格一行数据示例代码

Ajax方式删除信息在某些情况下还是蛮实用的,下面为大家具体介绍下Ajax方式如何删除表格一行数据,感兴趣的朋友可以了解下
收藏 0 赞 0 分享

Ajax叠加(Ajax返回数据用Ajax发出)示例代码

把参数用Ajax发送到数据库进行查询然后用Ajax将数据发送到数据库签到表,于是有了下面的代码,感兴趣的朋友可以了解下,希望对大家学习ajax有所帮助
收藏 0 赞 0 分享

Ajax长连接项目案例

所谓的长连接,就是不断去发送请求,把请求阻塞在服务器端,每次超过请求时间就去重新发送请求,下面以一个实例为大家详细介绍下,感兴趣的朋友可不要错过了哈
收藏 0 赞 0 分享
查看更多