| | |
| | | SELECT |
| | | p.PROC_INST_ID_ AS procInstId, |
| | | p.BUSINESS_KEY_ AS businessKey, |
| | | p.START_TIME_ AS procStartTime, |
| | | p.END_TIME_ AS procEndTime, |
| | | a.EXECUTION_ID_ AS executionId, |
| | | a.ACT_ID_, |
| | | COALESCE ( a.ACT_NAME_, a.ACT_ID_ ) AS actName, |
| | | a.ACT_TYPE_ AS actType, |
| | |
| | | c.NAME_ AS taskName, |
| | | c.ASSIGNEE_ AS assignee, |
| | | c.DESCRIPTION_ AS description, |
| | | -- 使用 LEAD 获取下一个活动信息 |
| | | LEAD ( COALESCE ( a.ACT_NAME_, a.ACT_ID_ ) ) OVER ( PARTITION BY p.PROC_INST_ID_ ORDER BY a.START_TIME_ ) AS nextActName, |
| | | LEAD ( a.ACT_TYPE_ ) OVER ( PARTITION BY p.PROC_INST_ID_ ORDER BY a.START_TIME_ ) AS nextActType, |
| | | LEAD ( a.START_TIME_ ) OVER ( PARTITION BY p.PROC_INST_ID_ ORDER BY a.START_TIME_ ) AS nextActStartTime |
| | | LEAD ( COALESCE ( a.ACT_NAME_, a.ACT_ID_ ) ) OVER ( PARTITION BY p.PROC_INST_ID_, a.EXECUTION_ID_ |
| | | ORDER BY a.START_TIME_ ) AS nextActName, |
| | | LEAD ( a.ACT_TYPE_ ) OVER ( PARTITION BY p.PROC_INST_ID_, a.EXECUTION_ID_ |
| | | ORDER BY a.START_TIME_ ) AS nextActType, |
| | | LEAD ( a.START_TIME_ ) OVER ( PARTITION BY p.PROC_INST_ID_, a.EXECUTION_ID_ |
| | | ORDER BY a.START_TIME_ ) AS nextActStartTime |
| | | FROM |
| | | act_hi_procinst p |
| | | LEFT JOIN act_hi_actinst a ON p.PROC_INST_ID_ = a.PROC_INST_ID_ |
| | |
| | | ) SELECT |
| | | procInstId, |
| | | businessKey, |
| | | -- 当前活动(userTask)信息 |
| | | actName AS userTaskName, |
| | | taskName, |
| | | assignee, |
| | | actStartTime, |
| | | actEndTime, |
| | | description, |
| | | -- 下一个活动(sequenceFlow)信息 |
| | | nextActName AS sequenceFlowName, |
| | | nextActStartTime AS sequenceFlowStartTime |
| | | FROM |
| | | ActivitySequence |
| | | WHERE |
| | | actType = 'userTask' -- 筛选当前活动为 userTask |
| | | |
| | | AND nextActType = 'sequenceFlow' -- 且下一个活动为 sequenceFlow |
| | | |
| | | actType = 'userTask' |
| | | AND nextActType = 'sequenceFlow' |
| | | ORDER BY |
| | | actStartTime; |
| | | </select> |