dzx 1 год назад
Родитель
Сommit
c292a55ab6

+ 1 - 1
src/main/java/com/xjrsoft/module/student/service/impl/BaseStudentPunishmentInfoServiceImpl.java

@@ -93,7 +93,7 @@ public class BaseStudentPunishmentInfoServiceImpl extends MPJBaseServiceImpl<Bas
 
         //添加学生列表集合
         QueryWrapper<BasePunishmentStudentHandle> queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq("punishment_info_id", id);
+        queryWrapper.eq("base_student_punishment_info_id", id);
         List<BasePunishmentStudentHandle> studentList = handleService.list(queryWrapper);
 
         baseStudentPunishmentInfoDetailVo.setStudentList(studentList);

+ 24 - 6
src/main/resources/mapper/student/BaseStudentPunishmentInfoMapper.xml

@@ -126,19 +126,37 @@
     <select id="getInfo"
             resultType="com.xjrsoft.module.student.vo.BaseStudentPunishmentInfoDetailVo">
         SELECT t.id,
-               t1.name            AS baseSemesterName,
+               t1.name AS baseSemesterName,
                t2.punishment_type AS punishmentType,
-               t3.name            AS className,
                t.start_time,
                t.end_time,
                t.is_publicity,
                t.push_message_object,
                t.reason,
-               t.file_id
+               t.class_name,
+               t5.name,
+               t5.credential_number,
+               t6.name AS gender,
+               t3.name AS teacher_name,
+               t.class_id,
+               (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 (t.id = #{id} AND t.delete_mark = 0 AND t2.id = t.punishment_type_id)
-                 LEFT JOIN base_semester t1 ON (t1.id = t.base_semester_id)
-                 LEFT JOIN base_class t3 ON (t3.id = t.class_id)
+            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)
+        WHERE t.delete_mark = 0 and t.id = #{id}
     </select>
 
 </mapper>