1
0
Prechádzať zdrojové kódy

增加回评提示,新增评卷任务状态已复核

ting.yin 5 rokov pred
rodič
commit
46f9978357

+ 2 - 2
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/exam/service/impl/MarkerServiceImpl.java

@@ -154,7 +154,7 @@ public class MarkerServiceImpl extends BaseQueryService<Marker> implements Marke
     @Override
     public List<Marker> getMarkCount(int examId) {
         List<Marker> list = new LinkedList<Marker>();
-        List<Object[]> result = libraryDao.countMarkerAndStatus(examId, LibraryStatus.MARKED);
+        List<Object[]> result = libraryDao.countMarkerAndStatus(examId, LibraryStatus.MARKED,LibraryStatus.INSPECTED);
         if (result != null) {
             for (Object[] array : result) {
                 try {
@@ -171,7 +171,7 @@ public class MarkerServiceImpl extends BaseQueryService<Marker> implements Marke
     @Override
     public List<Marker> getMarkCount(int examId, String subjectCode) {
         List<Marker> list = new LinkedList<Marker>();
-        List<Object[]> result = libraryDao.countMarkerAndStatus(examId, subjectCode, LibraryStatus.MARKED);
+        List<Object[]> result = libraryDao.countMarkerAndStatus(examId, subjectCode, LibraryStatus.MARKED,LibraryStatus.INSPECTED);
         if (result != null) {
             for (Object[] array : result) {
                 try {

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

@@ -84,14 +84,14 @@ public interface MarkLibraryDao extends JpaRepository<MarkLibrary, Integer>, Jpa
 
     @Modifying(clearAutomatically = true)
     @Query("update MarkLibrary m set m.status=?2, m.tags=null, m.markerId=null, m.markerTime=null, m.markerScore=null, m.markerScoreList=null, m.markerSpent=null, "
-            + "m.headerId=null , m.headerTime=null , m.headerScore=null , m.headerScoreList=null where m.id=?1 and m.status=?3")
-    int resetById(Integer id, LibraryStatus newStatus, LibraryStatus previousStatus);
+            + "m.headerId=null , m.headerTime=null , m.headerScore=null , m.headerScoreList=null where m.id=?1 and m.status in (?3)")
+    int resetById(Integer id, LibraryStatus newStatus, LibraryStatus... previousStatus);
 
-    @Query("select f.markerId, count(*) as markerCount from MarkLibrary f where f.examId=?1 and f.status=?2 group by f.markerId")
-    List<Object[]> countMarkerAndStatus(Integer examId, LibraryStatus status);
+    @Query("select f.markerId, count(*) as markerCount from MarkLibrary f where f.examId=?1 and f.status in (?2) group by f.markerId")
+    List<Object[]> countMarkerAndStatus(Integer examId, LibraryStatus... status);
 
-    @Query("select f.markerId, count(*) as markerCount from MarkLibrary f where f.examId=?1 and f.subjectCode=?2 and f.status=?3 group by f.markerId")
-    List<Object[]> countMarkerAndStatus(Integer examId, String subjectCode, LibraryStatus status);
+    @Query("select f.markerId, count(*) as markerCount from MarkLibrary f where f.examId=?1 and f.subjectCode=?2 and f.status in (?3) group by f.markerId")
+    List<Object[]> countMarkerAndStatus(Integer examId, String subjectCode, LibraryStatus... status);
 
     @Query("select count(*) from MarkLibrary f where f.markerId=?1 and f.status in (?2)")
     long countByMarkerAndStatus(Integer markerId, LibraryStatus... status);
@@ -123,11 +123,11 @@ public interface MarkLibraryDao extends JpaRepository<MarkLibrary, Integer>, Jpa
     int updateMarkerResult(Integer id, LibraryStatus newStatus, Integer markerId, Double markerScore,
             String markerScoreList, Date markerTime, Integer spent, String tags, LibraryStatus... previousStatus);
 
-    @Query("select m.markerScore ,count(*) from MarkLibrary m where m.examId=?1 and m.subjectCode=?2 and m.groupNumber=?3 and m.markerId=?4 and m.status=?5 group by m.markerScore ")
+    @Query("select m.markerScore ,count(*) from MarkLibrary m where m.examId=?1 and m.subjectCode=?2 and m.groupNumber=?3 and m.markerId=?4 and m.status in (?5) group by m.markerScore ")
     List<Object[]> findScoreCount(int examId, String subjectCode, Integer groupNumber, Integer markerId,
-            LibraryStatus status);
+            LibraryStatus... status);
 
-    @Query("select m.markerScore from MarkLibrary m where m.examId=?1 and m.subjectCode=?2 and m.groupNumber=?3 and m.status=?4 group by m.markerScore ")
-    List<Double> findScore(int examId, String subjectCode, Integer groupNumber, LibraryStatus status);
+    @Query("select m.markerScore from MarkLibrary m where m.examId=?1 and m.subjectCode=?2 and m.groupNumber=?3 and m.status in (?4) group by m.markerScore ")
+    List<Double> findScore(int examId, String subjectCode, Integer groupNumber, LibraryStatus... status);
 
 }

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

@@ -162,12 +162,12 @@ public class MarkLibraryServiceImpl extends BaseQueryService<MarkLibrary> implem
 
     @Override
     public List<Object[]> findScoreCount(int examId, String subjectCode, Integer groupNumber, Integer id,
-            LibraryStatus status) {
+            LibraryStatus... status) {
         return libraryDao.findScoreCount(examId, subjectCode, groupNumber, id, status);
     }
 
     @Override
-    public List<Double> findScore(int examId, String subjectCode, Integer groupNumber, LibraryStatus status) {
+    public List<Double> findScore(int examId, String subjectCode, Integer groupNumber, LibraryStatus... status) {
         return libraryDao.findScore(examId, subjectCode, groupNumber, status);
     }
 

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

@@ -157,7 +157,7 @@ public class MarkServiceImpl implements MarkService {
                 return trialHistoryDao.countByMarkerId(marker.getId());
             } else {
                 return libraryDao.countByMarkerAndStatus(marker.getId(), LibraryStatus.MARKED,
-                        LibraryStatus.ARBITRATED);
+                        LibraryStatus.ARBITRATED, LibraryStatus.INSPECTED);
             }
         }
         return 0;
@@ -468,7 +468,7 @@ public class MarkServiceImpl implements MarkService {
             return false;
         }
         // 非本人的回评任务
-        if (library.getStatus() == LibraryStatus.MARKED && !library.getMarkerId().equals(marker.getId())) {
+        if ((library.getStatus() == LibraryStatus.MARKED ||library.getStatus() == LibraryStatus.INSPECTED) && !library.getMarkerId().equals(marker.getId())) {
             return false;
         }
         // 是否多评情况下已处理过该考生评卷任务
@@ -480,7 +480,7 @@ public class MarkServiceImpl implements MarkService {
         Date now = new Date();
         if (libraryDao.updateMarkerResult(library.getId(), LibraryStatus.MARKED, marker.getId(), result.getTotalScore(),
                 result.getScoreList(), now, result.getSpent(), null, LibraryStatus.WAITING,
-                LibraryStatus.MARKED) == 0) {
+                LibraryStatus.MARKED,LibraryStatus.INSPECTED) == 0) {
             // 条件不符更新失败,直接返回
             return false;
         }
@@ -540,7 +540,7 @@ public class MarkServiceImpl implements MarkService {
     @Override
     @Transactional
     public boolean backLibrary(MarkLibrary library) {
-        if (libraryDao.resetById(library.getId(), LibraryStatus.WAITING, LibraryStatus.MARKED) > 0) {
+        if (libraryDao.resetById(library.getId(), LibraryStatus.WAITING, LibraryStatus.MARKED,LibraryStatus.INSPECTED) > 0) {
             trackDao.deleteByLibraryId(library.getId());
             specialTagDao.deleteByLibraryId(library.getId());
             updateMarkedCount(library.getExamId(), library.getSubjectCode(), library.getGroupNumber());
@@ -632,7 +632,7 @@ public class MarkServiceImpl implements MarkService {
             return false;
         }
         for (MarkLibrary library : list) {
-            if (library.getStatus() != LibraryStatus.MARKED && library.getStatus() != LibraryStatus.ARBITRATED) {
+            if (library.getStatus() != LibraryStatus.MARKED && library.getStatus() != LibraryStatus.INSPECTED && library.getStatus() != LibraryStatus.ARBITRATED) {
                 // 有非完成状态的评卷任务,直接返回
                 return false;
             }
@@ -708,7 +708,7 @@ public class MarkServiceImpl implements MarkService {
         if (group.getStatus() == MarkStatus.FORMAL || group.getStatus() == MarkStatus.FINISH) {
             groupDao.updateMarkedCount(group.getExamId(), group.getSubjectCode(), group.getNumber(),
                     (int) libraryDao.countByExamIdAndSubjectCodeAndGroupNumberAndStatus(group.getExamId(),
-                            group.getSubjectCode(), group.getNumber(), LibraryStatus.MARKED, LibraryStatus.ARBITRATED));
+                            group.getSubjectCode(), group.getNumber(), LibraryStatus.MARKED, LibraryStatus.ARBITRATED,LibraryStatus.INSPECTED));
         } else if (group.getStatus() == MarkStatus.TRIAL) {
             groupDao.updateMarkedCount(group.getExamId(), group.getSubjectCode(), group.getNumber(),
                     (int) trialLibraryDao.countMarked(group.getExamId(), group.getSubjectCode(), group.getNumber()));
@@ -900,7 +900,7 @@ public class MarkServiceImpl implements MarkService {
         double avgSpent = 0;
         for (MarkLibrary library : list) {
             finishCount++;
-            if (library.getStatus() == LibraryStatus.MARKED) {
+            if (library.getStatus() == LibraryStatus.MARKED||library.getStatus() == LibraryStatus.INSPECTED) {
                 validCount++;
             }
             double score = library.getMarkerScore() != null ? library.getMarkerScore() : 0;

+ 2 - 2
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/mark/service/MarkLibraryService.java

@@ -32,8 +32,8 @@ public interface MarkLibraryService {
     List<MarkLibrary> findByStudentIdAndStatus(int studentId, LibraryStatus status);
 
     List<Object[]> findScoreCount(int examId, String subjectCode, Integer groupNumber, Integer id,
-            LibraryStatus status);
+            LibraryStatus... status);
 
-    List<Double> findScore(int examId, String subjectCode, Integer groupNumber, LibraryStatus status);
+    List<Double> findScore(int examId, String subjectCode, Integer groupNumber, LibraryStatus... status);
 
 }

+ 6 - 1
stmms-common/src/main/java/cn/com/qmth/stmms/common/enums/LibraryStatus.java

@@ -4,7 +4,12 @@ import java.util.LinkedList;
 import java.util.List;
 
 public enum LibraryStatus {
-    WAITING("未处理", 0), MARKED("已给分", 1), BACKED("已打回", 2), WAIT_ARBITRATE("等待仲裁", 3), ARBITRATED("已仲裁", 4);
+    WAITING("未处理", 0), 
+    MARKED("已给分", 1), 
+    BACKED("已打回", 2), 
+    WAIT_ARBITRATE("等待仲裁", 3), 
+    ARBITRATED("已仲裁", 4),
+    INSPECTED("已复核",5);
 
     private String name;
 

+ 5 - 3
stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/MarkQualityController.java

@@ -152,10 +152,10 @@ public class MarkQualityController extends BaseExamController {
         if (group != null) {
             List<MarkerVO> list = new ArrayList<MarkerVO>();
             List<Marker> markers = markerService.findByExamAndSubjectAndGroup(examId, subjectCode, groupNumber);
-            List<Double> scores = libraryService.findScore(examId, subjectCode, groupNumber, LibraryStatus.MARKED);
+            List<Double> scores = libraryService.findScore(examId, subjectCode, groupNumber, LibraryStatus.MARKED,LibraryStatus.INSPECTED);
             for (Marker marker : markers) {
                 List<Object[]> libraries = libraryService.findScoreCount(examId, subjectCode, groupNumber,
-                        marker.getId(), LibraryStatus.MARKED);
+                        marker.getId(), LibraryStatus.MARKED,LibraryStatus.INSPECTED);
                 Map<Double, Long> scoreCount = new HashMap<Double, Long>();
                 for (Object[] array : libraries) {
                     Double score = (Double) array[0];
@@ -190,10 +190,11 @@ public class MarkQualityController extends BaseExamController {
         List<Marker> markers = markerService.findByExamAndSubjectAndGroup(examId, subjectCode, groupNumber);
         for (Marker marker : markers) {
             List<Object[]> libraries = libraryService.findScoreCount(examId, subjectCode, groupNumber, marker.getId(),
-                    LibraryStatus.MARKED);
+                    LibraryStatus.MARKED,LibraryStatus.INSPECTED);
             MarkLibrarySearchQuery query = new MarkLibrarySearchQuery();
             query.setMarkerId(marker.getId());
             query.addStatus(LibraryStatus.MARKED);
+            query.addStatus(LibraryStatus.INSPECTED);
             long totalCount = libraryService.countByQuery(query);
             Map<Double, Double> scorePercent = new HashMap<Double, Double>();
             for (Object[] array : libraries) {
@@ -255,6 +256,7 @@ public class MarkQualityController extends BaseExamController {
             query.setSubjectCode(marker.getSubjectCode());
             query.setMarkerId(marker.getId());
             query.addStatus(LibraryStatus.MARKED);
+            query.addStatus(LibraryStatus.INSPECTED);
             query.setGroupNumber(marker.getGroupNumber());
             query.setMarkerScore(markerScore);
             if (pageNumber != null) {

+ 2 - 0
stmms-web/src/main/java/cn/com/qmth/stmms/mark/MarkController.java

@@ -222,6 +222,7 @@ public class MarkController extends BaseController {
 
             query.setMarkerId(0);
             query.addStatus(LibraryStatus.MARKED);
+            query.addStatus(LibraryStatus.INSPECTED);
             query.addStatus(LibraryStatus.ARBITRATED);
             markedCount = libraryService.countByQuery(query);
 
@@ -380,6 +381,7 @@ public class MarkController extends BaseController {
             query.setSubjectCode(marker.getSubjectCode());
             query.setMarkerId(marker.getId());
             query.addStatus(LibraryStatus.MARKED);
+            query.addStatus(LibraryStatus.INSPECTED);
             query.setGroupNumber(marker.getGroupNumber());
             query.setTagNotNull(isTag);
             query.setPageNumber(pageNumber);

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

@@ -84,7 +84,6 @@ function MarkHistory(option) {
     });
     this.markControl.on('history.submit.success', this, function(event, context, task) {
     	if(task.previous==true){
-    		alert('回评成功');
     		this.updateTaskScore(task.totalScore);
     	}
     });

+ 5 - 0
stmms-web/src/main/webapp/static/mark-new/js/modules/warning-info.js

@@ -48,6 +48,11 @@ function WarningInfo(option) {
     this.markControl.on('task.submit.forceSpecialTag', this, function(event, context, eventObject) {
         this.toggle(true, '强制特殊标记已开启,至少使用一个特殊标记', '关闭');
     });
+    this.markControl.on('history.submit.success', this, function(event, context, task) {
+    	if(task.previous==true){
+    		this.toggle(true, '回评成功,总分:'+task.totalScore, '关闭');
+    	}
+    });
 }
 
 WarningInfo.prototype.init = function() {