From dfbc7c85d18df7bb7a7cd87568fa909c03ab2d32 Mon Sep 17 00:00:00 2001 From: pengjie <17373303529@163.com> Date: Tue, 21 May 2024 20:19:15 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=89=E5=85=A8=E6=95=99=E8=82=B2=E5=92=8C?= =?UTF-8?q?=E7=BA=A2=E5=A4=96=E5=AF=B9=E5=B0=84=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ExamCourseRecordController.java | 19 ++++----------- .../ExamQuestionBankController.java | 14 +++++++---- .../controller/ExamTrainRecordController.java | 24 +++++++++++++++++++ .../xmgl/modules/exam/vo/RandomQuery.java | 6 +++++ 4 files changed, 43 insertions(+), 20 deletions(-) diff --git a/src/main/java/com/zhgd/xmgl/modules/exam/controller/ExamCourseRecordController.java b/src/main/java/com/zhgd/xmgl/modules/exam/controller/ExamCourseRecordController.java index d30d37377..11a1e3db5 100644 --- a/src/main/java/com/zhgd/xmgl/modules/exam/controller/ExamCourseRecordController.java +++ b/src/main/java/com/zhgd/xmgl/modules/exam/controller/ExamCourseRecordController.java @@ -211,27 +211,16 @@ public class ExamCourseRecordController { */ @ApiOperation(value = "导出excel学习情况信息", notes = "导出excel学习情况信息", httpMethod = "POST") @RequestMapping(value = "/exportXls") - public ModelAndView exportXls(HttpServletRequest request, HttpServletResponse response) { + public ModelAndView exportXls(HttpServletRequest request, HttpServletResponse response, @RequestBody Map map) { // Step.1 组装查询条件 - QueryWrapper queryWrapper = null; - try { - String paramsStr = request.getParameter("paramsStr"); - if (oConvertUtils.isNotEmpty(paramsStr)) { - String deString = URLDecoder.decode(paramsStr, "UTF-8"); - ExamCourseRecord examCourseRecord = JSON.parseObject(deString, ExamCourseRecord.class); - queryWrapper = QueryGenerator.initQueryWrapper(examCourseRecord, request.getParameterMap()); - } - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); - } - + QueryWrapper queryWrapper = QueryGenerator.initPageQueryWrapper(ExamCourseRecord.class, map); + List pageList = examCourseRecordService.page(new Page<>(-1 , -1), queryWrapper).getRecords(); //Step.2 AutoPoi 导出Excel ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); - List pageList = examCourseRecordService.list(queryWrapper); //导出文件名称 mv.addObject(NormalExcelConstants.FILE_NAME, "学习情况列表"); mv.addObject(NormalExcelConstants.CLASS, ExamCourseRecord.class); - mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("学习情况列表数据", "导出人:Jeecg", "导出信息")); + mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("学习情况列表数据", "导出人:" + SecurityUtils.getUser().getRealName(), "导出信息")); mv.addObject(NormalExcelConstants.DATA_LIST, pageList); return mv; } diff --git a/src/main/java/com/zhgd/xmgl/modules/exam/controller/ExamQuestionBankController.java b/src/main/java/com/zhgd/xmgl/modules/exam/controller/ExamQuestionBankController.java index d78b54b74..5f5edf826 100644 --- a/src/main/java/com/zhgd/xmgl/modules/exam/controller/ExamQuestionBankController.java +++ b/src/main/java/com/zhgd/xmgl/modules/exam/controller/ExamQuestionBankController.java @@ -111,24 +111,28 @@ public class ExamQuestionBankController { @OperLog(operModul = "题目管理管理", operType = "列表查询", operDesc = "随机获取题目") @ApiOperation(value = " 随机获取题目", notes = "随机获取题目", httpMethod = "POST") @PostMapping(value = "/random") - public Result> random(@RequestBody List randomQueryList) { + public Result> random(@RequestBody List randomQueryList) { LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); + if (randomQueryList.get(0).getSubjectId() != null) { + queryWrapper.eq(ExamQuestionBank::getSubjectId, randomQueryList.get(0).getSubjectId()); + } List list = examQuestionBankService.list(queryWrapper); HashSet resultList = new HashSet<>(); Random random = new Random(); for (int i = 0; i < randomQueryList.size(); i++) { int finalI = i; - List radioList = list.stream().filter(l -> l.getType() == finalI + 1 && - l.getDifficulty() == randomQueryList.get(finalI).getDifficulty()).collect(Collectors.toList()); + List radioList = list.stream() + .filter(l -> l.getType() == randomQueryList.get(finalI).getType() + && l.getDifficulty() == randomQueryList.get(finalI).getDifficulty()).collect(Collectors.toList()); for (int j = 0; j < randomQueryList.get(i).getNumber();) { int index = random.nextInt(radioList.size()); boolean add = resultList.add(radioList.get(index).getId()); if (add) { - i++; + j++; } } } - return Result.success(resultList); + return Result.success(examQuestionBankService.listByIds(resultList)); } diff --git a/src/main/java/com/zhgd/xmgl/modules/exam/controller/ExamTrainRecordController.java b/src/main/java/com/zhgd/xmgl/modules/exam/controller/ExamTrainRecordController.java index 03f00351a..eb4e4d375 100644 --- a/src/main/java/com/zhgd/xmgl/modules/exam/controller/ExamTrainRecordController.java +++ b/src/main/java/com/zhgd/xmgl/modules/exam/controller/ExamTrainRecordController.java @@ -2,6 +2,8 @@ package com.zhgd.xmgl.modules.exam.controller; import com.zhgd.annotation.OperLog; import com.zhgd.xmgl.modules.exam.entity.ExamAnswerQuestion; +import com.zhgd.xmgl.modules.exam.entity.ExamCourseRecord; +import com.zhgd.xmgl.security.util.SecurityUtils; import com.zhgd.xmgl.util.PageUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; @@ -233,4 +235,26 @@ public class ExamTrainRecordController { public Result submit(@RequestBody List examAnswerQuestionList) { return Result.success(examTrainRecordService.submit(examAnswerQuestionList)); } + + /** + * 导出excel + * + * @param request + * @param response + */ + @ApiOperation(value = "导出excel学习情况信息", notes = "导出excel学习情况信息", httpMethod = "POST") + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, HttpServletResponse response, @RequestBody Map map) { + // Step.1 组装查询条件 + QueryWrapper queryWrapper = QueryGenerator.initPageQueryWrapper(ExamTrainRecord.class, map); + IPage pageList = examTrainRecordService.page(new Page<>(-1, -1), queryWrapper); + //Step.2 AutoPoi 导出Excel + ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); + //导出文件名称 + mv.addObject(NormalExcelConstants.FILE_NAME, "教育培训情况列表"); + mv.addObject(NormalExcelConstants.CLASS, ExamTrainRecord.class); + mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("教育培训情况列表数据", "导出人:" + SecurityUtils.getUser().getRealName(), "导出信息")); + mv.addObject(NormalExcelConstants.DATA_LIST, pageList); + return mv; + } } diff --git a/src/main/java/com/zhgd/xmgl/modules/exam/vo/RandomQuery.java b/src/main/java/com/zhgd/xmgl/modules/exam/vo/RandomQuery.java index 832f518d1..d80883c4b 100644 --- a/src/main/java/com/zhgd/xmgl/modules/exam/vo/RandomQuery.java +++ b/src/main/java/com/zhgd/xmgl/modules/exam/vo/RandomQuery.java @@ -6,6 +6,12 @@ import lombok.Data; @Data public class RandomQuery { + @ApiModelProperty(value = "科目ID") + private Long subjectId; + + @ApiModelProperty(value = "试题类型(1:单选题;2:多选题;3:填空题;)") + private Integer type; + @ApiModelProperty(value = "难易程度") private Integer difficulty;