ting.yin 4 роки тому
батько
коміт
8342c439bd

+ 31 - 10
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/exam/model/ExamStudent.java

@@ -1,21 +1,31 @@
 package cn.com.qmth.stmms.biz.exam.model;
 
-import cn.com.qmth.stmms.biz.mark.model.ProblemType;
-import cn.com.qmth.stmms.biz.utils.ScoreItem;
-import cn.com.qmth.stmms.common.annotation.ExcelField;
-import cn.com.qmth.stmms.common.enums.SubjectiveStatus;
-
-import org.apache.commons.lang.StringUtils;
-import org.apache.commons.lang.math.RandomUtils;
-
-import javax.persistence.*;
-
 import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.LinkedList;
 import java.util.List;
 
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.EnumType;
+import javax.persistence.Enumerated;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+import javax.persistence.Table;
+import javax.persistence.Temporal;
+import javax.persistence.TemporalType;
+import javax.persistence.Transient;
+
+import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang.math.RandomUtils;
+
+import cn.com.qmth.stmms.biz.mark.model.ProblemType;
+import cn.com.qmth.stmms.biz.user.model.User;
+import cn.com.qmth.stmms.biz.utils.ScoreItem;
+import cn.com.qmth.stmms.common.annotation.ExcelField;
+import cn.com.qmth.stmms.common.enums.SubjectiveStatus;
+
 /**
  * 针对某次考试的考生信息
  *
@@ -306,6 +316,9 @@ public class ExamStudent implements Serializable {
     @Transient
     private String examName;
 
+    @Transient
+    private User inspector;
+
     @Transient
     private List<ExamQuestion> subjectiveQuestionList;
 
@@ -832,4 +845,12 @@ public class ExamStudent implements Serializable {
         this.inspectorId = inspectorId;
     }
 
+    public User getInspector() {
+        return inspector;
+    }
+
+    public void setInspector(User inspector) {
+        this.inspector = inspector;
+    }
+
 }

+ 10 - 3
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/exam/service/impl/InspectedServiceImpl.java

@@ -16,6 +16,7 @@ import cn.com.qmth.stmms.biz.exam.model.ExamStudent;
 import cn.com.qmth.stmms.biz.exam.query.ExamStudentSearchQuery;
 import cn.com.qmth.stmms.biz.exam.service.ExamStudentService;
 import cn.com.qmth.stmms.biz.exam.service.InspectedService;
+import cn.com.qmth.stmms.biz.user.service.UserService;
 import cn.com.qmth.stmms.biz.utils.TaskLock;
 import cn.com.qmth.stmms.biz.utils.TaskLockUtil;
 import cn.com.qmth.stmms.common.enums.SubjectiveStatus;
@@ -29,11 +30,14 @@ public class InspectedServiceImpl extends BaseQueryService<ExamStudent> implemen
     @Autowired
     private ExamStudentService studentService;
 
+    @Autowired
+    private UserService userService;
+
     @SuppressWarnings("unchecked")
     @Override
     public List<ExamStudent> findByQuery(ExamStudentSearchQuery query, SubjectiveStatus status, Integer mainNumber,
             Double mainStartScore, Double mainEndScore, Double questionScore) {
-        StringBuilder dataSql = new StringBuilder("select distinct s.id "
+        StringBuilder dataSql = new StringBuilder("select s.id "
                 + " from eb_exam_student s left join eb_subjective_score e on e.student_id = s.id ");
         StringBuilder limitSql = new StringBuilder(" limit :offset,:pageSize");
         Query dataQuery = getQuery(query, status, mainNumber, mainStartScore, mainEndScore, questionScore, dataSql,
@@ -45,6 +49,9 @@ public class InspectedServiceImpl extends BaseQueryService<ExamStudent> implemen
         if (list != null && !list.isEmpty()) {
             for (Integer id : list) {
                 ExamStudent e = studentService.findById(id);
+                if (e.getInspectorId() != null) {
+                    e.setInspector(userService.findById(e.getInspectorId()));
+                }
                 resultList.add(e);
             }
         }
@@ -86,8 +93,8 @@ public class InspectedServiceImpl extends BaseQueryService<ExamStudent> implemen
             whereSql.append(" and e.score = :questionScore");
         }
         dataSql.append(whereSql);
-        // StringBuilder orderSql = new StringBuilder("order by s.id desc ");
-        // dataSql.append(orderSql);
+        StringBuilder orderSql = new StringBuilder(" order by s.inspect_time desc ");
+        dataSql.append(orderSql);
         if (limitSql != null) {
             dataSql.append(limitSql);
         }

+ 1 - 1
stmms-web/src/main/java/cn/com/qmth/stmms/admin/dto/SubjectQuestionDTO.java

@@ -100,7 +100,7 @@ public class SubjectQuestionDTO {
                         error.add("[" + subjectCode + "] 有大题名称超过30个字的记录");
                         return false;
                     }
-                    if (question.getMainNumber() == null || question.getSubNumber() == null) {
+                    if (question.getMainNumber() == null || StringUtils.isBlank(question.getSubNumber())) {
                         error.add("[" + subjectCode + "] 有题号为空的记录");
                         return false;
                     }

+ 0 - 1
stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/PaperController.java

@@ -236,7 +236,6 @@ public class PaperController extends BaseExamController {
                                     }
                                     old.setTotalScore(question.getTotalScore());
                                     old.setIntervalScore(question.getIntervalScore());
-                                    old.setMainTitle(question.getMainTitle());
                                     questionService.save(old);
                                 } else {
                                     question.setGroupNumber(null);

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

@@ -277,6 +277,9 @@ public class MarkController extends BaseController {
         setting.accumulate("enableAllZero", group.isEnableAllZero());
         setting.accumulate("statusValue", group.getStatus());
         setting.accumulate("groupNumber", group.getNumber());
+        group.setQuestionList(questionService.findByExamAndSubjectAndObjectiveAndGroupNumber(group.getExamId(),
+                group.getSubjectCode(), false, group.getNumber()));
+        setting.accumulate("groupTitle", group.getTitle());
         setting.accumulate("fileServer", fileService.getFileServer());
         setting.accumulate("forceSpecialTag", exam.isForceSpecialTag());
         setting.accumulate("uiSetting",

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

@@ -80,6 +80,7 @@
         <th>状态</th>
         <th>试卷总分</th>
         <th>得分明细</th>
+        <th>复核人</th>
         <th>复核时间</th>
         <th>操作</th>
     </tr>
@@ -92,6 +93,10 @@
             <td>${result.subjectiveStatus.name}</td>
             <td>${result.totalScore}</td>
             <td>${result.subjectiveScoreList}</td>
+            <td><c:if test="${result.inspectorId!=null }">
+            ${result.inspector.loginName}
+            	</c:if>
+            </td>
             <td>${result.inspectTime}</td>
             <td>
                 <a href="${ctx}/admin/exam/track/student/${result.id}" target="_blank">轨迹图</a>
@@ -164,6 +169,7 @@
 
     function page(n, s) {
         $("#pageNumber").val(n);
+        $("#pageSize").val(s);
         $("#searchForm").attr('target', "_self");
         $("#searchForm").attr('action', '${ctx}/admin/exam/inspected');
         $("#searchForm").submit();
@@ -172,6 +178,7 @@
 
     function goSearch() {
         $("#pageNumber").val(1);
+        $("#pageSize").val('${query.pageSize}');
         $("#searchForm").attr('target', "_self");
         $("#searchForm").attr('action', '${ctx}/admin/exam/inspected');
         $("#searchForm").submit();