Browse Source

修改MarkLibraryDao的sql错误
修正特殊标记窗口关闭后还会触发的bug

luoshi 6 years ago
parent
commit
41469c7141

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

@@ -95,9 +95,8 @@ public interface MarkLibraryDao extends JpaRepository<MarkLibrary, Integer>, Jpa
 
     @Modifying(clearAutomatically = true)
     @Query("update MarkLibrary l set l.markerId=?2, l.markerScore=?3, l.markerScoreList=?4, l.markerTime=?5, l.tags=?6, l.status=?7 "
-            + "where l.id=?1 and (l.status=?8 or (l.status=?7 and l.markerId=?2)) "
-            + "and not exists (select m.id from MarkLibrary m where m.studentId=l.studentId and m.markerId=?2 and m.id!=l.id)")
-    long updateMarkerResult(Integer id, Integer markerId, Double markerScore, String markerScoreList, Date markerTime,
+            + "where l.id=?1 and (l.status=?8 or (l.status=?7 and l.markerId=?2))")
+    int updateMarkerResult(Integer id, Integer markerId, Double markerScore, String markerScoreList, Date markerTime,
             String tags, LibraryStatus markedStatus, LibraryStatus waitStatus);
 
 }

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

@@ -323,6 +323,11 @@ public class MarkServiceImpl implements MarkService {
             if (library.getMarkerScore() > group.getTotalScore() || StringUtils.isBlank(library.getMarkerScoreList())) {
                 return;
             }
+            // 是否多评情况下已处理过该考生评卷任务
+            if (libraryDao.countByStudentIdAndMarkerIdAndIdNotEqual(library.getStudentId(), library.getMarkerId(),
+                    library.getId()) > 0) {
+                return;
+            }
             // 尝试提交评卷结果
             if (libraryDao.updateMarkerResult(library.getId(), library.getMarkerId(), library.getMarkerScore(),
                     library.getMarkerScoreList(), now, library.getTags(), LibraryStatus.MARKED,
@@ -372,7 +377,8 @@ public class MarkServiceImpl implements MarkService {
                         LibraryStatus.WAIT_ARBITRATE);
             } else {
                 // 评卷正常完成才尝试统分
-                scoreCalculate(library.getExamId(), library.getSubjectCode(), library.getStudentId());
+                // scoreCalculate(library.getExamId(), library.getSubjectCode(),
+                // library.getStudentId());
             }
         } catch (Exception e) {
             throw e;

+ 1 - 1
stmms-web/src/main/webapp/static/mark-new/js/modules/specialTag.js

@@ -25,7 +25,7 @@ function SpecialTag(option) {
         this.task = undefined;
     });
     this.markControl.on('image.click.event', this, function(event, context, eventObject) {
-        if(this.task!=undefined && this.tagName!=undefined){
+        if(this.task!=undefined && this.tagName!=undefined && this.show==true){
         	var specialTag = {
         		tagName : this.tagName,
         		positionX : eventObject.positionX,