1
0
yin vor 10 Monaten
Ursprung
Commit
9bbd1b4341

+ 6 - 0
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/mark/service/Impl/MarkServiceImpl.java

@@ -471,6 +471,7 @@ public class MarkServiceImpl implements MarkService {
                     library.getGroupNumber(), SubjectiveStatus.UNMARK);
             studentService.updateSubjectiveStatusAndScore(library.getStudentId(), SubjectiveStatus.UNMARK, 0,
                     null);
+            selectiveStudentDao.deleteByStudentId(library.getStudentId());
             inspectedService.clearByStudent(library.getStudentId());
         }
         return true;
@@ -496,6 +497,7 @@ public class MarkServiceImpl implements MarkService {
                 library.getGroupNumber(), SubjectiveStatus.UNMARK);
         studentService.updateSubjectiveStatusAndScore(library.getStudentId(), SubjectiveStatus.UNMARK, 0,
                 null);
+        selectiveStudentDao.deleteByStudentId(library.getStudentId());
         inspectedService.clearByStudent(library.getStudentId());
     }
 
@@ -1570,6 +1572,7 @@ public class MarkServiceImpl implements MarkService {
             scoreCalculate(studentId);
         } else {
             studentService.updateSubjectiveStatusAndScore(studentId, SubjectiveStatus.UNMARK, 0, null);
+            selectiveStudentDao.deleteByStudentId(studentId);
             inspectedService.cancelByStudent(studentId);
         }
     }
@@ -1613,6 +1616,7 @@ public class MarkServiceImpl implements MarkService {
             updateStudentGroupStatus(studentId, group.getExamId(), group.getSubjectCode(), group.getNumber(),
                     SubjectiveStatus.UNMARK);
             studentService.updateSubjectiveStatusAndScore(studentId, SubjectiveStatus.UNMARK, 0, null);
+            selectiveStudentDao.deleteByStudentId(studentId);
         }
     }
 
@@ -1627,6 +1631,7 @@ public class MarkServiceImpl implements MarkService {
     private void resetStudentGroup(Integer studentId, Integer examId, String subjectCode, Integer groupNumber) {
         updateStudentGroupStatus(studentId, examId, subjectCode, groupNumber, SubjectiveStatus.UNMARK);
         studentService.updateSubjectiveStatusAndScore(studentId, SubjectiveStatus.UNMARK, 0, null);
+        selectiveStudentDao.deleteByStudentId(studentId);
     }
 
     /**
@@ -1891,6 +1896,7 @@ public class MarkServiceImpl implements MarkService {
             long groupCount = groupDao.countByExamIdAndSubjectCode(examId, subjectCode);
             if (groupCount == 0 || unGroupQuestionCount > 0) {
                 studentService.updateSubjectiveStatusAndScore(examId, subjectCode, SubjectiveStatus.UNMARK, 0, null);
+                selectiveStudentDao.deleteByExamIdAndSubjectCode(examId,subjectCode);
                 inspectHistoryService.deleteByExamIdAndSubjectCode(examId, subjectCode);
             } else {
                 List<Integer> studentList = studentService.findIdByExamIdAndSubjectCodeAndSubjectiveStatus(examId,

+ 5 - 0
stmms-web/src/main/java/cn/com/qmth/stmms/common/controller/BaseController.java

@@ -1,5 +1,6 @@
 package cn.com.qmth.stmms.common.controller;
 
+import cn.com.qmth.stmms.biz.exam.dao.SelectiveStudentDao;
 import cn.com.qmth.stmms.biz.exam.model.ExamStudent;
 import cn.com.qmth.stmms.biz.exam.model.MarkGroup;
 import cn.com.qmth.stmms.biz.exam.service.ExamQuestionService;
@@ -41,6 +42,9 @@ public class BaseController {
     @Autowired
     private MarkGroupService groupService;
 
+    @Autowired
+    private SelectiveStudentDao selectiveStudentDao;
+
     protected boolean checkLoginName(User user) {
         User previous = userService.findByLoginName(user.getLoginName());
         if (previous == null || (user.getId() != null && previous.getId().equals(user.getId()))) {
@@ -331,6 +335,7 @@ public class BaseController {
             student.setInspectCount(0);
             studentService.save(student);
             studentService.updateSubjectiveStatusAndScore(student.getId(), SubjectiveStatus.UNMARK, 0, null);
+            selectiveStudentDao.deleteByStudentId(student.getId());
         }
         boolean success = studentService.updateScanInfo(student);
         if (success) {