diff --git a/ccic-exam/src/main/java/com/ccic/safeliab/dao/ExamPaperMapper.java b/ccic-exam/src/main/java/com/ccic/safeliab/dao/ExamPaperMapper.java index 228190f..529d1b6 100644 --- a/ccic-exam/src/main/java/com/ccic/safeliab/dao/ExamPaperMapper.java +++ b/ccic-exam/src/main/java/com/ccic/safeliab/dao/ExamPaperMapper.java @@ -69,4 +69,12 @@ public interface ExamPaperMapper extends BaseMapper { @Param("industryId") Long industryId, @Param("questionCount") Integer questionCount); + /** + * 查询试卷是否被引用 + * + * @param ids 试卷ID + * @return 查询结果 + */ + int getExamIsUsed(@Param("ids") List ids); + } diff --git a/ccic-exam/src/main/java/com/ccic/safeliab/dao/QuestionMapper.java b/ccic-exam/src/main/java/com/ccic/safeliab/dao/QuestionMapper.java index 1f15997..5271c47 100644 --- a/ccic-exam/src/main/java/com/ccic/safeliab/dao/QuestionMapper.java +++ b/ccic-exam/src/main/java/com/ccic/safeliab/dao/QuestionMapper.java @@ -78,6 +78,6 @@ public interface QuestionMapper extends BaseMapper { * @param ids 试题ID * @return 查询结果 */ - int getQuestiongInExamSize(@Param("ids") List ids); + int getQuestionIsUsed(@Param("ids") List ids); } diff --git a/ccic-exam/src/main/java/com/ccic/safeliab/service/ExamPaperService.java b/ccic-exam/src/main/java/com/ccic/safeliab/service/ExamPaperService.java index 127772c..7b47bd3 100644 --- a/ccic-exam/src/main/java/com/ccic/safeliab/service/ExamPaperService.java +++ b/ccic-exam/src/main/java/com/ccic/safeliab/service/ExamPaperService.java @@ -28,7 +28,7 @@ public interface ExamPaperService extends BaseService { * @param ids 试卷ID * @return 删除结果 */ - boolean delExamPaper(List ids); + Map delExamPaper(List ids); /** * 更新试卷状态 @@ -36,7 +36,7 @@ public interface ExamPaperService extends BaseService { * @param vo 试卷vo * @return 更新结果 */ - boolean upPaperStatus(InsExamPaperVO vo); + Map upPaperStatus(InsExamPaperVO vo); /** * 获取试卷详情 diff --git a/ccic-exam/src/main/java/com/ccic/safeliab/service/ExamPaperServiceImpl.java b/ccic-exam/src/main/java/com/ccic/safeliab/service/ExamPaperServiceImpl.java index 40d3dea..8c728cb 100644 --- a/ccic-exam/src/main/java/com/ccic/safeliab/service/ExamPaperServiceImpl.java +++ b/ccic-exam/src/main/java/com/ccic/safeliab/service/ExamPaperServiceImpl.java @@ -42,7 +42,20 @@ public class ExamPaperServiceImpl extends BaseServiceImpl ids) { + public Map delExamPaper(List ids) { + Map map = new HashMap<>(); + int size = baseMapper.getExamIsUsed(ids); + if( size > 0 ) + { + map.put("success", "error"); + if (ids.size() > 1){ + map.put("message", "选中的试卷中有" + size + "个已被引用,需删除引用的考试后方可删除"); + } else { + map.put("message", "该试卷已被引用,需删除引用的考试后方可删除"); + } + return map; + } + boolean flag = false; flag = deleteLogic(ids); @@ -54,11 +67,29 @@ public class ExamPaperServiceImpl extends BaseServiceImpl upPaperStatus(InsExamPaperVO vo) { + Map map = new HashMap<>(); + int size = baseMapper.getExamIsUsed(vo.getIds()); + if (size > 0) { + map.put("success", "error"); + if (vo.getIds().size() > 1) { + map.put("message", "选中的试卷中有" + size + "个已被引用,需删除引用的考试后方可" + (vo.getPaperStatus() == 0 ? "停用" : "启用")); + } else { + map.put("message", "该试卷已被引用,需删除引用的考试后方可" + (vo.getPaperStatus() == 0 ? "停用" : "启用")); + } + return map; + } boolean flag = false; for (Long id : vo.getIds()) { ExamPapers entity = baseMapper.getExamPaperDetail(id); @@ -68,7 +99,14 @@ public class ExamPaperServiceImpl extends BaseServiceImpl delQuestion(List ids) { Map map = new HashMap<>(); - int size = baseMapper.getQuestiongInExamSize(ids); + int size = baseMapper.getQuestionIsUsed(ids); if( size > 0 ) { map.put("success", "error"); diff --git a/ccic-exam/src/main/java/com/ccic/safeliab/web/ExamPaperController.java b/ccic-exam/src/main/java/com/ccic/safeliab/web/ExamPaperController.java index 5e99935..317761d 100644 --- a/ccic-exam/src/main/java/com/ccic/safeliab/web/ExamPaperController.java +++ b/ccic-exam/src/main/java/com/ccic/safeliab/web/ExamPaperController.java @@ -40,12 +40,8 @@ public class ExamPaperController { */ @PostMapping("/delExamPaper") public R delExamPaper(@RequestBody List ids) { - boolean flag = examPaperService.delExamPaper(ids); - if (flag) { - return R.ok(); - } else { - return R.error(); - } + Map map = examPaperService.delExamPaper(ids); + return R.ok().data(map); } /** @@ -55,12 +51,8 @@ public class ExamPaperController { */ @PostMapping("/upPaperStatus") public R upPaperStatus(@RequestBody InsExamPaperVO vo) { - boolean flag = examPaperService.upPaperStatus(vo); - if (flag) { - return R.ok(); - } else { - return R.error(); - } + Map map = examPaperService.upPaperStatus(vo); + return R.ok().data(map); } /** diff --git a/ccic-exam/src/main/resources/mappers/ExamPaperMapper.xml b/ccic-exam/src/main/resources/mappers/ExamPaperMapper.xml index b95de5a..2d4c698 100644 --- a/ccic-exam/src/main/resources/mappers/ExamPaperMapper.xml +++ b/ccic-exam/src/main/resources/mappers/ExamPaperMapper.xml @@ -137,4 +137,23 @@ ORDER BY pq.question_number + \ No newline at end of file diff --git a/ccic-exam/src/main/resources/mappers/QuestionMapper.xml b/ccic-exam/src/main/resources/mappers/QuestionMapper.xml index 032d36d..161ed87 100644 --- a/ccic-exam/src/main/resources/mappers/QuestionMapper.xml +++ b/ccic-exam/src/main/resources/mappers/QuestionMapper.xml @@ -133,7 +133,7 @@ ORDER BY b.question_number asc - SELECT count(DISTINCT qc.id) FROM