DecisionMapper.xml 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  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.DecisionMapper">
  6. <resultMap type="TProjectDecision" id="TProjectDecisionResult">
  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="participantsId" column="participants_id" />
  11. <result property="participants" column="participants" />
  12. <result property="provision" column="provision" />
  13. <result property="remark" column="remark" />
  14. <result property="delFlag" column="del_flag" />
  15. <result property="createBy" column="create_by" />
  16. <result property="createTime" column="create_time" />
  17. <result property="updateBy" column="update_by" />
  18. <result property="updateTime" column="update_time" />
  19. </resultMap>
  20. <resultMap type="ProjectDecisionVo" id="ProjectDecisionVoResult">
  21. <result property="id" column="id" />
  22. <result property="procInstId" column="proc_inst_id"/>
  23. <result property="projectPoolId" column="project_pool_id" />
  24. <result property="participantsId" column="participants_id" />
  25. <result property="participants" column="participants" />
  26. <result property="provision" column="provision" />
  27. <result property="remark" column="remark" />
  28. <result property="delFlag" column="del_flag" />
  29. <result property="createBy" column="create_by" />
  30. <result property="createTime" column="create_time" />
  31. <result property="updateBy" column="update_by" />
  32. <result property="updateTime" column="update_time" />
  33. <result property="status" column="status" />
  34. <result property="projectName" column="project_name" />
  35. <result property="industry" column="industry" />
  36. <result property="investHead" column="invest_head" />
  37. <result property="projectStage" column="project_stage" />
  38. <result property="projectState" column="project_state" />
  39. <result property="taskName" column="taskName"/>
  40. <result property="taskId" column="taskId"/>
  41. <result property="taskCreateTiem" column="taskCreateTiem"/>
  42. <result property="assignee" column="assignee"/>
  43. <result property="assigneeName" column="assigneeName"/>
  44. <result property="taskDefKey" column="taskDefKey"/>
  45. <result property="procDefId" column="procDefId"/>
  46. <result property="procInstId" column="procInstId"/>
  47. <result property="startUserId" column="startUserId"/>
  48. <result property="startUserName" column="startUserName"/>
  49. <result property="startDeptName" column="startDeptName"/>
  50. <result property="executionId" column="executionId"/>
  51. <result property="deployId" column="deployId"/>
  52. </resultMap>
  53. <sql id="selectTProjectDecisionVo">
  54. select id, project_pool_id, participants_id, participants, provision, remark, del_flag, create_by, create_time, update_by, update_time from t_project_decision
  55. </sql>
  56. <sql id="where_sql">
  57. <if test="projectDecision.projectPoolId != null and projectDecision.projectPoolId != ''"> and a.project_pool_id = #{projectDecision.projectPoolId}</if>
  58. <if test="projectDecision.projectName != null and projectDecision.projectName != ''"> and tp.project_name like concat('%', #{projectDecision.projectName}, '%')</if>
  59. <if test="projectDecision.provision != null and projectDecision.provision != ''"> and a.provision like concat('%', #{projectDecision.provision}, '%')</if>
  60. </sql>
  61. <select id="getMyTaskList" resultMap="ProjectDecisionVoResult">
  62. select a.id,a.proc_inst_id, a.project_pool_id,tp.project_name, tp.industry,tp.project_stage,
  63. tp.project_state,tp.invest_head, a.participants_id,a.participants,
  64. a.provision, a.remark, a.del_flag, a.create_by, a.create_time, a.update_by, a.update_time ,a.status,
  65. p.PROC_INST_ID_ as 'procInsId',
  66. p.PROC_DEF_ID_ as 'procDefId',
  67. date_format(p.START_TIME_, '%Y-%m-%d %H:%i:%s') as 'applyTime',
  68. date_format(p.END_TIME_, '%Y-%m-%d %H:%i:%s') as 'endTime',
  69. p.START_USER_ID_ AS 'startUserId',
  70. uu.nick_name AS 'startUserName',
  71. dd.dept_name AS 'startDeptName',
  72. t.NAME_ as 'taskName',
  73. t.TASK_DEF_KEY_ as 'taskDefKey',
  74. DATE_FORMAT(t.CREATE_TIME_ ,'%Y-%m-%d %H:%i') as 'taskCreateTiem',
  75. t.ASSIGNEE_ AS 'assignee',
  76. ui.nick_name AS 'assigneeName',
  77. t.ID_ as 'taskId',
  78. t.EXECUTION_ID_ AS 'executionId',
  79. rp.DEPLOYMENT_ID_ AS 'deployId'
  80. from t_project_decision a
  81. left join t_project_pool tp on tp.id=a.project_pool_id
  82. left join ACT_HI_PROCINST p on a.proc_inst_id = p.PROC_INST_ID_
  83. LEFT JOIN (SELECT * FROM sys_user LIMIT 100000) uu ON p.START_USER_ID_ = uu.user_id
  84. LEFT JOIN (SELECT * FROM sys_dept LIMIT 100000) dd ON uu.dept_id = dd.dept_id
  85. left join ACT_RU_TASK t on a.proc_inst_id = t.PROC_INST_ID_
  86. left join (select * from sys_user limit 100000) ui on t.ASSIGNEE_ = ui.user_id
  87. left join ACT_RU_IDENTITYLINK ru on ru.TASK_ID_ = t.ID_
  88. left join ACT_ID_MEMBERSHIP m on m.GROUP_ID_ = ru.GROUP_ID_ and m.USER_ID_ = #{userId}
  89. LEFT JOIN act_re_procdef rp ON t.PROC_DEF_ID_ = rp.ID_
  90. where
  91. (t.ASSIGNEE_ = #{userId}
  92. or (t.ASSIGNEE_ is null AND ru.TYPE_ = 'candidate'
  93. AND (ru.USER_ID_ = #{userId}
  94. OR ru.GROUP_ID_ IN (
  95. select g.ID_ from ACT_ID_GROUP g, ACT_ID_MEMBERSHIP membership where g.ID_ = membership.GROUP_ID_ AND
  96. membership.USER_ID_ = #{userId} )
  97. )
  98. )
  99. )
  100. and a.del_flag="0"
  101. <include refid="where_sql"></include>
  102. order by a.create_time desc
  103. </select>
  104. <select id="getMyDoneTaskList" resultMap="ProjectDecisionVoResult">
  105. select a.id,a.proc_inst_id, a.project_pool_id,tp.project_name, tp.industry,tp.project_stage,
  106. tp.project_state,tp.invest_head,a.participants_id,a.participants,
  107. a.provision, a.remark, a.del_flag, a.create_by, a.create_time, a.update_by, a.update_time ,a.status,
  108. p.PROC_INST_ID_ as 'procInsId',
  109. p.PROC_DEF_ID_ as 'procDefId',
  110. date_format(p.START_TIME_, '%Y-%m-%d %H:%i:%s') as 'applyTime',
  111. date_format(p.END_TIME_, '%Y-%m-%d %H:%i:%s') as 'endTime',
  112. p.START_USER_ID_ AS 'startUserId',
  113. uu.nick_name AS 'startUserName',
  114. dd.dept_name AS 'startDeptName',
  115. t.ID_ AS 'taskId',
  116. t.NAME_ AS 'taskName',
  117. t.ASSIGNEE_ AS 'assignee',
  118. ui.nick_name AS 'assigneeName',
  119. t.TASK_DEF_KEY_ as 'taskDefKey',
  120. rp.DEPLOYMENT_ID_ AS 'deployId'
  121. from t_project_decision a
  122. LEFT JOIN t_project_pool tp on tp.id=a.project_pool_id
  123. LEFT JOIN (select * from ACT_HI_PROCINST limit 10000000) p on a.proc_inst_id = p.PROC_INST_ID_
  124. LEFT JOIN ACT_RU_TASK t on a.proc_inst_id = t.PROC_INST_ID_
  125. LEFT JOIN ACT_RU_IDENTITYLINK ru on a.proc_inst_id = ru.PROC_INST_ID_
  126. LEFT JOIN (SELECT * FROM sys_user LIMIT 100000) uu ON p.START_USER_ID_ = uu.user_id
  127. LEFT JOIN (SELECT * FROM sys_dept LIMIT 100000) dd ON uu.dept_id = dd.dept_id
  128. LEFT JOIN (select * from sys_user limit 100000) ui on t.ASSIGNEE_ = ui.user_id
  129. LEFT JOIN act_re_procdef rp ON t.PROC_DEF_ID_ = rp.ID_
  130. where ru.USER_ID_ = #{userId} and a.del_flag="0"
  131. <include refid="where_sql"></include>
  132. GROUP BY a.id
  133. order by a.create_time desc
  134. </select>
  135. <select id="getMyList" resultMap="ProjectDecisionVoResult">
  136. select a.id,a.proc_inst_id, a.project_pool_id,tp.project_name, tp.industry,tp.project_stage,
  137. tp.project_state,tp.invest_head, a.participants_id, a.participants,
  138. a.provision, a.remark, a.del_flag, a.create_by, a.create_time, a.update_by, a.update_time ,a.status,
  139. u.nick_name as 'applyUserName',
  140. p.PROC_INST_ID_ as 'procInsId',
  141. p.PROC_DEF_ID_ as 'procDefId',
  142. date_format(p.START_TIME_, '%Y-%m-%d %H:%i:%s') as 'applyTime',
  143. date_format(p.END_TIME_, '%Y-%m-%d %H:%i:%s') as 'endTime',
  144. p.START_USER_ID_ AS 'startUserId',
  145. uu.nick_name AS 'startUserName',
  146. dd.dept_name AS 'startDeptName',
  147. t.NAME_ as 'taskName',
  148. t.TASK_DEF_KEY_ as 'taskDefKey',
  149. DATE_FORMAT(t.CREATE_TIME_ ,'%Y-%m-%d %H:%i') as 'taskCreateTiem',
  150. t.ASSIGNEE_ as 'assignee',
  151. GROUP_CONCAT(DISTINCT ui.nick_name SEPARATOR '\r\n') as 'assigneeName',
  152. t.ID_ as 'taskId',
  153. t.EXECUTION_ID_ AS 'executionId',
  154. rp.DEPLOYMENT_ID_ AS 'deployId'
  155. from t_project_decision a
  156. left join t_project_pool tp on tp.id=a.project_pool_id
  157. left join ACT_HI_PROCINST p on a.proc_inst_id = p.PROC_INST_ID_
  158. LEFT JOIN (SELECT * FROM sys_user LIMIT 100000) uu ON p.START_USER_ID_ = uu.user_id
  159. LEFT JOIN (SELECT * FROM sys_dept LIMIT 100000) dd ON uu.dept_id = dd.dept_id
  160. left join sys_user u on a.create_by = u.user_id
  161. left join ACT_RU_TASK t on a.proc_inst_id = t.PROC_INST_ID_
  162. left join (select * from sys_user limit 100000) ui on t.ASSIGNEE_ = ui.user_id
  163. left join ACT_RU_IDENTITYLINK ru on ru.TASK_ID_ = t.ID_
  164. left join ACT_ID_MEMBERSHIP m on m.GROUP_ID_ = ru.GROUP_ID_ and m.USER_ID_ = #{userId}
  165. left join act_re_procdef rp ON t.PROC_DEF_ID_ = rp.ID_
  166. where a.create_by = #{userId} and a.proc_inst_id is not null and a.proc_inst_id != ''
  167. and a.del_flag="0"
  168. <include refid="where_sql"></include>
  169. GROUP BY a.id
  170. order by a.create_time desc
  171. </select>
  172. <!--<select id="selectTProjectPoolById" parameterType="String" resultMap="TProjectPoolResult">
  173. <include refid="selectTProjectPoolVo"/>
  174. where a.id = #{id}
  175. </select>-->
  176. <select id="selectTProjectDecisionByProcInstId" parameterType="java.lang.String" resultMap="TProjectDecisionResult">
  177. select a.id,a.proc_inst_id, a.project_pool_id, a.participants_id,a.participants,
  178. a.provision, a.remark, a.del_flag, a.create_by, a.create_time, a.update_by, a.update_time ,a.need_meeting,
  179. t.TASK_DEF_KEY_ as 'taskDefKey'
  180. from t_project_decision a
  181. left join ACT_RU_TASK t on a.proc_inst_id = t.PROC_INST_ID_
  182. left join (select * from sys_user limit 100000) ui on t.ASSIGNEE_ = ui.user_id
  183. left join sys_user u on a.create_by = u.user_id
  184. where a.proc_inst_id = #{procInstId,jdbcType=VARCHAR}
  185. GROUP BY a.id
  186. </select>
  187. </mapper>