Browse Source

修复保存阅卷轨迹;新增和修改大题增加错误返回;
修改大题返回按键修复;仲裁页面原图和缩略图显示修复;
普通模式提交试卷后焦点返回第一题;轨迹模式切小题修复;
绑定班级无班级时和跳转页面修复;
更改数据库数据源配置;

ting.yin 6 years ago
parent
commit
c54804d56a

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

@@ -42,13 +42,15 @@ public class MarkerClassServiceImpl extends BaseQueryService<MarkerClass> implem
     @Override
     @Override
     public void save(Marker marker, String[] classes) {
     public void save(Marker marker, String[] classes) {
         this.deleteByMarkerId(marker.getId());
         this.deleteByMarkerId(marker.getId());
-        for (String className : classes) {
-            MarkerClass m = new MarkerClass();
-            m.setClassName(className);
-            m.setMarkerId(marker.getId());
-            markerClassDao.save(m);
+        if (classes != null) {
+            for (String className : classes) {
+                MarkerClass m = new MarkerClass();
+                m.setClassName(className);
+                m.setMarkerId(marker.getId());
+                markerClassDao.save(m);
+            }
         }
         }
-        marker.setClassCount((int)countByMarkerId(marker.getId()));
+        marker.setClassCount((int) countByMarkerId(marker.getId()));
         markerService.save(marker);
         markerService.save(marker);
     }
     }
 
 
@@ -60,7 +62,7 @@ public class MarkerClassServiceImpl extends BaseQueryService<MarkerClass> implem
     @Override
     @Override
     public List<String> findClassNameByMarkerId(int markerId) {
     public List<String> findClassNameByMarkerId(int markerId) {
         List<String> list = new ArrayList<String>();
         List<String> list = new ArrayList<String>();
-        List<MarkerClass> classes =this.findByMarkerId(markerId);
+        List<MarkerClass> classes = this.findByMarkerId(markerId);
         for (MarkerClass markerClass : classes) {
         for (MarkerClass markerClass : classes) {
             list.add(markerClass.getClassName());
             list.add(markerClass.getClassName());
         }
         }

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

@@ -34,6 +34,7 @@ import cn.com.qmth.stmms.biz.mark.dao.TrialTrackDao;
 import cn.com.qmth.stmms.biz.mark.model.ArbitrateHistory;
 import cn.com.qmth.stmms.biz.mark.model.ArbitrateHistory;
 import cn.com.qmth.stmms.biz.mark.model.MarkLibrary;
 import cn.com.qmth.stmms.biz.mark.model.MarkLibrary;
 import cn.com.qmth.stmms.biz.mark.model.MarkResult;
 import cn.com.qmth.stmms.biz.mark.model.MarkResult;
+import cn.com.qmth.stmms.biz.mark.model.MarkTrack;
 import cn.com.qmth.stmms.biz.mark.model.TrialHistory;
 import cn.com.qmth.stmms.biz.mark.model.TrialHistory;
 import cn.com.qmth.stmms.biz.mark.model.TrialLibrary;
 import cn.com.qmth.stmms.biz.mark.model.TrialLibrary;
 import cn.com.qmth.stmms.biz.mark.service.MarkService;
 import cn.com.qmth.stmms.biz.mark.service.MarkService;
@@ -486,7 +487,9 @@ public class MarkServiceImpl implements MarkService {
         // 保存阅卷轨迹
         // 保存阅卷轨迹
         if (result.getTrackList() != null) {
         if (result.getTrackList() != null) {
             trackDao.deleteByLibraryId(library.getId());
             trackDao.deleteByLibraryId(library.getId());
-            trackDao.save(result.getTrackList(library, marker));
+            for(MarkTrack t :result.getTrackList(library, marker)){
+                trackDao.saveAndFlush(t);
+            }
         }
         }
         // 保存特殊标记
         // 保存特殊标记
         if (result.getTagList() != null) {
         if (result.getTagList() != null) {

+ 11 - 6
stmms-biz/src/main/resources/service-context.xml

@@ -26,13 +26,18 @@ http://www.springframework.org/schema/task/spring-task.xsd
 	<!-- dbcp数据源 -->
 	<!-- dbcp数据源 -->
 	<bean name="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
 	<bean name="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
 		destroy-method="close">
 		destroy-method="close">
-		<property name="driverClassName" value="${driverClassName}"></property>
-		<property name="url" value="${url}"></property>
-		<property name="username" value="${username}"></property>
-		<property name="password" value="${password}"></property>
+		<property name="driverClassName" value="${driverClassName}" />
+		<property name="url" value="${url}" />
+		<property name="username" value="${username}" />
+		<property name="password" value="${password}" />
+		<property name="maxActive" value="50" />  
+        <property name="initialSize" value="5" />  
+        <property name="maxWait" value="60000" />  
+        <property name="maxIdle" value="5" />  
+        <property name="minIdle" value="5" />
 		<property name="minEvictableIdleTimeMillis" value="1800000" />
 		<property name="minEvictableIdleTimeMillis" value="1800000" />
-		<property name="numTestsPerEvictionRun" value="3" />
-		<property name="testOnBorrow" value="true" />
+		<property name="testWhileIdle" value="true" />
+		<property name="testOnBorrow" value="false" />
 		<property name="validationQuery" value="SELECT 1" />
 		<property name="validationQuery" value="SELECT 1" />
 	</bean>
 	</bean>
 
 

+ 126 - 106
stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/MarkGroupController.java

@@ -289,7 +289,8 @@ public class MarkGroupController extends BaseExamController {
             List<MarkGroup> questionList = new ArrayList<MarkGroup>();
             List<MarkGroup> questionList = new ArrayList<MarkGroup>();
             String[] mainNumbers = group.getMainNumber().split(",");
             String[] mainNumbers = group.getMainNumber().split(",");
             for (String mainNumber : mainNumbers) {
             for (String mainNumber : mainNumbers) {
-                List<ExamQuestion> list = questionService.findByExamAndSubjectAndObjectiveAndMainNumber(examId, subjectCode, false, Integer.parseInt(mainNumber));
+                List<ExamQuestion> list = questionService.findByExamAndSubjectAndObjectiveAndMainNumber(examId,
+                        subjectCode, false, Integer.parseInt(mainNumber));
                 StringBuilder score = new StringBuilder();
                 StringBuilder score = new StringBuilder();
                 DecimalFormat format = new DecimalFormat("###.#");
                 DecimalFormat format = new DecimalFormat("###.#");
                 String title = "";
                 String title = "";
@@ -358,86 +359,98 @@ public class MarkGroupController extends BaseExamController {
         int examId = getSessionExamId(request);
         int examId = getSessionExamId(request);
         MarkGroup group = groupService.findOne(examId, subjectCode, number);
         MarkGroup group = groupService.findOne(examId, subjectCode, number);
         if (group != null) {
         if (group != null) {
-            if (questionDetail != null && reset.booleanValue()) {
-                // advance update
-                questionDetail = StringEscapeUtils.unescapeHtml(questionDetail);
-                JSONArray array = JSONArray.fromObject(questionDetail);
-                List<ExamQuestionDTO> detailList = JSONArray.toList(array, new ExamQuestionDTO(), new JsonConfig());
-                List<ExamQuestion> all = questionService.findByExamAndSubjectAndObjective(examId, subjectCode,false);
-                List<ExamQuestion> old = questionService.findByExamAndSubjectAndObjectiveAndGroupNumber(examId, subjectCode,false,number);
-                Set<Integer> mainNumbers = new HashSet<Integer>();
-                for (ExamQuestion examQuestion : all) {
-                    mainNumbers.add(examQuestion.getMainNumber());
-                }
-                for (ExamQuestion examQuestion : old) {
-                    mainNumbers.remove(examQuestion.getMainNumber());
-                }
-                for (int i = 0; i < detailList.size(); i++) {
-                    ExamQuestionDTO dto = detailList.get(i);
-                    if (mainNumbers.contains(dto.getMainNumber())) {
-                        addMessage(redirectAttributes, "大题号不能重复");
-                        redirectAttributes.addAttribute("subjectCode", subjectCode);
-                        redirectAttributes.addAttribute("number", number);
-                        return "redirect:/admin/exam/group/edit-full";
+            try {
+                if (questionDetail != null && reset.booleanValue()) {
+                    // advance update
+                    questionDetail = StringEscapeUtils.unescapeHtml(questionDetail);
+                    JSONArray array = JSONArray.fromObject(questionDetail);
+                    List<ExamQuestionDTO> detailList = JSONArray.toList(array, new ExamQuestionDTO(), new JsonConfig());
+                    List<ExamQuestion> all = questionService.findByExamAndSubjectAndObjective(examId, subjectCode, false);
+                    List<ExamQuestion> old = questionService.findByExamAndSubjectAndObjectiveAndGroupNumber(examId,
+                            subjectCode, false, number);
+                    Set<Integer> mainNumbers = new HashSet<Integer>();
+                    for (ExamQuestion examQuestion : all) {
+                        mainNumbers.add(examQuestion.getMainNumber());
                     }
                     }
-                    Object scoreListArray[] = array.getJSONObject(i).getJSONArray("scoreList").toArray();
-                    List<Double> scoreList = new ArrayList<Double>();
-                    for (int j = 0; j < scoreListArray.length; j++) {
-                        scoreList.add(Double.parseDouble(scoreListArray[j].toString()));
+                    for (ExamQuestion examQuestion : old) {
+                        mainNumbers.remove(examQuestion.getMainNumber());
                     }
                     }
-                    dto.setScoreList(scoreList);
-                }
-                if (detailList != null && detailList.size() > 0) {
-                    ScorePolicy policy = scorePolicy != null ? ScorePolicy.findByValue(scorePolicy) : null;
-                    try {
-                        lockService.waitlock(LockType.GROUP, true, group.getExamId(), group.getSubjectCode(),group.getNumber());
-                        markService.updateGroup(group, buildQuestionList(group, detailList), policy);
-                    } catch (Exception e) {
-                        log.error("update group error", e);
-                        throw new RuntimeException("重置更新大题失败", e);
-                    } finally {
-                        lockService.unlock(LockType.GROUP, true, group.getExamId(), group.getSubjectCode(),group.getNumber());
+                    for (int i = 0; i < detailList.size(); i++) {
+                        ExamQuestionDTO dto = detailList.get(i);
+                        if (mainNumbers.contains(dto.getMainNumber())) {
+                            addMessage(redirectAttributes, "大题号不能重复");
+                            redirectAttributes.addAttribute("subjectCode", subjectCode);
+                            redirectAttributes.addAttribute("number", number);
+                            return "redirect:/admin/exam/group/edit-full";
+                        }
+                        Object scoreListArray[] = array.getJSONObject(i).getJSONArray("scoreList").toArray();
+                        List<Double> scoreList = new ArrayList<Double>();
+                        for (int j = 0; j < scoreListArray.length; j++) {
+                            scoreList.add(Double.parseDouble(scoreListArray[j].toString()));
+                        }
+                        dto.setScoreList(scoreList);
                     }
                     }
-                }
-            } else {
-                // simple update
-                List<Double> intervalScores = buildDoubleList(intervalScoreList);
-                List<ExamQuestion> questionList = questionService.findByExamAndSubjectAndObjectiveAndGroupNumber(
-                        examId, subjectCode, false, number);
-                if (intervalScores.size() == questionList.size()) {
-                    for (int i = 0; i < questionList.size(); i++) {
-                        ExamQuestion q = questionList.get(i);
-                        q.setIntervalScore(intervalScores.get(i));
-                        questionService.save(q);
+                    if (detailList != null && detailList.size() > 0) {
+                        ScorePolicy policy = scorePolicy != null ? ScorePolicy.findByValue(scorePolicy) : null;
+                        try {
+                            lockService.waitlock(LockType.GROUP, true, group.getExamId(), group.getSubjectCode(),
+                                    group.getNumber());
+                            markService.updateGroup(group, buildQuestionList(group, detailList), policy);
+                        } catch (Exception e) {
+                            log.error("update group error", e);
+                            throw new RuntimeException("重置更新大题失败", e);
+                        } finally {
+                            lockService.unlock(LockType.GROUP, true, group.getExamId(), group.getSubjectCode(),
+                                    group.getNumber());
+                        }
+                    }
+                } else {
+                    // simple update
+                    List<Double> intervalScores = buildDoubleList(intervalScoreList);
+                    List<ExamQuestion> questionList = questionService.findByExamAndSubjectAndObjectiveAndGroupNumber(
+                            examId, subjectCode, false, number);
+                    if (intervalScores.size() == questionList.size()) {
+                        for (int i = 0; i < questionList.size(); i++) {
+                            ExamQuestion q = questionList.get(i);
+                            q.setIntervalScore(intervalScores.get(i));
+                            questionService.save(q);
+                        }
                     }
                     }
                 }
                 }
+                // quick update
+                picList = StringEscapeUtils.unescapeHtml(picList);
+                JSONArray array = JSONArray.fromObject(picList);
+                List<PictureConfigItem> list = JSONArray.toList(array, new PictureConfigItem(), new JsonConfig());
+                if (list != null && !list.isEmpty()) {
+                    groupService.updatePicList(examId, subjectCode, number, list);
+                }
+                if (doubleRate != null) {
+                    groupService.updateDoubleRate(examId, subjectCode, number, doubleRate);
+                }
+                if (arbitrateThreshold != null) {
+                    groupService.updateArbitrateThreshold(examId, subjectCode, number, arbitrateThreshold);
+                }
+                groupService.updateMarkMode(examId, subjectCode, number, markMode);
+                if (trialCount != null && trialCount > 0 && group.getStatus() == MarkStatus.TRIAL) {
+                    groupService.updateTrialCount(examId, subjectCode, number, trialCount);
+                }
+                groupService.updateSheetView(examId, subjectCode, number, sheetView);
+                redirectAttributes.addAttribute("subjectCode", subjectCode);
+                redirectAttributes.addAttribute("number", number);
+                return "redirect:/admin/exam/group";
+            
+            } catch (Exception e) {
+                log.error("edit markgroup error", e);
+                addMessage(redirectAttributes, "参数有误");
+                redirectAttributes.addAttribute("subjectCode", subjectCode);
+                redirectAttributes.addAttribute("number", number);
+                return "redirect:/admin/exam/group";
             }
             }
-            // quick update
-            picList = StringEscapeUtils.unescapeHtml(picList);
-            JSONArray array = JSONArray.fromObject(picList);
-            List<PictureConfigItem> list = JSONArray.toList(array, new PictureConfigItem(), new JsonConfig());
-            if (list != null && !list.isEmpty()) {
-                groupService.updatePicList(examId, subjectCode, number, list);
-            }
-            if (doubleRate != null) {
-                groupService.updateDoubleRate(examId, subjectCode, number, doubleRate);
-            }
-            if (arbitrateThreshold != null) {
-                groupService.updateArbitrateThreshold(examId, subjectCode, number, arbitrateThreshold);
-            }
-            groupService.updateMarkMode(examId, subjectCode, number, markMode);
-            if (trialCount != null && trialCount > 0 && group.getStatus() == MarkStatus.TRIAL) {
-                groupService.updateTrialCount(examId, subjectCode, number, trialCount);
-            }
-            groupService.updateSheetView(examId, subjectCode, number, sheetView);
-            redirectAttributes.addAttribute("subjectCode", subjectCode);
-            redirectAttributes.addAttribute("number", number);
-            return "redirect:/admin/exam/group";
         } else {
         } else {
             addMessage(redirectAttributes, "找不到对应大题");
             addMessage(redirectAttributes, "找不到对应大题");
             redirectAttributes.addAttribute("subjectCode", subjectCode);
             redirectAttributes.addAttribute("subjectCode", subjectCode);
             redirectAttributes.addAttribute("number", number);
             redirectAttributes.addAttribute("number", number);
-            return "redirect:/admin/exam/group/edit-simple";
+            return "redirect:/admin/exam/group";
         }
         }
     }
     }
 
 
@@ -466,44 +479,51 @@ public class MarkGroupController extends BaseExamController {
             redirectAttributes.addAttribute("subjectCode", subjectCode);
             redirectAttributes.addAttribute("subjectCode", subjectCode);
             return "redirect:/admin/exam/group/add";
             return "redirect:/admin/exam/group/add";
         } else {
         } else {
-            // create group
-            // build picList
-            picList = StringEscapeUtils.unescapeHtml(picList);
-            JSONArray array = JSONArray.fromObject(picList);
-            List<PictureConfigItem> picConfigList = JSONArray.toList(array, new PictureConfigItem(), new JsonConfig());
-            // build questionDetail
-            questionDetail = StringEscapeUtils.unescapeHtml(questionDetail);
-            array = JSONArray.fromObject(questionDetail);
-            List<ExamQuestionDTO> detailList = JSONArray.toList(array, new ExamQuestionDTO(), new JsonConfig());
-            for (int i = 0; i < detailList.size(); i++) {
-                ExamQuestionDTO dto = detailList.get(i);
-                Object o[] = array.getJSONObject(i).getJSONArray("scoreList").toArray();
-                List<Double> scoreList = new ArrayList<Double>();
-                for (int j = 0; j < o.length; j++) {
-                    scoreList.add(Double.parseDouble(o[j].toString()));
+            try {
+                // create group
+                // build picList
+                picList = StringEscapeUtils.unescapeHtml(picList);
+                JSONArray array = JSONArray.fromObject(picList);
+                List<PictureConfigItem> picConfigList = JSONArray.toList(array, new PictureConfigItem(), new JsonConfig());
+                // build questionDetail
+                questionDetail = StringEscapeUtils.unescapeHtml(questionDetail);
+                array = JSONArray.fromObject(questionDetail);
+                List<ExamQuestionDTO> detailList = JSONArray.toList(array, new ExamQuestionDTO(), new JsonConfig());
+                for (int i = 0; i < detailList.size(); i++) {
+                    ExamQuestionDTO dto = detailList.get(i);
+                    Object o[] = array.getJSONObject(i).getJSONArray("scoreList").toArray();
+                    List<Double> scoreList = new ArrayList<Double>();
+                    for (int j = 0; j < o.length; j++) {
+                        scoreList.add(Double.parseDouble(o[j].toString()));
+                    }
+                    dto.setScoreList(scoreList);
                 }
                 }
-                dto.setScoreList(scoreList);
-            }
-            if (picConfigList != null && detailList != null && picConfigList.size() > 0 && detailList.size() > 0) {
-                for (ExamQuestionDTO detail : detailList) {
-                    if (questionService.countByExamAndSubjectAndObjectiveAndMainNumber(examId, subjectCode, false,
-                            detail.getMainNumber()) > 0) {
-                        addMessage(redirectAttributes, "大题号不能重复");
-                        redirectAttributes.addAttribute("subjectCode", subjectCode);
-                        return "redirect:/admin/exam/group/add";
+                if (picConfigList != null && detailList != null && picConfigList.size() > 0 && detailList.size() > 0) {
+                    for (ExamQuestionDTO detail : detailList) {
+                        if (questionService.countByExamAndSubjectAndObjectiveAndMainNumber(examId, subjectCode, false,
+                                detail.getMainNumber()) > 0) {
+                            addMessage(redirectAttributes, "大题号不能重复");
+                            redirectAttributes.addAttribute("subjectCode", subjectCode);
+                            return "redirect:/admin/exam/group/add";
+                        }
                     }
                     }
+                    group = new MarkGroup(examId, subjectCode, number, picConfigList, 0d, doubleRate, arbitrateThreshold,
+                            scorePolicy, markMode, trialCount, sheetView);
+                    // clear and replace exam_question
+                    questionService.deleteByExamAndSubjectAndObjectiveAndGroupNumber(examId, subjectCode, false, number);
+                    List<ExamQuestion> list = buildQuestionList(group, detailList);
+                    questionService.save(list);
+                    groupService.save(group);
+                    subjectService.updateScore(examId, subjectCode, false, groupService.sumTotalScore(examId, subjectCode));
+                    redirectAttributes.addAttribute("subjectCode", subjectCode);
+                    return "redirect:/admin/exam/group";
+                } else {
+                    addMessage(redirectAttributes, "参数有误");
+                    redirectAttributes.addAttribute("subjectCode", subjectCode);
+                    return "redirect:/admin/exam/group/add";
                 }
                 }
-                group = new MarkGroup(examId, subjectCode, number, picConfigList, 0d, doubleRate, arbitrateThreshold,
-                        scorePolicy, markMode, trialCount, sheetView);
-                // clear and replace exam_question
-                questionService.deleteByExamAndSubjectAndObjectiveAndGroupNumber(examId, subjectCode, false, number);
-                List<ExamQuestion> list = buildQuestionList(group, detailList);
-                questionService.save(list);
-                groupService.save(group);
-                subjectService.updateScore(examId, subjectCode, false, groupService.sumTotalScore(examId, subjectCode));
-                redirectAttributes.addAttribute("subjectCode", subjectCode);
-                return "redirect:/admin/exam/group";
-            } else {
+            } catch (Exception e) {
+                log.error("add markgroup error", e);
                 addMessage(redirectAttributes, "参数有误");
                 addMessage(redirectAttributes, "参数有误");
                 redirectAttributes.addAttribute("subjectCode", subjectCode);
                 redirectAttributes.addAttribute("subjectCode", subjectCode);
                 return "redirect:/admin/exam/group/add";
                 return "redirect:/admin/exam/group/add";

+ 2 - 2
stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/MarkerController.java

@@ -549,12 +549,12 @@ public class MarkerController extends BaseExamController {
 
 
     @RequestMapping(value = "/class/{markerId}", method = RequestMethod.POST)
     @RequestMapping(value = "/class/{markerId}", method = RequestMethod.POST)
     @RoleRequire(Role.SCHOOL_ADMIN)
     @RoleRequire(Role.SCHOOL_ADMIN)
-    public String classSave(@PathVariable Integer markerId,@RequestParam String[] classes,Model model,RedirectAttributes redirectAttributes) {
+    public String classSave(@PathVariable Integer markerId,@RequestParam(required=false) String[] classes,Model model,RedirectAttributes redirectAttributes) {
         Marker marker = markerService.findById(markerId);
         Marker marker = markerService.findById(markerId);
         if (marker != null) {
         if (marker != null) {
             classService.save(marker,classes);
             classService.save(marker,classes);
             addMessage(redirectAttributes, "保存'" + marker.getLoginName() + "'成功");
             addMessage(redirectAttributes, "保存'" + marker.getLoginName() + "'成功");
-            return "redirect:/admin/exam/marker";
+            return "redirect:" + "/admin/exam/marker?subjectCode=" + marker.getSubjectCode()+"&groupNumber="+marker.getGroupNumber();
         } 
         } 
         addMessage(redirectAttributes, "评卷员不存在");
         addMessage(redirectAttributes, "评卷员不存在");
         return "redirect:/admin/exam/marker";
         return "redirect:/admin/exam/marker";

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

@@ -157,7 +157,7 @@
         </div>
         </div>
         <div class="form-actions">
         <div class="form-actions">
             <a id="btnSubmit" href="##" class="btn btn-primary">保 存</a>&nbsp;
             <a id="btnSubmit" href="##" class="btn btn-primary">保 存</a>&nbsp;
-            <a id="btnCancel" href="##" class="btn" onclick="history.go(-1)">返 回</a>
+            <a href="${ctx}/admin/exam/group/edit-simple?subjectCode=${group.subjectCode}&number=${group.number}" class="btn">返回</a>
         </div>
         </div>
 	</form:form>
 	</form:form>
 <script type="text/javascript">
 <script type="text/javascript">

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

@@ -130,7 +130,7 @@
 		</div>
 		</div>
         <div class="form-actions">
         <div class="form-actions">
             <a id="btnSubmit" href="##" class="btn btn-primary">保 存</a>&nbsp;
             <a id="btnSubmit" href="##" class="btn btn-primary">保 存</a>&nbsp;
-            <a id="btnCancel" href="##" class="btn" onclick="history.go(-1)">返 回</a>
+            <a href="${ctx}/admin/exam/group?subjectCode=${group.subjectCode}" class="btn">返回</a>
         </div>
         </div>
 	</form:form>
 	</form:form>
 <script type="text/javascript">
 <script type="text/javascript">

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

@@ -32,7 +32,7 @@
 		<div class="form-actions">
 		<div class="form-actions">
 			<input id="btnSubmit" class="btn btn-primary" type="submit" value="保 存"/>
 			<input id="btnSubmit" class="btn btn-primary" type="submit" value="保 存"/>
 			&nbsp;
 			&nbsp;
-			<a href="${ctx}/admin/exam/marker?subjectCode=${marker.subjectCode}" class="btn"/>返回</a>
+			<a href="${ctx}/admin/exam/marker?subjectCode=${marker.subjectCode}&groupNumber=${marker.groupNumber}" class="btn"/>返回</a>
 		</div>
 		</div>
 	</form:form>
 	</form:form>
 </body>
 </body>

+ 0 - 1
stmms-web/src/main/webapp/static/mark-new/css/style.css

@@ -1238,7 +1238,6 @@ a.button.all-zero-button {
 	overflow: hidden;
 	overflow: hidden;
 }
 }
 .mark-sidebar {
 .mark-sidebar {
-	z-index: 1;
 	position: relative;
 	position: relative;
 	overflow: hidden;
 	overflow: hidden;
 }
 }

+ 2 - 0
stmms-web/src/main/webapp/static/mark-new/js/modules/mark-board.js

@@ -528,6 +528,8 @@ MarkBoard.prototype.render = function(task) {
                 markBoard.onScoreSubmit();
                 markBoard.onScoreSubmit();
             }
             }
         });
         });
+        
+        this.stepBoard.stepHolder.scrollTop(0);
     } else {
     } else {
         this.initMarkBoardHeader();
         this.initMarkBoardHeader();
 
 

+ 0 - 1
stmms-web/src/main/webapp/static/mark-track/css/style.css

@@ -1225,7 +1225,6 @@ i,em {
 	overflow: hidden;
 	overflow: hidden;
 }
 }
 .mark-sidebar {
 .mark-sidebar {
-	z-index: 1;
 	position: relative;
 	position: relative;
 	overflow: hidden;
 	overflow: hidden;
 }
 }

+ 1 - 1
stmms-web/src/main/webapp/static/mark-track/js/modules/mark-board.js

@@ -97,7 +97,7 @@ function MarkBoard(option) {
                 }
                 }
             } else if (code == 39) {
             } else if (code == 39) {
                 // →按键,切换到下一个步骤
                 // →按键,切换到下一个步骤
-                if (this.currentStep.number < this.stepCount && this.currentStep.markScore != undefined) {
+                if (this.currentStep.number < this.stepCount ) {
                 	self.onStepSelect(this.currentStep.number + 1);
                 	self.onStepSelect(this.currentStep.number + 1);
                     event.preventDefault();
                     event.preventDefault();
                     return false;
                     return false;