flowable 自定义mybatis.xml查询我的待办,我的已办,流程列表,流程日志等

由于公司系统使用的是mybatis-plus操作数据库,研究flowable提供API封装不太好用,故分析最终执行的SQL,进行mybatis.xml改写;此处实现了查询流程定义,我的流程,我的待办,我的已办,流程日志等连表sql;

说明:系统中没有用 flowable用户表 act_id_user,用了自定义用户表 sys_user_info。

 

1. 查询流程定义列表

Page<WfDefinitionVO> selectDefinitionList(Page page, String tenantId);
<select id="selectDefinitionList" resultType="com.geline.cloud.workflow.pojo.WfDefinitionVO">
  SELECT RES.ID_ as DEFINITION_ID_, RES.KEY_ as process_key, RES.NAME_ as process_name, RES.CATEGORY_, f.form_id, f.form_name,
      RES.SUSPENSION_STATE_, RES.DEPLOYMENT_ID_, d.DEPLOY_TIME_ as deployment_time, RES.VERSION_
  from ACT_RE_PROCDEF RES
  left join ACT_RE_DEPLOYMENT d on d.ID_=RES.DEPLOYMENT_ID_
  left join p_wf_deploy_form f on f.deploy_id=RES.DEPLOYMENT_ID_
  WHERE 1=1
  and RES.TENANT_ID_ = #{tenantId}
  and RES.VERSION_ = (select max(VERSION_) from ACT_RE_PROCDEF where KEY_ = RES.KEY_ and TENANT_ID_ = #{tenantId})
  order by RES.KEY_ asc
</select>

2.查询已发布的流程版本列表

Page<WfDefinitionVO> selectPublishList(Page page, String processKey);

  <select id="selectPublishList" resultType="com.geline.cloud.workflow.pojo.WfDefinitionVO">
    SELECT ID_ as definition_id, KEY_ as process_key, NAME_ as process_name, CATEGORY_, VERSION_, DEPLOYMENT_ID_, SUSPENSION_STATE_
    from ACT_RE_PROCDEF
    WHERE KEY_ = #{processKey}
    order by VERSION_ asc
  </select>

3. 查询用户发起流程列表

Page<TaskOwnVO> selectOwnList(Page page, @Param("ew") QueryWrapper wrapper);
  <select id="selectOwnList" resultType="com.geline.cloud.workflow.pojo.TaskOwnVO">
        SELECT p.ID_, gw.title, gw.gw_kind, t.ACT_NAME_, p.START_USER_ID_, u.user_name as start_user_name, p.START_TIME_, t.END_TIME_, p.DURATION_,
               p.BUSINESS_KEY_, p.BUSINESS_STATUS_, p.PROC_INST_ID_, re.DEPLOYMENT_ID_, re.KEY_ as PROC_DEF_KEY_, re.NAME_ as PROC_DEF_NAME_
        from ACT_HI_PROCINST p
        left join ACT_RE_PROCDEF re on p.PROC_DEF_ID_ = re.ID_
        left join sys_user_info u on u.user_id=p.START_USER_ID_
        left join (
            select PROC_INST_ID_, ACT_NAME_, END_TIME_ from ACT_HI_ACTINST
            where ACT_NAME_ is not null and END_TIME_ IN(select MAX(END_TIME_) from ACT_HI_ACTINST group by PROC_INST_ID_)
        ) as t on t.PROC_INST_ID_=p.PROC_INST_ID_
        left join t_gongwe gw on p.BUSINESS_KEY_=gw.id
        left join sys_dept d on d.dept_id=gw.handle_dept_id
        ${ew.customSqlSegment}
        order by p.START_TIME_ desc
  </select>

4.查询用户待办任务列表

Page<TaskTodoVO> selectTodoList(Page page, @Param("userId") String userId, @Param("ew") QueryWrapper wrapper);
    <select id="selectTodoList" resultType="com.geline.cloud.workflow.domain.TaskTodoVO">
        SELECT t.ID_, gw.title, gw.gw_kind, t.NAME_ as task_name, t.ASSIGNEE_, a.START_TIME_, a.END_TIME_, a.DURATION_, p.START_USER_ID_,
        u.user_name as start_user_name, a.ACT_TYPE_, p.BUSINESS_KEY_, p.BUSINESS_STATUS_, t.PROC_DEF_ID_, t.TASK_DEF_KEY_, p.PROC_INST_ID_
        from ACT_RU_TASK t
        left join act_ru_actinst a on a.TASK_ID_=t.ID_
        left join ACT_HI_PROCINST p on t.PROC_INST_ID_=p.PROC_INST_ID_
        left join sys
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI产品实战

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值