소스 검색

新增复核查询扩展功能

ting.yin 3 년 전
부모
커밋
9c19ba7c3c

+ 1 - 0
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/exam/model/ImportQuery.java

@@ -75,6 +75,7 @@ public class ImportQuery implements Serializable {
         JSONObject json = new JSONObject();
         json.accumulate(SUCCESS, StringUtils.join(successStudent, DB_ITEM_JOINER));
         json.accumulate(FAILURE, StringUtils.join(failureStudent, DB_ITEM_JOINER));
+        json.accumulate(TAG, "");
         this.description = json.toString();
         this.createTime = new Date();
     }

+ 20 - 13
stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/ImportQueryController.java

@@ -27,10 +27,12 @@ import org.springframework.web.servlet.mvc.support.RedirectAttributes;
 import cn.com.qmth.stmms.admin.utils.PageUtil;
 import cn.com.qmth.stmms.admin.vo.InspectedStudentVO;
 import cn.com.qmth.stmms.admin.vo.TagStudentVO;
+import cn.com.qmth.stmms.biz.exam.model.Exam;
 import cn.com.qmth.stmms.biz.exam.model.ExamStudent;
 import cn.com.qmth.stmms.biz.exam.model.ImportQuery;
 import cn.com.qmth.stmms.biz.exam.query.ExamStudentSearchQuery;
 import cn.com.qmth.stmms.biz.exam.service.ExamQuestionService;
+import cn.com.qmth.stmms.biz.exam.service.ExamService;
 import cn.com.qmth.stmms.biz.exam.service.ExamStudentService;
 import cn.com.qmth.stmms.biz.exam.service.ImportQueryService;
 import cn.com.qmth.stmms.biz.exam.service.MarkGroupService;
@@ -75,6 +77,9 @@ public class ImportQueryController extends BaseExamController {
     @Autowired
     private TaskService taskService;
 
+    @Autowired
+    private ExamService examService;
+
     @RequestMapping("/list")
     public String list(Model model, HttpServletRequest request, ExamStudentSearchQuery query) {
         int examId = getSessionExamId(request);
@@ -201,24 +206,26 @@ public class ImportQueryController extends BaseExamController {
         return "redirect:/admin/exam/inspected/import/list";
     }
 
-    @RequestMapping("/start")
+    @RequestMapping("/getSetting")
     @ResponseBody
-    public JSONObject start(HttpServletRequest request, @RequestParam(required = false) Integer studentId) {
+    public JSONObject getSetting(HttpServletRequest request, @RequestParam(required = false) Integer studentId) {
         int examId = getSessionExamId(request);
         WebUser wu = RequestUtils.getWebUser(request);
-        List<Integer> ids = new ArrayList<Integer>();
+        ImportQuery importQuery = queryService.findByExamIdAndUserIdAndType(examId, wu.getId(), ImportType.INSPECTED);
+        List<Integer> studentIds = importQuery.getStudentIdList();
+        List<Integer> tagIds = importQuery.getTagIdList();
         if (studentId != null) {
-            ids.add(studentId);
-        } else {
-            ImportQuery importQuery = queryService.findByExamIdAndUserIdAndType(examId, wu.getId(),
-                    ImportType.INSPECTED);
-            ids.addAll(importQuery.getStudentIdList());
+            studentIds = new ArrayList<Integer>();
+            studentIds.add(studentId);
         }
         JSONObject setting = new JSONObject();
-        setting.accumulate("inspectCount", ids.size());
+        Exam exam = examService.findById(examId);
+        setting.accumulate("examType", exam.getType());
+        setting.accumulate("inspectCount", studentIds.size());
         setting.accumulate("fileServer", fileService.getFileServer());
-        setting.accumulate("ids", ids);
-        setting.accumulate("message", ids.size() > 0 ? "" : "没有待复核的任务");
+        setting.accumulate("studentIds", studentIds);
+        setting.accumulate("tagIds", tagIds);
+        setting.accumulate("message", studentIds.size() > 0 ? "" : "没有待复核的任务");
         return setting;
     }
 
@@ -255,7 +262,7 @@ public class ImportQueryController extends BaseExamController {
             obj.accumulate("success", true);
         } else {
             obj.accumulate("success", false);
-            obj.accumulate("message", "无法复核,请刷新页面");
+            obj.accumulate("message", "无法标记,请刷新页面");
         }
         return obj;
     }
@@ -273,7 +280,7 @@ public class ImportQueryController extends BaseExamController {
             for (Integer studentId : importQuery.getTagIdList()) {
                 list.add(new TagStudentVO(studentService.findById(studentId)));
             }
-            new ExportExcel("标记卷信息", InspectedStudentVO.class, 2).setDataList(list).write(response, fileName).dispose();
+            new ExportExcel("标记卷信息", TagStudentVO.class, 2).setDataList(list).write(response, fileName).dispose();
             return null;
         } catch (Exception e) {
             addMessage(redirectAttributes, "标记卷下载失败!失败信息:" + e.getMessage());

+ 11 - 2
stmms-web/src/main/webapp/WEB-INF/views/modules/exam/inspectedImportList.jsp

@@ -22,6 +22,9 @@
         <input id="export-button" class="btn" type="button" value="错误日志" onclick="goExport()"/>
         &nbsp;
         <input id="btnStart" class="btn" type="button" value="批量复核:${inspectCount }" onclick="goStart()"/>
+        &nbsp;
+        <input id="export-button" class="btn" type="button" value="导出标记卷" onclick="goTagExport()"/>
+        
     </div>
 </form>
 <tags:message content="${message}"/>
@@ -30,6 +33,7 @@
     <tr>
         <th>科目</th>
         <th>学号</th>
+        <th>标记卷</th>
         <th>试卷总分</th>
         <th>得分明细</th>
         <th>操作</th>
@@ -40,6 +44,7 @@
         <tr>
             <td>${result.subjectCode}-${result.subjectName}</td>
             <td>${result.studentCode}</td>
+            <td><c:if test="${result.tagValue=='1'}"><i class="icon-star"></i></c:if></td>
             <td>${result.totalScore}</td>
             <td>
             	<c:choose>
@@ -59,7 +64,7 @@
             		<c:when test="${result.absent == true || result.upload == false}">
                     </c:when>
                     <c:otherwise>
-						<a target="_blank" href="${ctx}/admin/exam/inspected/import/startById?studentId=${result.id}">进入复核</a>
+						<a target="_blank" href="${ctx}/web/admin/exam/inspected/import/start?studentId=${result.id}">进入复核</a>
                     </c:otherwise>
             	</c:choose>
             </td>
@@ -85,7 +90,7 @@
     }
     function goStart() {
     	$("#searchForm").attr('target', "_blank");
-        $("#searchForm").attr('action', '${ctx}/admin/exam/inspected/import/start');
+        $("#searchForm").attr('action', '${ctx}/web/admin/exam/inspected/import/start');
         $("#searchForm").submit();
         return false;
     }
@@ -98,6 +103,10 @@
         $("#searchForm").attr('action', '${ctx}/admin/exam/inspected/import/reset');
         $("#searchForm").submit();
     }
+    function goTagExport() {
+        $("#searchForm").attr('action', '${ctx}/admin/exam/inspected/import/exportTag');
+        $("#searchForm").submit();
+    }
 </script>
 </body>
 </html>