Преглед изворни кода

增加系统配置,对全局强制评卷模式的控制

luoshi пре 6 година
родитељ
комит
bb41b7978b

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

@@ -85,6 +85,9 @@ public class MarkController extends BaseController {
     @Value("${card.server}")
     @Value("${card.server}")
     private String cardServer;
     private String cardServer;
 
 
+    @Value("${marker.forceMode}")
+    private String forceMarkMode;
+
     @RequestMapping(value = "/reset", method = RequestMethod.GET)
     @RequestMapping(value = "/reset", method = RequestMethod.GET)
     public ModelAndView reset(HttpServletRequest request) {
     public ModelAndView reset(HttpServletRequest request) {
         Marker marker = RequestUtils.getWebUser(request).getMarker();
         Marker marker = RequestUtils.getWebUser(request).getMarker();
@@ -114,20 +117,30 @@ public class MarkController extends BaseController {
 
 
     private ModelAndView getMarkModeView(Marker marker, MarkMode mode) {
     private ModelAndView getMarkModeView(Marker marker, MarkMode mode) {
         boolean forceMode = false;
         boolean forceMode = false;
-        MarkGroup group = groupService.findOne(marker.getExamId(), marker.getSubjectCode(), marker.getGroupNumber());
-        if (group != null && group.getMarkMode() != null) {
-            mode = group.getMarkMode();
+        MarkMode sysMode = MarkMode.findByName(forceMarkMode);
+        if (sysMode != null) {
+            // 全局配置的强制评卷模式
+            mode = sysMode;
             forceMode = true;
             forceMode = true;
-        }
-        if (mode == null) {
-            mode = marker.getMode();
-        }
-        if (mode == null) {
-            mode = MarkMode.COMMON;
-        }
-        if (marker.getMode() != mode) {
-            marker.setMode(mode);
-            markerService.save(marker);
+        } else {
+            // 没有全局配置,优先从大题配置取强制评卷模式
+            MarkGroup group = groupService.findOne(marker.getExamId(), marker.getSubjectCode(),
+                    marker.getGroupNumber());
+            if (group != null && group.getMarkMode() != null) {
+                mode = group.getMarkMode();
+                forceMode = true;
+            }
+            // 否则取评卷员当前记录的评卷模式
+            if (mode == null) {
+                mode = marker.getMode();
+            }
+            if (mode == null) {
+                mode = MarkMode.COMMON;
+            }
+            if (marker.getMode() != mode) {
+                marker.setMode(mode);
+                markerService.save(marker);
+            }
         }
         }
         ModelAndView view = new ModelAndView(
         ModelAndView view = new ModelAndView(
                 mode == MarkMode.TRACK ? "modules/mark/markTrack" : "modules/mark/markNew");
                 mode == MarkMode.TRACK ? "modules/mark/markTrack" : "modules/mark/markNew");

+ 1 - 0
stmms-web/src/main/webapp/WEB-INF/application.properties

@@ -42,3 +42,4 @@ mark.cleanTaskSchedule=0 0/10 6-23 * * ?
 mark.cleanLockSchedule=0 0 3 * * ?
 mark.cleanLockSchedule=0 0 3 * * ?
 
 
 marker.showBtnImportAndBtnUpdateImport=false
 marker.showBtnImportAndBtnUpdateImport=false
+marker.forceMode=track