通达OA批量处理没有结束但前台显示已经结束的流程
问题描述:
通达OA系统出现大量流程没有结束,系统显示结束的问题
通过查询操作系统日志,数据库日志,包括程序日志没有发现异常,通过观察发现大量的流程结束时间都是在2016-02-16 17:32:XX时间的标志
通过前台可以直接恢复,这样只能一个个手动处理,对大批量的问题需要通过其他方式进行
思路:
1.查看OA的文件restore.php
源码:
<?php include_once( "inc/auth.php" );
include_once( "inc/utility_all.php" );
include_once( "../prcs_role.php" );
if ( $LOGIN_USER_PRIV != 1 )
{
exit( );
}
$query = "update FLOW_RUN_PRCS set PRCS_FLAG='2' where RUN_ID=".$RUN_ID." and OP_FLAG='1' ORDER BY PRCS_ID DESC,PRCS_TIME DESC LIMIT 1";
exequery( $connection, $query );
$query = "update FLOW_RUN set END_TIME=NULL where RUN_ID=".$RUN_ID." LIMIT 1";
exequery( $connection, $query );
$CONTENT = "恢复执行此工作";
run_log( $RUN_ID, $PRCS_ID, $FLOW_PRCS, $LOGIN_USER_ID, 1, $CONTENT );
ob_end_clean( );
if ( !mysql_affected_rows( ) )
{
echo "您的恢复执行操作没有成功!";
}
else
{
echo "流水号为[";
echo $RUN_ID;
echo "]的工作已经恢复到执行状态!";
}
?>
2.找到核心问题处理语句:
$query = "update FLOW_RUN_PRCS set PRCS_FLAG='2' where RUN_ID=".$RUN_ID." and OP_FLAG='1' ORDER BY PRCS_ID DESC,PRCS_TIME DESC LIMIT 1";
$query = "update FLOW_RUN set END_TIME=NULL where RUN_ID=".$RUN_ID." LIMIT 1";
3.通过语句将这部分有问题的流程查找出来,用脚本批量处理
<?php
header('content-type:text/html;charset=utf-8');
/*
批量插入用户工号脚本 1.连接数据库
2.循环有问题的流程流水号
3.循环修改数据
*/
//连接数据库
$conn=mysql_connect('192.168.8.200:3306','root','pass'); if(!$conn) {
print_r(mysql_error());
} //选库
$sql='use TD_OA';
mysql_query($sql) or die('select database error');
//设置字符集
$sql='set names utf8'; mysql_query($sql); //找到有问题的流水
/*
//流程没有结束,但是显示结束的流程
SELECT a.* from FLOW_RUN a,FLOW_RUN_PRCS b where a.run_id=b.run_id and a.end_time like '2016-02-16 17:32%' and a.begin_time>='2016-02-01 00:00:00' and a.del_flag=0 and a.end_time is not null
and (b.prcs_time is null and b.deliver_time is not null)
*/ $run_id=array('1956932','1957092','1957208','1957217','1957258','1957413','1957413','1957452','1957602','1957690','1957690','1957690'); foreach($run_id as $v)
{
$sql1 = "update FLOW_RUN_PRCS set PRCS_FLAG='2' where RUN_ID='".$v."' and OP_FLAG='1' ORDER BY PRCS_ID DESC,PRCS_TIME DESC LIMIT 1";
echo $sql1,'<br />';
mysql_query($sql1);
$sql2 = "update FLOW_RUN set END_TIME=NULL where RUN_ID='".$v."' LIMIT 1";
echo $sql2,'<br />';
mysql_query($sql2);
} echo 'ok';
通达OA批量处理没有结束但前台显示已经结束的流程的更多相关文章
- 通达OA 前台任意用户登录漏洞复现
漏洞描述 通达OA是一套办公系统.通达OA官方于4月17日发布安全更新.经分析,在该次安全更新中修复了包括任意用户登录在内的高危漏洞.攻击者通过构造恶意请求,可以直接绕过登录验证逻辑,伪装为系统管理身 ...
- 最近做了一个通达OA的大料:20170905最新版本破解可改单位名称,无限制安装
最近做了一个通达OA的大料:20170905最新版本破解可改单位名称,无限制安装 用户约七十家,总体不错,修改了两次注册授权文件,完美使用中 可联系麦枫http://www.mfsun.com管理员Q ...
- 通达OA系统故障解决案例记录
案例1: 现象:在人员访问量大的时候OA系统经卡死,并且经常宕机,需要启动apache服务 优化配置如下: D:\MYOA\conf\http.conf 修改参数如下: <IfModule mp ...
- 通达OA 免狗迁移到公网 的另类解决办法
1,通达OA 发布到公网 ,要真正的 Anywhere2,正版通达OA,有加密狗在本地机器上 ,通达必须检测有狗才可以运行3,阿里云服务器 (你想往上插加密狗都没地方的说..汗)4,本地ISP 不提 ...
- 通达OA 同步中控考勤机 增强版
如果你用的是中控考勤机且考勤机能联网,那恭喜有福了! 最近发现考勤机提供web方式查询,经过调试可以用程序直接读取考勤机数据跨过考勤机软件及其access数据库,数据同步及时性.可靠性大幅提高. 通达 ...
- 通达OA 指纹考勤机接口 源代码
通达oa2011已经支持 指纹考勤机 但只限中控iclock660 这款2000大洋的型号 通过本文的开发接口,可以与任意一款指纹机集成, 需求指纹机管理软件能实时保存数据 我这里用的是 中控u16 ...
- 思道OA PK 通达OA 同场竞技 谁与争锋
技术架构 思道OA 通达OA 开发语言 微软ASP.NET 4.0 PHP开源脚本语言 64位平台 64位 32位 数据库 SQL Server大数据库 MySQL开源数据库 官网下载 下载地址 下载 ...
- 如何在同一台服务器上安装多套通达OA
本人最近研究了在同一服务器安装多套通达OA的方法:发现网上关于这个话题的文章比较少,于是录制成视频,在此发布,希望对有这方面需求的朋友有所帮助: http://blog.163.com/zhuwei_ ...
- 通达OA 小飞鱼工作流在线培训教程文件夹及意见征集
最近通达OA技术交流群有不少朋友反映说表单设计这块 改动样式的问题,这块须要html和css的改动.本来最近正好要在工作流这块准备做一个系列的课程,都是基础的设置主要是给刚接触工作流的朋友用的,大家有 ...
随机推荐
- Shell变量的取用、删除、取代与替换
<<鸟哥的私房菜>> 注意: 通配符适用的地方:shell命令行或者shell脚本中 正则表达式适用的地方:字符串处理时,一般有一般正则和Perl正则. 在文本过滤工具里,都是 ...
- banner无缝滚动动画,支持左右按钮和小点
HTML: <div class="box"> <ul> <li class="img_cur" > <a href= ...
- 继承的方式完成包装__attr__
__getattr__ 当实例要调用的属性不存在的时候会触发 __setattr__ 当实例要设置属性的时候会触发 __delattr__ 当实例要删除属性的时候会触发 这三个方法是 ...
- .net MVC使用NPOI读取Excel模板,再写入数据
NPOI其实已经介绍的差不多了,再贴一个方便以后复制粘贴. 亮点其实是 Server.MapPath 这个东西,可以找到MVC工程下的文件夹,找路径还是很方便的. /// <summary> ...
- Ubuntu 下 Tomcat7 的安装和配置
tomcat下载地址:http://tomcat.apache.org/download-70.cgi 声明:下面的内容和原创笔者的博文的内容差不多,不一样的只是tomcat7的安装目录不同,我按照我 ...
- python 小程序,在列表中找到所有指定内容的位置
要求如下图所示:
- .NET面试题系列(十二)Dictionary原理
序言 Dictionary Dictionary的开发人员都了解,和List相比,字典添加会慢,但是查找会比较快. Dictionary的本质 --- 两个数组.这是典型的用空间换取时间的做法. 先来 ...
- 集大软件工程15级个人作业Week2
集大软件工程15级个人作业Week2 快速通读教材<构建之法>,并参照提问模板,提出5个问题. 在每个问题后面,请说明哪一章节的什么内容引起了你的提问,提供一些上下文 列出一些事例或资料, ...
- 20155337 2016-2017-2 《Java程序设计》第七周学习总结
20155337 2016-2017-2 <Java程序设计>第七周学习总结 教材学习内容总结 •认识时间与日期 •格林威治标准时间:简称GMT时间,参考格林威治皇家天文台的标准太阳时间. ...
- Java 连接 SqlServer工具类
1.下载 server2008R2驱动jar包 下载jar包 http://www.microsoft.com/zh-cn/download/confirmation.aspx?id=21599 2. ...