Explorar el Código

修复试评转正评问题

ting.yin hace 1 año
padre
commit
4548a3f6f9

+ 2 - 2
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/exam/dao/ExamStudentDao.java

@@ -71,9 +71,9 @@ public interface ExamStudentDao extends PagingAndSortingRepository<ExamStudent,
     public void updateSubjectiveStatusAndScore(Integer id, SubjectiveStatus status, double score, String scoreList);
 
     @Modifying
-    @Query("update ExamStudent s set s.subjectiveStatus=?3, s.subjectiveScore=?4, s.subjectiveScoreList=?5,s.inspectTime=?6,s.inspectorId=?7 where s.examId=?1 and s.subjectCode=?2")
+    @Query("update ExamStudent s set s.subjectiveStatus=?3, s.subjectiveScore=?4, s.subjectiveScoreList=?5 where s.examId=?1 and s.subjectCode=?2")
     public void updateSubjectiveStatusAndScore(Integer examId, String subjetCode, SubjectiveStatus status,
-            double score, String scoreList, Date inspectTime, Integer inspectorId);
+            double score, String scoreList);
 
     // @Modifying
     // @Query("update ExamStudent s set s.subjectiveStatus=?3, s.subjectiveScore=?4, s.subjectiveScoreList=?5, s.inspectTime=?6, s.inspectorId=?7 "

+ 3 - 0
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/exam/dao/MarkGroupStudentDao.java

@@ -45,4 +45,7 @@ public interface MarkGroupStudentDao extends JpaRepository<MarkGroupStudent, Mar
     void updateStatusByMarkLibraryStatus(Integer examId, String subjectCode, Integer groupNumber,
             SubjectiveStatus status, LibraryStatus... libraryStatus);
 
+    @Modifying(clearAutomatically = true)
+    @Query("update MarkGroupStudent s set s.status=?3 where s.examId=?1 and s.subjectCode=?2")
+    void updateStatusByExamIdAndSubjectCode(Integer examId, String subjectCode, SubjectiveStatus status);
 }

+ 3 - 0
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/exam/dao/SubjectiveScoreDao.java

@@ -52,4 +52,7 @@ public interface SubjectiveScoreDao extends JpaRepository<SubjectiveScore, Subje
     @Query("update SubjectiveScore s set s.rejected=?3 where s.pk.studentId=?1 and s.groupNumber=?2")
     void updateRejected(Integer studentId, Integer groupNumber, boolean rejected);
 
+    @Modifying(clearAutomatically = true)
+    @Query("delete SubjectiveScore s where s.examId=?1 and s.subjectCode=?2")
+    void deleteByExamIdAndSubjectCode(Integer examId, String subjectCode);
 }

+ 2 - 2
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/exam/service/ExamStudentService.java

@@ -65,8 +65,8 @@ public interface ExamStudentService {
 
     void updateSubjectInfo(ExamSubject subject);
 
-    void updateSubjectiveStatusAndScoreAndInspectorId(Integer examId, String subjectCode, SubjectiveStatus status,
-            double score, String scoreList, Date inspectTime, Integer inspectorId);
+    void updateSubjectiveStatusAndScore(Integer examId, String subjectCode, SubjectiveStatus status, double score,
+            String scoreList);
 
     void updateSubjectiveStatusAndScore(Integer id, SubjectiveStatus status, double score, String scoreList);
 

+ 3 - 4
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/exam/service/impl/ExamStudentServiceImpl.java

@@ -461,10 +461,9 @@ public class ExamStudentServiceImpl extends BaseQueryService<ExamStudent> implem
 
     @Override
     @Transactional
-    public void updateSubjectiveStatusAndScoreAndInspectorId(Integer examId, String subjectCode,
-            SubjectiveStatus status, double score, String scoreList, Date inspectTime, Integer inspectorId) {
-        studentDao.updateSubjectiveStatusAndScore(examId, subjectCode, status, score, scoreList, inspectTime,
-                inspectorId);
+    public void updateSubjectiveStatusAndScore(Integer examId, String subjectCode, SubjectiveStatus status,
+            double score, String scoreList) {
+        studentDao.updateSubjectiveStatusAndScore(examId, subjectCode, status, score, scoreList);
     }
 
     @Override

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

@@ -66,6 +66,7 @@ import cn.com.qmth.stmms.biz.mark.model.SubmitResult;
 import cn.com.qmth.stmms.biz.mark.model.TrialLibrary;
 import cn.com.qmth.stmms.biz.mark.query.MarkLibrarySearchQuery;
 import cn.com.qmth.stmms.biz.mark.service.MarkService;
+import cn.com.qmth.stmms.biz.report.service.ReportSubjectService;
 import cn.com.qmth.stmms.biz.utils.ScoreItem;
 import cn.com.qmth.stmms.biz.utils.TaskLock;
 import cn.com.qmth.stmms.biz.utils.TaskLockUtil;
@@ -171,6 +172,9 @@ public class MarkServiceImpl implements MarkService {
     @Autowired
     private InspectedService inspectedService;
 
+    @Autowired
+    private ReportSubjectService reportSubjectService;
+
     /**
      * 某个评卷分组已申请的评卷任务数量
      *
@@ -321,8 +325,8 @@ public class MarkServiceImpl implements MarkService {
             studentService.resetTrial(group.getExamId(), group.getSubjectCode(), false);
         }
         if (groupCount == 0 || unGroupQuestionCount > 0) {
-            studentService.updateSubjectiveStatusAndScoreAndInspectorId(group.getExamId(), group.getSubjectCode(),
-                    SubjectiveStatus.UNMARK, 0, null, null, null);
+            studentService.updateSubjectiveStatusAndScore(group.getExamId(), group.getSubjectCode(),
+                    SubjectiveStatus.UNMARK, 0, null);
             inspectHistoryService.deleteByExamIdAndSubjectCode(group.getExamId(), group.getSubjectCode());
         } else {
             List<Integer> studentList = studentService.findIdByExamIdAndSubjectCodeAndSubjectiveStatus(
@@ -1520,8 +1524,7 @@ public class MarkServiceImpl implements MarkService {
         scoreDao.deleteByExamIdAndSubjectCodeAndGroupNumber(examId, subjectCode, groupNumber);
         rejectHistoryDao.deleteByExamIdAndSubjectCodeAndGroupNumber(examId, subjectCode, groupNumber);
         selectiveStudentDao.deleteByExamIdAndSubjectCode(examId, subjectCode);
-        studentService.updateSubjectiveStatusAndScoreAndInspectorId(examId, subjectCode, SubjectiveStatus.UNMARK, 0,
-                null, null, null);
+        studentService.updateSubjectiveStatusAndScore(examId, subjectCode, SubjectiveStatus.UNMARK, 0, null);
         inspectHistoryService.deleteByExamIdAndSubjectCode(examId, subjectCode);
     }
 
@@ -1772,8 +1775,7 @@ public class MarkServiceImpl implements MarkService {
             // 考生整体状态与总分更新
             long groupCount = groupDao.countByExamIdAndSubjectCode(examId, subjectCode);
             if (groupCount == 0 || unGroupQuestionCount > 0) {
-                studentService.updateSubjectiveStatusAndScoreAndInspectorId(examId, subjectCode,
-                        SubjectiveStatus.UNMARK, 0, null, null, null);
+                studentService.updateSubjectiveStatusAndScore(examId, subjectCode, SubjectiveStatus.UNMARK, 0, null);
                 inspectHistoryService.deleteByExamIdAndSubjectCode(examId, subjectCode);
             } else {
                 List<Integer> studentList = studentService.findIdByExamIdAndSubjectCodeAndSubjectiveStatus(examId,
@@ -1859,4 +1861,15 @@ public class MarkServiceImpl implements MarkService {
             return false;
         }
     }
+
+    @Transactional
+    @Override
+    public void groupTrialToFormal(int examId, String subjectCode) {
+        groupStudentDao.updateStatusByExamIdAndSubjectCode(examId, subjectCode, SubjectiveStatus.UNMARK);
+        scoreDao.deleteByExamIdAndSubjectCode(examId, subjectCode);
+        selectiveStudentDao.deleteByExamIdAndSubjectCode(examId, subjectCode);
+        studentService.updateSubjectiveStatusAndScore(examId, subjectCode, SubjectiveStatus.UNMARK, 0, null);
+        inspectHistoryService.deleteByExamIdAndSubjectCode(examId, subjectCode);
+        reportSubjectService.deleteByExamIdAndSubjectCode(examId, subjectCode);
+    }
 }

+ 3 - 0
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/mark/service/MarkService.java

@@ -254,4 +254,7 @@ public interface MarkService {
      * @param unGroupQuestionCount
      */
     void checkStudentSubjective(Integer studentId, long groupCount, long unGroupQuestionCount);
+
+    void groupTrialToFormal(int examId, String subjectCode);
+
 }

+ 3 - 8
stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/MarkGroupController.java

@@ -280,10 +280,7 @@ public class MarkGroupController extends BaseExamController {
             for (MarkGroup group : list) {
                 updateStatus(group, status);
             }
-            studentService.updateSubjectiveStatusAndScoreAndInspectorId(examId, subjectCode, SubjectiveStatus.UNMARK,
-                    0, null, null, null);
-            reportSubjectService.deleteByExamIdAndSubjectCode(examId, subjectCode);
-            inspectHistoryService.deleteByExamIdAndSubjectCode(examId, subjectCode);
+            markService.groupTrialToFormal(examId, subjectCode);
         } else {
             updateStatus(markGroup, status);
         }
@@ -677,10 +674,8 @@ public class MarkGroupController extends BaseExamController {
                     questionService.save(list);
                     groupService.save(group);
 
-                    studentService.updateSubjectiveStatusAndScoreAndInspectorId(examId, subjectCode,
-                            SubjectiveStatus.UNMARK, 0, null, null, null);
-                    // studentService.resetSubjectiveStatusAndScoreWithoutTrial(examId,
-                    // subjectCode);
+                    studentService
+                            .updateSubjectiveStatusAndScore(examId, subjectCode, SubjectiveStatus.UNMARK, 0, null);
                     inspectHistoryService.deleteByExamIdAndSubjectCode(examId, subjectCode);
                     redirectAttributes.addAttribute("subjectCode", subjectCode);
                     return "redirect:/admin/exam/group";

+ 6 - 8
stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/PaperController.java

@@ -392,8 +392,8 @@ public class PaperController extends BaseExamController {
                                 }
                             }
                             if (questionCount > 0) {
-                                studentService.updateSubjectiveStatusAndScoreAndInspectorId(examId, subject.getCode(),
-                                        SubjectiveStatus.UNMARK, 0, null, null, null);
+                                studentService.updateSubjectiveStatusAndScore(examId, subject.getCode(),
+                                        SubjectiveStatus.UNMARK, 0, null);
                                 inspectHistoryService.deleteByExamIdAndSubjectCode(examId, subject.getCode());
                             }
                             subjectService.updateScore(examId, subject.getCode(), objective,
@@ -482,8 +482,8 @@ public class PaperController extends BaseExamController {
                                     }
                                     group.setTotalScore(totalScore.doubleValue());
                                     groupService.save(group);
-                                    studentService.updateSubjectiveStatusAndScoreAndInspectorId(examId,
-                                            group.getSubjectCode(), SubjectiveStatus.UNMARK, 0, null, null, null);
+                                    studentService.updateSubjectiveStatusAndScore(examId, group.getSubjectCode(),
+                                            SubjectiveStatus.UNMARK, 0, null);
                                     inspectHistoryService.deleteByExamIdAndSubjectCode(examId, subject.getCode());
                                     successGroup++;
                                 }
@@ -851,10 +851,8 @@ public class PaperController extends BaseExamController {
             subjectService.updateScore(examId, question.getSubjectCode(), question.isObjective(),
                     questionService.sumTotalScore(examId, question.getSubjectCode(), question.isObjective()));
             if (!question.isObjective()) {
-                studentService.updateSubjectiveStatusAndScoreAndInspectorId(examId, question.getSubjectCode(),
-                        SubjectiveStatus.UNMARK, 0, null, null, null);
-                // studentService.resetSubjectiveStatusAndScoreWithoutTrial(examId,
-                // question.getSubjectCode());
+                studentService.updateSubjectiveStatusAndScore(examId, question.getSubjectCode(),
+                        SubjectiveStatus.UNMARK, 0, null);
                 inspectHistoryService.deleteByExamIdAndSubjectCode(examId, question.getSubjectCode());
             }
         }

+ 2 - 2
stmms-web/src/main/java/cn/com/qmth/stmms/api/controller/CoreController.java

@@ -821,8 +821,8 @@ public class CoreController extends BaseApiController {
             }
         }
         subjectService.updateTrialCount(dto.getExamId(), dto.getSubjectCode(), dto.getTrialCount());
-        studentService.updateSubjectiveStatusAndScoreAndInspectorId(dto.getExamId(), dto.getSubjectCode(),
-                SubjectiveStatus.UNMARK, 0, null, null, null);
+        studentService.updateSubjectiveStatusAndScore(dto.getExamId(), dto.getSubjectCode(), SubjectiveStatus.UNMARK,
+                0, null);
         inspectHistoryService.deleteByExamIdAndSubjectCode(dto.getExamId(), dto.getSubjectCode());
         result.accumulate("updateTime", DateUtils.formatDateTime(new Date()));
         return result;