EvaluateManageMapper.xml 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199
  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.xjrsoft.module.evaluate.mapper.EvaluateManageMapper">
  6. <select id="getPage" parameterType="com.xjrsoft.module.evaluate.dto.EvaluateManagePageDto" resultType="com.xjrsoft.module.evaluate.vo.EvaluateManagePageVo">
  7. SELECT t1.id,t2.name AS semester_name,t4.name AS org_name,t3.evaluate_type,t5.name AS evaluate_type_cn,t1.name,t1.start_time,t1.end_time,t1.status FROM evaluate_manage t1
  8. LEFT JOIN base_semester t2 ON t2.id = t1.base_semester_id
  9. LEFT JOIN evaluate_template t3 ON t3.id = t1.evaluate_template_id
  10. LEFT JOIN xjr_department t4 ON t4.id = t1.org_id
  11. LEFT JOIN xjr_dictionary_detail t5 ON t5.code = t3.evaluate_type AND t5.item_id = 1746831039385366530
  12. WHERE t1.delete_mark = 0
  13. <if test="dto.semesterId != null">
  14. and t1.base_semester_id = #{dto.semesterId}
  15. </if>
  16. <if test="dto.orgId != null">
  17. and t1.org_id = #{dto.orgId}
  18. </if>
  19. <if test="dto.evaluateType != null and dto.evaluateType != ''">
  20. and t3.evaluate_type = #{dto.evaluateType}
  21. </if>
  22. <if test="dto.status != null">
  23. and t1.status = #{dto.status}
  24. </if>
  25. <if test="dto.startTime != null">
  26. and t1.start_time >= #{dto.startTime}
  27. </if>
  28. <if test="dto.endTime != null">
  29. and #{dto.endTime} >= t1.end_time
  30. </if>
  31. <if test="dto.name != null and dto.name != ''">
  32. and t1.name like concat('%', #{dto.name}, '%')
  33. </if>
  34. ORDER BY t1.create_date DESC
  35. </select>
  36. <select id="getList" parameterType="com.xjrsoft.module.room.dto.RoomPageDto" resultType="com.xjrsoft.module.room.vo.RoomExcelVo">
  37. </select>
  38. <select id="getMaxSortCode" resultType="java.lang.Integer">
  39. SELECT IFNULL(MAX(sort_code),1) FROM evaluate_manage WHERE delete_mark = 0
  40. </select>
  41. <select id="getMobileIndexPage" parameterType="com.xjrsoft.module.evaluate.dto.MobileIndexPageDto" resultType="com.xjrsoft.module.evaluate.vo.MobileIndexPageVo">
  42. select
  43. distinct
  44. t.id as evaluateManageId,
  45. t.name,
  46. t2.evaluate_type,
  47. t4.name as evaluateTypeCn,
  48. (select
  49. count(tb3.status)
  50. from evaluate_manage tb1
  51. left join evaluate_executer tb3 on tb3.evaluate_manage_id = tb1.id
  52. where tb1.delete_mark = 0
  53. and tb3.delete_mark = 0
  54. and tb1.status &lt;&gt; -1
  55. and tb3.status = 0
  56. and tb3.id = t3.id
  57. and tb1.id = t.id) as ratedCount
  58. from evaluate_manage t
  59. left join evaluate_template t2 on t2.id = t.evaluate_template_id
  60. left join evaluate_executer t3 on t3.evaluate_manage_id = t.id
  61. left join xjr_dictionary_detail t4 on t4.code = t2.evaluate_type
  62. where t.delete_mark = 0
  63. and t3.delete_mark = 0
  64. and t.status &lt;&gt; -1
  65. and t3.user_id = #{dto.loginUserId}
  66. <if test="dto.keyword != null and dto.keyword != ''">
  67. and (t.name like concat('%', #{dto.keyword}, '%')
  68. or t4.name like concat('%', #{dto.keyword}, '%'))
  69. </if>
  70. </select>
  71. <select id="getMobileResultPage" parameterType="com.xjrsoft.module.evaluate.dto.MobileResultPageDto" resultType="com.xjrsoft.module.evaluate.vo.MobileResultPageVo">
  72. select
  73. t1.id as evaluateManageId,
  74. t1.name,
  75. t.id as evaluateObjectId,
  76. t.object_id as objectId,
  77. ifnull(t5.name, t6.name) as objectIdCn,
  78. t3.id as evaluateUserId,
  79. t3.user_id as userId,
  80. t7.name as userIdCn,
  81. t2.evaluate_type as evaluateType,
  82. t4.name as evaluateTypeCn,
  83. t1.start_time,
  84. t1.end_time,
  85. t3.status as evaluateStatus
  86. from evaluate_object t
  87. left join evaluate_manage t1 on t1.id = t.evaluate_manage_id
  88. left join evaluate_template t2 on t2.id = t1.evaluate_template_id
  89. left join evaluate_executer t3 on t3.evaluate_object_id = t.id
  90. left join xjr_dictionary_detail t4 on t4.code = t2.evaluate_type
  91. left join xjr_user t5 on t5.id = t.object_id
  92. left join base_class t6 on t6.id = t.object_id
  93. left join xjr_user t7 on t7.id = t3.user_id
  94. where t.delete_mark = 0
  95. and t3.delete_mark = 0
  96. and t1.status = 1
  97. and t3.user_id = #{dto.loginUserId}
  98. and t.evaluate_manage_id = #{dto.evaluateManageId}
  99. <if test="dto.status != null">
  100. and t3.status = #{dto.status}
  101. </if>
  102. <if test="dto.startTime != null and dto.startTime != ''">
  103. and t1.start_time >= #{dto.startTime}
  104. </if>
  105. <if test="dto.endTime != null and dto.startTime != ''">
  106. and #{dto.endTime} >= t1.end_time
  107. </if>
  108. order by t3.status;
  109. </select>
  110. <select id="getDrillEvaluateClassList" parameterType="com.xjrsoft.module.evaluate.dto.DrillEvaluateClassListDto" resultType="com.xjrsoft.module.evaluate.vo.DrillEvaluateClassListVo">
  111. select
  112. t1.id as evaluateManageId,
  113. t1.name,
  114. t.id as evaluateObjectId,
  115. t.object_id as objectId,
  116. ifnull(t5.name, t6.name) as objectIdCn,
  117. t3.id as evaluateUserId,
  118. t3.user_id as userId,
  119. t7.name as userIdCn,
  120. t2.evaluate_type as evaluateType,
  121. t4.name as evaluateTypeCn,
  122. t1.start_time,
  123. t1.end_time,
  124. t3.status as evaluateStatus
  125. from evaluate_object t
  126. left join evaluate_manage t1 on t1.id = t.evaluate_manage_id
  127. left join evaluate_template t2 on t2.id = t1.evaluate_template_id
  128. left join evaluate_executer t3 on t3.evaluate_object_id = t.id
  129. left join xjr_dictionary_detail t4 on t4.code = t2.evaluate_type
  130. left join xjr_user t5 on t5.id = t.object_id
  131. left join base_class t6 on t6.id = t.object_id
  132. left join xjr_user t7 on t7.id = t3.user_id
  133. left join base_classroom t8 on t8.id = t6.classroom_id
  134. left join base_class_major_set t9 on t9.class_id = t6.id
  135. left join base_major_set t10 on t10.id = t9.major_set_id
  136. where t.delete_mark = 0
  137. and t3.delete_mark = 0
  138. and t1.status = 1
  139. and t3.user_id = #{dto.loginUserId}
  140. and t.evaluate_manage_id = #{dto.evaluateManageId}
  141. <if test="dto.majorId != null and dto.majorId > 0">
  142. and t10.major_id = #{dto.majorId}
  143. </if>
  144. <if test="dto.officeBuildId != null and dto.officeBuildId > 0">
  145. and t8.officeBuildId = #{dto.officeBuildId}
  146. </if>
  147. order by t3.status;
  148. </select>
  149. <select id="getWriteInfo" parameterType="com.xjrsoft.module.evaluate.dto.EvaluateWritePageDto" resultType="com.xjrsoft.module.evaluate.vo.EvaluateWriteVo">
  150. select t1.id, t1.name,t2.total as sumScore,t1.start_time,t1.end_time,
  151. (SELECT COUNT(id) FROM evaluate_manage_item a WHERE t1.delete_mark = 0 AND a.evaluate_manage_id = t1.id) AS item_count
  152. from evaluate_manage t1
  153. left join evaluate_template t2 on t2.id = t1.evaluate_template_id
  154. where t1.delete_mark = 0
  155. and t1.id = #{id}
  156. </select>
  157. <select id="getItemList" resultType="com.xjrsoft.module.evaluate.vo.EvaluateManageItemVo">
  158. SELECT * FROM evaluate_manage_item WHERE delete_mark = 0 AND evaluate_manage_id = #{id} ORDER BY sort_code
  159. </select>
  160. <select id="getResultList" parameterType="com.xjrsoft.module.evaluate.dto.ResultListDto" resultType="com.xjrsoft.module.evaluate.vo.EvaluateManageItemVo">
  161. SELECT t1.id,t1.sort_code,t1.evaluate_manage_id,t1.topic,t1.problem,t1.score,t2.score AS actualScore,t2.opinion,t1.input_not_null FROM evaluate_manage_item t1
  162. LEFT JOIN evaluate_result t2 ON t1.id = t2.evaluate_item_id
  163. LEFT JOIN evaluate_executer t3 ON t3.id = t2.user_id
  164. WHERE t1.delete_mark = 0
  165. AND t2.delete_mark = 0
  166. AND t1.evaluate_manage_id = #{dto.evaluateManageId}
  167. AND t3.user_id = #{dto.loginUserId}
  168. AND t3.evaluate_object_id = #{dto.evaluateObjectId}
  169. ORDER BY t1.sort_code
  170. </select>
  171. <select id="getScoreList" parameterType="com.xjrsoft.module.evaluate.dto.EvaluateManageScoreDto" resultType="com.xjrsoft.module.evaluate.vo.EvaluateManageScoreVo">
  172. select t.evaluate_manage_id,
  173. t.id as evaluateObjectId,
  174. sum(t2.score) as totalScore,
  175. count(t2.score) as itemCount
  176. from evaluate_object t
  177. left join evaluate_executer t1 on t1.evaluate_object_id = t.id
  178. left join evaluate_result t2 on t2.user_id = t1.id
  179. where t.delete_mark = 0
  180. and t1.delete_mark = 0
  181. and t.evaluate_manage_id = #{dto.evaluateManageId}
  182. and t.id in
  183. <foreach item="evaluateObjectId" index="index" collection="dto.evaluateObjectIdList" open="(" close=")"
  184. separator=",">
  185. #{evaluateObjectId}
  186. </foreach>
  187. and t1.user_id = #{dto.userId}
  188. and t1.status = 1
  189. group by t.evaluate_manage_id, t.id
  190. </select>
  191. </mapper>