WorkNodeMapper.xml 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  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.dayou.mapper.WorkNodeMapper">
  4. <resultMap id="flowNodeMap" type="com.dayou.dto.WorkNodeDTO">
  5. <result column="id" property="id" />
  6. <result column="created" property="created" />
  7. <result column="deleted" property="deleted" />
  8. <result column="modified" property="modified" />
  9. <result column="flow_id" property="flowId" />
  10. <result column="privious_node_id" property="priviousNodeId" />
  11. <result column="name" property="name" />
  12. <result column="code" property="code" />
  13. <result column="reversible" property="reversible" />
  14. <result column="restartable" property="restartable" />
  15. <result column="terminable" property="terminable" />
  16. <result column="skippable" property="skippable" />
  17. <result column="type" property="type" />
  18. <result column="remark" property="remark" />
  19. <result column="deadline_type" property="deadlineType" />
  20. <result column="deadline_number" property="deadlineNumber" />
  21. <result column="verify" property="verify" />
  22. <result column="businessType" property="businessType" />
  23. <collection property="tasks" ofType="com.dayou.entity.WorkNodeTask" select="selectNodeTasks" column="{id=id,businessType=businessType}"/>
  24. </resultMap>
  25. <!-- 通用查询结果列 -->
  26. <sql id="Base_Column_List">
  27. id,
  28. created,
  29. deleted,
  30. modified,
  31. flow_id, privious_node_id, name, code, reversible, restartable, terminable, skippable, type, remark,deadline_type,deadline_number,verify
  32. </sql>
  33. <select id="getFlowNodes" resultMap="flowNodeMap">
  34. select <include refid="Base_Column_List" />,#{businessType} as businessType from work_node where flow_id = #{flowId} and deleted = 0
  35. </select>
  36. <select id="selectNodeTasks" resultType="com.dayou.entity.WorkNodeTask">
  37. SELECT
  38. id,
  39. node_id,
  40. description,
  41. task_type,
  42. JSON_UNQUOTE( `handler_permission` -> '$.name' ) AS name,
  43. JSON_UNQUOTE( `handler_permission` -> '$.powerId' ) AS powerId,
  44. handler_permission,
  45. business_handle
  46. from
  47. work_node_task
  48. WHERE
  49. node_id = #{id} and deleted = 0 and version = "LATEST" and business_type = #{businessType}
  50. </select>
  51. <select id="getNodesByMainBusiness" parameterType="java.lang.String" resultType="com.dayou.entity.WorkNode">
  52. select name ,code from work_node where flow_id = (select id from work_flow where code=#{businessType} AND deleted = 0 and state = 0) and deleted = 0
  53. </select>
  54. </mapper>