xiaofei 6 месяцев назад
Родитель
Сommit
d5d5ce545d

+ 15 - 1
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/MarkStudentServiceImpl.java

@@ -343,6 +343,20 @@ public class MarkStudentServiceImpl extends ServiceImpl<MarkStudentMapper, MarkS
             scoreDetailDto.setObjectiveScore(Calculator.round(scoreDetailDto.getObjectiveScore(), 1));
             scoreDetailDto.setSubjectiveScore(Calculator.round(scoreDetailDto.getSubjectiveScore(), 1));
             scoreDetailDto.setTotalScore(Calculator.round(scoreDetailDto.getTotalScore(), 1));
+
+            // 扫描状态
+            if (BasicExamStudentStatusEnum.M.equals(scoreDetailDto.getStudentStatus()) || scoreDetailDto.getAbsent() || scoreDetailDto.getOmrAbsent() || scoreDetailDto.getManualAbsent()) {
+                scoreDetailDto.setStudentStatusDisplay("缺考");
+            } else if (ScanStatus.UNEXIST.equals(scoreDetailDto.getScanStatus())) {
+                scoreDetailDto.setStudentStatusDisplay(ScanStatus.UNEXIST.getName());
+            } else {
+                scoreDetailDto.setStudentStatusDisplay("正常");
+            }
+
+            // 违纪状态
+            if (BasicExamStudentStatusEnum.B.equals(scoreDetailDto.getStudentStatus()) || scoreDetailDto.getBreach() || scoreDetailDto.getOmrBreach() || scoreDetailDto.getManualBreach()) {
+                scoreDetailDto.setBreachDisplay("违纪");
+            }
         }
 
         if (!CollectionUtils.isEmpty(studentScoreDetailExportDtoSet)) {
@@ -1127,7 +1141,7 @@ public class MarkStudentServiceImpl extends ServiceImpl<MarkStudentMapper, MarkS
 
         lw.set(MarkStudent::getOmrAbsentChecked, true);
         lw.set(MarkStudent::getOmrAbsent, omrAbsent);
-        lw.set(MarkStudent::getAbsent, omrAbsent && student.getManualAbsent() != null && student.getManualAbsent());
+        lw.set(MarkStudent::getAbsent, omrAbsent || (student.getManualAbsent() != null && student.getManualAbsent()));
         if (omrAbsent) {
             lw.set(MarkStudent::getObjectiveScore, null);
             lw.set(MarkStudent::getObjectiveScoreList, null);