1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- <?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="com.flow.dao.FlowInstanceDao">
- <resultMap id="BaseResultMap" type="com.flow.entity.FlowInstance">
- <result property="id" column="id" jdbcType="VARCHAR"/>
- <result property="name" column="NAME_" jdbcType="VARCHAR"/>
- <result property="definitionId" column="PROC_DEF_ID_" jdbcType="VARCHAR"/>
- <result property="version" column="VERSION_" jdbcType="INTEGER"/>
- <result property="startUserId" column="START_USER_ID_" jdbcType="VARCHAR"/>
- <result property="startTime" column="START_TIME_" jdbcType="TIMESTAMP"/>
- <result property="endTime" column="END_TIME_" jdbcType="TIMESTAMP"/>
- <result property="duration" column="DURATION_" jdbcType="INTEGER"/>
- <result property="status" column="status" jdbcType="INTEGER"/>
- <result property="cancelDays" column="cancel_days" jdbcType="INTEGER"/>
- <association property="currentNodes" column="id" select="getCurrentNodes"/>
- </resultMap>
- <sql id="instanceColumns">
- SELECT
- RE.id,
- HP.NAME_,
- HP.PROC_DEF_ID_,
- HP.START_USER_ID_,
- HP.START_TIME_,
- HP.END_TIME_,
- HP.DURATION_,
- RE.status,
- RE.cancel_days
- FROM
- flow_instance AS RE
- INNER JOIN ACT_HI_PROCINST AS HP ON RE.id = HP.ID_
- </sql>
- <sql id="instanceWheres">
- <if test="query.startUserId != null and query.startUserId != ''">
- AND HP.START_USER_ID_ = #{query.startUserId}
- </if>
- <if test="query.status!= null">
- AND RE.status = #{query.status}
- </if>
- <if test="query.name!= null and query.name!= ''">
- AND HP.NAME_ like CONCAT('%',#{query.name},'%')
- </if>
- <if test="query.modelCode!= null and query.modelCode!= ''">
- AND HP.PROC_DEF_ID_ like CONCAT(#{query.modelCode},'%')
- </if>
- <if test="query.definitionId!= null and query.definitionId!= ''">
- AND HP.PROC_DEF_ID_ = #{query.definitionId}
- </if>
- <if test="query.startDates != null and query.startDates.size()>1">
- AND HP.START_TIME_ between #{query.startDates[0]} and #{query.startDates[1]}
- </if>
- <if test="query.endDates != null and query.endDates.size()>1">
- AND HP.END_TIME_ between #{query.endDates[0]} and #{query.endDates[1]}
- </if>
- </sql>
- <select id="list" resultMap="BaseResultMap">
- <include refid="instanceColumns"></include>
- <where>
- <include refid="instanceWheres"></include>
- </where>
- ORDER BY
- HP.START_TIME_ DESC
- </select>
- <select id="copy" resultMap="BaseResultMap">
- <include refid="instanceColumns"></include>
- INNER JOIN ACT_HI_IDENTITYLINK HE ON
- RE.id = HE.PROC_INST_ID_ AND
- HE.TYPE_ = 'copy' AND
- USER_ID_ = '${@com.flow.common.core.util.SecurityContextUtil@getUserId()}'
- <where>
- <include refid="instanceWheres"></include>
- </where>
- ORDER BY
- HP.START_TIME_ DESC
- </select>
- <select id="getInstance" resultMap="BaseResultMap">
- <include refid="instanceColumns"></include>
- WHERE
- RE.id = #{id}
- </select>
- <select id="getCurrentNodes" resultType="java.lang.String">
- SELECT
- DISTINCT ACT_NAME_
- FROM
- ACT_RU_ACTINST
- WHERE
- END_TIME_ IS NULL AND PROC_INST_ID_ = #{id}
- </select>
- </mapper>
|