一: 历史数据表
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. js中角度计算

    -. js 关于三角函数算法  弧度 和 角度的理解, 以及相互转换   角的两种单位 度 和 弧      1.弧度的定义       我们知道"度"的定义是,"两条射 ...

  2. Foxit Reader(福昕PDF阅读器) v4.3.1.218 绿色专业版

    软件名称:Foxit Reader(福昕PDF阅读器) v4.3.1.218 绿色专业版 软件语言: 简体中文 授权方式: 免费软件 运行环境: Win 32位/64位 软件大小: 4.40MB 图片 ...

  3. VR应用向导,全球Top10 VR应用排行榜

    2016年国际知名产商索尼.三星.HTC.Oculus.YouTube等等都推出了自己的VR设备,与此同时还有自有的VR应用平台,供各位玩家下载应用体验沉浸式VR,当然每个平台的VR应用下载量各不相同 ...

  4. asp.net <% = #区别

    <% = %>是将网页中定义的变量的值赋给控件: 例如:<input name="T_ClientAdd" type="text" id=&q ...

  5. vue跨组件通信的几种方法

    http://www.tuicool.com/articles/jyM32mA 在开发组件的时候,一定会遇到组件的通信,比如点击一个图标出现弹窗和蒙层,这三个分别是不同的组件.管理他们之间的状态就成了 ...

  6. Chapter 17_2 备忘录函数

    一项通用的编程技术:用空间换时间. 例如有一种做法就可以提高一些函数的运行速度,记录下函数计算的结果,当再次调用该函数时,便可以复用之前的结果. 比如,一个普通服务器,在它收到请求中包含Lua代码,会 ...

  7. SAP HANA中创建计算视图(Calculation View)

    [Step By Step]SAP HANA中创建计算视图(Calculation View) Demo Instruction: 该视图将两个表AUDIOBOOKS和BOOKS中的数据进行连接,并作 ...

  8. Atomic 升级

    Atomic 采用类似github的版本管理,  可以使用以下命令升级 ostree remote add --set=gpg-verify=false atomic20160212 http://. ...

  9. Python 智能处理方向的工具

    机器视觉类:OpenCV. 自然语言处理:NLTK, jieba(Python中文分词组件),HanLP, FudanNLP, NLPIR, http://tm.itc.ntnu.edu.tw/CNL ...

  10. gvim窗口根据gnome-terminal位置定位

    gvim启动位置固定的话容易挡到东西,所以写了一段vimscript根据gnome-terminal的位置启动gvim,这样被遮住的概率就一些了. fun! g:get_xterm_pos ()&qu ...