ApprovalNodeDefinitionMapper.xml 8.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper
  3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  5. <mapper namespace="com.sundot.airport.system.mapper.approval.ApprovalNodeDefinitionMapper">
  6. <resultMap type="ApprovalNodeDefinition" id="ApprovalNodeDefinitionResult">
  7. <id property="id" column="id"/>
  8. <result property="workflowId" column="workflow_id"/>
  9. <result property="nodeCode" column="node_code"/>
  10. <result property="nodeName" column="node_name"/>
  11. <result property="nodeType" column="node_type"/>
  12. <result property="sortOrder" column="sort_order"/>
  13. <result property="approverType" column="approver_type"/>
  14. <result property="approverValue" column="approver_value"/>
  15. <result property="canReject" column="can_reject"/>
  16. <result property="isRequired" column="is_required"/>
  17. <result property="timeoutHours" column="timeout_hours"/>
  18. <result property="status" column="status"/>
  19. <result property="createBy" column="create_by"/>
  20. <result property="createTime" column="create_time"/>
  21. <result property="updateBy" column="update_by"/>
  22. <result property="updateTime" column="update_time"/>
  23. <result property="remark" column="remark"/>
  24. </resultMap>
  25. <sql id="selectApprovalNodeDefinitionVo">
  26. select id,
  27. workflow_id,
  28. node_code,
  29. node_name,
  30. node_type,
  31. sort_order,
  32. approver_type,
  33. approver_value,
  34. can_reject,
  35. is_required,
  36. timeout_hours,
  37. status,
  38. create_by,
  39. create_time,
  40. update_by,
  41. update_time,
  42. remark
  43. from approval_node_definition
  44. </sql>
  45. <select id="selectApprovalNodeDefinitionList" parameterType="ApprovalNodeDefinition"
  46. resultMap="ApprovalNodeDefinitionResult">
  47. <include refid="selectApprovalNodeDefinitionVo"/>
  48. <where>
  49. <if test="workflowId != null ">and workflow_id = #{workflowId}</if>
  50. <if test="nodeCode != null and nodeCode != ''">and node_code like concat('%', #{nodeCode}, '%')</if>
  51. <if test="nodeName != null and nodeName != ''">and node_name like concat('%', #{nodeName}, '%')</if>
  52. <if test="nodeType != null and nodeType != ''">and node_type = #{nodeType}</if>
  53. <if test="approverType != null and approverType != ''">and approver_type = #{approverType}</if>
  54. <if test="status != null and status != ''">and status = #{status}</if>
  55. </where>
  56. order by workflow_id, sort_order
  57. </select>
  58. <select id="selectApprovalNodeDefinitionById" parameterType="Long" resultMap="ApprovalNodeDefinitionResult">
  59. <include refid="selectApprovalNodeDefinitionVo"/>
  60. where id = #{id}
  61. </select>
  62. <select id="selectApprovalNodeDefinitionByWorkflowId" parameterType="Long" resultMap="ApprovalNodeDefinitionResult">
  63. <include refid="selectApprovalNodeDefinitionVo"/>
  64. where workflow_id = #{workflowId} and status = '0'
  65. order by sort_order
  66. </select>
  67. <select id="selectApprovalNodeDefinitionByWorkflowAndCode" resultMap="ApprovalNodeDefinitionResult">
  68. <include refid="selectApprovalNodeDefinitionVo"/>
  69. where workflow_id = #{workflowId} and node_code = #{nodeCode} and status = '0'
  70. </select>
  71. <select id="selectFirstNodeByWorkflowId" parameterType="Long" resultMap="ApprovalNodeDefinitionResult">
  72. <include refid="selectApprovalNodeDefinitionVo"/>
  73. where workflow_id = #{workflowId} and status = '0'
  74. order by sort_order limit 1
  75. </select>
  76. <select id="selectNextNodeByOrder" resultMap="ApprovalNodeDefinitionResult">
  77. <include refid="selectApprovalNodeDefinitionVo"/>
  78. where workflow_id = #{workflowId} and sort_order > #{currentOrder} and status = '0'
  79. order by sort_order limit 1
  80. </select>
  81. <select id="selectPreviousNodeByOrder" resultMap="ApprovalNodeDefinitionResult">
  82. <include refid="selectApprovalNodeDefinitionVo"/>
  83. where workflow_id = #{workflowId} and sort_order &lt; #{currentOrder} and status = '0'
  84. order by sort_order desc limit 1
  85. </select>
  86. <insert id="insertApprovalNodeDefinition" parameterType="ApprovalNodeDefinition" useGeneratedKeys="true"
  87. keyProperty="id">
  88. insert into approval_node_definition
  89. <trim prefix="(" suffix=")" suffixOverrides=",">
  90. <if test="workflowId != null">workflow_id,</if>
  91. <if test="nodeCode != null and nodeCode != ''">node_code,</if>
  92. <if test="nodeName != null and nodeName != ''">node_name,</if>
  93. <if test="nodeType != null and nodeType != ''">node_type,</if>
  94. <if test="sortOrder != null">sort_order,</if>
  95. <if test="approverType != null">approver_type,</if>
  96. <if test="approverValue != null">approver_value,</if>
  97. <if test="canReject != null">can_reject,</if>
  98. <if test="isRequired != null">is_required,</if>
  99. <if test="timeoutHours != null">timeout_hours,</if>
  100. <if test="status != null">status,</if>
  101. <if test="createBy != null">create_by,</if>
  102. <if test="createTime != null">create_time,</if>
  103. <if test="updateBy != null">update_by,</if>
  104. <if test="updateTime != null">update_time,</if>
  105. <if test="remark != null">remark,</if>
  106. </trim>
  107. <trim prefix="values (" suffix=")" suffixOverrides=",">
  108. <if test="workflowId != null">#{workflowId},</if>
  109. <if test="nodeCode != null and nodeCode != ''">#{nodeCode},</if>
  110. <if test="nodeName != null and nodeName != ''">#{nodeName},</if>
  111. <if test="nodeType != null and nodeType != ''">#{nodeType},</if>
  112. <if test="sortOrder != null">#{sortOrder},</if>
  113. <if test="approverType != null">#{approverType},</if>
  114. <if test="approverValue != null">#{approverValue},</if>
  115. <if test="canReject != null">#{canReject},</if>
  116. <if test="isRequired != null">#{isRequired},</if>
  117. <if test="timeoutHours != null">#{timeoutHours},</if>
  118. <if test="status != null">#{status},</if>
  119. <if test="createBy != null">#{createBy},</if>
  120. <if test="createTime != null">#{createTime},</if>
  121. <if test="updateBy != null">#{updateBy},</if>
  122. <if test="updateTime != null">#{updateTime},</if>
  123. <if test="remark != null">#{remark},</if>
  124. </trim>
  125. </insert>
  126. <update id="updateApprovalNodeDefinition" parameterType="ApprovalNodeDefinition">
  127. update approval_node_definition
  128. <trim prefix="SET" suffixOverrides=",">
  129. <if test="workflowId != null">workflow_id = #{workflowId},</if>
  130. <if test="nodeCode != null and nodeCode != ''">node_code = #{nodeCode},</if>
  131. <if test="nodeName != null and nodeName != ''">node_name = #{nodeName},</if>
  132. <if test="nodeType != null and nodeType != ''">node_type = #{nodeType},</if>
  133. <if test="sortOrder != null">sort_order = #{sortOrder},</if>
  134. <if test="approverType != null">approver_type = #{approverType},</if>
  135. <if test="approverValue != null">approver_value = #{approverValue},</if>
  136. <if test="canReject != null">can_reject = #{canReject},</if>
  137. <if test="isRequired != null">is_required = #{isRequired},</if>
  138. <if test="timeoutHours != null">timeout_hours = #{timeoutHours},</if>
  139. <if test="status != null">status = #{status},</if>
  140. <if test="createBy != null">create_by = #{createBy},</if>
  141. <if test="createTime != null">create_time = #{createTime},</if>
  142. <if test="updateBy != null">update_by = #{updateBy},</if>
  143. <if test="updateTime != null">update_time = #{updateTime},</if>
  144. <if test="remark != null">remark = #{remark},</if>
  145. </trim>
  146. where id = #{id}
  147. </update>
  148. <delete id="deleteApprovalNodeDefinitionById" parameterType="Long">
  149. delete
  150. from approval_node_definition
  151. where id = #{id}
  152. </delete>
  153. <delete id="deleteApprovalNodeDefinitionByIds" parameterType="String">
  154. delete from approval_node_definition where id in
  155. <foreach item="id" collection="array" open="(" separator="," close=")">
  156. #{id}
  157. </foreach>
  158. </delete>
  159. <delete id="deleteApprovalNodeDefinitionByWorkflowId" parameterType="Long">
  160. delete
  161. from approval_node_definition
  162. where workflow_id = #{workflowId}
  163. </delete>
  164. </mapper>