فهرست منبع

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

yin 2 ماه پیش
والد
کامیت
29b17de0a9

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

@@ -125,10 +125,10 @@ public interface MarkLibraryDao extends JpaRepository<MarkLibrary, Integer>, Jpa
 
 
     @Modifying(clearAutomatically = true)
     @Modifying(clearAutomatically = true)
     @Query("update MarkLibrary l set l.status=?2, l.markerId=?3, l.markerScore=?4, l.markerScoreList=?5, l.markerTime=?6, "
     @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=?11, l.headerScoreList=?12  where l.id=?1 and l.status in (?13) and (l.markerId=null or l.markerId=?3)")
     int updateMarkerResult(Integer id, LibraryStatus newStatus, Integer markerId, Double markerScore,
     int updateMarkerResult(Integer id, LibraryStatus newStatus, Integer markerId, Double markerScore,
             String markerScoreList, Date markerTime, Integer spent, String resson, Integer rejecterId, Date rejectTime,
             String markerScoreList, Date markerTime, Integer spent, String resson, Integer rejecterId, Date rejectTime,
-            LibraryStatus... previousStatus);
+                           Double headerScore,String headerScoreList,LibraryStatus... previousStatus);
 
 
     @Query("select m.markerScore ,count(m) from MarkLibrary m where m.examId=?1 and m.subjectCode=?2 and m.groupNumber=?3 and m.markerId=?4 and m.markerScore != -1 and m.status in (?5)  group by m.markerScore ")
     @Query("select m.markerScore ,count(m) from MarkLibrary m where m.examId=?1 and m.subjectCode=?2 and m.groupNumber=?3 and m.markerId=?4 and m.markerScore != -1 and m.status in (?5)  group by m.markerScore ")
     List<Object[]> findScoreCount(int examId, String subjectCode, Integer groupNumber, Integer markerId,
     List<Object[]> findScoreCount(int examId, String subjectCode, Integer groupNumber, Integer markerId,

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

@@ -627,7 +627,7 @@ public class MarkServiceImpl implements MarkService {
                     }
                     }
                 }
                 }
                 if (libraryDao.updateMarkerResult(library.getId(), LibraryStatus.REJECTED, library.getMarkerId(), null,
                 if (libraryDao.updateMarkerResult(library.getId(), LibraryStatus.REJECTED, library.getMarkerId(), null,
-                        StringUtils.join(markerScoreList, ","), null, null, reason, userId, now, LibraryStatus.MARKED,
+                        StringUtils.join(markerScoreList, ","), null, null, reason, userId, now, null,null,LibraryStatus.MARKED,
                         LibraryStatus.INSPECTED,LibraryStatus.ARBITRATED,LibraryStatus.WAIT_ARBITRATE) == 1) {
                         LibraryStatus.INSPECTED,LibraryStatus.ARBITRATED,LibraryStatus.WAIT_ARBITRATE) == 1) {
                     markerService.updateRejectCountById(library.getMarkerId());
                     markerService.updateRejectCountById(library.getMarkerId());
                     rejectHistory.setRejectScoreList(StringUtils.join(markerScoreList, ","));
                     rejectHistory.setRejectScoreList(StringUtils.join(markerScoreList, ","));
@@ -822,7 +822,7 @@ public class MarkServiceImpl implements MarkService {
         // 尝试提交评卷结果
         // 尝试提交评卷结果
         Date now = new Date();
         Date now = new Date();
         if (libraryDao.updateMarkerResult(library.getId(), LibraryStatus.MARKED, marker.getId(),
         if (libraryDao.updateMarkerResult(library.getId(), LibraryStatus.MARKED, marker.getId(),
-                result.getMarkerScore(), result.getScoreList(), now, result.getSpent(), null, null, null,
+                result.getMarkerScore(), result.getScoreList(), now, result.getSpent(), null, null, null,null,null,
                 LibraryStatus.WAITING, LibraryStatus.MARKED, LibraryStatus.INSPECTED, LibraryStatus.REJECTED) == 0) {
                 LibraryStatus.WAITING, LibraryStatus.MARKED, LibraryStatus.INSPECTED, LibraryStatus.REJECTED) == 0) {
             // 条件不符更新失败,直接返回
             // 条件不符更新失败,直接返回
             return false;
             return false;
@@ -1988,21 +1988,25 @@ public class MarkServiceImpl implements MarkService {
 
 
                 if (library.getStatus().equals(LibraryStatus.ARBITRATED) || qList.size() == questions.size()) {
                 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);
                     headerTagDao.deleteByStudentIdAndGroupNumber(library.getStudentId(), groupNumber);
                     headerTrackDao.deleteByPkStudentIdAndGroupNumber(library.getStudentId(), groupNumber);
                     headerTrackDao.deleteByPkStudentIdAndGroupNumber(library.getStudentId(), groupNumber);
                     arbitrateDao.deleteByStudentIdAndGroupNumber(student.getId(), 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)
                 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();
                     List<ScoreItem> sList = library.getMarkerScoreItem();
                     for (MarkStepDTO markStepDTO : qList) {
                     for (MarkStepDTO markStepDTO : qList) {
                         trackDao.deleteByLibraryIdAndQuestionNumber(library.getId(),
                         trackDao.deleteByLibraryIdAndQuestionNumber(library.getId(),
@@ -2028,8 +2032,8 @@ public class MarkServiceImpl implements MarkService {
                         }
                         }
                     }
                     }
                     if (libraryDao.updateMarkerResult(library.getId(), LibraryStatus.REJECTED, library.getMarkerId(),
                     if (libraryDao.updateMarkerResult(library.getId(), LibraryStatus.REJECTED, library.getMarkerId(),
-                            null, StringUtils.join(markerScoreList, ","), null, null, reason, userId, now,
-                            LibraryStatus.MARKED, LibraryStatus.INSPECTED) == 1) {
+                            null, StringUtils.join(markerScoreList, ","), null, null, reason, userId, now,null,null,
+                            LibraryStatus.MARKED, LibraryStatus.INSPECTED,LibraryStatus.ARBITRATED) == 1) {
                         markerService.updateRejectCountById(library.getMarkerId());
                         markerService.updateRejectCountById(library.getMarkerId());
                         history.setRejectScoreList(StringUtils.join(markerScoreList, ","));
                         history.setRejectScoreList(StringUtils.join(markerScoreList, ","));
                         rejectHistoryDao.save(history);
                         rejectHistoryDao.save(history);
@@ -2149,7 +2153,7 @@ public class MarkServiceImpl implements MarkService {
             // }
             // }
         }
         }
         if (libraryDao.updateMarkerResult(library.getId(), LibraryStatus.REJECTED, library.getMarkerId(), null,
         if (libraryDao.updateMarkerResult(library.getId(), LibraryStatus.REJECTED, library.getMarkerId(), null,
-                StringUtils.join(markerScoreList, ","), null, null, reason, userId, now, LibraryStatus.MARKED,
+                StringUtils.join(markerScoreList, ","), null, null, reason, userId, now,null,null, LibraryStatus.MARKED,
                 LibraryStatus.INSPECTED) == 1) {
                 LibraryStatus.INSPECTED) == 1) {
             markerService.updateRejectCountById(library.getMarkerId());
             markerService.updateRejectCountById(library.getMarkerId());
             history.setRejectScoreList(StringUtils.join(markerScoreList, ","));
             history.setRejectScoreList(StringUtils.join(markerScoreList, ","));