<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="io.hmit.modules.activiti.dao.ProcessActivityDao"> <resultMap id="ProcessActivityEntity" type="io.hmit.modules.activiti.entity.ProcessActivityEntity"> <result property="processDefinitionName" column="DEF_NAME"/> <result property="processDefinitionVersion" column="DEF_VERSION_"/> <result property="processInstanceId" column="PROC_INST_ID_"/> <result property="businessKey" column="BUSINESS_KEY_"/> <result property="startTime" column="START_TIME_"/> <result property="endTime" column="END_TIME_"/> <result property="startUserId" column="START_USER_ID_"/> <result property="assignee" column="ASSIGNEE_"/> <result property="processDefinitionId" column="PROC_DEF_ID_"/> </resultMap> <resultMap id="HistoryDetail" type="io.hmit.modules.activiti.entity.HistoryDetailEntity"> <result property="processDefinitionId" column="PROC_DEF_ID_"/> <result property="processInstanceId" column="PROC_INST_ID_"/> <result property="startTime" column="START_TIME_"/> <result property="endTime" column="END_TIME_"/> <result property="assignee" column="ASSIGNEE_"/> <result property="activityType" column="TYPE_"/> <result property="id" column="ID_"/> <result property="taskId" column="TASK_ID_"/> <result property="comment" column="MESSAGE_"/> <result property="executionId" column="EXECUTION_ID_"/> <result property="activityName" column="NAME_"/> </resultMap> <select id="getMyProcessInstancePage" parameterType="map" resultMap="ProcessActivityEntity"> SELECT aht.*, arp.NAME_ as DEF_NAME, ahp.BUSINESS_KEY_, ahp.START_TIME_, ahp.END_TIME_, ahp.START_USER_ID_, arp.VERSION_ as DEF_VERSION_ FROM (SELECT DISTINCT PROC_DEF_ID_, PROC_INST_ID_,ASSIGNEE_ FROM ACT_HI_TASKINST) aht LEFT JOIN ACT_HI_PROCINST ahp on aht.PROC_INST_ID_ = ahp.PROC_INST_ID_ LEFT JOIN ACT_RE_PROCDEF arp on aht.PROC_DEF_ID_ = arp.ID_ WHERE aht.ASSIGNEE_ = #{userId} <if test="processInstanceId != null"> and aht.PROC_INST_ID_ = #{processInstanceId} </if> <if test="businessKey != null"> and ahp.BUSINESS_KEY_ = #{businessKey} </if> <if test="startBeginTime != null"> and ahp.START_TIME_ >= #{startBeginTime} </if> <if test="startEndTime != null"> <![CDATA[and ahp.START_TIME_ <= #{startEndTime}]]> </if> <if test="finishedBeginTime != null"> and ahp.END_TIME_ >= #{finishedBeginTime} </if> <if test="finishedEndTime != null"> <![CDATA[and ahp.END_TIME_ <= #{finishedEndTime}]]> </if> </select> <select id="getTaskHandleDetailInfo" resultMap="HistoryDetail"> SELECT ahc.ID_, ahc.TYPE_, aht.ID_ as TASK_ID_, aht.PROC_INST_ID_, ahc.MESSAGE_, aht.PROC_DEF_ID_, aht.EXECUTION_ID_, aht.NAME_, aht.ASSIGNEE_, aht.START_TIME_, aht.END_TIME_ from ACT_HI_TASKINST aht left join ACT_HI_COMMENT ahc on ahc.TASK_ID_ = aht.ID_ and ahc.TYPE_ = 'comment' where aht.PROC_INST_ID_ = #{processInstanceId} and aht.end_time_ is not null order by aht.START_TIME_ desc </select> </mapper>