1
0
ting.yin 3 жил өмнө
parent
commit
be3fde2209

+ 4 - 0
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/mark/dao/MarkLibraryDao.java

@@ -154,4 +154,8 @@ public interface MarkLibraryDao extends JpaRepository<MarkLibrary, Integer>, Jpa
     @Query("select count(l1) from MarkLibrary l1 where l1.examId=?1 and l1.subjectCode=?2 and l1.groupNumber=?3 "
             + "and exists (select mc.id from MarkerClass mc, ExamStudent s where l1.studentId=s.id and mc.userId=?4 and s.className=mc.className)")
     long countFilterClass(Integer examId, String subjectCode, Integer groupNumber, Integer userId);
+
+    @Modifying(clearAutomatically = true)
+    @Query("update MarkLibrary l set l.unansweredCount=?2 where l.id=?1")
+    void updateUnansweredCount(Integer id, int unansweredCount);
 }

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

@@ -641,8 +641,7 @@ public class MarkServiceImpl implements MarkService {
                     unansweredCount++;
                 }
             }
-            library.setUnansweredCount(unansweredCount);
-            libraryDao.saveAndFlush(library);
+            libraryDao.updateUnansweredCount(library.getId(), unansweredCount);
         }
         // 保存特殊标记
         if (result.getSpecialTagList() != null && !result.isUnselective()) {
@@ -1413,7 +1412,7 @@ public class MarkServiceImpl implements MarkService {
                 ss.setScore(score);
                 ss.setMainScore(score);
             }
-            if (group.getArbitrateThreshold() > 0) {
+            if (group.getArbitrateThreshold() != null && group.getArbitrateThreshold() > 0) {
                 ss.setUnansweredCount(0);
             } else {
                 if (MarkStatus.TRIAL.equals(group.getStatus())) {