Bläddra i källkod

修改小题仲裁情况下,全卷复核打回小题删除仲裁任务,并只打回小题

yin 5 månader sedan
förälder
incheckning
45c53f07a3

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

@@ -125,7 +125,7 @@ public interface MarkLibraryDao extends JpaRepository<MarkLibrary, Integer>, Jpa
 
     @Modifying(clearAutomatically = true)
     @Query("update MarkLibrary l set l.status=?2, l.markerId=?3, l.markerScore=?4, l.markerScoreList=?5, l.markerTime=?6, "
-            + "l.markerSpent=?7, l.rejectReason=?8, l.headerId=?9, l.headerTime=?10  where l.id=?1 and l.status in (?11) and (l.markerId=null or l.markerId=?3)")
+            + "l.markerSpent=?7, l.rejectReason=?8, l.headerId=?9, l.headerTime=?10, l.headerScore=null, l.headerScoreList=null  where l.id=?1 and l.status in (?11) and (l.markerId=null or l.markerId=?3)")
     int updateMarkerResult(Integer id, LibraryStatus newStatus, Integer markerId, Double markerScore,
             String markerScoreList, Date markerTime, Integer spent, String resson, Integer rejecterId, Date rejectTime,
             LibraryStatus... previousStatus);

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

@@ -1847,22 +1847,25 @@ public class MarkServiceImpl implements MarkService {
                 history.setReason(reason);
 
                 if (library.getStatus().equals(LibraryStatus.ARBITRATED) || qList.size() == questions.size()) {
-                    // 仲裁任务直接重置 或者该分组下所有分数被打回也重置
-                    markerService.updateRejectCountById(library.getMarkerId());
-                    libraryDao.resetById(library.getId(), null, reason, userId, now, LibraryStatus.REJECTED,
-                            LibraryStatus.MARKED, LibraryStatus.PROBLEM, LibraryStatus.INSPECTED,
-                            LibraryStatus.ARBITRATED);
-                    rejectHistoryDao.save(history);
-                    trackDao.deleteByLibraryId(library.getId());
-                    specialTagDao.deleteByLibraryId(library.getId());
                     headerTagDao.deleteByStudentIdAndGroupNumber(library.getStudentId(), groupNumber);
                     headerTrackDao.deleteByPkStudentIdAndGroupNumber(library.getStudentId(), groupNumber);
                     arbitrateDao.deleteByStudentIdAndGroupNumber(student.getId(), groupNumber);
-                    count++;
-                    continue;
+                    if(!ArbitrateType.QUESTION.equals(group.getArbitrateType())){
+                        // 仲裁任务直接重置 或者该分组下所有分数被打回也重置
+                        markerService.updateRejectCountById(library.getMarkerId());
+                        libraryDao.resetById(library.getId(), null, reason, userId, now, LibraryStatus.REJECTED,
+                                LibraryStatus.MARKED, LibraryStatus.PROBLEM, LibraryStatus.INSPECTED,
+                                LibraryStatus.ARBITRATED);
+                        rejectHistoryDao.save(history);
+                        trackDao.deleteByLibraryId(library.getId());
+                        specialTagDao.deleteByLibraryId(library.getId());
+                        count++;
+                        continue;
+                    }
                 }
                 if (library.getStatus().equals(LibraryStatus.MARKED)
-                        || library.getStatus().equals(LibraryStatus.INSPECTED)) {
+                        || library.getStatus().equals(LibraryStatus.INSPECTED)
+                        || (library.getStatus().equals(LibraryStatus.ARBITRATED)&&ArbitrateType.QUESTION.equals(group.getArbitrateType()))) {
                     List<ScoreItem> sList = library.getMarkerScoreItem();
                     for (MarkStepDTO markStepDTO : qList) {
                         trackDao.deleteByLibraryIdAndQuestionNumber(library.getId(),
@@ -1889,7 +1892,7 @@ public class MarkServiceImpl implements MarkService {
                     }
                     if (libraryDao.updateMarkerResult(library.getId(), LibraryStatus.REJECTED, library.getMarkerId(),
                             null, StringUtils.join(markerScoreList, ","), null, null, reason, userId, now,
-                            LibraryStatus.MARKED, LibraryStatus.INSPECTED) == 1) {
+                            LibraryStatus.MARKED, LibraryStatus.INSPECTED,LibraryStatus.ARBITRATED) == 1) {
                         markerService.updateRejectCountById(library.getMarkerId());
                         history.setRejectScoreList(StringUtils.join(markerScoreList, ","));
                         rejectHistoryDao.save(history);