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';