diff --git a/ruoyi-exam/src/main/java/com/ruoyi/exam/controller/ExamPaperCategoryController.java b/ruoyi-exam/src/main/java/com/ruoyi/exam/controller/ExamPaperCategoryController.java index cba0e5433..08ccf464b 100644 --- a/ruoyi-exam/src/main/java/com/ruoyi/exam/controller/ExamPaperCategoryController.java +++ b/ruoyi-exam/src/main/java/com/ruoyi/exam/controller/ExamPaperCategoryController.java @@ -101,6 +101,10 @@ public class ExamPaperCategoryController extends BaseController if(examPaperService.selectList(examPaper).size()>0){ return error(1, "分类包含试卷,不允许扩展分类"); } + Integer parentId = examPaperCategory.getParentId(); + String parentIds = examPaperCategoryService.selectById(parentId).getParentIds(); + examPaperCategory.setParentIds(parentIds+","+parentId); + examPaperCategory.setCreateBy(ShiroUtils.getLoginName()); examPaperCategory.setCreateDate(new Date()); examPaperCategory.setDelFlag("0"); @@ -129,6 +133,7 @@ public class ExamPaperCategoryController extends BaseController @ResponseBody public AjaxResult editSave(ExamPaperCategory examPaperCategory) { + ExamPaperCategory db = examPaperCategoryService.selectById(examPaperCategory.getId()); examPaperCategory.setUpdateBy(ShiroUtils.getLoginName()); examPaperCategory.setUpdateDate(new Date()); @@ -140,7 +145,7 @@ public class ExamPaperCategoryController extends BaseController ExamPaperCategory exam = new ExamPaperCategory(); exam.setParentId(examPaperCategory.getId()); - if (examPaperCategoryService.selectList(exam).size() > 0) + if (examPaperCategoryService.selectList(exam).size() > 0&&db.getParentId()!=examPaperCategory.getParentId() ) { return error(1, "此分类存在下级分类,无法移动"); } diff --git a/ruoyi-exam/src/main/java/com/ruoyi/exam/controller/ExamPaperController.java b/ruoyi-exam/src/main/java/com/ruoyi/exam/controller/ExamPaperController.java index b3ff966c4..f04e6ad4b 100644 --- a/ruoyi-exam/src/main/java/com/ruoyi/exam/controller/ExamPaperController.java +++ b/ruoyi-exam/src/main/java/com/ruoyi/exam/controller/ExamPaperController.java @@ -69,7 +69,7 @@ public class ExamPaperController extends BaseController public TableDataInfo list(ExamPaper examPaper) { List list = new ArrayList<>(); - List listByIds = getListByIds(list, examPaper); + List listByIds = examPaperService.selectListByCategory(examPaper); return getDataTable(listByIds); } diff --git a/ruoyi-exam/src/main/java/com/ruoyi/exam/controller/ExamQuestionCategoryController.java b/ruoyi-exam/src/main/java/com/ruoyi/exam/controller/ExamQuestionCategoryController.java index cfc881fb4..84289e509 100644 --- a/ruoyi-exam/src/main/java/com/ruoyi/exam/controller/ExamQuestionCategoryController.java +++ b/ruoyi-exam/src/main/java/com/ruoyi/exam/controller/ExamQuestionCategoryController.java @@ -98,6 +98,9 @@ public class ExamQuestionCategoryController extends BaseController { if (examQuestionService.selectList(examQuestion).size() > 0) { return error(1, "分类包含试题,不允许扩展分类"); } + Long parentId = examQuestionCategory.getParentId(); + String parentIds = examQuestionCategoryService.selectById(parentId).getParentIds(); + examQuestionCategory.setParentIds(parentIds+","+parentId); examQuestionCategory.setCreateBy(ShiroUtils.getLoginName()); examQuestionCategory.setCreateDate(new Date()); return toAjax(examQuestionCategoryService.insertExamQuestionCategory(examQuestionCategory)); @@ -123,6 +126,7 @@ public class ExamQuestionCategoryController extends BaseController { @PostMapping("/edit") @ResponseBody public AjaxResult editSave(ExamQuestionCategory examQuestionCategory) { + ExamQuestionCategory db = examQuestionCategoryService.selectById(examQuestionCategory.getId()); ExamQuestion examQuestion = new ExamQuestion(); examQuestion.setCategoryId(examQuestionCategory.getParentId().toString()); @@ -131,10 +135,13 @@ public class ExamQuestionCategoryController extends BaseController { } ExamQuestionCategory exam = new ExamQuestionCategory(); - exam.setParentId(exam.getId()); - if (examQuestionCategoryService.selectList(exam).size() > 0) { + exam.setParentId(examQuestionCategory.getId()); + if (examQuestionCategoryService.selectList(exam).size() > 0&&examQuestionCategory.getParentId()!=db.getParentId()) { return error(1, "此分类存在下级分类,无法移动"); } + Long parentId = examQuestionCategory.getParentId(); + String parentIds = examQuestionCategoryService.selectById(parentId).getParentIds(); + examQuestionCategory.setParentIds(parentIds+","+parentId); return toAjax(examQuestionCategoryService.updateExamQuestionCategory(examQuestionCategory)); } diff --git a/ruoyi-exam/src/main/java/com/ruoyi/exam/controller/ExamQuestionController.java b/ruoyi-exam/src/main/java/com/ruoyi/exam/controller/ExamQuestionController.java index db7b5d52e..47ec18967 100644 --- a/ruoyi-exam/src/main/java/com/ruoyi/exam/controller/ExamQuestionController.java +++ b/ruoyi-exam/src/main/java/com/ruoyi/exam/controller/ExamQuestionController.java @@ -92,7 +92,7 @@ public class ExamQuestionController extends BaseController public TableDataInfo list(ExamQuestion examQuestion) { ArrayList objects = new ArrayList<>(); - List listByIds = getListByIds(objects, examQuestion); + List listByIds = examQuestionService.selectListBycategory(examQuestion); return getDataTable(listByIds); } diff --git a/ruoyi-exam/src/main/java/com/ruoyi/exam/mapper/ExamPaperMapper.java b/ruoyi-exam/src/main/java/com/ruoyi/exam/mapper/ExamPaperMapper.java index c167802fd..705178569 100644 --- a/ruoyi-exam/src/main/java/com/ruoyi/exam/mapper/ExamPaperMapper.java +++ b/ruoyi-exam/src/main/java/com/ruoyi/exam/mapper/ExamPaperMapper.java @@ -20,5 +20,6 @@ public interface ExamPaperMapper extends MyMapper * @return 试卷集合 */ public List selectExamPaperList(ExamPaper examPaper); - + + List selectListByCategory(ExamPaper examPaper); } \ No newline at end of file diff --git a/ruoyi-exam/src/main/java/com/ruoyi/exam/mapper/ExamQuestionMapper.java b/ruoyi-exam/src/main/java/com/ruoyi/exam/mapper/ExamQuestionMapper.java index 95ac1f237..448715281 100644 --- a/ruoyi-exam/src/main/java/com/ruoyi/exam/mapper/ExamQuestionMapper.java +++ b/ruoyi-exam/src/main/java/com/ruoyi/exam/mapper/ExamQuestionMapper.java @@ -60,4 +60,5 @@ public interface ExamQuestionMapper extends MyMapper */ public int deleteExamQuestionByIds(String[] ids); + List selectListBycategory(ExamQuestion examQuestion); } \ No newline at end of file diff --git a/ruoyi-exam/src/main/java/com/ruoyi/exam/service/IExamPaperService.java b/ruoyi-exam/src/main/java/com/ruoyi/exam/service/IExamPaperService.java index 93ece975e..20c933f7b 100644 --- a/ruoyi-exam/src/main/java/com/ruoyi/exam/service/IExamPaperService.java +++ b/ruoyi-exam/src/main/java/com/ruoyi/exam/service/IExamPaperService.java @@ -26,5 +26,6 @@ public interface IExamPaperService extends AbstractBaseService */ public List selectExamPaperList(ExamPaper examPaper); - + + List selectListByCategory(ExamPaper examPaper); } diff --git a/ruoyi-exam/src/main/java/com/ruoyi/exam/service/IExamQuestionService.java b/ruoyi-exam/src/main/java/com/ruoyi/exam/service/IExamQuestionService.java index 9f439e161..4c8c556e2 100644 --- a/ruoyi-exam/src/main/java/com/ruoyi/exam/service/IExamQuestionService.java +++ b/ruoyi-exam/src/main/java/com/ruoyi/exam/service/IExamQuestionService.java @@ -60,4 +60,6 @@ public interface IExamQuestionService extends AbstractBaseService List selectByIds(List ids); List selectQuestionList(ExamQuestion examQuestion); + + List selectListBycategory(ExamQuestion examQuestion); } diff --git a/ruoyi-exam/src/main/java/com/ruoyi/exam/service/impl/ExamPaperServiceImpl.java b/ruoyi-exam/src/main/java/com/ruoyi/exam/service/impl/ExamPaperServiceImpl.java index d24f4a466..b673b1f65 100644 --- a/ruoyi-exam/src/main/java/com/ruoyi/exam/service/impl/ExamPaperServiceImpl.java +++ b/ruoyi-exam/src/main/java/com/ruoyi/exam/service/impl/ExamPaperServiceImpl.java @@ -32,6 +32,13 @@ public class ExamPaperServiceImpl extends AbstractBaseServiceImpl selectListByCategory(ExamPaper examPaper) { + startPage(); + return examPaperMapper.selectListByCategory(examPaper); + } + /** * 查询试卷分页列表 * diff --git a/ruoyi-exam/src/main/java/com/ruoyi/exam/service/impl/ExamQuestionServiceImpl.java b/ruoyi-exam/src/main/java/com/ruoyi/exam/service/impl/ExamQuestionServiceImpl.java index ec287b51f..78479037b 100644 --- a/ruoyi-exam/src/main/java/com/ruoyi/exam/service/impl/ExamQuestionServiceImpl.java +++ b/ruoyi-exam/src/main/java/com/ruoyi/exam/service/impl/ExamQuestionServiceImpl.java @@ -155,4 +155,10 @@ public class ExamQuestionServiceImpl extends AbstractBaseServiceImpl selectListBycategory(ExamQuestion examQuestion) { + startPage(); + return examQuestionMapper.selectListBycategory(examQuestion); + } + } diff --git a/ruoyi-exam/src/main/resources/mapper/exam/ExamPaperMapper.xml b/ruoyi-exam/src/main/resources/mapper/exam/ExamPaperMapper.xml index 6cde4346d..bf7f26734 100644 --- a/ruoyi-exam/src/main/resources/mapper/exam/ExamPaperMapper.xml +++ b/ruoyi-exam/src/main/resources/mapper/exam/ExamPaperMapper.xml @@ -46,5 +46,29 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + + + \ No newline at end of file diff --git a/ruoyi-exam/src/main/resources/mapper/exam/ExamQuestionMapper.xml b/ruoyi-exam/src/main/resources/mapper/exam/ExamQuestionMapper.xml index b22b1b326..ec2707867 100644 --- a/ruoyi-exam/src/main/resources/mapper/exam/ExamQuestionMapper.xml +++ b/ruoyi-exam/src/main/resources/mapper/exam/ExamQuestionMapper.xml @@ -46,6 +46,26 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where id = #{id} + + insert into exam_question