文章目录
- 查询需求场景
- 预设查询结果
- SQL实现查询
查询需求场景
-- 统计当月不同流程类型的审批通过流程数、审批终止流程数、审批驳回流程数、新增流程数(归档+终止+退回)、申请总条目数(关联任务单申请条目数总数)-- 查询思路:
-- 1. 获取当月创建的所有流程 tn_workflow_instance_node(create_time like concat( '2024-09', '%') && node_no = 1 )
-- 2. 按照流程类型进行分组:新增、扩充、冻结、解冻、变更
-- 3. 统计每个组内不同审批状态(终止、退回、归档)总数
-- 4. 关联任务单统计申请条目总数-- tn_workflow_instance_node 流程实例节点表 (统计流程发起时间在本月内及关联流程实例和任务单用到)
-- tn_workflow_instance 流程实例表 (统计流程的状态是通过、退回、终止时关联用到)
-- tn_work_task 任务单表 (统计流程关联任务单审批的总条目数用到)
预设查询结果
如下:
SQL实现查询
SELECTCASEwn.workflow_id WHEN 'WF12304702' THEN'扩充' WHEN 'WF182295840' THEN'冻结' WHEN 'WF30500982' THEN'新增' WHEN 'WF657578194' THEN'变更' WHEN 'WF734432211' THEN'解冻' ELSE 'Unknown' END AS 流程类型,SUM( CASE WHEN wi.STATUS = 'archived' THEN 1 ELSE 0 END ) AS 审批通过总数,SUM( CASE WHEN wi.STATUS = 'suspend' THEN 1 ELSE 0 END ) AS 审批中止总数,SUM( CASE WHEN wi.STATUS = 'return' THEN 1 ELSE 0 END ) AS 审批退回总数,SUM( CASE WHEN wi.STATUS IN ( 'return', 'suspend', 'archived' ) THEN 1 ELSE 0 END ) AS 新增流程总数,SUM( wt.apply_count ) AS 任务单申请总条目数
FROMtn_workflow_instance_node wnJOIN tn_workflow_instance wi ON wn.workflow_instance_id = wi.workflow_instance_idJOIN tn_work_task wt ON wi.task_id = wt.task_id
WHEREwn.create_time LIKE concat( '2024-09', '%' ) AND wn.node_no = 1 AND wi.STATUS IN ( 'return', 'suspend', 'archived' )
GROUP BYwn.workflow_id
查询结果: