首页 > 代码库 > Workflow相关表简单分析

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的接收人(即NotificationPerformer值),如果当前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‘;