|
@@ -8,6 +8,7 @@ import java.util.Map;
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
|
|
|
|
|
+import cn.com.qmth.stmms.biz.exam.dao.SelectiveStudentDao;
|
|
import org.apache.commons.lang.StringEscapeUtils;
|
|
import org.apache.commons.lang.StringEscapeUtils;
|
|
import org.apache.commons.lang.StringUtils;
|
|
import org.apache.commons.lang.StringUtils;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.Logger;
|
|
@@ -121,6 +122,9 @@ public class MarkGroupController extends BaseExamController {
|
|
@Autowired
|
|
@Autowired
|
|
private SystemCache systemCache;
|
|
private SystemCache systemCache;
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
+ private SelectiveStudentDao selectiveStudentDao;
|
|
|
|
+
|
|
@Logging(menu = "大题管理查询", type = LogType.QUERY)
|
|
@Logging(menu = "大题管理查询", type = LogType.QUERY)
|
|
@RequestMapping
|
|
@RequestMapping
|
|
public String list(HttpServletRequest request, Model model, @RequestParam(required = false) String subjectCode) {
|
|
public String list(HttpServletRequest request, Model model, @RequestParam(required = false) String subjectCode) {
|
|
@@ -269,13 +273,14 @@ public class MarkGroupController extends BaseExamController {
|
|
if (markGroup.getStatus() == MarkStatus.TRIAL && status == MarkStatus.FORMAL) {
|
|
if (markGroup.getStatus() == MarkStatus.TRIAL && status == MarkStatus.FORMAL) {
|
|
allow = true;
|
|
allow = true;
|
|
} else if (markGroup.getStatus() == MarkStatus.FORMAL && status == MarkStatus.FINISH
|
|
} else if (markGroup.getStatus() == MarkStatus.FORMAL && status == MarkStatus.FINISH
|
|
- && markGroup.getLeftCount() == 0) {
|
|
|
|
|
|
+ && markGroup.getLeftCount() == 0
|
|
|
|
+ && selectiveStudentDao.countByExamIdAndSubjectCodeAndAndLessSelectiveAndAndNotSelective(markGroup.getExamId(),markGroup.getSubjectCode(),true,true)== 0) {
|
|
allow = true;
|
|
allow = true;
|
|
} else if (markGroup.getStatus() == MarkStatus.FINISH && status == MarkStatus.FORMAL) {
|
|
} else if (markGroup.getStatus() == MarkStatus.FINISH && status == MarkStatus.FORMAL) {
|
|
allow = true;
|
|
allow = true;
|
|
}
|
|
}
|
|
if (!allow) {
|
|
if (!allow) {
|
|
- redirectAttributes.addAttribute("message", "不能切换到指定的评卷状态");
|
|
|
|
|
|
+ redirectAttributes.addAttribute("message", "不能切换到指定的评卷状态,评卷未完成或存在选做异常");
|
|
redirectAttributes.addAttribute("subjectCode", subjectCode);
|
|
redirectAttributes.addAttribute("subjectCode", subjectCode);
|
|
return "redirect:/admin/exam/group";
|
|
return "redirect:/admin/exam/group";
|
|
}
|
|
}
|
|
@@ -809,7 +814,8 @@ public class MarkGroupController extends BaseExamController {
|
|
}
|
|
}
|
|
try {
|
|
try {
|
|
lockService.waitlock(LockType.GROUP, group.getExamId(), group.getSubjectCode(), group.getNumber());
|
|
lockService.waitlock(LockType.GROUP, group.getExamId(), group.getSubjectCode(), group.getNumber());
|
|
- if (group.getStatus() == MarkStatus.FORMAL && group.getLeftCount() == 0) {
|
|
|
|
|
|
+ if (group.getStatus() == MarkStatus.FORMAL && group.getLeftCount() == 0
|
|
|
|
+ && selectiveStudentDao.countByExamIdAndSubjectCodeAndAndLessSelectiveAndAndNotSelective(group.getExamId(), group.getSubjectCode(),true,true)==0) {
|
|
groupService.updateStatus(examId, subjectCode, number, MarkStatus.FINISH, group.getStatus());
|
|
groupService.updateStatus(examId, subjectCode, number, MarkStatus.FINISH, group.getStatus());
|
|
}
|
|
}
|
|
} finally {
|
|
} finally {
|