1
0
Prechádzať zdrojové kódy

修改统分逻辑中考生客观分的更新方法

luoshi 4 rokov pred
rodič
commit
aeeaef0f17

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

@@ -61,6 +61,10 @@ public interface ExamStudentDao
     @Query("update ExamStudent s set s.subjectiveScore=?2, s.subjectiveScoreList=?3 where s.id=?1")
     public void updateSubjectiveScore(int id, double score, String scoreList);
 
+    @Modifying
+    @Query("update ExamStudent s set s.objectiveScore=?2, s.objectiveScoreList=?3 where s.id=?1")
+    public void updateObjectiveScore(int id, double score, String scoreList);
+
     @Modifying
     @Query("update ExamStudent s set s.subjectName=?3, s.subjectLevel=?4, s.subjectCategory=?5 where s.examId=?1 and s.subjectCode=?2")
     public void updateSubjectInfo(int examId, String subjectCode, String subjectName, String subjectLevel,

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

@@ -64,6 +64,8 @@ public interface ExamStudentService {
 
     void updateSubjectiveScore(int id, double score, String scoreList);
 
+    void updateObjectiveScore(int id, double score, String scoreList);
+
     void updateManualAbsent(int id, boolean manualAbsent);
 
     boolean updateBreach(int id, boolean breach);

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

@@ -436,6 +436,12 @@ public class ExamStudentServiceImpl extends BaseQueryService<ExamStudent> implem
         studentDao.updateSubjectiveScore(id, score, scoreList);
     }
 
+    @Override
+    @Transactional
+    public void updateObjectiveScore(int id, double score, String scoreList) {
+        studentDao.updateObjectiveScore(id, score, scoreList);
+    }
+
     @Override
     @Transactional
     public void updateException(int id, boolean exception) {

+ 3 - 4
stmms-web/src/main/java/cn/com/qmth/stmms/admin/thread/ScoreCalculateThread.java

@@ -142,12 +142,11 @@ public class ScoreCalculateThread implements Runnable {
 
             student.setObjectiveScore(info.getObjectiveScore());
             student.setScoreList(info.getScoreList(), true);
-
-            studentService.save(student);
-
+            // 更新客观题得分
+            studentService.updateObjectiveScore(student.getId(), student.getObjectiveScore(),
+                    student.getObjectiveScoreList());
             // 增加主观题总分统计
             markService.scoreCalculate(student, findMarkGroup(student.getSubjectCode()));
-
         } catch (Exception e) {
             log.error("calculate error for studentId=" + student.getId(), e);
         }