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

 更新时间:2016年12月20日 10:33:35   作者:小飞鱼  
这篇文章主要介绍了通达OA 使用Ajax和工作流插件实现根据人力资源系统数据增加OA账号(图文详解),需要的朋友可以参考下

本次小飞鱼开发的程序主要解决某下属公司在人力系统中增加账号不能马上审批完毕的问题,可以通过这个流程审批后由插件在后台判断自动增加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账号(图文详解),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

您可能感兴趣的文章:

相关文章

  • Ajax实现模拟关键字智能匹配搜索效果

    Ajax实现模拟关键字智能匹配搜索效果

    这篇文章主要介绍了Ajax实现模拟关键字智能匹配搜索效果,当在搜索框输入内容时,根据关键字匹配,显示弹出层,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-12-12
  • Ajax实现动态加载数据

    Ajax实现动态加载数据

    这篇文章主要为大家详细介绍了Ajax动态加载数据的小例子,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • ajax实现页面的局部加载

    ajax实现页面的局部加载

    这篇文章主要为大家详细介绍了ajax实现页面的局部加载,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-10-10
  • AJAX显示加载中并弹出图层遮挡页面的实现示例

    AJAX显示加载中并弹出图层遮挡页面的实现示例

    大家都知道AJAX的请求是异步的,这种异步的机制给我们带来了体验上的优化,但是同时我要求我们有更完善的思维去处理一个业务。当用户请求后长时间没有回应是一种非常不好的用户体验,所以我们可以在请求后利用AJAX显示加载中并弹出图层遮挡页面,下面来看看实现方法。
    2016-12-12
  • 利用Ajax实现在脚本里传值实例介绍

    利用Ajax实现在脚本里传值实例介绍

    Ajax实现在脚本里传值可以解决实际上的一些问题,本文实现了一下,感兴趣的朋友可以参考下,希望可以帮助到你
    2013-04-04
  • Ajax提交post请求案例分析

    Ajax提交post请求案例分析

    这篇文章主要介绍了Ajax提交post请求,结合具体案例形式分析了ajax提交post请求相关原理、用法及操作注意事项,需要的朋友可以参考下
    2019-07-07
  • 基于Ajax技术实现无刷新用户登录功能

    基于Ajax技术实现无刷新用户登录功能

    这篇文章主要介绍了基于Ajax技术实现无刷新用户登录功能,非常不错,具有参考借鉴价值,需要的的朋友参考下吧
    2017-01-01
  • 零基础学习AJAX之AJAX的简介和基础

    零基础学习AJAX之AJAX的简介和基础

    本系列我们将来逐步学习ajax,作为本系列的开篇文章,我们还是俗套些,先来讲解下ajax的简介和基础知识吧。
    2015-01-01
  • ajax 开发守则 10条说明

    ajax 开发守则 10条说明

    介绍ajax开发十大守则,相信对开发人员会有用的。
    2009-07-07
  • 使用ajax和history.pushState无刷新改变页面URL示例

    使用ajax和history.pushState无刷新改变页面URL示例

    这篇文章主要介绍了使用ajax和history.pushState无刷新改变页面URL示例,需要的朋友可以参考下
    2014-10-10

最新评论