ting.yin 4 年 前
コミット
56d09a56e2

+ 3 - 3
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/mark/dao/MarkTrackDao.java

@@ -21,15 +21,15 @@ public interface MarkTrackDao extends JpaRepository<MarkTrack, MarkTrackPK>, Jpa
     @Query("delete from MarkTrack t where t.pk.libraryId=?1")
     void deleteByLibraryId(Integer libraryId);
 
-    @Modifying
+    @Modifying(clearAutomatically = true)
     @Query("delete from MarkTrack t where t.studentId=?1")
     void deleteByStudentId(Integer studentId);
 
-    @Modifying
+    @Modifying(clearAutomatically = true)
     @Query("delete from MarkTrack t where t.pk.libraryId in (select m.id from MarkLibrary m where m.markerId=?1  and m.status!=?2 and m.status not in (?3) )")
     void deleteByMarkerId(Integer markerId, LibraryStatus arbitrated, LibraryStatus... waitArbitrate);
 
-    @Modifying
+    @Modifying(clearAutomatically = true)
     @Query("delete from MarkTrack t where t.examId=?1 and t.subjectCode=?2 and t.groupNumber=?3")
     void deleteByExamIdAndSubjectCodeAndGroupNumber(Integer examId, String subjectCode, Integer groupNumber);
 

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

@@ -552,7 +552,10 @@ public class MarkServiceImpl implements MarkService {
         // 保存阅卷轨迹
         if (result.getTrackList() != null) {
             trackDao.deleteByLibraryId(library.getId());
-            trackDao.save(result.getTrackList(library, marker));
+            List<MarkTrack> tracks = result.getTrackList(library, marker);
+            for (MarkTrack markTrack : tracks) {
+                trackDao.saveAndFlush(markTrack);
+            }
         }
         // 保存特殊标记
         if (result.getTagList() != null) {