yin 10 ヶ月 前
コミット
964e42f31b

+ 17 - 10
stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/TrialController.java

@@ -7,6 +7,7 @@ import java.util.List;
 import javax.servlet.http.HttpServletRequest;
 
 import cn.com.qmth.stmms.biz.config.service.impl.SystemCache;
+import cn.com.qmth.stmms.biz.exam.query.MarkerSearchQuery;
 import cn.com.qmth.stmms.common.enums.*;
 import net.sf.json.JSONArray;
 import net.sf.json.JSONObject;
@@ -219,9 +220,9 @@ public class TrialController extends BaseExamController {
         }
         return obj;
     }
-    @Logging(menu = "试评管理查询", type = LogType.QUERY)
-    @RequestMapping
-    public String list(Model model, HttpServletRequest request, TrialLibrarySearchQuery query) {
+    @Logging(menu = "试评分析查询", type = LogType.QUERY)
+    @RequestMapping(value = "/marker")
+    public String marker(Model model, HttpServletRequest request, MarkerSearchQuery query) {
         int examId = getSessionExamId(request);
         WebUser wu = RequestUtils.getWebUser(request);
         List<ExamSubject> subjectList = getExamSubject(examId, wu);
@@ -235,18 +236,24 @@ public class TrialController extends BaseExamController {
         List<MarkGroup> groupList = groupService.findByExamAndSubjectAndStatus(examId, query.getSubjectCode(),
                 MarkStatus.TRIAL);
         if (!groupList.isEmpty()) {
-            query = trialService.findLibrary(query);
-            for (TrialLibrary library : query.getResult()) {
-                if (library.getMarkerId() != null) {
-                    Marker marker = markerService.findById(library.getMarkerId());
-                    library.setMarkerLoginName(userService.findById(marker.getUserId()).getLoginName());
-                }
-            }
             for (MarkGroup group : groupList) {
                 group.setQuestionList(questionService.findByExamAndSubjectAndObjectiveAndGroupNumber(examId,
                         group.getSubjectCode(), false, group.getNumber()));
             }
         }
+        List<Marker> markerList = new ArrayList<Marker>();
+        if (query.getGroupNumber() != null) {
+            MarkerSearchQuery mQuery = new MarkerSearchQuery();
+            mQuery.setExamId(examId);
+            mQuery.setSubjectCode(query.getSubjectCode());
+            mQuery.setGroupNumber(query.getGroupNumber());
+            mQuery.setPageSize(Integer.MAX_VALUE);
+            markerList = markerService.findByQuery(mQuery).getResult();
+            for (Marker marker : markerList) {
+                marker.setLoginName(userService.findById(marker.getUserId()).getLoginName());
+            }
+        }
+        model.addAttribute("markerList", markerList);
         model.addAttribute("query", query);
         model.addAttribute("subjectList", getExamSubject(examId, wu));
         model.addAttribute("groupList", groupList);

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

@@ -62,6 +62,9 @@
                class="input-medium"/>
         &nbsp;
         <input id="btnSubmit" class="btn btn-primary" type="button" value="查询" onclick="goSearch()"/>
+        <c:if test="${trialMode=='EXCLUSIVE'}">
+            <a href="${ctx}/admin/exam/trial/marker?subjectCode=${subject.code}" class="btn">试评分析</a>
+        </c:if>
     </div>
 </form>
 <tags:message content="${message}"/>

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

@@ -0,0 +1,201 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/WEB-INF/views/include/taglib.jsp" %>
+<html>
+<head>
+    <title>试评任务</title>
+    <meta name="decorator" content="default"/>
+    <%@include file="/WEB-INF/views/include/head.jsp" %>
+    <style type="text/css">.sort {
+        color: #0663A2;
+        cursor: pointer;
+    }</style>
+</head>
+<body>
+<ul class="nav nav-tabs">
+    <c:if test="${fnx:hasPrivilegeCode(role_privilege_codes, 'exam_mark-mark')}">
+        <li><a href="${ctx}/admin/exam/mark?subjectCode=${subject.code}">评卷进度</a></li>
+    </c:if>
+    <c:if test="${fnx:hasPrivilegeCode(role_privilege_codes, 'exam_mark-group')}">
+        <li><a href="${ctx}/admin/exam/group?subjectCode=${query.subjectCode}">分组管理</a></li>
+    </c:if>
+    <c:if test="${fnx:hasPrivilegeCode(role_privilege_codes, 'exam_mark-marker')}">
+        <li><a href="${ctx}/admin/exam/marker?subjectCode=${query.subjectCode}">评卷员管理</a></li>
+    </c:if>
+    <li class="active"><a href="##">试评管理</a></li>
+    <c:if test="${fnx:hasPrivilegeCode(role_privilege_codes, 'exam_mark-library')}">
+        <li><a href="${ctx}/admin/exam/library?subjectCode=${query.subjectCode}">任务管理</a></li>
+    </c:if>
+    <c:if test="${fnx:hasPrivilegeCode(role_privilege_codes, 'exam_mark-arbitrate')}">
+        <li><a href="${ctx}/admin/exam/arbitrate?subjectCode=${query.subjectCode}">仲裁管理</a></li>
+    </c:if>
+    <c:if test="${fnx:hasPrivilegeCode(role_privilege_codes, 'exam_mark-quality')}">
+        <li><a href="${ctx}/admin/exam/quality?subjectCode=${query.subjectCode}">质量监控</a></li>
+    </c:if>
+</ul>
+<form id="searchForm" action="${ctx}/admin/exam/trial/marker" method="post" class="breadcrumb form-search">
+    <input type="hidden" id="pageNumber" name="pageNumber" value="${query.pageNumber }"/>
+    <input type="hidden" id="pageSize" name="pageSize" value="${query.pageSize }"/>
+    <div>
+        <label>科目</label>
+        <select class="input-large" id="subject-select" name="subjectCode">
+            <c:forEach items="${subjectList}" var="item">
+                <option value="${item.code}"
+                        <c:if test="${item.code==query.subjectCode}">selected</c:if>>${item.code}-${item.name}</option>
+            </c:forEach>
+        </select>
+        <label>分组</label>
+        <select class="input-medium" id="group-select" name="groupNumber">
+            <option value="" <c:if test="${query.groupNumber==null}">selected</c:if>>不限</option>
+            <c:forEach items="${groupList}" var="item">
+                <option value="${item.number}"
+                        <c:if test="${item.number==query.groupNumber}">selected</c:if>>${item.number}-${item.title}</option>
+            </c:forEach>
+        </select>
+        <label>评卷员</label>
+        <select class="input-medium" id="marker-select" name="markerId">
+            <option value="0">不限</option>
+            <c:forEach items="${markerList}" var="item">
+                <option value="${item.id}"
+                        <c:if test="${item.id==query.id}">selected</c:if>>${item.loginName}</option>
+            </c:forEach>
+        </select>
+        <input id="btnSubmit" class="btn btn-primary" type="button" value="查询" onclick="goSearch()"/>
+
+    </div>
+</form>
+<tags:message content="${message}"/>
+<table id="contentTable" class="table table-striped table-bordered table-condensed">
+    <thead>
+    <tr>
+        <th>科目代码</th>
+        <th>分组序号</th>
+        <th>准考证号</th>
+        <th>密号</th>
+        <th>评卷员</th>
+        <th>评卷总分</th>
+        <th>给分明细</th>
+        <th>评卷时间</th>
+        <th>操作</th>
+    </tr>
+    </thead>
+    <tbody>
+    <c:forEach items="${query.result}" var="result">
+        <tr>
+            <td>${result.subjectCode}</td>
+            <td>${result.groupNumber}</td>
+            <td>
+                <c:if test="${web_user.subjectHeader==true && forbiddenInfo==true}">
+                    ***
+                </c:if>
+                <c:if test="${web_user.schoolAdmin==true || forbiddenInfo==false}">
+                    ${result.examNumber}
+                </c:if>
+            </td>
+            <td>${result.secretNumber}</td>
+            <td>${result.markerLoginName}</td>
+            <td>
+                <c:if test="${result.markerScore!=null}">
+                    <c:if test="${result.markerScore==-1}">未选做</c:if>
+                    <c:if test="${result.markerScore!=-1}"><fmt:formatNumber pattern="###.###"
+                                                                             value="${result.markerScore}"/></c:if>
+                </c:if>
+                <c:if test="${result.markerScore==null}">
+                    &nbsp;
+                </c:if>
+            </td>
+            <td>
+                <c:if test="${result.markerScoreList!=null}">
+                    ${result.markerScoreList}
+                </c:if>
+                <c:if test="${result.markerScoreList==null}">
+                    &nbsp;
+                </c:if>
+            </td>
+            <td>
+                <c:if test="${result.markerTime!=null}">
+                    <fmt:formatDate value="${result.markerTime}" pattern="yyyy-MM-dd HH:mm:ss"/>
+                </c:if>
+                <c:if test="${result.markerTime==null}">
+                    &nbsp;
+                </c:if>
+            </td>
+            <td>
+                    <%--  <c:if test="${result.markerTime!=null}">
+                         <a href="##" class="reset-link" data-id="${result.id}">重置</a>
+                     </c:if>
+                             &nbsp; --%>
+                <a href="${ctx}/web/admin/exam/track/trialLibrary?libraryId=${result.id}&subjectCode=${result.subjectCode}"
+                   target="_blank">查看</a>
+            </td>
+        </tr>
+    </c:forEach>
+    </tbody>
+</table>
+<div class="pagination">${query}</div>
+<script type="text/javascript">
+    $('#subject-select').change(function () {
+        var code = $(this).val();
+        $('#group-select').empty();
+        if (code == '') {
+            $('#group-select').val('').trigger('change');
+            return;
+        }
+        $.post('${ctx}/admin/exam/group/query', {subjectCode: code, status: 'TRIAL'}, function (result) {
+            debugger;
+            var parent = $('#group-select');
+            var first = '';
+            $('<option value="">不限</option>').appendTo(parent);
+            for (var i = 0; i < result.length; i++) {
+                var group = result[i];
+                $('<option value="' + group.number + '">' + group.number + '-' + group.title + '</option>').appendTo(parent);
+                /*  if (i == 0) {
+                     first = group.number;
+                 } */
+            }
+            parent.val(first).trigger('change');
+        });
+    });
+    $('#group-select').change(function () {
+        var subjectCode = $('#subject-select').val();
+        var groupNumber = $('#group-select').val();
+        $('#marker-select').empty();
+        $('#marker-select').append('<option value="0">不限</option>');
+        $('#marker-select').val('0').trigger('change');
+        if (subjectCode == '') {
+            return;
+        }
+        if (groupNumber == '') {
+            return;
+        }
+        $.post('${ctx}/admin/exam/marker/query', {
+            subjectCode: subjectCode,
+            groupNumber: groupNumber
+        }, 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;
+                }
+            }
+            //parent.val(first).trigger('change');
+        });
+    });
+
+    function page(n, s) {
+        $("#pageNumber").val(n);
+        $("#pageSize").val(s);
+        $("#searchForm").submit();
+        return false;
+    }
+
+    function goSearch() {
+        $("#pageNumber").val(1);
+        $("#searchForm").submit();
+        return false;
+    }
+</script>
+</body>
+</html>