Przeglądaj źródła

新增选做题取最低分;修复试评转正评后清理复核和分析数据;修复考试编辑后返回原页面;评卷页面新增打回原因显示;数据检查页面按试卷和考生作答取最大长度显示客观题;

ting.yin 2 lat temu
rodzic
commit
8d7da3c557
20 zmienionych plików z 204 dodań i 82 usunięć
  1. 4 0
      stmms-biz/src/main/java/cn/com/qmth/stmms/biz/exam/dao/InspectHistoryDao.java
  2. 2 0
      stmms-biz/src/main/java/cn/com/qmth/stmms/biz/exam/service/InspectHistoryService.java
  3. 7 0
      stmms-biz/src/main/java/cn/com/qmth/stmms/biz/exam/service/impl/InspectHistoryServiceImpl.java
  4. 13 0
      stmms-biz/src/main/java/cn/com/qmth/stmms/biz/mark/model/Task.java
  5. 1 0
      stmms-biz/src/main/java/cn/com/qmth/stmms/biz/mark/service/Impl/TaskServiceImpl.java
  6. 20 24
      stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/AnswerCheckController.java
  7. 7 3
      stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/ExamController.java
  8. 11 0
      stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/MarkGroupController.java
  9. 25 17
      stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/StudentController.java
  10. 13 4
      stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/SubjectController.java
  11. 17 3
      stmms-web/src/main/java/cn/com/qmth/stmms/admin/user/UserController.java
  12. 3 0
      stmms-web/src/main/webapp/WEB-INF/views/modules/exam/examEdit.jsp
  13. 1 1
      stmms-web/src/main/webapp/WEB-INF/views/modules/exam/examList.jsp
  14. 2 2
      stmms-web/src/main/webapp/WEB-INF/views/modules/exam/paperList.jsp
  15. 9 7
      stmms-web/src/main/webapp/WEB-INF/views/modules/exam/selectiveList.jsp
  16. 2 0
      stmms-web/src/main/webapp/WEB-INF/views/modules/exam/studentForm.jsp
  17. 54 20
      stmms-web/src/main/webapp/WEB-INF/views/modules/exam/studentList.jsp
  18. 6 0
      stmms-web/src/main/webapp/WEB-INF/views/modules/exam/subjectEdit.jsp
  19. 6 0
      stmms-web/src/main/webapp/WEB-INF/views/modules/user/userEdit.jsp
  20. 1 1
      stmms-web/src/main/webapp/WEB-INF/views/modules/user/userList.jsp

+ 4 - 0
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/exam/dao/InspectHistoryDao.java

@@ -22,4 +22,8 @@ public interface InspectHistoryDao extends PagingAndSortingRepository<InspectHis
     @Query("delete from InspectHistory m where m.studentId=?1")
     void deleteByStudentId(Integer studentId);
 
+    @Modifying
+    @Query("delete from InspectHistory m where m.examId=?1 and m.subjectCode=?2")
+    void deleteByExamIdAndSubjectCode(int examId, String subjectCode);
+
 }

+ 2 - 0
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/exam/service/InspectHistoryService.java

@@ -12,4 +12,6 @@ public interface InspectHistoryService {
 
     Integer countByStudentId(Integer studentId);
 
+    void deleteByExamIdAndSubjectCode(int examId, String subjectCode);
+
 }

+ 7 - 0
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/exam/service/impl/InspectHistoryServiceImpl.java

@@ -4,6 +4,7 @@ import java.util.List;
 
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import cn.com.qmth.stmms.biz.common.BaseQueryService;
 import cn.com.qmth.stmms.biz.exam.dao.InspectHistoryDao;
@@ -41,4 +42,10 @@ public class InspectHistoryServiceImpl extends BaseQueryService<InspectHistory>
         return inspectHistoryDao.countByStudentId(studentId);
     }
 
+    @Transactional
+    @Override
+    public void deleteByExamIdAndSubjectCode(int examId, String subjectCode) {
+        inspectHistoryDao.deleteByExamIdAndSubjectCode(examId, subjectCode);
+    }
+
 }

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

@@ -105,6 +105,11 @@ public class Task implements Serializable {
      */
     private boolean isRejected;
 
+    /**
+     * 打回原因
+     */
+    private String rejectReason;
+
     /**
      * 评卷员登录名
      */
@@ -296,4 +301,12 @@ public class Task implements Serializable {
         this.message = message;
     }
 
+    public String getRejectReason() {
+        return rejectReason;
+    }
+
+    public void setRejectReason(String rejectReason) {
+        this.rejectReason = rejectReason;
+    }
+
 }

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

@@ -198,6 +198,7 @@ public class TaskServiceImpl implements TaskService {
         task.setMarkerTime(library.getMarkerTime());
         if (library.getStatus() == LibraryStatus.REJECTED) {
             task.setRejected(true);
+            task.setRejectReason(library.getRejectReason());
         }
         if (library.getStatus() == LibraryStatus.MARKED || library.getStatus() == LibraryStatus.INSPECTED) {
             task.setMarkerScore(library.getMarkerScore());

+ 20 - 24
stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/AnswerCheckController.java

@@ -146,32 +146,28 @@ public class AnswerCheckController extends BaseExamController {
         List<String> answers = student.getAnswerList();
         int questionCount = questions.size();
         int answerCount = answers.size();
-        if (questionCount < answerCount) {
-            result.accumulate("success", false);
-            result.accumulate("message", student.getSubjectCode() + "-" + student.getSubjectName() + "试卷结构有误,获取考生错误");
-        } else {
-            // 已设置客观题
-            int maxCount = Math.max(questionCount, answerCount);
-            for (int i = 0; i < maxCount; i++) {
-                ExamQuestion q = questionCount > i ? questions.get(i) : null;
-                String answer = answerCount > i ? answers.get(i) : "#";
-                JSONObject obj = new JSONObject();
-                obj.accumulate("mainNumber", q.getMainNumber());
-                obj.accumulate("subNumber", q.getSubNumber());
-                obj.accumulate("answer", answer);
-                // obj.accumulate("exist", q != null && q.getTotalScore() > 0);
-                // obj.accumulate("multi",
-                // q != null && (q.getMainTitle().contains("多选") ||
-                // q.getMainTitle().contains("多项选择")));
-                array.add(obj);
-                if (q != null) {
-                    titles.put(q.getMainNumber(), q.getMainTitle());
-                }
+
+        // 已设置客观题
+        int maxCount = Math.max(questionCount, answerCount);
+        for (int i = 0; i < maxCount; i++) {
+            ExamQuestion q = questionCount > i ? questions.get(i) : null;
+            String answer = answerCount > i ? answers.get(i) : "#";
+            JSONObject obj = new JSONObject();
+            obj.accumulate("mainNumber", q != null ? q.getMainNumber() : 0);
+            obj.accumulate("subNumber", q != null ? q.getSubNumber() : 0);
+            obj.accumulate("answer", answer);
+            obj.accumulate("exist", q != null && q.getTotalScore() > 0);
+            // obj.accumulate("multi",
+            // q != null && (q.getMainTitle().contains("多选") ||
+            // q.getMainTitle().contains("多项选择")));
+            array.add(obj);
+            if (q != null) {
+                titles.put(q.getMainNumber(), q.getMainTitle());
             }
-            result.accumulate("answers", array);
-            result.accumulate("titles", titles);
-            result.accumulate("success", true);
         }
+        result.accumulate("answers", array);
+        result.accumulate("titles", titles);
+        result.accumulate("success", true);
         return result;
     }
 }

+ 7 - 3
stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/ExamController.java

@@ -98,7 +98,7 @@ public class ExamController extends BaseExamController {
 
     @RequestMapping("/edit/{examId}")
     @RoleRequire(Role.SCHOOL_ADMIN)
-    public String edit(@PathVariable Integer examId, Model model) {
+    public String edit(@PathVariable Integer examId, Model model, ExamSearchQuery query) {
         Exam exam = examService.findById(examId);
         model.addAttribute("exam", exam);
         model.addAttribute("statusList", ExamStatus.values());
@@ -106,6 +106,7 @@ public class ExamController extends BaseExamController {
         model.addAttribute("passScore", exam.getPassScore());
         model.addAttribute("excellentScore", exam.getExcellentScore());
         model.addAttribute("markModeList", MarkMode.values());
+        model.addAttribute("query", query);
         return "modules/exam/examEdit";
     }
 
@@ -136,7 +137,9 @@ public class ExamController extends BaseExamController {
     @RequestMapping(value = "/edit", method = RequestMethod.POST)
     @RoleRequire(Role.SCHOOL_ADMIN)
     public String edit(HttpServletRequest request, Exam exam, @RequestParam(required = false) String picList,
-            @RequestParam(required = false) Double passScore, @RequestParam(required = false) Double excellentScore) {
+            @RequestParam(required = false) Double passScore, @RequestParam(required = false) Double excellentScore,
+            ExamSearchQuery query, @RequestParam(required = false) ExamType queryType,
+            @RequestParam(required = false) ExamStatus queryStatus) {
         User user = RequestUtils.getWebUser(request).getUser();
         Exam oldExam = examService.findById(exam.getId());
         if (oldExam != null && oldExam.getSchoolId().equals(user.getSchoolId())) {
@@ -169,7 +172,8 @@ public class ExamController extends BaseExamController {
             oldExam.setSheetView(exam.isSheetView());
             examService.save(oldExam);
         }
-        return "redirect:/admin/exam/list";
+        return "redirect:/admin/exam/list?pageNumber=" + query.getPageNumber() + "&type=" + queryType + "&status="
+                + queryStatus;
     }
 
     @Logging(menu = "考试详情", type = LogType.QUERY)

+ 11 - 0
stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/MarkGroupController.java

@@ -42,6 +42,7 @@ 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.ExamSubjectService;
+import cn.com.qmth.stmms.biz.exam.service.InspectHistoryService;
 import cn.com.qmth.stmms.biz.exam.service.MarkGroupService;
 import cn.com.qmth.stmms.biz.exam.service.MarkerService;
 import cn.com.qmth.stmms.biz.exam.service.SelectiveGroupService;
@@ -49,6 +50,7 @@ import cn.com.qmth.stmms.biz.file.service.FileService;
 import cn.com.qmth.stmms.biz.lock.LockService;
 import cn.com.qmth.stmms.biz.mark.model.MarkConfigItem;
 import cn.com.qmth.stmms.biz.mark.service.MarkService;
+import cn.com.qmth.stmms.biz.report.service.ReportSubjectService;
 import cn.com.qmth.stmms.common.annotation.Logging;
 import cn.com.qmth.stmms.common.annotation.RoleRequire;
 import cn.com.qmth.stmms.common.domain.WebUser;
@@ -102,6 +104,12 @@ public class MarkGroupController extends BaseExamController {
     @Autowired
     private SelectiveGroupService selectiveGroupService;
 
+    @Autowired
+    private ReportSubjectService reportSubjectService;
+
+    @Autowired
+    private InspectHistoryService inspectHistoryService;
+
     @Qualifier("task-executor")
     @Autowired
     private AsyncTaskExecutor taskExecutor;
@@ -257,6 +265,9 @@ public class MarkGroupController extends BaseExamController {
             }
             studentService.updateSubjectiveStatusAndScoreAndInspectorId(examId, subjectCode, SubjectiveStatus.UNMARK,
                     0, null, null, null);
+            reportSubjectService.deleteByExamIdAndSubjectCode(examId, subjectCode);
+            inspectHistoryService.deleteByExamIdAndSubjectCode(examId, subjectCode);
+
         } else {
             updateStatus(markGroup, status);
         }

+ 25 - 17
stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/StudentController.java

@@ -1,5 +1,29 @@
 package cn.com.qmth.stmms.admin.exam;
 
+import java.util.Date;
+import java.util.HashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import net.sf.json.JSONObject;
+
+import org.apache.commons.lang.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.servlet.mvc.support.RedirectAttributes;
+
 import cn.com.qmth.stmms.admin.vo.ExamStudentVO;
 import cn.com.qmth.stmms.admin.vo.UploadStudentVO;
 import cn.com.qmth.stmms.biz.exam.model.Exam;
@@ -22,24 +46,8 @@ import cn.com.qmth.stmms.common.enums.SubjectiveStatus;
 import cn.com.qmth.stmms.common.utils.ExportExcel;
 import cn.com.qmth.stmms.common.utils.ImportExcel;
 import cn.com.qmth.stmms.common.utils.RequestUtils;
-import com.google.common.collect.Lists;
-import net.sf.json.JSONObject;
-import org.apache.commons.lang.StringUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Controller;
-import org.springframework.ui.Model;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.ResponseBody;
-import org.springframework.web.multipart.MultipartFile;
-import org.springframework.web.servlet.mvc.support.RedirectAttributes;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.util.*;
+import com.google.common.collect.Lists;
 
 @Controller("examStudentController")
 @RequestMapping("/admin/exam/student")

+ 13 - 4
stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/SubjectController.java

@@ -23,6 +23,7 @@ import cn.com.qmth.stmms.biz.exam.model.Exam;
 import cn.com.qmth.stmms.biz.exam.model.ExamSubject;
 import cn.com.qmth.stmms.biz.exam.service.ExamService;
 import cn.com.qmth.stmms.biz.exam.service.ExamSubjectService;
+import cn.com.qmth.stmms.biz.exam.service.query.ExamSubjectSearchQuery;
 import cn.com.qmth.stmms.biz.mark.model.PictureConfigItem;
 import cn.com.qmth.stmms.common.annotation.Logging;
 import cn.com.qmth.stmms.common.annotation.RoleRequire;
@@ -58,7 +59,8 @@ public class SubjectController extends BaseExamController {
     @RequestMapping("/edit")
     @RoleRequire(Role.SCHOOL_ADMIN)
     public String edit(HttpServletRequest request, @RequestParam String code, Model model,
-            RedirectAttributes redirectAttributes) {
+            RedirectAttributes redirectAttributes, ExamSubjectSearchQuery query,
+            @RequestParam(required = false) String queryCode, @RequestParam(required = false) Boolean upload) {
         ExamSubject subject = subjectService.find(getSessionExamId(request), code);
         if (subject == null) {
             addMessage(redirectAttributes, "科目代码有误,科目不存在");
@@ -70,6 +72,9 @@ public class SubjectController extends BaseExamController {
         model.addAttribute("excellentScore", subject.getExcellentScore());
         Exam exam = examService.findById(subject.getExamId());
         model.addAttribute("examType", exam.getType());
+        query.setCode(queryCode);
+        model.addAttribute("query", query);
+        model.addAttribute("upload", upload);
         return "modules/exam/subjectEdit";
     }
 
@@ -78,7 +83,9 @@ public class SubjectController extends BaseExamController {
     @RequestMapping(value = "/save", method = RequestMethod.POST)
     @RoleRequire(Role.SCHOOL_ADMIN)
     public String save(HttpServletRequest request, ExamSubject subject, Model model, @RequestParam String picList,
-            @RequestParam(required = false) Double passScore, @RequestParam(required = false) Double excellentScore) {
+            @RequestParam(required = false) Double passScore, @RequestParam(required = false) Double excellentScore,
+            ExamSubjectSearchQuery query, @RequestParam(required = false) String queryCode,
+            @RequestParam(required = false) Boolean upload) {
         ExamSubject previous = subjectService.find(getSessionExamId(request), subject.getCode());
         if (previous != null && StringUtils.isNotBlank(picList)) {
             String sheetConfig = StringEscapeUtils.unescapeHtml(picList);
@@ -93,9 +100,11 @@ public class SubjectController extends BaseExamController {
         previous.setEnableSplit(subject.getEnableSplit());
         previous.setAutoScroll(subject.getAutoScroll());
         subjectService.save(previous);
-
         model.addAttribute("message", "修改成功");
-        return "redirect:/admin/exam/paper";
+        String u = upload == null ? "" : upload.toString();
+        String t = query.getTotalScoreNotEqual() == null ? "" : query.getTotalScoreNotEqual().toString();
+        return "redirect:/admin/exam/paper?code=" + queryCode + "&pageNumber=" + query.getPageNumber() + "&category="
+                + query.getCategory() + "&level=" + query.getLevel() + "&upload=" + u + "&totalScoreNotEqual=" + t;
     }
 
 }

+ 17 - 3
stmms-web/src/main/java/cn/com/qmth/stmms/admin/user/UserController.java

@@ -113,7 +113,7 @@ public class UserController extends BaseExamController {
 
     @RequestMapping(value = "/edit", method = RequestMethod.GET)
     @RoleRequire(Role.SCHOOL_ADMIN)
-    public ModelAndView editInit(HttpServletRequest request, @RequestParam Integer id) {
+    public ModelAndView editInit(HttpServletRequest request, @RequestParam Integer id, UserSearchQuery query) {
         User current = RequestUtils.getWebUser(request).getUser();
         User user = userService.findById(id);
         if (user != null && user.getSchoolId().equals(current.getSchoolId())) {
@@ -124,6 +124,7 @@ public class UserController extends BaseExamController {
                 view.addObject("subjectCodeString",
                         StringUtils.join(subjectUserService.findSubjectCode(user.getId()), SUBJECT_CODE_SPLIT));
             }
+            view.addObject("query", query);
             return view;
         } else {
             return new ModelAndView("redirect:/admin/user/list");
@@ -134,7 +135,10 @@ public class UserController extends BaseExamController {
     @RequestMapping(value = "/save", method = RequestMethod.POST)
     @RoleRequire(Role.SCHOOL_ADMIN)
     public String save(HttpServletRequest request, Model model, User user,
-            @RequestParam(required = false) String subjectCodeString) {
+            @RequestParam(required = false) String subjectCodeString, UserSearchQuery query,
+            @RequestParam(required = false) UserSource querySource, @RequestParam(required = false) Role queryRole,
+            @RequestParam(required = false) String queryLoginName, @RequestParam(required = false) String queryName,
+            @RequestParam(required = false) Boolean queryEnable) {
         User current = RequestUtils.getWebUser(request).getUser();
         User previous = null;
         if (user.getId() != null) {
@@ -193,10 +197,20 @@ public class UserController extends BaseExamController {
                 model.addAttribute("user", previous);
                 model.addAttribute("roleList", ROLE_LIST);
                 model.addAttribute("message", message);
+                query.setSource(querySource);
+                query.setRole(queryRole);
+                query.setLoginName(queryLoginName);
+                query.setName(queryName);
+                query.setEnable(queryEnable);
+                model.addAttribute("query", query);
                 return "modules/user/userEdit";
             }
         }
-        return "redirect:/admin/user/list";
+        String enable = queryEnable == null ? "" : queryEnable.toString();
+        String role = queryRole == null ? "" : String.valueOf(queryRole.getValue());
+        String source = querySource == null ? "" : String.valueOf(querySource.getValue());
+        return "redirect:/admin/user/list?pageNumber=" + query.getPageNumber() + "&source=" + source + "&role=" + role
+                + "&loginName=" + queryLoginName + "&name=" + queryName + "&enable=" + enable;
     }
 
     private String validate(User user, String subjectCodeString) {

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

@@ -59,6 +59,9 @@
 <br/>
 <form:form id="inputForm" modelAttribute="exam" action="${ctx}/admin/exam/edit" method="post" class="form-horizontal">
     <form:hidden path="id"/>
+     <input type="hidden" id="pageNumber" name="pageNumber" value="${query.pageNumber }"/>
+	 <input type="hidden" id="type" name="queryType" value="${query.type.value }"/>
+	 <input type="hidden" id="status" name="queryStatus" value="${query.status.value }"/>
     <tags:message content="${message}"/>
     <div class="control-group">
         <label class="control-label">考试名称</label>

+ 1 - 1
stmms-web/src/main/webapp/WEB-INF/views/modules/exam/examList.jsp

@@ -70,7 +70,7 @@
             <td>
                 <a href="${ctx}/admin/exam/view/${exam.id}">详情</a>
                 <c:if test="${web_user.schoolAdmin==true}">
-                    <a href="${ctx}/admin/exam/edit/${exam.id}">编辑</a>
+                    <a href="${ctx}/admin/exam/edit/${exam.id}?pageNumber=${query.pageNumber}&status=${query.status.value}&type=${query.type.value}">编辑</a>
                     <a href="${ctx}/admin/exam/problem/type?examId=${exam.id}">问题卷分类</a>
                     <c:if test="${exam.type=='MULTI_MEDIA'}">
                         <a href="${ctx}/admin/exam/data/sync?examId=${exam.id}">数据同步</a>

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

@@ -143,7 +143,7 @@
     <c:forEach items="${query.result}" var="subject">
         <tr>
             <td>
-                <a href="${ctx}/admin/exam/paper/detail?subjectCode=${subject.code}&pageNumber=${query.pageNumber}&code=${query.code }&category=${ query.category}&level=${query.level }&upload=${ upload}&totalScoreNotEqual=${  query.totalScoreNotEqual}"">
+                <a href="${ctx}/admin/exam/paper/detail?subjectCode=${subject.code}&pageNumber=${query.pageNumber}&code=${query.code }&category=${ query.category}&level=${query.level }&upload=${ upload}&totalScoreNotEqual=${  query.totalScoreNotEqual}">
                 ${subject.code}-${subject.name}&nbsp;${subject.remark}</a>
             </td>
             <td>${subject.level}</td>
@@ -174,7 +174,7 @@
             </td>
             <td>
                 <c:if test="${!examLock && !subject.locked}">
-                    <a href="${ctx}/admin/exam/subject/edit?code=${subject.code}">编辑</a>
+                    <a href="${ctx}/admin/exam/subject/edit?code=${subject.code}&pageNumber=${query.pageNumber}&queryCode=${query.code }&category=${ query.category}&level=${query.level }&upload=${ upload}&totalScoreNotEqual=${query.totalScoreNotEqual}">编辑</a>
                     <a href="${ctx}/admin/exam/paper/report?subjectCode=${subject.code}">分析计算</a>
                 </c:if>
                 <a href="${ctx}/admin/exam/selectiveGroup?subjectCode=${subject.code}">设置选做题</a>

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

@@ -27,7 +27,7 @@
             top: 50%;
             margin: -150px 0 0 -200px;
             text-align: center;
-            z-index: 99999;
+            z-index: 9999;
         }
         
         .task-header, .password-header {
@@ -127,14 +127,16 @@
 	        <p class="title">设置选做题规则</p>
 	        <p class="image-close"><img src="${ctxStatic}/mark-new/images/images-close.png"/></p></div>
 	    <div class="task-content">选做题规则:<input type="number" id="selectivePart" name="selectivePart" class="task-count" oninput="if(value<0)value=0"/>选<input type="number" id="selectiveCount" name="selectiveCount" class="task-count" oninput="if(value<0)value=0"/><br/><br/>
-	    取分规则:<select name="scorePolicy">
-	    			<%-- <c:forEach items="${scorePolicyList}" var="item"> --%>
-                        <option value="2">最高分</option>
-                 <%--    </c:forEach> --%>
+	    <div style="z-index:99999">
+	    取分规则:<select name="scorePolicy" style="z-index:99999;">
+	    			 <c:forEach items="${scorePolicyList}" var="item">
+                        <option value="${item.value }">${item.name }</option>
+                     </c:forEach>
 	    		</select><br/><br/>
+	    </div>
 	    *如选做为5选3,则系统会校验后续选做题总量为5,合分数量为3。
-	    <i class="wrong">
-	    </i></div>
+	    <i class="wrong"> </i>
+	    </div>
 	    <a href="#" class="btn btn-small btn-info task-btn">下一步</a>
 	</div>
 	<div class="editWindow" style="display:none">

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

@@ -71,6 +71,8 @@
 <script type="text/javascript">
     $(document).ready(function () {
         //$("#name").focus();
+        var studentQuery =localStorage.getItem("studentQuery");
+        $("#studentQuery").attr("value",studentQuery);
         $("#inputForm").validate({
 
             submitHandler: function (form) {

+ 54 - 20
stmms-web/src/main/webapp/WEB-INF/views/modules/exam/studentList.jsp

@@ -48,15 +48,15 @@
     <input type="hidden" id="pageSize" name="pageSize" value="${query.pageSize}"/>
     <div>
         <label>姓名</label>
-        <input type="text" name="name" value="${query.name}" maxlength="10" class="input-mini"/>
+        <input type="text" name="name" value="${query.name}" maxlength="10" class="input-mini studentQuery"/>
         <label>准考证号</label>
-        <input type="text" name="examNumber" value="${query.examNumber}" maxlength="50" class="input-small"/>
+        <input type="text" name="examNumber" value="${query.examNumber}" maxlength="50" class="input-small studentQuery"/>
         <label>考生编号</label>
-        <input type="text" name="secretNumber" value="${query.secretNumber}" maxlength="50" class="input-small"/>
+        <input type="text" name="secretNumber" value="${query.secretNumber}" maxlength="50" class="input-small studentQuery"/>
         <label>学号</label>
-        <input type="text" name="studentCode" value="${query.studentCode}" maxlength="30" class="input-small"/>
+        <input type="text" name="studentCode" value="${query.studentCode}" maxlength="30" class="input-small studentQuery"/>
         <label>科目</label>
-        <select class="input-large" id="subjectCode" name="subjectCode">
+        <select class="input-large studentQuery" id="subjectCode" name="subjectCode">
             <option value="">请选择</option>
             <c:forEach items="${subjectList }" var="subject">
                 <option value="${subject.code }" <c:if test="${query.subjectCode eq subject.code }">selected</c:if>>${subject.code}-${subject.name}</option>
@@ -64,14 +64,14 @@
         </select>
         <br><br>
         <label>层次</label>
-        <select class="input-small" id="subjectLevel" name="subjectLevel">
+        <select class="input-small studentQuery" id="subjectLevel" name="subjectLevel">
             <option value="">请选择</option>
             <c:forEach items="${levelList }" var="level">
                 <option value="${level}" <c:if test="${query.subjectLevel eq level }">selected</c:if>>${level}</option>
             </c:forEach>
         </select>
         <label>专业类型</label>
-        <select class="input-small" id="subjectCategory" name="subjectCategory">
+        <select class="input-small studentQuery" id="subjectCategory" name="subjectCategory">
             <option value="">请选择</option>
             <c:forEach items="${categoryList }" var="category">
                 <option value="${category}" <c:if test="${query.subjectCategory eq category }">selected</c:if>>${category}</option>
@@ -79,43 +79,43 @@
         </select>
         
         <label>状态</label>
-        <select id="upload" name="upload" class="input-small">
+        <select id="upload" name="upload" class="input-small studentQuery">
             <option value="">不限</option>
             <option value="1" <c:if test="${query.upload!=null && query.upload==true}">selected</c:if>>已上传</option>
             <option value="0" <c:if test="${query.upload!=null && query.upload==false}">selected</c:if>>未上传</option>
         </select>
-        <select id="absent" name="absent" class="input-small">
+        <select id="absent" name="absent" class="input-small studentQuery">
             <option value="">不限</option>
             <option value="1" <c:if test="${query.absent!=null && query.absent==true}">selected</c:if>>缺考</option>
             <option value="0" <c:if test="${query.absent!=null && query.absent==false}">selected</c:if>>正常</option>
         </select>
-        <select id="breach" name="breach" class="input-small">
+        <select id="breach" name="breach" class="input-small studentQuery">
             <option value="">不限</option>
             <option value="1" <c:if test="${query.breach!=null && query.breach==true}">selected</c:if>>违纪</option>
             <option value="0" <c:if test="${query.breach!=null && query.breach==false}">selected</c:if>>正常</option>
         </select>
-        <select id="manualAbsent" name="manualAbsent" class="input-small">
+        <select id="manualAbsent" name="manualAbsent" class="input-small studentQuery">
             <option value="">不限</option>
             <option value="1" <c:if test="${query.manualAbsent!=null && query.manualAbsent==true}">selected</c:if>>人工指定缺考</option>
             <option value="0" <c:if test="${query.manualAbsent!=null && query.manualAbsent==false}">selected</c:if>>正常</option>
         </select>
         <br><br>
         <label>签到表编号</label>
-        <input type="text" name="packageCode" value="${query.packageCode}" maxlength="30" class="input-mini"/>
+        <input type="text" name="packageCode" value="${query.packageCode}" maxlength="30" class="input-mini studentQuery"/>
         <label>批次编号</label>
-        <input type="text" name="batchCode" value="${query.batchCode}" maxlength="30" class="input-mini"/>
+        <input type="text" name="batchCode" value="${query.batchCode}" maxlength="30" class="input-mini studentQuery"/>
         <label>学院</label>
-        <input type="text" name="college" value="${query.college}" maxlength="64" class="input-mini"/>
+        <input type="text" name="college" value="${query.college}" maxlength="64" class="input-mini studentQuery"/>
         <label>班级</label>
-        <input type="text" name="className" value="${query.className}" maxlength="64" class="input-mini"/>
+        <input type="text" name="className" value="${query.className}" maxlength="64" class="input-mini studentQuery"/>
         <label>任课老师</label>
-        <input type="text" name="teacher" value="${query.teacher}" maxlength="64" class="input-mini"/>
+        <input type="text" name="teacher" value="${query.teacher}" maxlength="64" class="input-mini studentQuery"/>
         <label>考点</label>
-        <input type="text" name="examSite" value="${query.examSite}" maxlength="64" class="input-mini"/>
+        <input type="text" name="examSite" value="${query.examSite}" maxlength="64" class="input-mini studentQuery"/>
         <label>考场</label>
-        <input type="text" name="examRoom" value="${query.examRoom}" maxlength="64" class="input-mini"/>
+        <input type="text" name="examRoom" value="${query.examRoom}" maxlength="64" class="input-mini studentQuery"/>
         <label>扫描张数</label>
-        <input type="number" name="sheetCount" value="${query.sheetCount}" maxlength="64" class="input-mini digits"/>
+        <input type="number" name="sheetCount" value="${query.sheetCount}" maxlength="64" class="input-mini digits studentQuery"/>
         <br><br>
         &nbsp;<input id="btnSubmit" class="btn btn-primary" type="button" value="查询" onclick="goSearch()"/>
         <c:if test="${web_user.schoolAdmin==true}">
@@ -253,7 +253,7 @@
             <td>${student.examRoom}</td>
             <td>
                 <c:if test="${web_user.schoolAdmin==true}">
-                    <a href="${ctx}/admin/exam/student/update?id=${student.id}">修改</a>
+                    <a href="${ctx}/admin/exam/student/update?id=${student.id}" id="update-btn">修改</a>
                     <c:if test="${examType!='MULTI_MEDIA'}">
                         &nbsp;
                         <a href="${ctx}/admin/exam/student/delete?id=${student.id}" onclick="return confirmx('确认要删除该考生吗?', this.href)">删除</a>
@@ -270,6 +270,27 @@
 <script type="text/javascript">
 
     $(document).ready(function () {
+    	var s=localStorage.getItem("studentQuery");
+    	if(s!="" && s!=null && s!=undefined){
+    		var studentQuery = JSON.parse(s);
+    		var pageN =1;
+    		var pageS =20;
+    		 for (var i = 0; i < studentQuery.length; i++) {
+    			var value = studentQuery[i].value;
+    			if(value!="" && value!=null && value!=undefined){
+	    			var name = studentQuery[i].name;
+    				$('[name='+name+']').attr('value',value);
+    				if(name=='pageNumber'){
+    					pageN = value;
+    				}
+    				if(name=='pageSize'){
+    					pageS = value;
+    				}
+    			} 
+    		};
+    		localStorage.setItem("studentQuery","");
+    		page(pageN, pageS);
+    	}
         $('.sheet-link').click(function () {
             initSheetPopover($(this).attr('data-title'), '${fileServer}', $(this).attr('data-sheet-url'), $(this).attr('data-answer-url'));
             return false;
@@ -360,6 +381,19 @@
             }
         });
     }
+    
+    $('#update-btn').click(function () {
+    	 var studentQuery = [];
+    	 $('.studentQuery').each(function (i) {
+    		   // var val = $(this).attr("value");
+    		   // if(val!="" && val!=null && val!=undefined){
+    		    	/* var key= $(this).attr("name");
+    		    	var query={key:val};
+    		    	studentQuery.push(query); */
+    		   // }
+    		});
+    	localStorage.setItem("studentQuery", JSON.stringify($("#searchForm").serializeArray()));
+    });
 </script>
 </body>
 </html>

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

@@ -12,6 +12,12 @@
 	</ul><br/>
 	<form:form id="inputForm" modelAttribute="subject" action="${ctx}/admin/exam/subject/save" method="post" class="form-horizontal">
 		<form:hidden path="code"/>
+		<input type="hidden" id="pageNumber" name="pageNumber" value="${query.pageNumber }"/>
+	 	<input type="hidden" id="queryCode" name="queryCode" value="${query.code }"/>
+	 	<input type="hidden" id="category" name="category" value="${query.category }"/>
+	 	<input type="hidden" id="level" name="level" value="${query.level }"/>
+	 	<input type="hidden" id="upload" name="upload" value="${upload}"/>
+	 	<input type="hidden" id="totalScoreNotEqual" name="totalScoreNotEqual" value="${query.totalScoreNotEqual }"/>
 		<tags:message content="${message}"/>
 		<div class="control-group">
 			<label class="control-label">名称</label>

+ 6 - 0
stmms-web/src/main/webapp/WEB-INF/views/modules/user/userEdit.jsp

@@ -48,6 +48,12 @@
 <form:form id="inputForm" modelAttribute="user" action="${ctx}/admin/user/save" method="post" class="form-horizontal">
     <form:hidden path="id"/>
     <tags:message content="${message}"/>
+    <input type="hidden"  name="pageNumber" value="${query.pageNumber }"/>
+	 <input type="hidden"  name="querSource" value="${query.source.value }"/>
+	 <input type="hidden"  name="queryRole" value="${query.role.value }"/>
+	 <input type="hidden"  name="queryName" value="${query.name }"/>
+	 <input type="hidden"  name="queryLoginName" value="${query.loginName }"/>
+	 <input type="hidden"  name="queryEnable" value="${query.enable }"/>
     <div class="control-group">
         <label class="control-label">登录名</label>
         <div class="controls">

+ 1 - 1
stmms-web/src/main/webapp/WEB-INF/views/modules/user/userList.jsp

@@ -155,7 +155,7 @@
             <td>${user.relatedAccount}</td>
             <td>
                 <c:if test="${web_user.schoolAdmin==true && user.source.value==1}">
-                    <a href="${ctx}/admin/user/edit?id=${user.id}">修改</a>
+                    <a href="${ctx}/admin/user/edit?id=${user.id}&pageNumber=${query.pageNumber}&name=${query.name}&loginName=${query.loginName}&source=${query.source.value}&role=${query.role.value}&enable=${query.enable}">修改</a>
                     <a href="javascript:void(0)" class="reSetPassword-button" data-id="${user.id}"
                        onclick="reSetPassword('${user.id}');">重置密码</a>
                 </c:if>