EvaluateObjectMapper.xml 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  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.EvaluateObjectMapper">
  6. <select id="getObjectList" parameterType="com.xjrsoft.module.evaluate.dto.EvaluateObjectListDto"
  7. resultType="com.xjrsoft.module.evaluate.vo.EvaluateObjectListVo">
  8. SELECT distinct t1.id,t1.base_grade_id as gradeId,t2.name AS grade_name,t1.object_id,ifnull(t3.name, t6.name) AS object_name
  9. FROM evaluate_object t1
  10. LEFT JOIN base_grade t2 ON t2.id = t1.base_grade_id
  11. LEFT JOIN xjr_user t3 ON t3.id = t1.object_id
  12. LEFT JOIN base_class t6 ON t6.id = t1.object_id
  13. LEFT JOIN xjr_user_dept_relation t4 ON t4.user_id = t1.object_id
  14. LEFT JOIN base_class t5 ON t5.grade_id = t2.id
  15. WHERE t1.delete_mark = 0 and t1.evaluate_manage_id = #{dto.evaluateManageId}
  16. <if test="dto.gradeId != null and dto.gradeId > 0">
  17. and t1.base_grade_id = #{dto.gradeId}
  18. </if>
  19. <if test="dto.deptId != null and dto.deptId > 0">
  20. and t4.dept_id = #{dto.deptId}
  21. </if>
  22. <if test="dto.classId != null and dto.classId > 0">
  23. and t5.id = #{dto.classId}
  24. </if>
  25. <if test="dto.name != null and dto.name != ''">
  26. and t3.name like concat("%", #{dto.name}, "%")
  27. </if>
  28. ORDER BY t1.id
  29. </select>
  30. <select id="getExecuterList" parameterType="com.xjrsoft.module.evaluate.dto.EvaluateObjectListDto"
  31. resultType="com.xjrsoft.module.evaluate.vo.EvaluateExecuterVo">
  32. SELECT t1.id, t1.evaluate_object_id,t2.name AS executer_name,t1.user_id as executer_id FROM evaluate_executer t1
  33. LEFT JOIN xjr_user t2 ON t1.user_id = t2.id
  34. WHERE t1.delete_mark = 0 and t1.evaluate_manage_id = #{dto.evaluateManageId}
  35. </select>
  36. <select id="getNewObjectList" parameterType="com.xjrsoft.module.evaluate.dto.EvaluateObjectListDto" resultType="com.xjrsoft.module.evaluate.vo.EvaluateObjectListVo">
  37. <if test="dto.evaluateType != null and dto.evaluateType.equals('stu_evaluate_headtea')">
  38. SELECT t1.id AS class_id,t2.id AS object_id,t2.name AS object_name,t1.grade_id
  39. FROM base_class t1
  40. LEFT JOIN xjr_user t2 ON t1.teacher_id = t2.id
  41. WHERE t1.delete_mark = 0
  42. <if test="dto.gradeId != null">
  43. and t1.grade_id = #{dto.gradeId}
  44. </if>
  45. </if>
  46. <if test="dto.evaluateType != null and dto.evaluateType.equals('dm_evaluate_class')">
  47. SELECT t1.id AS object_id,t1.name AS object_name,t1.grade_id
  48. FROM base_class t1
  49. WHERE t1.delete_mark = 0
  50. <if test="dto.gradeId != null">
  51. and t1.grade_id = #{dto.gradeId}
  52. </if>
  53. </if>
  54. <if test="dto.evaluateType != null and dto.evaluateType.equals('tea_evaluate_class')">
  55. SELECT t1.id AS object_id,t1.name AS object_name,t1.grade_id
  56. FROM base_class t1
  57. WHERE t1.delete_mark = 0
  58. <if test="dto.gradeId != null">
  59. and t1.grade_id = #{dto.gradeId}
  60. </if>
  61. </if>
  62. </select>
  63. <select id="getNewExecuterList" parameterType="com.xjrsoft.module.evaluate.dto.EvaluateObjectListDto" resultType="com.xjrsoft.module.evaluate.vo.EvaluateExecuterVo">
  64. <if test="dto.evaluateType != null and dto.evaluateType.equals('stu_evaluate_headtea')">
  65. SELECT t2.id as executer_id,t2.name as executer_name,t1.class_id,t1.grade_id FROM base_student_school_roll t1
  66. LEFT JOIN xjr_user t2 ON t1.user_id = t2.id
  67. WHERE t1.delete_mark = 0 AND t2.delete_mark = 0
  68. and t1.archives_status = 'FB2901'
  69. <if test="dto.gradeId != null">
  70. and t1.grade_id = #{dto.gradeId}
  71. </if>
  72. </if>
  73. <if test="dto.evaluateType != null and dto.evaluateType.equals('dm_evaluate_class')">
  74. select
  75. t.id as executer_id,t.name as executer_name
  76. from xjr_user t
  77. left join xjr_user_post_relation t1 on t1.user_id = t.id
  78. where t1.post_id = 1742726034814464002
  79. and t.delete_mark = 0
  80. </if>
  81. <if test="dto.evaluateType != null and dto.evaluateType.equals('tea_evaluate_class')">
  82. SELECT DISTINCT t2.class_id,t1.id,t1.name FROM xjr_user t1
  83. INNER JOIN course_table t2 ON t2.teacher_id LIKE CONCAT('%', t1.id,'%')
  84. WHERE 1 = 1
  85. <if test="dto.classIds != null and !dto.classIds.isEmpty()">
  86. and t2.class_id in
  87. <foreach item="id" index="index" collection="dto.classIds" open="(" close=")"
  88. separator=",">
  89. #{id}
  90. </foreach>
  91. </if>
  92. AND t2.schedule_date BETWEEN #{dto.startDate} AND #{dto.endDate}
  93. AND (t2.adjust_type = 'course_exchange' OR t2.adjust_type = 'course_replace' OR t2.adjust_type IS NULL)
  94. UNION
  95. SELECT DISTINCT t2.class_id,t1.id,t1.name FROM xjr_user t1
  96. INNER JOIN course_table_bak t2 ON t2.teacher_id LIKE CONCAT('%', t1.id,'%')
  97. WHERE 1 = 1
  98. <if test="dto.classIds != null and !dto.classIds.isEmpty()">
  99. and t2.class_id in
  100. <foreach item="id" index="index" collection="dto.classIds" open="(" close=")"
  101. separator=",">
  102. #{id}
  103. </foreach>
  104. </if>
  105. AND t2.schedule_date BETWEEN #{dto.startDate} AND #{dto.endDate}
  106. AND (t2.adjust_type = 'course_exchange' OR t2.adjust_type = 'course_replace' OR t2.adjust_type IS NULL)
  107. </if>
  108. <if test="dto.evaluateType != null and dto.evaluateType.equals('stu_evaluate_tea')">
  109. SELECT t2.id as executer_id,t2.name as executer_name,t1.class_id,t1.grade_id FROM base_student_school_roll t1
  110. LEFT JOIN xjr_user t2 ON t1.user_id = t2.id
  111. WHERE t1.delete_mark = 0 AND t2.delete_mark = 0
  112. and t1.archives_status = 'FB2901'
  113. <if test="dto.gradeId != null">
  114. and t1.grade_id = #{dto.gradeId}
  115. </if>
  116. </if>
  117. </select>
  118. <delete id="objectGradeDeleteExecuter" parameterType="com.xjrsoft.module.evaluate.dto.ObjectGradeDeleteDto">
  119. delete t from evaluate_executer t
  120. left join evaluate_object t1 on t1.id = t.evaluate_object_id
  121. where t1.base_grade_id = #{dto.gradeId} and t.evaluate_manage_id = #{dto.evaluateManageId};
  122. </delete>
  123. <delete id="objectGradeDeleteObject" parameterType="com.xjrsoft.module.evaluate.dto.ObjectGradeDeleteDto">
  124. delete from evaluate_object t
  125. where t.base_grade_id = #{dto.gradeId} and t.evaluate_manage_id = #{dto.evaluateManageId};
  126. </delete>
  127. <select id="getClassTeachers" parameterType="com.xjrsoft.module.evaluate.entity.EvaluateManage" resultType="com.xjrsoft.module.evaluate.vo.ClassTeachersListVo">
  128. SELECT DISTINCT class_id, SUBSTRING_INDEX(teacher_id,',',1) AS teacher_id FROM course_table
  129. WHERE schedule_date BETWEEN DATE_FORMAT(#{dto.startTime}, '%Y-%m-%d') AND DATE_FORMAT(#{dto.endTime}, '%Y-%m-%d')
  130. AND teacher_id != '0'
  131. UNION ALL
  132. SELECT DISTINCT class_id, SUBSTRING_INDEX(teacher_id,',',-1) AS teacher_id FROM course_table
  133. WHERE schedule_date BETWEEN DATE_FORMAT(#{dto.startTime}, '%Y-%m-%d') AND DATE_FORMAT(#{dto.endTime}, '%Y-%m-%d')
  134. AND teacher_id != '0'
  135. </select>
  136. </mapper>