Acitiviti跟踪已办任务

摘要

使用工作流的过程中,经常会用到跟踪查看,某个用户已经办理过流程的进度。而Acitiviti5本身没有提供这样的API,所以需要通过自定义SQL查询实现。

1.自定义SQL

SELECT 
  * 
FROM
  (SELECT 
    HiActTable.id_ AS id,
   IF( HiActTable.act_name_ in ('End' , 'Exclusive Gateway'),'已结束',HiActTable.act_name_) AS NAME,
    HiActTable.start_time_ AS createTime,
    HiActTable.assignee_ AS assignee,
    HiProcinst.START_USER_ID_ AS applyUser,
    HiProcinst.START_TIME_ AS applyTime,
    IFNULL(
      HiActTable.END_TIME_,
      '未结束'
    ) AS endTime,
    HiProcinst.BUSINESS_KEY_ AS businessKey,
    HiActTable.proc_inst_id_ AS processInstanceId,
    ReProcdef.KEY_ AS processId,
    ReProcdef.NAME_ AS processName 
  FROM
    act_hi_actinst HiActTable 
    LEFT JOIN act_hi_procinst AS HiProcinst 
      ON HiActTable.PROC_INST_ID_ = HiProcinst.PROC_INST_ID_ 
    LEFT JOIN act_re_procdef AS ReProcdef 
      ON ReProcdef.ID_ = HiProcinst.PROC_DEF_ID_  
  WHERE HiActTable.PROC_INST_ID_ IN 
    (SELECT DISTINCT 
      PROC_INST_ID_ 
    FROM
      act_hi_taskinst 
    WHERE ASSIGNEE_ = ${userId}) 
    ORDER BY HiActTable.start_time_ DESC) SUB_TABLE_ 
  GROUP BY SUB_TABLE_.processInstanceId 
  ORDER BY SUB_TABLE_.applyTime DESC ;

2.自定义bean

public class GbHiTaskEntity {
        private java.lang.String id;
        private java.lang.String name;  
        private java.lang.String formKey;   
        private java.lang.String createTime;    
        private java.lang.String assignee;  
        private java.lang.String applyUser;
        private java.lang.String applyTime;
        private java.lang.String endtime;
        private java.lang.String processInstanceId;
        private java.lang.String processId;
        private java.lang.String processName;
        private java.lang.String businessKey;

        public java.lang.String getId(){
            return this.id;
        }
        public void setId(java.lang.String id){
            this.id = id;
        }

        public java.lang.String getName(){
            return this.name;
        }
        public void setName(java.lang.String name){
            this.name = name;
        }

        public java.lang.String getFormKey(){
            return this.formKey;
        }
        public void setFormKey(java.lang.String formKey){
            this.formKey = formKey;
        }

        public java.lang.String getCreateTime(){
            return this.createTime;
        }
        public void setCreateTime(java.lang.String createTime){
            this.createTime = createTime;
        }

        public java.lang.String getAssignee(){
            return this.assignee;
        }
        public void setAssignee(java.lang.String assignee){
            this.assignee = assignee;
        }

        public java.lang.String getApplyUser(){
            return this.applyUser;
        }
        public void setApplyUser(java.lang.String applyUser){
            this.applyUser = applyUser;
        }

        public java.lang.String getApplyTime(){
            return this.applyTime;
        }
        public void setApplyTime(java.lang.String applyTime){
            this.applyTime = applyTime;
        }

        public java.lang.String getEndtime(){
            return this.endtime;
        }
        public void setEndtime(java.lang.String endtime){
            this.endtime = endtime;
        }

        public java.lang.String getProcessInstanceId(){
            return this.processInstanceId;
        }
        public void setProcessInstanceId(java.lang.String processInstanceId){
            this.processInstanceId = processInstanceId;
        }

        public java.lang.String getProcessId(){
            return this.processId;
        }
        public void setProcessId(java.lang.String processId){
            this.processId = processId;
        }

        public java.lang.String getProcessName(){
            return this.processName;
        }
        public void setProcessName(java.lang.String processName){
            this.processName = processName;
        }

        public java.lang.String getBusinessKey(){
            return this.businessKey;
        }
        public void setBusinessKey(java.lang.String businessKey){
            this.businessKey = businessKey;
        }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值