1
0
ting.yin 4 gadi atpakaļ
vecāks
revīzija
6da267242b

+ 13 - 0
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/mark/model/Task.java

@@ -115,6 +115,11 @@ public class Task implements Serializable {
      */
     private Date inspectTime;
 
+    /**
+     * 错误信息
+     */
+    private String message;
+
     public Integer getLibraryId() {
         return libraryId;
     }
@@ -283,4 +288,12 @@ public class Task implements Serializable {
         this.inspectTime = inspectTime;
     }
 
+    public String getMessage() {
+        return message;
+    }
+
+    public void setMessage(String message) {
+        this.message = message;
+    }
+
 }

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

@@ -716,7 +716,7 @@ public class MarkServiceImpl implements MarkService {
         if (group.getStatus() == MarkStatus.FINISH) {
             return false;
         }
-        if (libraryDao.resetById(library.getId(), LibraryStatus.WAITING, LibraryStatus.MARKED, LibraryStatus.PROBLEM,
+        if (libraryDao.resetById(library.getId(), LibraryStatus.REJECTED, LibraryStatus.MARKED, LibraryStatus.PROBLEM,
                 LibraryStatus.INSPECTED) > 0) {
             trackDao.deleteByLibraryId(library.getId());
             specialTagDao.deleteByLibraryId(library.getId());
@@ -1322,7 +1322,7 @@ public class MarkServiceImpl implements MarkService {
         List<MarkLibrary> list = libraryDao.findByStudentIdAndGroupNumber(student.getId(), groupNumber);
         int count = 0;
         for (MarkLibrary library : list) {
-            if (libraryDao.resetById(library.getId(), LibraryStatus.WAITING, LibraryStatus.MARKED,
+            if (libraryDao.resetById(library.getId(), LibraryStatus.REJECTED, LibraryStatus.MARKED,
                     LibraryStatus.PROBLEM, LibraryStatus.INSPECTED) > 0) {
                 count++;
                 trackDao.deleteByLibraryId(library.getId());
@@ -1369,6 +1369,7 @@ public class MarkServiceImpl implements MarkService {
             List<MarkLibrary> list = libraryDao.findByStudentIdAndGroupNumber(student.getId(), group.getNumber());
             List<ExamQuestion> questions = questionDao.findByExamIdAndSubjectCodeAndObjectiveAndGroupNumber(
                     group.getExamId(), group.getSubjectCode(), false, group.getNumber());
+            List<MarkStepDTO> qList = map.get(group);
             int count = 0;
             for (MarkLibrary library : list) {
                 if (library.getTaskNumber() == 3) {
@@ -1379,9 +1380,9 @@ public class MarkServiceImpl implements MarkService {
                     count++;
                     continue;
                 }
-                if (library.getStatus().equals(LibraryStatus.ARBITRATED)) {
-                    // 仲裁任务直接重置
-                    libraryDao.resetById(library.getId(), LibraryStatus.WAITING, LibraryStatus.MARKED,
+                if (library.getStatus().equals(LibraryStatus.ARBITRATED) || qList.size() == questions.size()) {
+                    // 仲裁任务直接重置 或者该分组下所有分数被打回也重置
+                    libraryDao.resetById(library.getId(), LibraryStatus.REJECTED, LibraryStatus.MARKED,
                             LibraryStatus.PROBLEM, LibraryStatus.INSPECTED);
                     trackDao.deleteByLibraryId(library.getId());
                     specialTagDao.deleteByLibraryId(library.getId());
@@ -1389,7 +1390,6 @@ public class MarkServiceImpl implements MarkService {
                     continue;
                 }
                 if (library.getStatus().equals(LibraryStatus.MARKED)) {
-                    List<MarkStepDTO> qList = map.get(group);
                     List<ScoreItem> sList = library.getScoreList();
                     for (MarkStepDTO markStepDTO : qList) {
                         trackDao.deleteByLibraryIdAndQuestionNumber(library.getId(), markStepDTO.getMainNumber() + "."

+ 2 - 2
stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/InspectedController.java

@@ -97,8 +97,8 @@ public class InspectedController extends BaseExamController {
         }
         List<ExamStudent> list = inspectedService.findByQuery(query, status, mainNumber, mainStartScore, mainEndScore,
                 questionScore);
-        Integer count = inspectedService.countByQuery(query, status, mainNumber, mainStartScore, mainEndScore,
-                questionScore);
+        Integer count = inspectedService.countByQuery(query, SubjectiveStatus.MARKED, mainNumber, mainStartScore,
+                mainEndScore, questionScore);
         query.setResult(list);
         query.setTotalCount(count);
         model.addAttribute("query", query);

+ 4 - 7
stmms-web/src/main/java/cn/com/qmth/stmms/mark/MarkController.java

@@ -343,12 +343,10 @@ public class MarkController extends BaseController {
                     .findOne(marker.getExamId(), marker.getSubjectCode(), marker.getGroupNumber());
             if (group == null) {
                 task = new Task();
-                // task.setExist(false);
-                // task.setMessage("mark.control.task.not.exist");
+                task.setMessage("mark.control.task.not.exist");
             } else if (group.getStatus() == MarkStatus.FINISH) {
                 task = new Task();
-                // task.setExist(false);
-                // task.setMessage("mark.control.task.finish");
+                task.setMessage("mark.control.task.finish");
             } else if (group.getStatus() == MarkStatus.TRIAL) {
                 task = getTrialTask(marker);
             } else if (group.getStatus() == MarkStatus.FORMAL) {
@@ -356,8 +354,7 @@ public class MarkController extends BaseController {
             }
             if (task == null) {
                 task = new Task();
-                // task.setExist(false);
-                // task.setMessage("mark.control.task.null");
+                task.setMessage("mark.control.task.null");
             }
         } catch (Exception e) {
             log.error("get task error", e);
@@ -423,7 +420,7 @@ public class MarkController extends BaseController {
     }
 
     @Logging(menu = "评卷", type = LogType.UPDATE)
-    @RequestMapping(value = "/saveTask", method = RequestMethod.POST)
+    @RequestMapping(value = "/saveTask")
     @ResponseBody
     public JSONObject saveTask(HttpServletRequest request, @RequestBody MarkResult markResult) {
         JSONObject result = new JSONObject();

+ 33 - 6
stmms-web/src/main/webapp/WEB-INF/views/modules/exam/inspectedList.jsp

@@ -40,9 +40,9 @@
         </select>
          &nbsp;
         <label>试卷总分:从</label>
-        <input type="text" number="true" id="startScroe" name="startScore" value="${query.startScore}" class="input-mini"/>
+        <input type="text" number="true" id="startScore" name="startScore" value="${query.startScore}" class="input-mini"/>
         <label> 到&nbsp;&nbsp;&nbsp;</label>
-        <input type="text" number="true" id="endScroe" name="endScore" value="${query.endScore}" class="input-mini"/>
+        <input type="text" number="true" id="endScore" name="endScore" value="${query.endScore}" class="input-mini"/>
         
         <br/><br/>
 		<label>大题</label>
@@ -96,7 +96,7 @@
             <td>
                 <a href="${ctx}/admin/exam/track/student/${result.id}" target="_blank">轨迹图</a>
                 <c:if test="${result.subjectiveStatus=='MARKED'}">
-	                <a target="_blank" href="${ctx}/admin/exam/inspected/startById?studentId=${result.id}">进入复核</a>
+	                <a target="_blank" href="${ctx}/web/admin/exam/inspected/start?studentId=${result.id}">进入复核</a>
                 </c:if>
                 <c:if test="${result.subjectiveStatus=='INSPECTED'}">
                 <a class="cancel-link" href="#" data-id="${result.id}">取消复核</a>
@@ -178,9 +178,36 @@
         return false;
     }
     function goStart() {
-    	$("#searchForm").attr('target', "_blank");
-        $("#searchForm").attr('action', '${ctx}/admin/exam/inspected/start');
-        $("#searchForm").submit();
+    	var url = '${ctx}/web/admin/exam/inspected/start?';
+    	var subjectCode =  $("#subject-select").val();
+    	if(subjectCode!=undefined && subjectCode!=""){
+    		url = url+'subjectCode='+subjectCode
+    	}
+    	var startScore =  $("#startScore").val();
+    	if(startScore!=undefined && startScore!=""){
+    		url = url+'&startScore='+startScore;
+    	}
+    	var endScore =  $("#endScore").val();
+    	if(endScore!=undefined && endScore!=""){
+    		url = url+'&endScore='+endScore;
+    	}
+    	var mainNumber =  $("#question-select").val();
+    	if(mainNumber!=undefined && mainNumber!=""){
+    		url = url+'&mainNumber='+mainNumber;
+    	}
+    	var mainStartScore =  $("#mainStartScore").val();
+    	if(mainStartScore!=undefined && mainStartScore!=""){
+    		url = url+'&mainStartScore='+mainStartScore;
+    	}
+    	var mainEndScore =  $("#mainEndScore").val();
+    	if(mainEndScore!=undefined && mainEndScore!=""){
+    		url = url+'&mainEndScore='+mainEndScore;
+    	}
+    	var questionScore =  $("#questionScore").val();
+    	if(questionScore!=undefined && questionScore!=""){
+    		url = url+'&questionScore='+questionScore;
+    	}
+    	window.open(url, '_blank');
         return false;
     }
 </script>