Bladeren bron

评卷结束后不允许复核和打回

ting.yin 5 jaren geleden
bovenliggende
commit
323340d332

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

@@ -598,6 +598,10 @@ public class MarkServiceImpl implements MarkService {
     @Override
     @Transactional
     public boolean backLibrary(MarkLibrary library) {
+        MarkGroup group = groupDao.findOne(library.getExamId(), library.getSubjectCode(), library.getGroupNumber());
+        if (group.getStatus() == MarkStatus.FINISH) {
+            return false;
+        }
         if (libraryDao.resetById(library.getId(), LibraryStatus.WAITING, LibraryStatus.MARKED, LibraryStatus.INSPECTED) > 0) {
             trackDao.deleteByLibraryId(library.getId());
             specialTagDao.deleteByLibraryId(library.getId());

+ 36 - 20
stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/InspectedController.java

@@ -19,10 +19,12 @@ import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.servlet.ModelAndView;
+import org.springframework.web.servlet.mvc.support.RedirectAttributes;
 
 import cn.com.qmth.stmms.biz.campus.model.Campus;
 import cn.com.qmth.stmms.biz.campus.service.CampusService;
@@ -37,6 +39,7 @@ import cn.com.qmth.stmms.biz.exam.service.MarkerService;
 import cn.com.qmth.stmms.biz.mark.model.MarkLibrary;
 import cn.com.qmth.stmms.biz.mark.model.MarkSpecialTag;
 import cn.com.qmth.stmms.biz.mark.model.MarkTrack;
+import cn.com.qmth.stmms.biz.mark.model.Task;
 import cn.com.qmth.stmms.biz.mark.query.MarkLibrarySearchQuery;
 import cn.com.qmth.stmms.biz.mark.service.MarkLibraryService;
 import cn.com.qmth.stmms.biz.mark.service.MarkSpecialTagService;
@@ -45,6 +48,7 @@ import cn.com.qmth.stmms.biz.utils.ScoreItem;
 import cn.com.qmth.stmms.common.auth.annotation.RoleRequire;
 import cn.com.qmth.stmms.common.domain.WebUser;
 import cn.com.qmth.stmms.common.enums.LibraryStatus;
+import cn.com.qmth.stmms.common.enums.MarkStatus;
 import cn.com.qmth.stmms.common.enums.Role;
 import cn.com.qmth.stmms.common.utils.PictureUrlBuilder;
 import cn.com.qmth.stmms.common.utils.RequestUtils;
@@ -87,33 +91,45 @@ public class InspectedController extends BaseExamController {
 
     @RequestMapping("/start")
     @ResponseBody
-    public ModelAndView start(HttpServletRequest request, @RequestParam String subjectCode,
-            @RequestParam Integer groupNumber) {
+    public ModelAndView start(HttpServletRequest request, RedirectAttributes redirectAttributes,
+            @RequestParam String subjectCode, @RequestParam Integer groupNumber) {
         int examId = getSessionExamId(request);
         if (examId > 0) {
+            MarkGroup group = groupService.findOne(examId, subjectCode, groupNumber);
             WebUser wu = RequestUtils.getWebUser(request);
             releaseByUser(wu.getUser().getId());
-
             ModelAndView view = new ModelAndView("modules/exam/inspected");
-            List<Integer> ids = new ArrayList<Integer>();
-            MarkLibrarySearchQuery query = new MarkLibrarySearchQuery();
-            query.setExamId(examId);
-            query.setSubjectCode(subjectCode);
-            query.setGroupNumber(groupNumber);
-            query.setPageNumber(1);
-            query.setPageSize(1000);
-            query.addStatus(LibraryStatus.MARKED);
-            query = libraryService.findByQuery(query);
-            while (query.getCurrentCount() > 0) {
-                for (MarkLibrary library : query.getResult()) {
-                    ids.add(library.getId());
-                }
-                query.setPageNumber(query.getPageNumber() + 1);
+
+            if (group == null) {
+                view.addObject("message", "大题不存在");
+                return view;
+            } else if (group.getStatus() == MarkStatus.FINISH) {
+                view.addObject("message", "评卷已结束");
+                return view;
+            } else if (group.getStatus() == MarkStatus.TRIAL) {
+                view.addObject("message", "试评任务无需复核");
+                return view;
+            } else {
+                List<Integer> ids = new ArrayList<Integer>();
+                MarkLibrarySearchQuery query = new MarkLibrarySearchQuery();
+                query.setExamId(examId);
+                query.setSubjectCode(subjectCode);
+                query.setGroupNumber(groupNumber);
+                query.setPageNumber(1);
+                query.setPageSize(1000);
+                query.addStatus(LibraryStatus.MARKED);
                 query = libraryService.findByQuery(query);
+                while (query.getCurrentCount() > 0) {
+                    for (MarkLibrary library : query.getResult()) {
+                        ids.add(library.getId());
+                    }
+                    query.setPageNumber(query.getPageNumber() + 1);
+                    query = libraryService.findByQuery(query);
+                }
+                view.addObject("sliceServer", sliceServer);
+                view.addObject("ids", StringUtils.join(ids, ","));
+                return view;
             }
-            view.addObject("sliceServer", sliceServer);
-            view.addObject("ids", StringUtils.join(ids, ","));
-            return view;
         } else {
             return new ModelAndView("redirect:/admin/exam/list");
         }

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

@@ -81,12 +81,17 @@
 </div>
 </body>
 <script type="text/javascript">
+var message = '${message}';
 var ids = [${ids}];
 var current;
 var student;
 var iviewer;
 var regex = /^[a-z]+$/ig;
 $(document).ready(function() {
+	if(message!=undefined && message!=''){
+		alert(message);
+	}
+	
     $('#save-button').click(save);
     $('#back-button').click(back);