Workflow相关表简单分析

时间:2022-09-10 01:48:37

静态定义表(没有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';