Эх сурвалжийг харах

fix:电子交卷 - 查询考试学生

caozixuan 3 жил өмнө
parent
commit
4277d22220

+ 37 - 9
distributed-print-business/src/main/resources/mapper/ExamStudentMapper.xml

@@ -122,16 +122,44 @@
     <select id="listExamStudentBySchoolIdAndClazzId"
             resultType="com.qmth.distributed.print.business.entity.ExamStudent">
         SELECT
-            bs.student_name studentName,
-            bs.student_code studentCode,
-            bs.clazz_id clazzId,
-            bc.clazz_name clazzName
+            *
         FROM
-            basic_student bs
-                LEFT JOIN
-            basic_clazz bc ON bs.school_id = bc.school_id and bs.clazz_id = bc.id
-        where bs.school_id = #{schoolId}
-            and bs.clazz_id = #{classId}
+            (SELECT
+                 bs.school_id AS schoolId,
+                 bs.student_code AS studentCode,
+                 bs.student_name AS studentName,
+                 bs.clazz_id AS clazzId,
+                 bc.clazz_name AS clazzName
+             FROM
+                 basic_student bs
+                     INNER JOIN basic_clazz bc ON bs.clazz_id = bc.id
+            <where>
+                <if test="schoolId != null and schoolId != ''">
+                    AND bs.school_id = #{schoolId}
+                </if>
+                <if test="classId != null and classId != ''">
+                    AND bc.id = #{classId}
+                </if>
+            </where>
+        UNION
+            SELECT
+                ts.school_id AS schoolId,
+                ts.student_code AS studentCode,
+                ts.student_name AS studentName,
+                ts.teach_clazz_id AS clazzId,
+                tc.teach_clazz_name AS clazzName
+             FROM
+                 teach_student ts
+                    INNER JOIN teach_clazz tc ON ts.teach_clazz_id = tc.id
+            <where>
+                <if test="schoolId != null and schoolId != ''">
+                    AND ts.school_id = #{schoolId}
+                </if>
+                <if test="classId != null and classId != ''">
+                    AND tc.id = #{classId}
+                </if>
+            </where>
+                ) t0;
     </select>
     <select id="getSysOrgByBelongOrgId" resultType="com.qmth.teachcloud.common.entity.SysOrg">
         SELECT

+ 12 - 0
distributed-print/src/test/java/com/qmth/distributed/print/ServiceTest.java

@@ -7,7 +7,9 @@ import com.qmth.distributed.print.business.bean.dto.examObject.ExamObjectDto;
 import com.qmth.distributed.print.business.bean.result.TemplatePrintInfoResult;
 import com.qmth.distributed.print.business.entity.ExamCardDetail;
 import com.qmth.distributed.print.business.entity.ExamPrintPlan;
+import com.qmth.distributed.print.business.entity.ExamStudent;
 import com.qmth.distributed.print.business.enums.MessageEnum;
+import com.qmth.distributed.print.business.mapper.ExamStudentMapper;
 import com.qmth.distributed.print.business.service.*;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.BasicAttachment;
@@ -55,6 +57,8 @@ public class ServiceTest {
     private ExamCardDetailService examCardDetailService;
     @Resource
     private BasicPrintConfigService basicPrintConfigService;
+    @Resource
+    private ExamStudentMapper examStudentMapper;
 
 
     @Test
@@ -165,4 +169,12 @@ public class ServiceTest {
         System.out.println(var);
     }
 
+    @Test
+    public void findExamStudent(){
+        Long schoolId = 2L;
+        String clazzId = "225944699725156352";
+        List<ExamStudent> examStudentList = examStudentMapper.listExamStudentBySchoolIdAndClazzId(schoolId,clazzId);
+        System.out.println(JSON.toJSONString(examStudentList));
+    }
+
 }