一: 历史数据表
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. 使用ObjectInputStream和ObjectOutputStream注意问题

    1.对象序列化,类实现Serializable接口 不需要序列化的属性,使用transient声明 2.使用套接字流在主机之间传递对象注意问题: 学习自:Socket同时使用ObjectInputSt ...

  2. 在VMware上安装CentOS -7步骤详解

    在VMware上安装CentOS -7 一.下载好VMware虚拟机 二.准备好CentOS的镜像文件 在这里安装之前博主都已准备好了. 废话就少啰嗦啦!现在开始安装步骤了 1.首先打开VMware创 ...

  3. js---疑点代码段解析

    function count() { var arr = []; for (var i=1; i<=3; i++) { console.log("iii---"+i); ar ...

  4. hdu 2829 Lawrence(斜率优化DP)

    题目链接:hdu 2829 Lawrence 题意: 在一条直线型的铁路上,每个站点有各自的权重num[i],每一段铁路(边)的权重(题目上说是战略价值什么的好像)是能经过这条边的所有站点的乘积之和. ...

  5. Leetcode 解题报告

    347. Top K Frequent Elements Given a non-empty array of integers, return the k most frequent element ...

  6. jetty启动https

    <Configure id="Server" class="org.eclipse.jetty.server.Server"> <!-- if ...

  7. js时间戳格式化成日期格式

    原文:http://www.sufeinet.com/thread-1500-1-1.htmljs需要把时间戳转为为普通格式,一般的情况下可能用不到的,下面先来看第一种吧 function getLo ...

  8. 实战荟萃-UI篇

    一. 前言 平时在处理问题的时候,经常会遇到一些奇奇怪怪的问题,今天在这里将其记录下来.这里将会列举几个常用的UI问题进行讲解 二. 导航栏 iOS导航栏绝对是个巨坑.和很多朋友聊天都是自己实现了一套 ...

  9. sql优化方式-转载

    我始终认为,一个系统的性能的提高,不单单是试运行或者维护阶段的性能调优的任务,也不单单是开发阶段的事情,而是在整个软件生命周期都需要注意,进行有效工作才能达到的.所以我希望按照软件生命周期的不同阶段来 ...

  10. C3P0连接池参数详解

    <c3p0-config> <default-config> <!--当连接池中的连接耗尽的时候c3p0一次同时获取的连接数.Default: 3 --> < ...