소스 검색

Merge branch 'master' into dev0619_luoshi

luoshi 7 년 전
부모
커밋
1fac202d84

+ 11 - 0
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/exam/model/ExamStudent.java

@@ -261,6 +261,9 @@ public class ExamStudent implements Serializable {
     @Transient
     private String markName;
 
+    @Transient
+    private String tagValue;
+
     public Integer getId() {
         return id;
     }
@@ -668,4 +671,12 @@ public class ExamStudent implements Serializable {
 	public void setMarkName(String markName) {
 		this.markName = markName;
 	}
+
+    public String getTagValue() {
+        return tagValue;
+    }
+
+    public void setTagValue(String tagValue) {
+        this.tagValue = tagValue;
+    }
 }

+ 14 - 7
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/utils/CurrentTaskUtil.java

@@ -32,7 +32,7 @@ public class CurrentTaskUtil {
      */
     public static boolean add(Marker marker, int libraryId) {
         String key = getKey(marker.getExamId(), marker.getSubjectCode());
-        TaskEntry obj = new TaskEntry(marker.getId(), libraryId,System.currentTimeMillis());
+        TaskEntry obj = new TaskEntry(marker.getId(), libraryId);
 
         synchronized (CurrentTaskUtil.class) {
             if (taskMap.containsEntry(key, obj)) {
@@ -51,9 +51,17 @@ public class CurrentTaskUtil {
      * @param libraryId
      */
     public static void remove(Marker marker, int libraryId) {
-        TaskEntry obj = new TaskEntry(marker.getId(), libraryId,System.currentTimeMillis());
+        //TaskEntry obj = new TaskEntry(marker.getId(), libraryId);
         synchronized (CurrentTaskUtil.class) {
-            taskMap.remove(getKey(marker.getExamId(), marker.getSubjectCode()), obj);
+          //taskMap.remove(getKey(marker.getExamId(), marker.getSubjectCode()), obj);
+          Set<TaskEntry> set = taskMap.get(getKey(marker.getExamId(), marker.getSubjectCode()));
+          if (set != null) {
+            for (TaskEntry taskEntry : set) {
+              if (taskEntry.markerId == marker.getId() && taskEntry.libraryId==libraryId) {
+                taskMap.remove(getKey(marker.getExamId(), marker.getSubjectCode()),taskEntry);
+              }
+            }
+          }
         }
     }
 
@@ -103,8 +111,7 @@ public class CurrentTaskUtil {
     /**
      * 清除某个评卷员已领取未给分的任务
      * 
-     * @param examId
-     * @param subjectCode
+     * @param marker
      */
     public static void clear(Marker marker) {
         String key = getKey(marker.getExamId(), marker.getSubjectCode());
@@ -176,10 +183,10 @@ class TaskEntry {
     
     public long timestamp;
 
-    public TaskEntry(int markerId, int libraryId,long timestamp) {
+    public TaskEntry(int markerId, int libraryId) {
         this.markerId = markerId;
         this.libraryId = libraryId;
-        this.timestamp = timestamp;
+        this.timestamp = System.currentTimeMillis();
     }
 
     @Override

+ 15 - 8
stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/ScoreController.java

@@ -112,7 +112,7 @@ public class ScoreController extends BaseParameterController {
             }
             query.setExamId(examId);
             query.setUpload(true);
-            query.setAbsent(false);
+            // query.setAbsent(false);
             query.orderByExamNumber();
             if (filter == 1) {
                 query.setObjectiveScore(0d);
@@ -138,6 +138,10 @@ public class ScoreController extends BaseParameterController {
                     student.setMarkLogin(marker.getLoginName());
                     student.setMarkName(marker.getName());
                 }
+                MarkLibrary markLibrary = markLibraryService.findByStudentId(student.getId());
+                if (markLibrary != null) {
+                    student.setTagValue(markLibrary.getTags());
+                }
             }
             view.addObject("query", query);
             view.addObject("filter", filter);
@@ -237,7 +241,7 @@ public class ScoreController extends BaseParameterController {
         if (examId > 0) {
             query.setExamId(examId);
             query.setUpload(true);
-            query.setAbsent(false);
+            // query.setAbsent(false);
             query.setPageNumber(1);
             query.setPageSize(Integer.MAX_VALUE);
             String ids = getStudentIdsByMarkLoginAndMarkName(query.getMarkLogin(), query.getMarkName());
@@ -349,12 +353,15 @@ public class ScoreController extends BaseParameterController {
 
     private boolean isMarked(ExamStudent student) {
         MarkLibrary markLibrary = markLibraryService.findByStudentId(student.getId());
-        if (StringUtils.isNotEmpty(markLibrary.getMarkerScoreList())
-                && markLibrary.getStatus().equals(LibraryStatus.MARKED)) {
-            return true;
-        } else {
-            return false;
+        if (markLibrary != null) {
+            if (StringUtils.isNotEmpty(markLibrary.getMarkerScoreList())
+                    && markLibrary.getStatus().equals(LibraryStatus.MARKED)) {
+                return true;
+            } else {
+                return false;
+            }
         }
+        return false;
     }
 
     @RequestMapping("/exportScore")
@@ -373,7 +380,7 @@ public class ScoreController extends BaseParameterController {
             }
             query.setExamId(examId);
             query.setUpload(true);
-            query.setAbsent(false);
+            // query.setAbsent(false);
             query.setPageNumber(1);
             query.setPageSize(Integer.MAX_VALUE);
             query = studentService.findByQuery(query);

+ 34 - 4
stmms-web/src/main/webapp/WEB-INF/views/modules/exam/scoreList.jsp

@@ -12,7 +12,7 @@
 		<input type="hidden" id="pageNumber" name="pageNumber" value="${query.pageNumber }"/>
 		<input type="hidden" id="pageSize" name="pageSize" value="${query.pageSize }"/>
 		<div>
-			<label>姓名</label>
+			<label>姓&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;名</label>
 			<input type="text" name="name" value="${query.name}"  maxlength="10" class="input-mini"/>
 			<label>准考证号</label>
 			<input type="text" name="examNumber" value="${query.examNumber}" maxlength="50" class="input-small"/>
@@ -35,21 +35,28 @@
 				</c:if>
 			</select>
 			<label>评卷账号</label>
-			<input type="text" name="markLogin" value="${query.markLogin}"  maxlength="20" class="input-mini"/>
+			<input type="text" name="markLogin" value="${query.markLogin}"  maxlength="20" class="input-medium"/>
+			<br/><br/>
 			<label>评卷姓名</label>
 			<input type="text" name="markName" value="${query.markName}"  maxlength="20" class="input-mini"/>
-			<br/><br/>
 			<label>筛选</label>
 			<select class="input-medium" name="filter">
 				<option value="0">无</option>
 				<option value="1" <c:if test="${filter==1}">selected</c:if>>客观0分,主观有分</option>
 				<option value="2" <c:if test="${filter==2}">selected</c:if>>客观有分,主观0分</option>
 			</select>
+
+			<label>是否缺考</label>
+			<select id="absent" name="absent" class="input-small">
+				<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>
+
 			<label>总分:从</label>
 			<input  type="text" number="true" name="startScroe"value="${query.startScroe}" class="input-mini"/>
 			<label> 到&nbsp;&nbsp;&nbsp;</label>
 			<input type="text"  number="true" name="endScroe" value="${query.endScroe}"  class="input-mini"/>
-			 
 			<br/><br/>
 			<input id="btnSubmit" class="btn btn-primary" type="button" value="查询" onclick="goSearch()"/>
 			&nbsp;
@@ -87,6 +94,8 @@
 				<th>客观总分</th>
 				<th>主观总分</th>
 				<th>试卷总分</th>
+				<th>是否缺考</th>
+				<th>标记卷类型</th>
 				<th>阅卷账号</th>
 				<th>阅卷姓名</th>
 				<th>查看图片</th>
@@ -106,6 +115,27 @@
 				<td>${student.objectiveScoreString}</td>
 				<td>${student.subjectiveScoreString}</td>
 				<td>${student.totalScoreString}</td>
+				<td>
+					<c:if test="${student.absent == true}">
+						缺考
+					</c:if>
+				</td>
+				<td>
+					<c:choose>
+						<c:when test="${student.tagValue == 1}">
+							试卷雷同
+						</c:when>
+						<c:when test="${student.tagValue == 2}">
+							科目错误
+						</c:when>
+						<c:when test="${student.tagValue == 3}">
+							贴错条码
+						</c:when>
+						<c:when test="${student.tagValue == 4}">
+							违纪
+						</c:when>
+					</c:choose>
+				</td>
 				<td>${student.markLogin}</td>
 				<td>${student.markName}</td>
 				<td>