Jelajahi Sumber

学生处分列表调整

dzx 1 tahun lalu
induk
melakukan
360e94f910

+ 39 - 32
src/main/resources/mapper/student/BaseStudentPunishmentInfoMapper.xml

@@ -54,11 +54,10 @@
 
     <select id="getMobilePage" parameterType="com.xjrsoft.module.student.dto.BaseStudentPunishmentInfoMobilePageDto"
             resultType="com.xjrsoft.module.student.vo.BaseStudentPunishmentInfoMobilePageVo">
-        SELECT t.id,t3.name AS student_name,t3.gender,t3.credential_number,t4.punishment_type,t1.reason,t1.start_time
-        FROM base_punishment_student_relation t
-        INNER JOIN base_student_punishment_info t1 ON t.punishment_info_id = t1.id
-        INNER JOIN base_student_school_roll t2 ON t.user_id = t2.user_id
-        INNER JOIN xjr_user t3 ON t.user_id = t3.id
+        SELECT t1.id,t3.name AS student_name,t3.gender,t3.credential_number,t4.punishment_type,t1.reason,t1.start_time
+        FROM base_student_punishment_info t1
+        INNER JOIN base_student_school_roll t2 ON t1.user_id = t2.user_id
+        INNER JOIN xjr_user t3 ON t1.user_id = t3.id
         LEFT JOIN base_punishment_type t4 ON t1.punishment_type_id = t4.id
         LEFT JOIN base_class t5 ON t2.class_id = t5.id
         WHERE t1.status = 1 AND t1.delete_mark = 0 AND t3.delete_mark = 0 AND t2.delete_mark = 0
@@ -87,33 +86,41 @@
     <select id="getMobileInfo" parameterType="com.xjrsoft.module.student.dto.BaseStudentPunishmentInfoMobileDetailDto"
             resultType="com.xjrsoft.module.student.vo.BaseStudentPunishmentInfoMobileDetailVo">
         SELECT t.id,
-               t3.name as student_name,
-               t3.gender,
-               t3.credential_number,
-               t4.punishment_type,
-               t1.reason,
-               t1.start_time,
-               t5.student_id,
-               t.adjust_date,
-               t.adjust_type,
-               t.adjust_reason,
-               t.modify_date,
-               t1.create_date,
-               t1.is_publicity,
-               t1.end_time,
-               t.class_name,
-               t.major
-        FROM base_punishment_student_relation t
-                 INNER JOIN base_student_punishment_info t1 ON t.punishment_info_id = t1.id
-                 INNER JOIN base_student_school_roll t2 ON t.user_id = t2.user_id
-                 INNER JOIN xjr_user t3 ON t.user_id = t3.id
-                 INNER JOIN base_student t5 ON t5.user_id = t.user_id
-                 LEFT JOIN base_punishment_type t4 ON t1.punishment_type_id = t4.id
-        WHERE t1.status = 1
-          AND t1.delete_mark = 0
-          AND t3.delete_mark = 0
-          AND t2.delete_mark = 0
-          and t.id = #{dto.id}
+        t1.name AS baseSemesterName,
+        t2.punishment_type AS punishmentType,
+        t.start_time,
+        t.end_time,
+        t.is_publicity,
+        t.push_message_object,
+        t.reason,
+        t.class_name,
+        t5.name,
+        t5.credential_number,
+        t6.name AS gender,
+        t3.name AS teacher_name,
+        t.class_id,
+        t8.name as major,
+        (SELECT adjust_type FROM base_punishment_student_handle
+        WHERE base_student_punishment_info_id = t.id
+        ORDER BY adjust_date DESC LIMIT 1) as adjust_type,
+        (SELECT adjust_date FROM base_punishment_student_handle
+        WHERE base_student_punishment_info_id = t.id
+        ORDER BY adjust_date DESC LIMIT 1) as adjust_date,
+        (SELECT adjust_reason FROM base_punishment_student_handle
+        WHERE base_student_punishment_info_id = t.id
+        ORDER BY adjust_date DESC LIMIT 1) as adjust_reason,
+        (SELECT COUNT(*) FROM base_punishment_student_handle
+        WHERE base_student_punishment_info_id = t.id) as handle_count
+        FROM base_student_punishment_info t
+        INNER JOIN base_punishment_type t2 ON (t2.id = t.punishment_type_id)
+        INNER JOIN xjr_user t5 ON (t.user_id = t5.id)
+        LEFT JOIN base_semester t1 ON (t1.id = t.base_semester_id)
+        LEFT JOIN xjr_user t3 ON (t3.id = t.teacher_id)
+        LEFT JOIN xjr_dictionary_detail t6 ON (t6.code = t5.gender)
+        left join base_student_school_roll t7 on t1.user_id  = t7.id
+        left join base_major_set t8 on t7.major_set_id = t8.id
+        WHERE t.delete_mark = 0
+        and t.id = #{dto.id}
     </select>
 
     <select id="getInfo"