一: 历史数据表
11.  JBPM4_HIST_ACTINST 流程活动(节点)实例表 存放Activity Instance的历史记录
12.  JBPM4_HIST_DETAIL  流程历史详细表    保存Variable的变更记录
13.  JBPM4_HIST_PROCINST 流程实例历史表 存放Process Instance的历史信息
14.  JBPM4_HIST_TASK  流程任务实例历史表 Task的历史信息。
15.  JBPM4_HIST_VAR 流程变量(上下文)历史表 保存历史的变量
 
若:
在流程最后一步,发起人提交处长后,处长在审核同意操作后,工作流程已执行完,但,业务表没有同步更新:
本次记录限于:处长 在流程审核最后操作时,执行同意流程时:

--子表,procinst外键
delete from JBPM4_HIST_DETAIL where hproci_='13433593';
--子表,procinst外键
delete from JBPM4_HIST_ACTINST where execution_='JbpmCheckFlowVersionThi.13433593' ;
--主表,BDid主键
delete from JBPM4_HIST_PROCINST where dbid_ = 13433593 ;

delete from jbpm4_hist_task where dbid_ = 13364559 ;

--工作流业务表

insert into jbpm4_execution (dbid_, class_, dbversion_, activityname_, procdefid_, hasvars_, name_, key_, id_, state_, susphiststate_, priority_, hisactinst_, parent_, instance_, superexec_, subprocinst_, parent_idx_) values (13433593, 'pvm', 114, '处长岗', 'JbpmCheckFlowVersionThi-3133', 1, null, null, 'JbpmCheckFlowVersionThi.13433593', 'active-root', null, 0, 13364560, null, 13433593, null, null, null);

insert into jbpm4_task (dbid_, class_, dbversion_, name_, descr_, state_, susphiststate_, assignee_, form_, priority_, create_, duedate_, progress_, signalling_, execution_id_, activity_name_, hasvars_, supertask_, execution_, procinst_, swimlane_, taskdefname_) values (13364559, 'T ', 1, '处长岗', null, 'open', null, 'directorV1.3', null, 0, TO_DATE('2016-03-22 15:54:05', '%Y-%m-%d %H:%M:%S'), null, null, 1, 'JbpmCheckFlowVersionThi.13433593', '处长岗', 0, null, 13433593, 13433593, null, '处长岗');

insert into JBPM4_VARIABLE (dbid_, class_, dbversion_, key_, converter_, hist_, execution_, task_, lob_, date_value_, double_value_, classname_, long_value_, string_value_, text_value_, exesys_) values (13433593, 'string', 0, 'opinion', null, 0, 13433593, null, null, null, null, null, null, 'YES', null, null);

主子表关系:

JBPM4_HIST_PROCINST这张表,因为JBPM4_HIST_ACTINST表的HPROCI_字段是关联JBPM4_HIST_PROCINST表的DBID_字段,如果JBPM4_HIST_PROCINST不存在就会报 table or view not exist.  (表或视图不存在)
关联:ACTINST.hproci_ = PROCINST.dbid_(主键);
子表:JBPM4_HIST_ACTINST ;
主表:JBPM4_HIST_PROCINST ;
--------------------------------------------------------------------------------------------------------------------------------------
补数表:
jbpm4_execution;jbpm4_task;JBPM4_VARIABLE;
补数原则:按照如下顺序;
select * from jbpm4_execution where dbid_ ='13433593';// dbid= reinsbpmMain.taskid;
select * from jbpm4_task where dbid_='13364559';// 原则上为hist_task.taskid,约束JBPM4_HIST_ACTINST表的htask_

select * from JBPM4_VARIABLE where dbid_='13433593';// dbid= reinsbpmMain.taskid;

dbid= reinsbpmMain.taskid;

 删除表:按照如下顺序;
 delete from JBPM4_HIST_ACTINST where dbid_ in (13364560,13354970) ;

delete from JBPM4_HIST_PROCINST where dbid_ = 13433593 ;
delete from jbpm4_hist_task where dbid_ = 13364559 ;

关联量表:

select * from jbpm4_hist_task where execution_ = 'JbpmCheckFlowVersionThi.13433593' ; //若 hist_actinst表中,
select * from JBPM4_HIST_ACTINST where execution_='JbpmCheckFlowVersionThi.13433593' ; //删除处长审批,即 最后一条数据!注:需注意两者约束!

 
 如上分析:若hist_actinst表中,处长审批节点中,htask字段可留值(即hist_task中会有一条dbid_为9092064的数据),这样,在执行时,只会更新9092064其时间,不会重新插入时间!
 
第二:流程实例表 补数原则,基于!
jbpm4_execution 流程实例表:
以JBPM4_HIST_ACTINST表记录为依据 进行补数!
select * from jbpm4_execution where dbid_ ='13433989';//id=task.execution_;
 select * from jbpm4_task where dbid_='13364561';//ACTINST.htask_

select * from JBPM4_VARIABLE where dbid_='13433989';//同上!

select * from JBPM4_HIST_PROCINST where dbid_ = 13433593 ;//JBPM4_HIST_ACTINST.proch_;

 
补数时,一定确保如上所提表中数据完整,确保在其约束下可验证流程id一致性!

Jbpm工作流表补数记录的更多相关文章

  1. JBPM工作流入门总结

    关于JBPM工作流 1.工作流 工作流是一项分离业务操作和系统流程的技术.工作流由实体(Entity).参与者(Participant).流程定义(Flow Definition).工作流引擎(Eng ...

  2. JBPM数据库表说明

    http://blog.163.com/tigerlion@126/blog/static/167675665201072642627400/ 最近这几天一直在研究JBPM工作流引擎,以下为JBMP的 ...

  3. 转发 JBPM工作流小结

    JBoss 题记:某部门领导有天突发奇想,把我们几个人叫过去,曰:最近出去开会,老有人推销自己的工作流产品,说的这好那好,你们几个给我研究研究.正好刚做完的xxx子系统里有一个申请审批的流程,你们按这 ...

  4. Jbpm工作流(一)

    了解一下什么是Jbpm及特点. jBPM,全称是Java Business Process Management,是一种基于J2EE的轻量级工作流管理系统.jBPM是公开源代码项目,它使用要遵循 Ap ...

  5. .net之工作流工程展示及代码分享(一)工作流表单

    Workflow表单的作用是能够在客户端进行表单设计,然后在流程中动态开放哪些输入框可以供用户填写. 在这里我扩展了一个常用的WebEditor工具——KindEditor,能够插入自定义的html符 ...

  6. MS SQLSERVER中如何快速获取表的记录总数

    在数据库应用的设计中,我们往往会需要获取某些表的记录总数,用于判断表的记录总数是否过大,是否需要备份数据等.我们通常的做法是:select count(*) as c from tableA .然而对 ...

  7. MYSQL删除表的记录后如何使ID从1开始

    MYSQL删除表的记录后如何使ID从1开始 MYSQL删除表的记录后如何使ID从1开始 http://hi.baidu.com/289766516/blog/item/a3f85500556e2c09 ...

  8. mysql查询在一张表不在另外一张表的记录

    mysql查询在一张表不在另外一张表的记录   问题:    查询一个表(tb1)的字段记录不在另一个表(tb2)中      条件:tb1的字段key的值不在tbl2表中      -------- ...

  9. NSIS:在注册表中记录安装路径以便重装或升级时读取

    原文 NSIS:在注册表中记录安装路径以便重装或升级时读取 在NSIS中,这个功能是非常有用的,可以避免用户把程序安装到多个位置的尴尬. 第1步:在“安装目录选择页面”前面加入以下代码: 1 !def ...

随机推荐

  1. http协议的状态码 403 404 301 302 200 500 502 504 报错显示

    在网站建设的实际应用中,容易出现很多小小的失误,就像MySQL当初优化不到位,影响整体网站的浏览效果一样,其实,网站的常规http状态码的表现也是一样,Google无法验证网站几种解决办法,提及到由于 ...

  2. [JS]省市区数据及方法调用

    调用方法: function GetProvinceByid(id) { if (id == null || id == undefined || id == "") return ...

  3. wpf 界面线程 添加项

    foreach (var r in sec.Records) { listView.Dispatcher.Invoke((new Action(delegate() { listView.Items. ...

  4. centos 6.5 安装openssl

    1.下载wget https://www.openssl.org/source/openssl-1.0.2h.tar.gz 2.解压tar zxf openssl-1.0.2h.tar.gzcd op ...

  5. JDK根目录介绍

    /bin 存放可执行程序(编译器javac.exe 运行器java.exe 文档生成器javadoc.exe等 ). /db  小型数据库文件. /jre JRE. /include 形成jdk的c. ...

  6. CentOS7中将Mysql添加为系统服务

    如果是自己通过tar包安装的Mysql,不会自动添加到系统服务中,可通过如下方式,自己添加. 先启动一下mysql ${mysql}/support-files/mysql.server start ...

  7. [河南省ACM省赛-第三届] 网络的可靠性 (nyoj 170)

    题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=170 根据题意,需要找到度数为1的结点个数,如下图: #include<iostre ...

  8. 从excel读数据到informix的Found a quote for which there is no matching quote错误

    我从excel读取数据,然后存储到Informix数据库里.偶尔会发现出现Found a quote for which there is no matching quote这个错误.调试后发现,是因 ...

  9. SQLSERVER 的联接查询写法

    1.内连接 语法:[JOIN.INNER JOIN] 作用:两个表相连,加上ON匹配两个表的共同条件. 实例1: SELECT tb_o_i.* FROM tb_o_i INNER JOIN tb_o ...

  10. YII2.0 数据库增删改查

    /*==================== dkhBaseModel 数据库增删改查方法 start ================================*/ //新增一条数据 publ ...