yin 8 luni în urmă
părinte
comite
f6f05a4f8d

+ 24 - 9
src/main/java/cn/com/qmth/scancentral/service/impl/StudentServiceImpl.java

@@ -1652,16 +1652,31 @@ public class StudentServiceImpl extends ServiceImpl<StudentDao, StudentEntity> i
     private void resetExamStatus(StudentEntity student, Integer omrExamNumberCount, Integer examNumberFillCount) {
         if (ScanStatus.UNEXIST.equals(student.getStatus())) {
             student.setExamStatus(null);
-        } else if (!student.getQuestionFilled() && student.getSubjectiveFilled()) {
-            student.setExamStatus(ExamStatus.UNCHECK1);
-        } else if (!student.getQuestionFilled() && !student.getSubjectiveFilled()
-                && omrExamNumberCount >= examNumberFillCount) {
-            student.setExamStatus(ExamStatus.UNCHECK2);
-        } else if (!student.getQuestionFilled() && !student.getSubjectiveFilled()
-                && omrExamNumberCount < examNumberFillCount) {
-            student.setExamStatus(ExamStatus.ABSENT);
         } else {
-            student.setExamStatus(ExamStatus.OK);
+            //客观题有作答,不缺考
+            if(student.getQuestionFilled()){
+                student.setExamStatus(ExamStatus.OK);
+            }else {
+                if (student.getSubjectiveFilled()) {
+                    //客观题未作答,主观题有作答,待确认1
+                    student.setExamStatus(ExamStatus.UNCHECK1);
+                } else {
+                    //客观题未作答,主观题未作答,填涂大于10位
+                    if (omrExamNumberCount >= examNumberFillCount) {
+                        if (! "#".equals(student.getPaperType())) {
+                            //客观题未作答,主观题未作答,填涂大于10位,有卷型,待校验2
+                            student.setExamStatus(ExamStatus.UNCHECK2);
+                        }else {
+                            //客观题未作答,主观题未作答,填涂大于10位,无卷型,缺考
+                            student.setExamStatus(ExamStatus.ABSENT);
+                        }
+                    } else {
+                        //客观题未作答,主观题未作答,填涂小于10位,缺考
+                            student.setExamStatus(ExamStatus.ABSENT);
+                    }
+                }
+            }
+
         }
     }