Workflow相关表简单分析
静态定义表(没有ITEM_KEY,因为ITEM_KEY代表一个wf实例)
--获取item_type定义。
SELECT * FROM wf_item_types t WHEREt.name= 'CUX_TEST';
/*查询指定ITEM_TYPE中新建的activitie定义(没有activity的id)。*/
SELECT *
FROM wf_activities_tlt
WHERE t.item_type= 'CUX_0005'
AND t.version= 1;
/*查询指定PROCESS所属的ITEM_TYPE中新建的activitie和该ITEM_TYPE所引用的其他Item_type中的activities的并集。*/
SELECT *
FROM wf_process_activitiest
WHERE t.process_item_type= 'CUX_0005'
AND t.process_version= 1;
/*查询指定ITEM_TYPE中的Message*/
SELECT * FROM wf_messages t WHEREt.type= 'CUX_TEST';
/*分别获取指定ITEM_TYPE下,item_type级别、message级别和activity级别的attribute定义。*/
SELECT * FROM wf_item_attributes t WHEREt.item_type = 'CUX_TEST';
SELECT * FROM wf_message_attributes tWHEREt.message_type = 'CUX_TEST';
SELECT * FROM wf_activity_attributes tWHEREt.activity_item_type = 'CUX_TEST';
动态实例表(有ITEM_KEY,代表一个运行起来的wf实例)
/*指定ITEM_TYPE和ITEM_KEY,获取一个process运行实例*/
SELECT *
FROM wf_itemst
WHERE t.item_type= 'CUX_T2'
AND t.item_key= 'CUX_TEST_ITEM_KEY_056';
/*指定ITEM_KEY,查看该PROCESS发送的所有的Notificatio*/
SELECT t.message_type
,t.message_name
,t.recipient_role
,t.original_recipient
,t.status--通知的当前状态(CLOSED表示已经审批完成;CANCELED表示超时;OPEN表示正在审批中。)
,t.mail_status
/*在相应接收人成功登录系统后,系统才会为以下三个字段设置值;
在接收人登录系统之前,它们的值为空。(不知为何?)*/
,t.from_role--通知发送角色
,t.from_user--工作列表的发发件人字段
,t.to_user--通知的接收人
,t.begin_date
,t.end_date
,t.due_date
,t.*
FROM wf_notificationst
WHERE t.item_key= 'CUX_TEST_ITEM_KEY_055';
/*Notification的审批结果(审批意见)表,一般与wf_notifications表相关联*/
SELECT t.notification_id
,t.from_user
,t.to_user
,t.user_comment
,t.comment_date
FROM wf_commentst
WHERE t.notification_id= 712867;
/*指定ITEM_TYPE和ITEM_KEY,指定一个activity名称(包括Process名称,因为Process也是一个activity),
获取该activity当前的运行状态*/
SELECT t.assigned_user --表示一个notification的接收人(即Notification的Performer值),如果当前activity不是一个notification,则该字段为空。
,t.*
,pa.*
FROM wf_item_activity_statusest
,wf_process_activities pa
WHERE 1 = 1
AND t.process_activity=pa.instance_id
AND t.item_type= 'CUX_T2'
AND t.item_key= 'CUX_TEST_ITEM_KEY_067';
/*指定notification,获取其属性的值(比如用户的审批结果)*/
SELECT n.notification_id
,n.status
,na.name
,na.text_value
,na.number_value
,na.date_value
,na.event_value
FROM wf_notifications n
,wf_notification_attributesna
WHERE n.notification_id=
na.notification_id
AND n.item_key= 'CUX_TEST_ITEM_KEY_055';
/*当前PROCESS中所有活动的当前属性值*/
SELECT *
FROM wf_item_attribute_valuesval
WHERE val.item_type= 'CUX_T2'
AND val.item_key= 'CUX_TEST_ITEM_KEY_055';
/*关于发件人相关表的分析,以下的from/to字段都可以通过手工update后台表来改变页面的显示内容。*/
SELECT n.notification_id
--n.from_user,该字段显示为系统主页的工作列表以及通知明细题头部分的“发件人”。
,n.from_usern_from_user
--n.to_user,该字段显示为通知明细题头部分的“至”。
,n.to_usern_to_user
--c.from_user,该字段显示为系统通知明细行部分的“自”。
,c.from_userc_from_user
--c.to_user,该字段显示为系统通知明细行部分的“至”。
,c.to_userc_to_user
FROM wf_notificationsn
,wf_comments c
WHERE 1 = 1
AND c.notification_id=
n.notification_id
AND n.item_key= 'CUX_TEST_ITEM_KEY_067';
Workflow相关表简单分析的更多相关文章
- 简单分析JavaScript中的面向对象
初学JavaScript的时候有人会认为JavaScript不是一门面向对象的语言,因为JS是没有类的概念的,但是这并不代表JavaScript没有对象的存在,而且JavaScript也提供了其它的方 ...
- CSipSimple 简单分析
简介 CSipSimple是一款可以在android手机上使用的支持sip的网络电话软件,可以在上面设置使用callda网络电话.连接使用方式最好是使用wifi,或者3g这样上网速度快,打起电话来效果 ...
- C#中异常:“The type initializer to throw an exception(类型初始值设定项引发异常)”的简单分析与解决方法
对于C#中异常:“The type initializer to throw an exception(类型初始值设定项引发异常)”的简单分析,目前本人分析两种情况,如下: 情况一: 借鉴麒麟.NET ...
- 透过byte数组简单分析Java序列化、Kryo、ProtoBuf序列化
序列化在高性能网络编程.分布式系统开发中是举足轻重的之前有用过Java序列化.ProtocolBuffer等,在这篇文章这里中简单分析序列化后的byte数组观察各种序列化的差异与性能,这里主要分析Ja ...
- 简单分析Java的HashMap.entrySet()的实现
关于Java的HashMap.entrySet(),文档是这样描述的:这个方法返回一个Set,这个Set是HashMap的视图,对Map的操作会在Set上反映出来,反过来也是.原文是 Returns ...
- Ffmpeg解析media容器过程/ ffmpeg 源代码简单分析 : av_read_frame()
ffmpeg 源代码简单分析 : av_read_frame() http://blog.csdn.net/leixiaohua1020/article/details/12678577 ffmpeg ...
- FFmpeg的HEVC解码器源码简单分析:解析器(Parser)部分
===================================================== HEVC源码分析文章列表: [解码 -libavcodec HEVC 解码器] FFmpeg ...
- FFmpeg资料来源简单分析:libswscale的sws_getContext()
===================================================== FFmpeg库函数的源代码的分析文章: [骨架] FFmpeg源码结构图 - 解码 FFmp ...
- wp7之换肤原理简单分析
wp7之换肤原理简单分析 纠结很久...感觉勉强过得去啦.还望各位大牛指点江山 百度找到这篇参考文章http://www.cnblogs.com/sonyye/archive/2012/03/12/2 ...
随机推荐
- SpringBoot学习之启动探究
SpringApplication是SpringBoot的启动程序,我们通过它的run方法可以快速启动一个SpringBoot应用.可是这里面到底发生了什么?它是处于什么样的机制简化我们程序启动的?接 ...
- JS的replace默认只替换第一个匹配项
1. JS的replace默认只替换第一个匹配项. 解决方法: 使用正则表达式进行匹配替换[ ①.replace(new RegExp(②,"g") ,③); ] ①:包含 ...
- let 和 const 命令
let 命令 基本用法 ES6 新增了let命令,用来声明变量.它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效. { let a = 10; var b = 1; } a / ...
- webpack4新建一个项目
Create a new directory mkdir webpack-4-quickstart Initialize a package.json by running: npm init -y ...
- Docker容器如何互联
容器的连接(linking)系统是除了端口映射外,另一种跟容器中应用交互的方式. 该系统会在源和接收容器之间创建一个隧道,接收容器可以看到源容器指定的信息. 自定义容器命名 连接系统依据容器的名称来执 ...
- Java内存泄漏分析系列之五:常见的Thread Dump日志案例分析
原文地址:http://www.javatang.com 症状及解决方案 下面列出几种常见的症状即对应的解决方案: CPU占用率很高,响应很慢 按照<Java内存泄漏分析系列之一:使用jstac ...
- TCP发送源码学习(1)--tcp_sendmsg
一.tcp_sendmsg()函数分析: int tcp_sendmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg, size_t ...
- WCF Restful调用跨域解决方案
目前很多项目中CRM更多扮演一个纯后台管理系统,用户更多的操作是在移动端执行,不管是安卓还是IOS甚至是H5.这里以H5为例,CRM提供数据接口,移动web端来调用接口进行数据处理,这里就会涉及到一个 ...
- Excel init
Sub Test() Dim r As Range Dim a As Integer a = For Each r In Range("b1:b6") If r.Font.Bold ...
- Android文件(File)操作
Android 使用与其他平台上基于磁盘的文件系统类似的文件系统. 本文讲述如何使用 Android 文件系统通过 File API 读取和写入文件. File 对象适合按照从开始到结束的顺序不跳过地 ...