zoukankan      html  css  js  c++  java
  • 用友NC系统考勤机自动同步方案

    实现效果:

    1.在NC中对人员进行操作后,如新增、离职、部门调动后,对应部门的考勤机自动同步。

    2.NC可自动导入机器考勤记录到系统中。

     

    解决方案:

    1.在NC数据库中新增一个中间表ZJB,作用是用于临时保存通过考勤档案表中查询出变动人员信息。

    2.中控考勤机或科密考勤机系统能定时将zjb数据导出,并下发到考勤机中(导入后清空表zjb,避免重复导入数据)。

    3.每天考勤机系统能将考勤数据导出到指定目录下(文件名称可用当天日期),我们要做的是首先在NC“考勤规则”中设置存放考勤记录的文件夹保存路径,然后我们在NC的任务中心——后台任务管理,新建任务“考勤机数据采集定时执行导入”。

    我用的数据库时oracle,相关操作语句

    //1.创建中间表zjb,包含列考勤卡号、姓名、部门号、部门名称、人员类型
    create table zjb
    (
     timecardid number(15) ,
     psnname varchar2(10),
     deptcode number(15),
     deptname varchar2(50),
     jobtype number(4)
     
    )
    
    //2.创建存储过程,目的是将变动人员信息插入到中间表中.(其中jobtype为2的约定为离职,0约定为在职)
    CREATE OR REPLACE PROCEDURE zjb_proc  IS
    BEGIN
    delete from zjb;
    INSERT INTO zjb(timecardid,psnname,deptcode,deptname,jobtype) 
    select  tbm_psndoc.timecardid,psnname,deptcode,deptname ,(case 
    when  to_date(enddate,'yyyy-mm-dd')=trunc(sysdate, 'DD') then '2' 
    when  to_date(enddate,'yyyy-mm-dd')=to_date('9999-01-01', 'yyyy-mm-dd') then '0' end) as  jobtype  from tbm_psndoc 
    left join bd_psndoc on tbm_psndoc.pk_psndoc=bd_psndoc.pk_psndoc 
    left join bd_deptdoc on bd_psndoc.pk_deptdoc=bd_deptdoc.pk_deptdoc
    where  (to_date(tbm_psndoc.ts,'yyyy-mm-dd hh24:mi:ss')>=trunc(sysdate, 'DD') or to_date(bd_psndoc.ts,'yyyy-mm-dd hh24:mi:ss')>=trunc(sysdate, 'DD')) and  tbm_psndoc.tbm_prop='2' and  tbm_psndoc.timecardid!=' '  ;
      COMMIT;
    EXCEPTION
      WHEN OTHERS THEN
        DBMS_OUTPUT.PUT_LINE('Exception happened,data was rollback');
        ROLLBACK;
    END;
    
    
    //3.创建jobs,每间隔一段时间就往zjb中插入数据。这样能将发生变动人员的信息及时同步到考勤机中。(下面设置为2分钟执行一次存储过程)
    SQL> var job_num number;
    SQL> begin
      2  dbms_job.submit(:job_num,'zjb_proc;',sysdate,'sysdate+2/24/60');
      3  end;
      4  /
    


     

  • 相关阅读:
    C#生成唯一值的方法汇总
    WCF中可以使用SVCUtil.exe生成客户端代理类和配置文件
    C# 打开钱箱支持北洋、佳博、爱普生
    MVC使用 Elmah 日志记录组件
    C# ZXing.Net生成二维码、识别二维码、生成带Logo的二维码(一)
    C# Gma.QrCodeNet生成二维码
    支付宝支付开发——当面付条码支付和扫码支付
    微信支付四大支付模式分别有哪些区别?
    web安全测试---AppScan扫描工具
    SVN 使用学习记录
  • 原文地址:https://www.cnblogs.com/suixufeng/p/3336055.html
Copyright © 2011-2022 走看看