FlowInstanceDao.xml 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3. <mapper namespace="com.flow.dao.FlowInstanceDao">
  4. <resultMap id="BaseResultMap" type="com.flow.entity.FlowInstance">
  5. <result property="id" column="id" jdbcType="VARCHAR"/>
  6. <result property="name" column="NAME_" jdbcType="VARCHAR"/>
  7. <result property="definitionId" column="PROC_DEF_ID_" jdbcType="VARCHAR"/>
  8. <result property="version" column="VERSION_" jdbcType="INTEGER"/>
  9. <result property="startUserId" column="START_USER_ID_" jdbcType="VARCHAR"/>
  10. <result property="startTime" column="START_TIME_" jdbcType="TIMESTAMP"/>
  11. <result property="endTime" column="END_TIME_" jdbcType="TIMESTAMP"/>
  12. <result property="duration" column="DURATION_" jdbcType="INTEGER"/>
  13. <result property="status" column="status" jdbcType="INTEGER"/>
  14. <association property="currentNodes" column="id" select="getCurrentNodes"/>
  15. </resultMap>
  16. <sql id="instanceColumns">
  17. SELECT
  18. RE.id,
  19. HP.NAME_,
  20. HP.PROC_DEF_ID_,
  21. HP.START_USER_ID_,
  22. HP.START_TIME_,
  23. HP.END_TIME_,
  24. HP.DURATION_,
  25. RE.status
  26. FROM
  27. ACT_HI_PROCINST HP
  28. LEFT JOIN flow_instance RE ON HP.ID_ = RE.id
  29. </sql>
  30. <select id="list" resultMap="BaseResultMap">
  31. <include refid="instanceColumns"></include>
  32. <where>
  33. <if test="query.startUserId != null and query.startUserId != ''">
  34. AND HP.START_USER_ID_ = #{query.startUserId}
  35. </if>
  36. <if test="query.status!= null">
  37. AND RE.status = #{query.status}
  38. </if>
  39. <if test="query.name!= null and query.name!= ''">
  40. AND HP.NAME_ like CONCAT('%',#{query.name},'%')
  41. </if>
  42. <if test="query.modelCode!= null and query.modelCode!= ''">
  43. AND HP.PROC_DEF_ID_ like CONCAT(#{query.modelCode},'%')
  44. </if>
  45. <if test="query.definitionId!= null and query.definitionId!= ''">
  46. AND HP.PROC_DEF_ID_ = #{query.definitionId}
  47. </if>
  48. <if test="query.startDates != null and query.startDates.size()>1">
  49. AND HP.START_TIME_ between #{query.startDates[0]} and #{query.startDates[1]}
  50. </if>
  51. <if test="query.endDates != null and query.endDates.size()>1">
  52. AND HP.END_TIME_ between #{query.endDates[0]} and #{query.endDates[1]}
  53. </if>
  54. </where>
  55. ORDER BY
  56. HP.ID_ DESC
  57. </select>
  58. <select id="getInstance" resultMap="BaseResultMap">
  59. <include refid="instanceColumns"></include>
  60. WHERE
  61. RE.id = #{id}
  62. </select>
  63. <select id="getCurrentNodes" resultType="java.lang.String">
  64. SELECT
  65. DISTINCT ACT_NAME_
  66. FROM
  67. ACT_RU_ACTINST
  68. WHERE
  69. END_TIME_ IS NULL AND PROC_INST_ID_ = #{id}
  70. </select>
  71. </mapper>