TerminationMapper.xml 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267
  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.ruoyi.invest.mapper.TerminationMapper">
  6. <resultMap type="TProjectTermination" id="TProjectTerminationResult">
  7. <result property="id" column="id" />
  8. <result property="procInstId" column="proc_inst_id"/>
  9. <result property="projectPoolId" column="project_pool_id" />
  10. <result property="reason" column="reason" />
  11. <result property="delFlag" column="del_flag" />
  12. <result property="createBy" column="create_by" />
  13. <result property="createTime" column="create_time" />
  14. <result property="updateBy" column="update_by" />
  15. <result property="updateTime" column="update_time" />
  16. </resultMap>
  17. <resultMap type="ProjectTerminationVo" id="ProjectTerminationVoResult">
  18. <result property="id" column="id" />
  19. <result property="procInstId" column="proc_inst_id"/>
  20. <result property="projectPoolId" column="project_pool_id" />
  21. <result property="reason" column="reason" />
  22. <result property="delFlag" column="del_flag" />
  23. <result property="createBy" column="create_by" />
  24. <result property="createTime" column="create_time" />
  25. <result property="updateBy" column="update_by" />
  26. <result property="updateTime" column="update_time" />
  27. <result property="projectName" column="project_name" />
  28. <result property="industry" column="industry" />
  29. <result property="investHead" column="invest_head" />
  30. <result property="projectStage" column="project_stage" />
  31. <result property="projectState" column="project_state" />
  32. <result property="projectStatus" column="project_status" />
  33. <result property="taskName" column="taskName"/>
  34. <result property="taskId" column="taskId"/>
  35. <result property="taskCreateTiem" column="taskCreateTiem"/>
  36. <result property="assignee" column="assignee"/>
  37. <result property="assigneeName" column="assigneeName"/>
  38. <result property="taskDefKey" column="taskDefKey"/>
  39. <result property="procDefId" column="procDefId"/>
  40. <result property="procInstId" column="procInstId"/>
  41. <result property="startUserId" column="startUserId"/>
  42. <result property="startUserName" column="startUserName"/>
  43. <result property="startDeptName" column="startDeptName"/>
  44. <result property="executionId" column="executionId"/>
  45. <result property="deployId" column="deployId"/>
  46. </resultMap>
  47. <sql id="selectTProjectTerminationVo">
  48. select id,proc_inst_id, project_pool_id, reason, del_flag, create_by, create_time, update_by, update_time from t_project_termination
  49. </sql>
  50. <sql id="where_sql">
  51. <if test="projectTermination.projectPoolId != null and projectTermination.projectPoolId != ''"> and a.project_pool_id = #{projectTermination.projectPoolId}</if>
  52. <if test="projectTermination.projectName != null and projectTermination.projectName != ''"> and tp.project_name like concat('%', #{projectTermination.projectName}, '%')</if>
  53. <if test="projectTermination.reason != null and projectTermination.reason != ''"> and a.reason like concat('%', #{projectTermination.reason}, '%')</if>
  54. <if test="projectTermination.status != null"> and a.status = #{projectTermination.status} </if>
  55. </sql>
  56. <insert id="insertTProjectTermination" parameterType="TProjectTermination">
  57. insert into t_project_termination
  58. <trim prefix="(" suffix=")" suffixOverrides=",">
  59. <if test="id != null">id,</if>
  60. <if test="procInstId != null">proc_inst_id,</if>
  61. <if test="projectPoolId != null">project_pool_id,</if>
  62. <if test="reason != null">reason,</if>
  63. <if test="delFlag != null">del_flag,</if>
  64. <if test="createBy != null">create_by,</if>
  65. <if test="createTime != null">create_time,</if>
  66. <if test="updateBy != null">update_by,</if>
  67. <if test="updateTime != null">update_time,</if>
  68. <if test="status != null">status,</if>
  69. </trim>
  70. <trim prefix="values (" suffix=")" suffixOverrides=",">
  71. <if test="id != null">#{id},</if>
  72. <if test="procInstId != null">#{procInstId},</if>
  73. <if test="projectPoolId != null">#{projectPoolId},</if>
  74. <if test="reason != null">#{reason},</if>
  75. <if test="delFlag != null">#{delFlag},</if>
  76. <if test="createBy != null">#{createBy},</if>
  77. <if test="createTime != null">#{createTime},</if>
  78. <if test="updateBy != null">#{updateBy},</if>
  79. <if test="updateTime != null">#{updateTime},</if>
  80. <if test="status != null">#{status},</if>
  81. </trim>
  82. </insert>
  83. <update id="updateTProjectTermination" parameterType="TProjectTermination">
  84. update t_project_termination
  85. <trim prefix="SET" suffixOverrides=",">
  86. <if test="projectPoolId != null">project_pool_id = #{projectPoolId},</if>
  87. <if test="reason != null">reason = #{reason},</if>
  88. <if test="delFlag != null">del_flag = #{delFlag},</if>
  89. <if test="createBy != null">create_by = #{createBy},</if>
  90. <if test="createTime != null">create_time = #{createTime},</if>
  91. <if test="updateBy != null">update_by = #{updateBy},</if>
  92. <if test="updateTime != null">update_time = #{updateTime},</if>
  93. <if test="status != null">status = #{status},</if>
  94. </trim>
  95. where id = #{id}
  96. </update>
  97. <select id="selectAllTerminationList" resultMap="ProjectTerminationVoResult">
  98. select a.id,a.proc_inst_id, a.project_pool_id,tp.project_name, tp.industry,tp.project_stage,
  99. tp.project_state,tp.invest_head,tp.project_status,a.reason,
  100. a.del_flag, a.create_by, a.create_time, a.update_by, a.update_time ,a.status,
  101. p.PROC_INST_ID_ as 'procInsId',
  102. p.PROC_DEF_ID_ as 'procDefId',
  103. date_format(p.START_TIME_, '%Y-%m-%d %H:%i:%s') as 'applyTime',
  104. date_format(p.END_TIME_, '%Y-%m-%d %H:%i:%s') as 'endTime',
  105. p.START_USER_ID_ AS 'startUserId',
  106. uu.nick_name AS 'startUserName',
  107. dd.dept_name AS 'startDeptName',
  108. t.NAME_ as 'taskName',
  109. t.TASK_DEF_KEY_ as 'taskDefKey',
  110. DATE_FORMAT(t.CREATE_TIME_ ,'%Y-%m-%d %H:%i') as 'taskCreateTiem',
  111. t.ASSIGNEE_ AS 'assignee',
  112. ui.nick_name AS 'assigneeName',
  113. t.ID_ as 'taskId',
  114. t.EXECUTION_ID_ AS 'executionId',
  115. rp.DEPLOYMENT_ID_ AS 'deployId'
  116. from t_project_termination a
  117. left join t_project_pool tp on tp.id=a.project_pool_id
  118. left join ACT_HI_PROCINST p on a.proc_inst_id = p.PROC_INST_ID_
  119. LEFT JOIN (SELECT * FROM sys_user LIMIT 100000) uu ON p.START_USER_ID_ = uu.user_id
  120. LEFT JOIN (SELECT * FROM sys_dept LIMIT 100000) dd ON uu.dept_id = dd.dept_id
  121. left join ACT_RU_TASK t on a.proc_inst_id = t.PROC_INST_ID_
  122. left join (select * from sys_user limit 100000) ui on t.ASSIGNEE_ = ui.user_id
  123. left join ACT_RU_IDENTITYLINK ru on ru.TASK_ID_ = t.ID_
  124. LEFT JOIN act_re_procdef rp ON t.PROC_DEF_ID_ = rp.ID_
  125. where 1=1
  126. <include refid="where_sql"></include>
  127. order by a.create_time desc
  128. </select>
  129. <select id="getMyTaskList" resultMap="ProjectTerminationVoResult">
  130. select a.id,a.proc_inst_id, a.project_pool_id,tp.project_name, tp.industry,tp.project_stage,
  131. tp.project_state,tp.invest_head,tp.project_status,a.reason,
  132. a.del_flag, a.create_by, a.create_time, a.update_by, a.update_time ,a.status,
  133. p.PROC_INST_ID_ as 'procInsId',
  134. p.PROC_DEF_ID_ as 'procDefId',
  135. date_format(p.START_TIME_, '%Y-%m-%d %H:%i:%s') as 'applyTime',
  136. date_format(p.END_TIME_, '%Y-%m-%d %H:%i:%s') as 'endTime',
  137. p.START_USER_ID_ AS 'startUserId',
  138. uu.nick_name AS 'startUserName',
  139. dd.dept_name AS 'startDeptName',
  140. t.NAME_ as 'taskName',
  141. t.TASK_DEF_KEY_ as 'taskDefKey',
  142. DATE_FORMAT(t.CREATE_TIME_ ,'%Y-%m-%d %H:%i') as 'taskCreateTiem',
  143. t.ASSIGNEE_ AS 'assignee',
  144. ui.nick_name AS 'assigneeName',
  145. t.ID_ as 'taskId',
  146. t.EXECUTION_ID_ AS 'executionId',
  147. rp.DEPLOYMENT_ID_ AS 'deployId'
  148. from t_project_termination a
  149. left join t_project_pool tp on tp.id=a.project_pool_id
  150. left join ACT_HI_PROCINST p on a.proc_inst_id = p.PROC_INST_ID_
  151. LEFT JOIN (SELECT * FROM sys_user LIMIT 100000) uu ON p.START_USER_ID_ = uu.user_id
  152. LEFT JOIN (SELECT * FROM sys_dept LIMIT 100000) dd ON uu.dept_id = dd.dept_id
  153. left join ACT_RU_TASK t on a.proc_inst_id = t.PROC_INST_ID_
  154. left join (select * from sys_user limit 100000) ui on t.ASSIGNEE_ = ui.user_id
  155. left join ACT_RU_IDENTITYLINK ru on ru.TASK_ID_ = t.ID_
  156. left join ACT_ID_MEMBERSHIP m on m.GROUP_ID_ = ru.GROUP_ID_ and m.USER_ID_ = #{userId}
  157. LEFT JOIN act_re_procdef rp ON t.PROC_DEF_ID_ = rp.ID_
  158. where
  159. (t.ASSIGNEE_ = #{userId}
  160. or (t.ASSIGNEE_ is null AND ru.TYPE_ = 'candidate'
  161. AND (ru.USER_ID_ = #{userId}
  162. OR ru.GROUP_ID_ IN (
  163. select g.ID_ from ACT_ID_GROUP g, ACT_ID_MEMBERSHIP membership where g.ID_ = membership.GROUP_ID_ AND
  164. membership.USER_ID_ = #{userId} )
  165. )
  166. )
  167. )
  168. and a.del_flag="0"
  169. <include refid="where_sql"></include>
  170. order by a.create_time desc
  171. </select>
  172. <select id="getMyDoneTaskList" resultMap="ProjectTerminationVoResult">
  173. select a.id,a.proc_inst_id, a.project_pool_id,tp.project_name, tp.industry,tp.project_stage,
  174. tp.project_state,tp.invest_head,tp.project_status,a.reason,
  175. a.del_flag, a.create_by, a.create_time, a.update_by, a.update_time ,a.status,
  176. p.PROC_INST_ID_ as 'procInsId',
  177. p.PROC_DEF_ID_ as 'procDefId',
  178. date_format(p.START_TIME_, '%Y-%m-%d %H:%i:%s') as 'applyTime',
  179. date_format(p.END_TIME_, '%Y-%m-%d %H:%i:%s') as 'endTime',
  180. p.START_USER_ID_ AS 'startUserId',
  181. uu.nick_name AS 'startUserName',
  182. dd.dept_name AS 'startDeptName',
  183. t.ID_ AS 'taskId',
  184. t.NAME_ AS 'taskName',
  185. t.ASSIGNEE_ AS 'assignee',
  186. ui.nick_name AS 'assigneeName',
  187. t.TASK_DEF_KEY_ as 'taskDefKey',
  188. rp.DEPLOYMENT_ID_ AS 'deployId'
  189. from t_project_termination a
  190. left join t_project_pool tp on tp.id=a.project_pool_id
  191. LEFT JOIN (select * from ACT_HI_PROCINST limit 10000000) p on a.proc_inst_id = p.PROC_INST_ID_
  192. LEFT JOIN ACT_RU_TASK t on a.proc_inst_id = t.PROC_INST_ID_
  193. LEFT JOIN ACT_RU_IDENTITYLINK ru on a.proc_inst_id = ru.PROC_INST_ID_
  194. LEFT JOIN (SELECT * FROM sys_user LIMIT 100000) uu ON p.START_USER_ID_ = uu.user_id
  195. LEFT JOIN (SELECT * FROM sys_dept LIMIT 100000) dd ON uu.dept_id = dd.dept_id
  196. LEFT JOIN (select * from sys_user limit 100000) ui on t.ASSIGNEE_ = ui.user_id
  197. LEFT JOIN act_re_procdef rp ON t.PROC_DEF_ID_ = rp.ID_
  198. where ru.USER_ID_ = #{userId} and a.del_flag="0"
  199. <include refid="where_sql"></include>
  200. GROUP BY a.id
  201. order by a.create_time desc
  202. </select>
  203. <select id="getMyList" resultMap="ProjectTerminationVoResult">
  204. select a.id,a.proc_inst_id, a.project_pool_id,tp.project_name, tp.industry,tp.project_stage,
  205. tp.project_state,tp.invest_head,tp.project_status,a.reason,
  206. a.del_flag, a.create_by, a.create_time, a.update_by, a.update_time ,a.status,
  207. u.nick_name as 'applyUserName',
  208. p.PROC_INST_ID_ as 'procInsId',
  209. p.PROC_DEF_ID_ as 'procDefId',
  210. date_format(p.START_TIME_, '%Y-%m-%d %H:%i:%s') as 'applyTime',
  211. date_format(p.END_TIME_, '%Y-%m-%d %H:%i:%s') as 'endTime',
  212. p.START_USER_ID_ AS 'startUserId',
  213. uu.nick_name AS 'startUserName',
  214. dd.dept_name AS 'startDeptName',
  215. t.NAME_ as 'taskName',
  216. t.TASK_DEF_KEY_ as 'taskDefKey',
  217. DATE_FORMAT(t.CREATE_TIME_ ,'%Y-%m-%d %H:%i') as 'taskCreateTiem',
  218. t.ASSIGNEE_ as 'assignee',
  219. GROUP_CONCAT(DISTINCT ui.nick_name SEPARATOR '\r\n') as 'assigneeName',
  220. t.ID_ as 'taskId',
  221. t.EXECUTION_ID_ AS 'executionId',
  222. rp.DEPLOYMENT_ID_ AS 'deployId'
  223. from t_project_termination a
  224. left join t_project_pool tp on tp.id=a.project_pool_id
  225. left join ACT_HI_PROCINST p on a.proc_inst_id = p.PROC_INST_ID_
  226. LEFT JOIN (SELECT * FROM sys_user LIMIT 100000) uu ON p.START_USER_ID_ = uu.user_id
  227. LEFT JOIN (SELECT * FROM sys_dept LIMIT 100000) dd ON uu.dept_id = dd.dept_id
  228. left join sys_user u on a.create_by = u.user_id
  229. left join ACT_RU_TASK t on a.proc_inst_id = t.PROC_INST_ID_
  230. left join (select * from sys_user limit 100000) ui on t.ASSIGNEE_ = ui.user_id
  231. left join ACT_RU_IDENTITYLINK ru on ru.TASK_ID_ = t.ID_
  232. left join ACT_ID_MEMBERSHIP m on m.GROUP_ID_ = ru.GROUP_ID_ and m.USER_ID_ = #{userId}
  233. left join act_re_procdef rp ON t.PROC_DEF_ID_ = rp.ID_
  234. where a.create_by = #{userId} and a.proc_inst_id is not null and a.proc_inst_id != ''
  235. and a.del_flag="0"
  236. <include refid="where_sql"></include>
  237. GROUP BY a.id
  238. order by a.create_time desc
  239. </select>
  240. <!--<select id="selectTProjectPoolById" parameterType="String" resultMap="TProjectPoolResult">
  241. <include refid="selectTProjectPoolVo"/>
  242. where a.id = #{id}
  243. </select>-->
  244. <select id="selectTProjectTerminationByProcInstId" parameterType="java.lang.String" resultMap="TProjectTerminationResult">
  245. select a.id,a.proc_inst_id, a.project_pool_id, a.reason,
  246. a.del_flag, a.create_by, a.create_time, a.update_by, a.update_time ,
  247. t.TASK_DEF_KEY_ as 'taskDefKey'
  248. from t_project_termination a
  249. left join ACT_RU_TASK t on a.proc_inst_id = t.PROC_INST_ID_
  250. left join (select * from sys_user limit 100000) ui on t.ASSIGNEE_ = ui.user_id
  251. left join sys_user u on a.create_by = u.user_id
  252. where a.proc_inst_id = #{procInstId,jdbcType=VARCHAR}
  253. GROUP BY a.id
  254. </select>
  255. <select id="listProjectPoolIdNew" parameterType="String" resultMap="TProjectTerminationResult">
  256. <include refid="selectTProjectTerminationVo"/>
  257. where project_pool_id = #{projectPoolId} and del_flag = 0
  258. ORDER BY create_time DESC LIMIT 1
  259. </select>
  260. </mapper>