فهرست منبع

3.2.0-成绩归档,同步bug

xiaof 2 سال پیش
والد
کامیت
32e85b2e13

+ 1 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/ExamStudentMapper.java

@@ -51,7 +51,7 @@ public interface ExamStudentMapper extends BaseMapper<ExamStudent> {
     ExamStudentPdfInfoDto getByStudentId(Long id);
 
     @SuppressWarnings("MybatisXMapperMethodInspection")
-    List<Map> listStudentScoreSync(@Param("schoolId") Long schoolId, @Param("studentCode") String studentCode, @Param("examNumber") String examNumber, @Param("subjectCode") String subjectCode, @Param("printPlanId") Long printPlanId);
+    List<Map> listStudentScoreSync(@Param("schoolId") Long schoolId, @Param("studentCode") String studentCode, @Param("examNumber") String examNumber, @Param("subjectCode") String subjectCode);
 
     List<ExamStudentCourseClassDto> listExamStudentByPaperNumberAndPaperType(@Param("batchId") Long batchId, @Param("paperNumber") String paperNumber, @Param("paperType") String paperType);
 }

+ 1 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/ExamStudentService.java

@@ -45,5 +45,5 @@ public interface ExamStudentService extends IService<ExamStudent> {
 
     ExamStudentPdfInfoDto getByStudentId(Long id);
 
-    List<Map> listStudentScoreSync(Long schoolId, String studentCode, String examNumber, String subjectCode, Long printPlanId);
+    List<Map> listStudentScoreSync(Long schoolId, String studentCode, String examNumber, String subjectCode);
 }

+ 2 - 2
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamStudentServiceImpl.java

@@ -112,7 +112,7 @@ public class ExamStudentServiceImpl extends ServiceImpl<ExamStudentMapper, ExamS
     }
 
     @Override
-    public List<Map> listStudentScoreSync(Long schoolId, String studentCode, String examNumber, String subjectCode, Long printPlanId) {
-        return this.baseMapper.listStudentScoreSync(schoolId, studentCode, examNumber, subjectCode, printPlanId);
+    public List<Map> listStudentScoreSync(Long schoolId, String studentCode, String examNumber, String subjectCode) {
+        return this.baseMapper.listStudentScoreSync(schoolId, studentCode, examNumber, subjectCode);
     }
 }

+ 2 - 4
distributed-print-business/src/main/java/com/qmth/distributed/print/business/templete/service/impl/PushLogicServiceImpl.java

@@ -85,7 +85,6 @@ public class PushLogicServiceImpl implements PushLogicService {
                         int pageNos = mod == 0 ? totalCount / pageSize : totalCount / pageSize + 1;
                         for (int i = 1; i <= pageNos; i++) {
                             List<Map> students = stmmsUtils.getStudentScore(schoolId, examId, null, null, null, null, null, null, null, true, i, pageSize);
-                            log.info("返回结果:{},{}",i, JSONObject.toJSONString(students));
                             for (Map student : students) {
                                 try {
                                     Long orgId = null, clazzId = null;
@@ -95,10 +94,10 @@ public class PushLogicServiceImpl implements PushLogicService {
                                         String studentCode = String.valueOf(student.get("studentCode"));
                                         String subjectCode = String.valueOf(student.get("subjectCode"));
                                         String examNumber = String.valueOf(student.get("examNumber"));
-                                        Long printPlanId = Long.valueOf(student.get("examCode").toString()); // 计划ID
+//                                        Long printPlanId = Long.valueOf(student.get("examCode").toString()); // 计划ID
 
                                         // 分布式印刷系统内部考生信息
-                                        List<Map> studentInfos = examStudentService.listStudentScoreSync(schoolId, studentCode, examNumber, subjectCode, printPlanId);
+                                        List<Map> studentInfos = examStudentService.listStudentScoreSync(schoolId, studentCode, examNumber, subjectCode);
                                         if (studentInfos == null || studentInfos.size() == 0) {
                                             throw ExceptionResultEnum.ERROR.exception("未找到此考生信息");
                                         }
@@ -120,7 +119,6 @@ public class PushLogicServiceImpl implements PushLogicService {
                                     tSyncExamStudentScoreList.add(new TSyncExamStudentScore(student));
                                 } catch (Exception e) {
                                     log.info("同步学生成绩信息失败:{}", e.getMessage());
-                                    e.printStackTrace();
                                     errorTSyncExamStudentScoreList.add(student.get("name") + "," + student.get("examNumber") + "\r\n");
                                 }
                             }

+ 25 - 27
distributed-print-business/src/main/resources/mapper/ExamStudentMapper.xml

@@ -214,33 +214,31 @@
         WHERE a.id = #{id}
     </select>
     <select id="listStudentScoreSync" resultType="java.util.Map">
-        SELECT CASE a.student_clazz_type
-                   WHEN 'TEACH_CLAZZ' THEN a.teach_clazz_id
-                   WHEN 'BASIC_CLAZZ' THEN a.clazz_id
-                   END clazzId,
-               CASE a.student_clazz_type
-                   WHEN 'TEACH_CLAZZ' THEN a.teach_clazz_name
-                   WHEN 'BASIC_CLAZZ' THEN a.clazz_name
-                   END clazzName,
-               a.major_name   majorName,
-               b.course_code  courseCode,
-               b.paper_number paperNumber,
-               a.paper_type   paperType,
-               d.sequence
-        FROM (SELECT *
-              FROM exam_student
-              WHERE school_id = #{schoolId}
-                AND student_code = #{studentCode}
-                AND ticket_number = #{examNumber}) a
-                 JOIN
-             exam_detail_course b ON a.exam_detail_course_id = b.id
-                 JOIN
-             exam_detail c ON b.exam_detail_id = c.id
-                 JOIN
-             exam_task d ON b.school_id = d.school_id
-                 AND b.course_code = d.course_code
-                 AND b.paper_number = d.paper_number
-        WHERE c.print_plan_id = #{printPlanId}
+        SELECT
+            CASE a.student_clazz_type
+                WHEN 'TEACH_CLAZZ' THEN a.teach_clazz_id
+                WHEN 'BASIC_CLAZZ' THEN a.clazz_id
+                END clazzId,
+            CASE a.student_clazz_type
+                WHEN 'TEACH_CLAZZ' THEN a.teach_clazz_name
+                WHEN 'BASIC_CLAZZ' THEN a.clazz_name
+                END clazzName,
+            a.major_name majorName,
+            b.course_code courseCode,
+            b.paper_number paperNumber,
+            a.paper_type paperType,
+            d.sequence
+        FROM
+            exam_student a
+                JOIN
+            exam_detail_course b ON a.exam_detail_course_id = b.id
+                JOIN
+            exam_task d ON b.school_id = d.school_id
+                AND b.course_code = d.course_code
+                AND b.paper_number = d.paper_number
+        WHERE
+            a.school_id = #{schoolId} AND a.student_code = #{studentCode}
+          AND a.ticket_number = #{examNumber}
           AND CONCAT(b.course_code, a.paper_type, d.sequence) = #{subjectCode}
     </select>
     <select id="listExamStudentByPaperNumberAndPaperType"