ting.yin 2 years ago
parent
commit
a68a5e503b

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

@@ -125,7 +125,7 @@ public interface MarkLibraryDao extends JpaRepository<MarkLibrary, Integer>, Jpa
 
     @Modifying(clearAutomatically = true)
     @Query("update MarkLibrary l set l.status=?2, l.markerId=?3, l.markerScore=?4, l.markerScoreList=?5, l.markerTime=?6, "
-            + "l.markerSpent=?7 ,l.rejectReason=?8 ,l.headerId=?9,l.headerTime=?10,  where l.id=?1 and l.status in (?11) and (l.markerId=null or l.markerId=?3)")
+            + "l.markerSpent=?7, l.rejectReason=?8, l.headerId=?9, l.headerTime=?10  where l.id=?1 and l.status in (?11) and (l.markerId=null or l.markerId=?3)")
     int updateMarkerResult(Integer id, LibraryStatus newStatus, Integer markerId, Double markerScore,
             String markerScoreList, Date markerTime, Integer spent, String resson, Integer rejecterId, Date rejectTime,
             LibraryStatus... previousStatus);

+ 3 - 0
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/mark/dao/RejectHistoryDao.java

@@ -22,4 +22,7 @@ public interface RejectHistoryDao extends JpaRepository<RejectHistory, Integer>,
 
     List<RejectHistory> findByLibraryIdOrderByIdDesc(Integer libraryId);
 
+    @Query("select distinct s.userId from RejectHistory s where s.examId=?1 and s.subjectCode=?2")
+    List<Integer> getUserIdByExamIdAndSubjectCode(Integer examId, String subjectCode);
+
 }

+ 26 - 5
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/mark/model/MarkLibrary.java

@@ -1,15 +1,25 @@
 package cn.com.qmth.stmms.biz.mark.model;
 
-import cn.com.qmth.stmms.biz.utils.ScoreItem;
-import cn.com.qmth.stmms.common.enums.LibraryStatus;
-import org.apache.commons.lang.StringUtils;
-
-import javax.persistence.*;
 import java.io.Serializable;
 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.Transient;
+
+import org.apache.commons.lang.StringUtils;
+
+import cn.com.qmth.stmms.biz.exam.model.ExamSubject;
+import cn.com.qmth.stmms.biz.utils.ScoreItem;
+import cn.com.qmth.stmms.common.enums.LibraryStatus;
+
 @Entity
 @Table(name = "m_library")
 public class MarkLibrary implements Serializable {
@@ -141,6 +151,9 @@ public class MarkLibrary implements Serializable {
     @Transient
     private String headerLoginName;
 
+    @Transient
+    private ExamSubject subject;
+
     public Integer getId() {
         return id;
     }
@@ -355,4 +368,12 @@ public class MarkLibrary implements Serializable {
         this.headerLoginName = headerLoginName;
     }
 
+    public ExamSubject getSubject() {
+        return subject;
+    }
+
+    public void setSubject(ExamSubject subject) {
+        this.subject = subject;
+    }
+
 }

+ 43 - 10
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/mark/model/RejectHistory.java

@@ -14,7 +14,7 @@ import javax.persistence.Transient;
 
 import org.apache.commons.lang.StringUtils;
 
-import cn.com.qmth.stmms.biz.user.model.User;
+import cn.com.qmth.stmms.biz.exam.model.ExamSubject;
 import cn.com.qmth.stmms.biz.utils.ScoreItem;
 
 /**
@@ -112,7 +112,16 @@ public class RejectHistory implements Serializable {
     private Date createTime;
 
     @Transient
-    private User user;
+    private String markerLoginName;
+
+    @Transient
+    private String title;
+
+    @Transient
+    private String headerLoginName;
+
+    @Transient
+    private ExamSubject subject;
 
     public RejectHistory() {
     }
@@ -211,14 +220,6 @@ public class RejectHistory implements Serializable {
         this.createTime = createTime;
     }
 
-    public User getUser() {
-        return user;
-    }
-
-    public void setUser(User user) {
-        this.user = user;
-    }
-
     public Integer getGroupNumber() {
         return groupNumber;
     }
@@ -287,4 +288,36 @@ public class RejectHistory implements Serializable {
         return scoreItems;
     }
 
+    public String getMarkerLoginName() {
+        return markerLoginName;
+    }
+
+    public void setMarkerLoginName(String markerLoginName) {
+        this.markerLoginName = markerLoginName;
+    }
+
+    public String getTitle() {
+        return title;
+    }
+
+    public void setTitle(String title) {
+        this.title = title;
+    }
+
+    public String getHeaderLoginName() {
+        return headerLoginName;
+    }
+
+    public void setHeaderLoginName(String headerLoginName) {
+        this.headerLoginName = headerLoginName;
+    }
+
+    public ExamSubject getSubject() {
+        return subject;
+    }
+
+    public void setSubject(ExamSubject subject) {
+        this.subject = subject;
+    }
+
 }

+ 28 - 19
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/mark/query/RejectHistorySearchQuery.java

@@ -5,7 +5,6 @@ import org.springframework.data.domain.Sort.Direction;
 
 import cn.com.qmth.stmms.biz.common.BaseQuery;
 import cn.com.qmth.stmms.biz.mark.model.RejectHistory;
-import cn.com.qmth.stmms.common.enums.HistoryStatus;
 
 public class RejectHistorySearchQuery extends BaseQuery<RejectHistory> {
 
@@ -23,12 +22,14 @@ public class RejectHistorySearchQuery extends BaseQuery<RejectHistory> {
 
     private int groupNumber;
 
-    private HistoryStatus status;
+    private Integer headerId;
 
-    private int userId;
+    private int markerId;
 
     private String subjectCodeIn;
 
+    private String rejectReason;
+
     public void orderByIdDesc() {
         setSort(new Sort(Direction.DESC, "id"));
     }
@@ -81,22 +82,6 @@ public class RejectHistorySearchQuery extends BaseQuery<RejectHistory> {
         this.secretNumber = secretNumber;
     }
 
-    public HistoryStatus getStatus() {
-        return status;
-    }
-
-    public void setStatus(HistoryStatus status) {
-        this.status = status;
-    }
-
-    public int getUserId() {
-        return userId;
-    }
-
-    public void setUserId(int userId) {
-        this.userId = userId;
-    }
-
     public int getGroupNumber() {
         return groupNumber;
     }
@@ -113,4 +98,28 @@ public class RejectHistorySearchQuery extends BaseQuery<RejectHistory> {
         this.subjectCodeIn = subjectCodeIn;
     }
 
+    public Integer getHeaderId() {
+        return headerId;
+    }
+
+    public void setHeaderId(Integer headerId) {
+        this.headerId = headerId;
+    }
+
+    public int getMarkerId() {
+        return markerId;
+    }
+
+    public void setMarkerId(int markerId) {
+        this.markerId = markerId;
+    }
+
+    public String getRejectReason() {
+        return rejectReason;
+    }
+
+    public void setRejectReason(String rejectReason) {
+        this.rejectReason = rejectReason;
+    }
+
 }

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

@@ -159,7 +159,7 @@ public class MarkLibraryServiceImpl extends BaseQueryService<MarkLibrary> implem
                     Predicate predicate4 = cb.equal(root.get("markerScoreList"), query.getQuestionScore());
                     predicates.add(cb.or(predicate1, predicate2, predicate3, predicate4));
                 }
-                if (query.getHeaderId() != null) {
+                if (query.getHeaderId() != null && query.getHeaderId() > 0) {
                     predicates.add(cb.equal(root.get("headerId"), query.getHeaderId()));
                 }
                 if (StringUtils.isNotBlank(query.getRejectReason())) {

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

@@ -1,5 +1,6 @@
 package cn.com.qmth.stmms.biz.mark.service.Impl;
 
+import java.util.ArrayList;
 import java.util.LinkedList;
 import java.util.List;
 
@@ -19,6 +20,8 @@ import cn.com.qmth.stmms.biz.mark.dao.RejectHistoryDao;
 import cn.com.qmth.stmms.biz.mark.model.RejectHistory;
 import cn.com.qmth.stmms.biz.mark.query.RejectHistorySearchQuery;
 import cn.com.qmth.stmms.biz.mark.service.RejectHistoryService;
+import cn.com.qmth.stmms.biz.user.model.User;
+import cn.com.qmth.stmms.biz.user.service.UserService;
 
 @Service
 public class RejectHistoryServiceImpl extends BaseQueryService<RejectHistory> implements RejectHistoryService {
@@ -26,6 +29,9 @@ public class RejectHistoryServiceImpl extends BaseQueryService<RejectHistory> im
     @Autowired
     private RejectHistoryDao historyDao;
 
+    @Autowired
+    private UserService userService;
+
     @Override
     public RejectHistorySearchQuery findByQuery(final RejectHistorySearchQuery query) {
         checkQuery(query);
@@ -55,12 +61,18 @@ public class RejectHistoryServiceImpl extends BaseQueryService<RejectHistory> im
                 if (query.getStudentId() != null) {
                     predicates.add(cb.equal(root.get("studentId"), query.getStudentId()));
                 }
-                if (query.getUserId() > 0) {
-                    predicates.add(cb.equal(root.get("userId"), query.getUserId()));
+                if (query.getHeaderId() != null && query.getHeaderId() > 0) {
+                    predicates.add(cb.equal(root.get("userId"), query.getHeaderId()));
+                }
+                if (query.getMarkerId() > 0) {
+                    predicates.add(cb.equal(root.get("markerId"), query.getMarkerId()));
                 }
                 if (query.getGroupNumber() > 0) {
                     predicates.add(cb.equal(root.get("groupNumber"), query.getGroupNumber()));
                 }
+                if (StringUtils.isNotBlank(query.getRejectReason())) {
+                    predicates.add(cb.like(root.get("reason").as(String.class), query.getRejectReason() + "%"));
+                }
                 if (StringUtils.isNotBlank(query.getSubjectCodeIn())) {
                     String[] list = query.getSubjectCodeIn().split(",");
                     if (list.length > 0) {
@@ -83,4 +95,14 @@ public class RejectHistoryServiceImpl extends BaseQueryService<RejectHistory> im
         return list.isEmpty() ? null : list.get(0);
     }
 
+    @Override
+    public List<User> getUserIdByExamIdAndSubjectCode(int examId, String subjectCode) {
+        List<Integer> userIds = historyDao.getUserIdByExamIdAndSubjectCode(examId, subjectCode);
+        List<User> list = new ArrayList<User>();
+        for (Integer id : userIds) {
+            list.add(userService.findById(id));
+        }
+        return list;
+    }
+
 }

+ 5 - 0
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/mark/service/RejectHistoryService.java

@@ -1,7 +1,10 @@
 package cn.com.qmth.stmms.biz.mark.service;
 
+import java.util.List;
+
 import cn.com.qmth.stmms.biz.mark.model.RejectHistory;
 import cn.com.qmth.stmms.biz.mark.query.RejectHistorySearchQuery;
+import cn.com.qmth.stmms.biz.user.model.User;
 
 public interface RejectHistoryService {
 
@@ -9,4 +12,6 @@ public interface RejectHistoryService {
 
     RejectHistory findLastByLibraryId(Integer libraryId);
 
+    List<User> getUserIdByExamIdAndSubjectCode(int examId, String subjectCode);
+
 }

+ 69 - 15
stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/RejectHistoryController.java → stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/RejectController.java

@@ -5,12 +5,17 @@ import java.util.List;
 
 import javax.servlet.http.HttpServletRequest;
 
+import net.sf.json.JSONArray;
+import net.sf.json.JSONObject;
+
 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.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
 
 import cn.com.qmth.stmms.biz.exam.model.MarkGroup;
 import cn.com.qmth.stmms.biz.exam.model.Marker;
@@ -21,7 +26,9 @@ import cn.com.qmth.stmms.biz.exam.service.ExamSubjectService;
 import cn.com.qmth.stmms.biz.exam.service.MarkGroupService;
 import cn.com.qmth.stmms.biz.exam.service.MarkerService;
 import cn.com.qmth.stmms.biz.mark.model.MarkLibrary;
+import cn.com.qmth.stmms.biz.mark.model.RejectHistory;
 import cn.com.qmth.stmms.biz.mark.query.MarkLibrarySearchQuery;
+import cn.com.qmth.stmms.biz.mark.query.RejectHistorySearchQuery;
 import cn.com.qmth.stmms.biz.mark.service.MarkLibraryService;
 import cn.com.qmth.stmms.biz.mark.service.RejectHistoryService;
 import cn.com.qmth.stmms.biz.user.model.User;
@@ -34,9 +41,9 @@ import cn.com.qmth.stmms.common.utils.RequestUtils;
 
 @Controller
 @RequestMapping("/admin/exam/reject")
-public class RejectHistoryController extends BaseExamController {
+public class RejectController extends BaseExamController {
 
-    protected static Logger log = LoggerFactory.getLogger(RejectHistoryController.class);
+    protected static Logger log = LoggerFactory.getLogger(RejectController.class);
 
     @Autowired
     private RejectHistoryService historyService;
@@ -71,15 +78,14 @@ public class RejectHistoryController extends BaseExamController {
         query.addStatus(LibraryStatus.REJECTED);
         query = libraryService.findByQuery(query);
         for (MarkLibrary library : query.getResult()) {
-            if (library.getMarkerId() != null) {
-                Marker marker = markerService.findById(library.getMarkerId());
-                User user = userService.findById(marker.getUserId());
-                library.setMarkerLoginName(user.getLoginName() + "/" + user.getName());
-            }
-            if (library.getHeaderId() != null) {
-                User user = userService.findById(library.getHeaderId());
-                library.setHeaderLoginName(user.getLoginName() + "/" + user.getName());
-            }
+            RejectHistory h = historyService.findLastByLibraryId(library.getId());
+            Marker marker = markerService.findById(h.getMarkerId());
+            User user = userService.findById(marker.getUserId());
+            library.setMarkerLoginName(user.getLoginName() + "/" + user.getName());
+            User header = userService.findById(h.getUserId());
+            library.setHeaderLoginName(header.getLoginName() + "/" + header.getName());
+            library.setMarkerScoreList(h.getScoreList());
+            library.setSubject(subjectService.find(examId, library.getSubjectCode()));
             MarkGroup group = groupService.findOne(examId, library.getSubjectCode(), library.getGroupNumber());
             group.setQuestionList(questionService.findByExamAndSubjectAndObjectiveAndGroupNumber(examId,
                     group.getSubjectCode(), false, group.getNumber()));
@@ -89,6 +95,7 @@ public class RejectHistoryController extends BaseExamController {
         model.addAttribute("query", query);
         model.addAttribute("subjectList", getExamSubject(examId, wu));
         List<Marker> markerList = new ArrayList<Marker>();
+        List<User> headerList = new ArrayList<User>();
         if (query.getSubjectCode() != null) {
             MarkerSearchQuery mQuery = new MarkerSearchQuery();
             mQuery.setExamId(examId);
@@ -98,21 +105,44 @@ public class RejectHistoryController extends BaseExamController {
             for (Marker marker : markerList) {
                 marker.setLoginName(userService.findById(marker.getUserId()).getLoginName());
             }
+            headerList = historyService.getUserIdByExamIdAndSubjectCode(examId, query.getSubjectCode());
+
+            List<MarkGroup> groupList = groupService.findByExamAndSubject(examId, query.getSubjectCode());
+            for (MarkGroup group : groupList) {
+                group.setQuestionList(questionService.findByExamAndSubjectAndObjectiveAndGroupNumber(examId,
+                        group.getSubjectCode(), false, group.getNumber()));
+            }
+            model.addAttribute("groupList", groupList);
         }
+
         model.addAttribute("markerList", markerList);
+        model.addAttribute("headerList", headerList);
         return "modules/exam/rejectList";
     }
 
-    @Logging(menu = "打回任务查询", type = LogType.QUERY)
+    @Logging(menu = "打回记录查询", type = LogType.QUERY)
     @RequestMapping(value = "/history")
-    public String history(Model model, HttpServletRequest request, MarkLibrarySearchQuery query) {
+    public String history(Model model, HttpServletRequest request, RejectHistorySearchQuery query) {
         int examId = getSessionExamId(request);
         WebUser wu = RequestUtils.getWebUser(request);
         query.setExamId(examId);
-        query.addStatus(LibraryStatus.REJECTED);
+        query = historyService.findByQuery(query);
+        for (RejectHistory h : query.getResult()) {
+            Marker marker = markerService.findById(h.getMarkerId());
+            User user = userService.findById(marker.getUserId());
+            h.setMarkerLoginName(user.getLoginName() + "/" + user.getName());
+            User header = userService.findById(h.getUserId());
+            h.setHeaderLoginName(header.getLoginName() + "/" + header.getName());
+            h.setSubject(subjectService.find(examId, h.getSubjectCode()));
+            MarkGroup group = groupService.findOne(examId, h.getSubjectCode(), h.getGroupNumber());
+            group.setQuestionList(questionService.findByExamAndSubjectAndObjectiveAndGroupNumber(examId,
+                    group.getSubjectCode(), false, group.getNumber()));
+            h.setTitle(group.getTitle());
+        }
         model.addAttribute("query", query);
         model.addAttribute("subjectList", getExamSubject(examId, wu));
         List<Marker> markerList = new ArrayList<Marker>();
+        List<User> headerList = new ArrayList<User>();
         if (query.getSubjectCode() != null) {
             MarkerSearchQuery mQuery = new MarkerSearchQuery();
             mQuery.setExamId(examId);
@@ -122,8 +152,32 @@ public class RejectHistoryController extends BaseExamController {
             for (Marker marker : markerList) {
                 marker.setLoginName(userService.findById(marker.getUserId()).getLoginName());
             }
+            headerList = historyService.getUserIdByExamIdAndSubjectCode(examId, query.getSubjectCode());
+            List<MarkGroup> groupList = groupService.findByExamAndSubject(examId, query.getSubjectCode());
+            for (MarkGroup group : groupList) {
+                group.setQuestionList(questionService.findByExamAndSubjectAndObjectiveAndGroupNumber(examId,
+                        group.getSubjectCode(), false, group.getNumber()));
+            }
+            model.addAttribute("groupList", groupList);
         }
         model.addAttribute("markerList", markerList);
-        return "modules/exam/rejectList";
+        model.addAttribute("headerList", headerList);
+        return "modules/exam/rejectHistory";
+    }
+
+    @RequestMapping("/user/query")
+    @ResponseBody
+    public JSONArray query(HttpServletRequest request, @RequestParam String subjectCode) {
+        int examId = getSessionExamId(request);
+        JSONArray array = new JSONArray();
+        List<User> headerList = historyService.getUserIdByExamIdAndSubjectCode(examId, subjectCode);
+        for (User user : headerList) {
+            JSONObject obj = new JSONObject();
+            obj.accumulate("id", user.getId());
+            obj.accumulate("loginName", user.getLoginName());
+            obj.accumulate("name", user.getName());
+            array.add(obj);
+        }
+        return array;
     }
 }

+ 1 - 1
stmms-web/src/main/java/cn/com/qmth/stmms/api/controller/CoreController.java

@@ -205,7 +205,7 @@ public class CoreController extends BaseApiController {
             student.setExamNumber(examNumber);
             student.setPackageCode(validate("packageCode", packageCode, false, 64));
             student.setStudentCode(validate("studentCode", studentCode, true, 64));
-            student.setName(validate("name", name, true, 32));
+            student.setName(validate("name", name, true, 64));
             student.setSubjectCode(validate("subjectCode", subjectCode, true, 32));
             student.setSubjectName(validate("subjectName", subjectName, true, 32));
             student.setCollege(validate("college", college, true, 32));

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

@@ -254,14 +254,6 @@
 	        <p class="title">打回</p>
 	        <p class="image-close"><img src="${ctxStatic}/mark-new/images/images-close.png"/></p></div>
 	        <input id="rejectId" type="hidden"/>
-<!-- 	    	<div class="task-content">打回原因:	<br/>
-	    		<input name="rejectReasonSelect" type="radio"  value="给分较高"/>给分较高<br/>
-            	<input name="rejectReasonSelect" type="radio"  value="给分较低"/>给分较低<br/>
-            	<input name="rejectReasonSelect" type="radio"  value="判分错误"/>判分错误<br/>
-            	<input name="rejectReasonSelect" type="radio"  value="其它"/>其它<br/>
-	    		<textarea id="rejectReasonInput" rows="3" maxlength="60" class="input-large"></textarea>
-	    <i class="wrong">
-	    </i></div> -->
 	    <form class="form-horizontal">
             <div class="control-group">
                 <label class="control-label"><span style="color:red;font-size:16px;margin-right:3px">*</span>打回原因</label>
@@ -403,7 +395,7 @@
         	alert("请选择打回原因");
         	return false;
         }
-        if(rejectReasonInput!="" ||rejectReasonInput!=null){
+        if(rejectReasonInput!="" &&rejectReasonInput!=null){
         	rejectReason =rejectReason+":"+rejectReasonInput;
         }
         $.ajax({

+ 48 - 12
stmms-web/src/main/webapp/WEB-INF/views/modules/exam/rejectHistory.jsp

@@ -49,10 +49,10 @@
             </c:forEach>
         </select>
         <label>打回人</label>
-        <select class="input-medium" id="marker-select" name="markerId">
+        <select class="input-medium" id="rejecter-select" name="headerId">
             <option value="0">不限</option>
-            <c:forEach items="${markerList}" var="item">
-                <option value="${item.id}" <c:if test="${item.id==query.markerId}">selected</c:if>>${item.loginName}</option>
+            <c:forEach items="${headerList}" var="item">
+                <option value="${item.id}" <c:if test="${item.id==query.headerId}">selected</c:if>>${item.loginName}</option>
             </c:forEach>
         </select>
         &nbsp;
@@ -70,15 +70,16 @@
         <th>密号</th>
         <th>打回原因</th>
         <th>评卷员</th>
+        <th>给分明细</th>
         <th>打回人</th>
         <th>打回时间</th>
     </tr>
     </thead>
     <tbody>
-    <c:forEach items="${resultList}" var="result">
+    <c:forEach items="${query.result}" var="result">
         <tr>
-            <td>${result.subjectCode}-${result.subjectName}</td>
-            <td>${result.number}</td>
+            <td>${result.subject.code}-${result.subject.name}</td>
+            <td>${result.groupNumber}-${result.title}</td>
             <td>
             	<c:if test="${web_user.subjectHeader==true && forbiddenInfo==true}">
 	            ***
@@ -88,9 +89,11 @@
 	            </c:if>
             </td>
             <td>${result.secretNumber}</td>
-            <td>${result.markLogin}</td>
-            <td>${result.problemUserName}</td>
-            <td>${result.problemRestTime}</td>
+            <td>${result.reason}</td>
+            <td>${result.markerLoginName}</td>
+            <td>${result.scoreList}</td>
+            <td>${result.headerLoginName}</td>
+            <td>${result.createTime}</td>
         </tr>
     </c:forEach>
     </tbody>
@@ -107,7 +110,7 @@
         $('#subject-select').change(function () {
             var code = $(this).val();
             $('#group-select').empty();
-            $("<option value='0'>请选择</option>").appendTo('#group-select');
+            $("<option value=''>请选择</option>").appendTo('#group-select');
             if (code == '') {
                 $('#group-select').val('').trigger('change');
                 return;
@@ -125,13 +128,46 @@
                 }
                 parent.val(first).trigger('change');
             });
+            
+            $('#marker-select').empty();
+            $('#marker-select').append('<option value="0">不限</option>');
+            $('#marker-select').val('0').trigger('change');
+            var subjectCode = $('#subject-select').val();
+            $.post('${ctx}/admin/exam/marker/query', {subjectCode: subjectCode}, function (result) {
+                var parent = $('#marker-select');
+                var first = '';
+                for (var i = 0; i < result.length; i++) {
+                    var marker = result[i];
+                    $('<option value="' + marker.id + '">' + marker.loginName + '</option>').appendTo(parent);
+                    if (i == 0) {
+                        first = marker.id;
+                    }
+                }
+            });
+            
+            $('#rejecter-select').empty();
+            $('#rejecter-select').append('<option value="0">不限</option>');
+            $('#rejecter-select').val('0').trigger('change');
+            var subjectCode = $('#subject-select').val();
+            $.post('${ctx}/admin/exam/reject/user/query', {subjectCode: subjectCode}, function (result) {
+                var parent = $('#rejecter-select');
+                var first = '';
+                for (var i = 0; i < result.length; i++) {
+                    var marker = result[i];
+                    $('<option value="' + marker.id + '">' + marker.loginName + '</option>').appendTo(parent);
+                    if (i == 0) {
+                        first = marker.id;
+                    }
+                }
+            });
+            
         });
     });
 
     function page(n, s) {
         $("#pageNumber").val(n);
         $("#pageSize").val(s);
-        $("#searchForm").attr('action', '${ctx}/admin/exam/reject/history');
+        $("#searchForm").attr('action', '${ctx}/admin/exam/reject/list');
         $("#searchForm").submit();
         return false;
     }
@@ -139,7 +175,7 @@
     function goSearch() {
         $("#pageNumber").val(1);
         $("#pageSize").val('${query.pageSize}');
-        $("#searchForm").attr('action', '${ctx}/admin/exam/reject/history');
+        $("#searchForm").attr('action', '${ctx}/admin/exam/reject/list');
         $("#searchForm").submit();
         return false;
     }

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

@@ -49,10 +49,10 @@
             </c:forEach>
         </select>
         <label>打回人</label>
-        <select class="input-medium" id="rejecter-select" name="rejecterId">
+        <select class="input-medium" id="rejecter-select" name="headerId">
             <option value="0">不限</option>
-            <c:forEach items="${markerList}" var="item">
-                <option value="${item.id}" <c:if test="${item.id==query.markerId}">selected</c:if>>${item.loginName}</option>
+            <c:forEach items="${headerList}" var="item">
+                <option value="${item.id}" <c:if test="${item.id==query.headerId}">selected</c:if>>${item.loginName}</option>
             </c:forEach>
         </select>
         &nbsp;
@@ -77,9 +77,9 @@
     </tr>
     </thead>
     <tbody>
-    <c:forEach items="${resultList}" var="result">
+    <c:forEach items="${query.result}" var="result">
         <tr>
-            <td>${result.subjectCode}-${result.subjectName}</td>
+            <td>${result.subject.code}-${result.subject.name}</td>
             <td>${result.groupNumber}-${result.title}</td>
             <td>
             	<c:if test="${web_user.subjectHeader==true && forbiddenInfo==true}">
@@ -96,7 +96,7 @@
             <td>${result.headerLoginName}</td>
             <td>${result.headerTime}</td>
             <td>
-               	<a href="${ctx}/web/admin/exam/track/library?libraryId=${result.libraryId}&subjectCode=${result.subjectCode}" target="_blank">试卷详情</a>
+               	<a href="${ctx}/web/admin/exam/track/library?libraryId=${result.id}&subjectCode=${result.subjectCode}" target="_blank">试卷详情</a>
             </td>
         </tr>
     </c:forEach>
@@ -114,7 +114,7 @@
         $('#subject-select').change(function () {
             var code = $(this).val();
             $('#group-select').empty();
-            $("<option value='0'>请选择</option>").appendTo('#group-select');
+            $("<option value=''>请选择</option>").appendTo('#group-select');
             if (code == '') {
                 $('#group-select').val('').trigger('change');
                 return;
@@ -148,6 +148,23 @@
                     }
                 }
             });
+            
+            $('#rejecter-select').empty();
+            $('#rejecter-select').append('<option value="0">不限</option>');
+            $('#rejecter-select').val('0').trigger('change');
+            var subjectCode = $('#subject-select').val();
+            $.post('${ctx}/admin/exam/reject/user/query', {subjectCode: subjectCode}, function (result) {
+                var parent = $('#rejecter-select');
+                var first = '';
+                for (var i = 0; i < result.length; i++) {
+                    var marker = result[i];
+                    $('<option value="' + marker.id + '">' + marker.loginName + '</option>').appendTo(parent);
+                    if (i == 0) {
+                        first = marker.id;
+                    }
+                }
+            });
+            
         });
     });