A-A+

通达OA-人事档案数据丢失?添加操作日志

2018年12月05日 通达oa 暂无评论 阅读 4,048 views 次

在企业人事管理系统中,因为有多个分公司,导致OA人事档案会有多个人力资源专业,他们拥有人事档案管理的权限,甚至出现管理员用户滥用的情况。

 

最近一家客户单位总是反馈说系统有问题数据总是丢失,我第一反应是想说明系统的可靠性和稳定性,真是幼稚,你怎么直观的给客户证明呢?其实解决办法很简单,记录操作日志几句代码就搞定,何必说那么多客户听不懂的,自己也讲不明白的。

 

我这个是最简单的方式,就是记录操作人、执行时间、执行的sql。虽然sql很专业,但里面的数据人人都能看懂是吧。为了方便定位,归档类型分2中,按“部门文件夹/员工姓名文档”和“年月文件夹/日文档”归档。

 

直接把下面代码放到MYOA\webroot\general\hr\manage\staff_info\update.php里面即可

//start 添加更新记录到操作日志
$logday = date('Y-m',time());
$logpath = 'D:/oalog/'.$logday.'/';
$logname = $logpath.date('Y-m-d',time()).'.txt';
if (! file_exists ( $logpath )) {
    mkdir ( $logpath, 0777, true );
}
$log_contents = '时间:'.date('H:i:s').PHP_EOL;
$log_contents .= '操作人:'.$_SESSION["LOGIN_BYNAME"].PHP_EOL;
$log_contents .= '编辑用户USER_ID:'.$USER_ID.PHP_EOL;
$log_contents .= '操作内容:'.$query.PHP_EOL.PHP_EOL;
file_put_contents($logname, $log_contents, FILE_APPEND);

//按人归档
$the_dep_name = GetDeptNameById($DEPT_ID);
$logpath2 = 'D:/oalog/'.$the_dep_name.'/';
if (! file_exists ( $logpath2 )) {
    mkdir ( $logpath2, 0777, true );
}
$log_contents2 = '时间:'.date('H:i:s').PHP_EOL;
$log_contents2 .= '操作人:'.$_SESSION["LOGIN_BYNAME"].PHP_EOL;
$log_contents2 .= '操作内容:'.$query.PHP_EOL.PHP_EOL;
$filename = GetUserNameById($USER_ID).$USER_ID;
$logname2 = $logpath2.$filename.'.txt';
file_put_contents($logname2, $log_contents2, FILE_APPEND);
//end 记录操作日志

 

 

当然你也可以设置为按操作人归档。下面是人事档案附加数据的操作日志,比如:合同、奖惩、培训、工作经历、岗位轨迹、人事关系等等。放的位置和上面不一样,因为多,我就不一一列出了,因为非必须,只是贴上代码,代码需对应调整。

 

//start 添加更新记录到操作日志
    $logday = date('Y-m',time());
    $logpath = 'D:/staffinfo/contract/time/'.$logday.'/';
    $logname = $logpath.date('Y-m-d',time()).'.txt';
    if (! file_exists ( $logpath )) {
        mkdir ( $logpath, 0777, true );
    }
    $log_contents = '时间:'.date('Y-m-d H:i:s',time()).PHP_EOL;
    $log_contents .= '操作人:'.$_SESSION["LOGIN_BYNAME"].PHP_EOL;
    $log_contents .= '编辑用户STAFF_NAME:'.$STAFF_NAME.PHP_EOL;
    $log_contents .= '编辑合同CONTRACT_ID:'.$CONTRACT_ID.PHP_EOL;
    $log_contents .= '操作内容:'.$query.PHP_EOL.PHP_EOL;
    file_put_contents($logname, $log_contents, FILE_APPEND);

//按操作人归档
    $logpath2 = 'D:/staffinfo/contract/operator/';
    if (! file_exists ( $logpath2 )) {
        mkdir ( $logpath2, 0777, true );
    }
    $log_contents2 = '时间:'.date('Y-m-d H:i:s',time()).PHP_EOL;
    $log_contents2 .= '操作人:'.$_SESSION["LOGIN_BYNAME"].PHP_EOL;
    $log_contents2 .= '操作内容:'.$query.PHP_EOL.PHP_EOL;
    $filename = $_SESSION["LOGIN_BYNAME"];
    $logname2 = $logpath2.$filename.'.txt';
    file_put_contents($logname2, $log_contents2, FILE_APPEND);
//end 记录操作日志

 

标签:

给我留言