ting.yin 4 years ago
parent
commit
1f1082ef7a

+ 13 - 5
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/exam/service/impl/ExamServiceImpl.java

@@ -11,8 +11,10 @@ import cn.com.qmth.stmms.biz.mark.service.ProblemTypeService;
 import cn.com.qmth.stmms.common.enums.ExamStatus;
 import cn.com.qmth.stmms.common.enums.ExamType;
 import cn.com.qmth.stmms.common.enums.ObjectiveStatus;
+
 import org.apache.commons.lang.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.data.domain.Page;
 import org.springframework.data.jpa.domain.Specification;
 import org.springframework.stereotype.Service;
@@ -22,6 +24,7 @@ import javax.persistence.criteria.CriteriaBuilder;
 import javax.persistence.criteria.CriteriaQuery;
 import javax.persistence.criteria.Predicate;
 import javax.persistence.criteria.Root;
+
 import java.util.Date;
 import java.util.LinkedList;
 import java.util.List;
@@ -35,6 +38,12 @@ public class ExamServiceImpl extends BaseQueryService<Exam> implements ExamServi
     @Autowired
     private ProblemTypeService problemService;
 
+    @Value("${exam.problem.type1}")
+    private String problemType1;
+
+    @Value("${exam.problem.type2}")
+    private String problemType2;
+
     @Override
     @Transactional
     // @CachePut(value = "exam_cache", key = "#exam.id", condition =
@@ -47,8 +56,8 @@ public class ExamServiceImpl extends BaseQueryService<Exam> implements ExamServi
         } else {
             exam.setCreateTime(new Date());
             examDao.save(exam);
-            ProblemType p1 = new ProblemType(exam.getId(), "空白卷", false);
-            ProblemType p2 = new ProblemType(exam.getId(), "雷同卷", false);
+            ProblemType p1 = new ProblemType(exam.getId(), problemType1, false);
+            ProblemType p2 = new ProblemType(exam.getId(), problemType2, false);
             problemService.save(p1);
             problemService.save(p2);
         }
@@ -102,9 +111,8 @@ public class ExamServiceImpl extends BaseQueryService<Exam> implements ExamServi
                     predicates.add(cb.equal(root.get("code"), query.getCode()));
                 }
 
-                return predicates.isEmpty() ?
-                        cb.conjunction() :
-                        cb.and(predicates.toArray(new Predicate[predicates.size()]));
+                return predicates.isEmpty() ? cb.conjunction() : cb.and(predicates.toArray(new Predicate[predicates
+                        .size()]));
             }
         }, query);
         fillResult(result, query);

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

@@ -238,7 +238,7 @@ public class ExamController extends BaseExamController {
         return fileService.getSheetUris(student.getExamId(), student.getExamNumber(), 1, student.getSheetCount());
     }
 
-    @RoleRequire({ Role.SCHOOL_ADMIN, Role.SUBJECT_HEADER })
+    @RoleRequire({ Role.SCHOOL_ADMIN, Role.SUBJECT_HEADER, Role.SCHOOL_VIEWER })
     @RequestMapping(value = "/select")
     public String select(Model model, HttpServletRequest request) {
         WebUser wu = RequestUtils.getWebUser(request);
@@ -254,11 +254,11 @@ public class ExamController extends BaseExamController {
         return "modules/exam/examSelect";
     }
 
-    @RoleRequire({ Role.SCHOOL_ADMIN, Role.SUBJECT_HEADER })
+    @RoleRequire({ Role.SCHOOL_ADMIN, Role.SUBJECT_HEADER, Role.SCHOOL_VIEWER })
     @RequestMapping(value = "/select", method = RequestMethod.POST)
     public String selectExam(HttpServletRequest request, @RequestParam Integer examId) {
         Exam exam = examService.findById(examId);
-        SessionExamUtils.setExamId(request, examId, exam.getName(), exam.isForbiddenInfo());
+        SessionExamUtils.setExamId(request, exam);
         return "redirect:/admin/home";
     }
 }

+ 2 - 1
stmms-web/src/main/java/cn/com/qmth/stmms/admin/school/SchoolController.java

@@ -188,12 +188,13 @@ public class SchoolController extends BaseController {
             user.setEnable(true);
             user.setRole(Role.SCHOOL_VIEWER);
             user.setPassword(EncryptUtils.md5(user.getPassword()));
+            user.setSource(UserSource.INTERNAL);
             userService.save(user);
             return new ModelAndView("redirect:/admin/sys/school");
         } else {
             message = "登录名重复";
         }
-        return adminInit(request, user.getSchoolId(), message);
+        return viewerInit(request, user.getSchoolId(), message);
     }
 
 }

+ 7 - 6
stmms-web/src/main/java/cn/com/qmth/stmms/admin/utils/SessionExamUtils.java

@@ -1,10 +1,11 @@
 package cn.com.qmth.stmms.admin.utils;
 
+import javax.servlet.http.HttpServletRequest;
+
+import cn.com.qmth.stmms.biz.exam.model.Exam;
 import cn.com.qmth.stmms.common.session.model.StmmsSession;
 import cn.com.qmth.stmms.common.utils.RequestUtils;
 
-import javax.servlet.http.HttpServletRequest;
-
 public class SessionExamUtils {
 
     public static final String EXAM_ID_KEY = "examId";
@@ -40,10 +41,10 @@ public class SessionExamUtils {
         request.removeAttribute(FORBIDDEN_INFO_KEY);
     }
 
-    public static void setExamId(HttpServletRequest request, int examId, String name, boolean forbiddenInfo) {
+    public static void setExamId(HttpServletRequest request, Exam exam) {
         StmmsSession session = RequestUtils.getSession(request);
-        session.setParameter(EXAM_ID_KEY, String.valueOf(examId));
-        session.setParameter(EXAM_NAME_KEY, name);
-        session.setParameter(FORBIDDEN_INFO_KEY, String.valueOf(forbiddenInfo));
+        session.setParameter(EXAM_ID_KEY, String.valueOf(exam.getId()));
+        session.setParameter(EXAM_NAME_KEY, exam.getName());
+        session.setParameter(FORBIDDEN_INFO_KEY, String.valueOf(exam.isForbiddenInfo()));
     }
 }

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

@@ -180,7 +180,7 @@ public class MarkController extends BaseController {
         StmmsSession session = RequestUtils.getSession(request);
         session.saveWebUser(user);
         sessionService.put(request, response, session);
-        SessionExamUtils.setExamId(request, exam.getId(), exam.getName(), exam.isForbiddenInfo());
+        SessionExamUtils.setExamId(request, exam);
         return new ModelAndView("redirect:/mark/index");
     }
 

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

@@ -139,8 +139,6 @@
         &nbsp;
         <input id="btnSubmit" class="btn btn-primary" type="button" value="查询" onclick="goSearch()"/>
         <c:if test="${web_user.schoolAdmin==true}">
-            &nbsp;
-            <a href="${ctx}/admin/exam/marker/add" class="btn btn-success">新增</a>
             &nbsp;<input id="btnImport" class="btn" type="button" value="导入"/>
             &nbsp;<a href="###" class="btn" id="save-button"">绑定评卷员</a>
         </c:if>

+ 4 - 0
stmms-web/src/main/webapp/WEB-INF/views/modules/sys/schoolAdminEdit.jsp

@@ -37,6 +37,10 @@
 	</script>
 </head>
 <body>
+	<ul class="nav nav-tabs">
+		<li><a href="${ctx}/admin/sys/school">学校管理</a></li>
+		<li class="active"><a href="#">编辑管理员</a></li>
+	</ul><br/>
 	<form:form id="inputForm" modelAttribute="user" action="${ctx}/admin/sys/school/admin/save" method="post" class="form-horizontal">
 		<form:hidden path="id"/>
 		<form:hidden path="schoolId"/>

+ 4 - 0
stmms-web/src/main/webapp/WEB-INF/views/modules/sys/schoolViewerEdit.jsp

@@ -37,6 +37,10 @@
 	</script>
 </head>
 <body>
+	<ul class="nav nav-tabs">
+		<li><a href="${ctx}/admin/sys/school">学校管理</a></li>
+		<li class="active"><a href="#">编辑查询员</a></li>
+	</ul><br/>
 	<form:form id="inputForm" modelAttribute="user" action="${ctx}/admin/sys/school/viewer/save" method="post" class="form-horizontal">
 		<form:hidden path="id"/>
 		<form:hidden path="schoolId"/>