浏览代码

校验考试状态

xiatian 2 年之前
父节点
当前提交
555bd80cc5

+ 2 - 0
src/main/java/cn/com/qmth/mps/service/ExamService.java

@@ -23,4 +23,6 @@ public interface ExamService  extends IService<ExamEntity> {
 
 	ExamVo info(Long id, User accessUser);
 
+	void checkExamStatus(Long examId);
+
 }

+ 12 - 0
src/main/java/cn/com/qmth/mps/service/impl/ExamServiceImpl.java

@@ -51,6 +51,18 @@ public class ExamServiceImpl extends ServiceImpl<ExamDao, ExamEntity> implements
 	@Autowired
 	private PaperService paperService;
 
+	@Override
+	public void checkExamStatus(Long examId) {
+		ExamEntity exam=this.getById(examId);
+		if(exam==null) {
+			throw new StatusException("未找到考试信息");
+		}
+		if(!ExamStatus.EDIT.equals(exam.getExamStatus())) {
+			throw new StatusException("考试未开放上报,不能设置结构信息或分组信息");
+		}
+	}
+	
+	
 	@Transactional
 	@Override
 	public void syncExam(Long schoolId, User user) {

+ 6 - 1
src/main/java/cn/com/qmth/mps/service/impl/PaperDetailServiceImpl.java

@@ -26,6 +26,7 @@ import cn.com.qmth.mps.entity.PaperDetailEntity;
 import cn.com.qmth.mps.entity.PaperEntity;
 import cn.com.qmth.mps.entity.PaperGroupUnitEntity;
 import cn.com.qmth.mps.enums.Role;
+import cn.com.qmth.mps.service.ExamService;
 import cn.com.qmth.mps.service.PaperDetailService;
 import cn.com.qmth.mps.service.PaperDetailUnitService;
 import cn.com.qmth.mps.service.PaperGroupService;
@@ -45,6 +46,8 @@ public class PaperDetailServiceImpl extends ServiceImpl<PaperDetailDao, PaperDet
 	private PaperDetailUnitService paperDetailUnitService;
 	@Autowired
 	private PaperService paperService;
+	@Autowired
+	private ExamService examService;
 
 	@Override
 	public List<PaperDetail> getStructInfo(Long paperId) {
@@ -143,6 +146,7 @@ public class PaperDetailServiceImpl extends ServiceImpl<PaperDetailDao, PaperDet
 		if (paper == null) {
 			throw new StatusException("未找到试卷结构");
 		}
+		examService.checkExamStatus(paper.getExamId());
 		if (!user.getRole().equals(Role.SUPER_ADMIN) && !user.getSchoolId().equals(paper.getSchoolId())) {
 			throw new StatusException("没有权限");
 		}
@@ -223,6 +227,7 @@ public class PaperDetailServiceImpl extends ServiceImpl<PaperDetailDao, PaperDet
 		if (paper == null) {
 			throw new StatusException("未找到试卷结构");
 		}
+		examService.checkExamStatus(paper.getExamId());
 		if (!user.getRole().equals(Role.SUPER_ADMIN) && !user.getSchoolId().equals(paper.getSchoolId())) {
 			throw new StatusException("没有权限");
 		}
@@ -255,5 +260,5 @@ public class PaperDetailServiceImpl extends ServiceImpl<PaperDetailDao, PaperDet
 			throw new StatusException("试卷满分与小题分不一致");
 		}
 	}
-
+	
 }

+ 6 - 0
src/main/java/cn/com/qmth/mps/service/impl/PaperGroupServiceImpl.java

@@ -29,6 +29,7 @@ import cn.com.qmth.mps.entity.PaperEntity;
 import cn.com.qmth.mps.entity.PaperGroupEntity;
 import cn.com.qmth.mps.enums.Role;
 import cn.com.qmth.mps.service.CourseService;
+import cn.com.qmth.mps.service.ExamService;
 import cn.com.qmth.mps.service.PaperDetailService;
 import cn.com.qmth.mps.service.PaperDetailUnitService;
 import cn.com.qmth.mps.service.PaperGroupService;
@@ -52,6 +53,8 @@ public class PaperGroupServiceImpl extends ServiceImpl<PaperGroupDao, PaperGroup
 	
 	@Autowired
 	private CourseService courseService;
+	@Autowired
+	private ExamService examService;
 
 	@Override
 	public List<GroupCountVo> findGroupCount(List<Long> paperIds) {
@@ -212,6 +215,7 @@ public class PaperGroupServiceImpl extends ServiceImpl<PaperGroupDao, PaperGroup
 		if (paper == null) {
 			throw new StatusException("未找到试卷结构");
 		}
+		examService.checkExamStatus(paper.getExamId());
 		if (!user.getRole().equals(Role.SUPER_ADMIN) && !user.getSchoolId().equals(paper.getSchoolId())) {
 			throw new StatusException("没有权限");
 		}
@@ -272,6 +276,7 @@ public class PaperGroupServiceImpl extends ServiceImpl<PaperGroupDao, PaperGroup
 		if (paper == null) {
 			throw new StatusException("未找到试卷结构");
 		}
+		examService.checkExamStatus(paper.getExamId());
 		if (!user.getRole().equals(Role.SUPER_ADMIN) && !user.getSchoolId().equals(paper.getSchoolId())) {
 			throw new StatusException("没有权限");
 		}
@@ -296,6 +301,7 @@ public class PaperGroupServiceImpl extends ServiceImpl<PaperGroupDao, PaperGroup
 		if (paper == null) {
 			throw new StatusException("未找到试卷结构");
 		}
+		examService.checkExamStatus(paper.getExamId());
 		if (!user.getRole().equals(Role.SUPER_ADMIN) && !user.getSchoolId().equals(paper.getSchoolId())) {
 			throw new StatusException("没有权限");
 		}

+ 7 - 0
src/main/java/cn/com/qmth/mps/service/impl/PaperServiceImpl.java

@@ -37,6 +37,7 @@ import cn.com.qmth.mps.dao.PaperDao;
 import cn.com.qmth.mps.entity.CourseEntity;
 import cn.com.qmth.mps.entity.ExamEntity;
 import cn.com.qmth.mps.entity.PaperEntity;
+import cn.com.qmth.mps.enums.ExamStatus;
 import cn.com.qmth.mps.enums.Role;
 import cn.com.qmth.mps.service.CourseService;
 import cn.com.qmth.mps.service.ExamService;
@@ -74,6 +75,9 @@ public class PaperServiceImpl extends ServiceImpl<PaperDao, PaperEntity> impleme
 		if (exam == null) {
 			throw new StatusException("未找到考试批次");
 		}
+		if(!ExamStatus.EDIT.equals(exam.getExamStatus())) {
+			throw new StatusException("考试未开放上报,不能设置结构信息或分组信息");
+		}
 		if (!user.getRole().equals(Role.SUPER_ADMIN) && !user.getSchoolId().equals(exam.getSchoolId())) {
 			throw new StatusException("没有权限");
 		}
@@ -301,6 +305,9 @@ public class PaperServiceImpl extends ServiceImpl<PaperDao, PaperEntity> impleme
 		if (exam == null) {
 			throw new StatusException("未找到考试批次");
 		}
+		if(!ExamStatus.EDIT.equals(exam.getExamStatus())) {
+			throw new StatusException("考试未开放上报,不能设置结构信息或分组信息");
+		}
 		if (!user.getRole().equals(Role.SUPER_ADMIN) && !user.getSchoolId().equals(exam.getSchoolId())) {
 			throw new StatusException("没有权限");
 		}