From ccca8c65b3c76a9021a471a3667d61d965a4f2cb Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期六, 11 五月 2024 18:04:44 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/main/java/com/mindskip/xzs/controller/admin/ExamPaperController.java | 54 +++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 47 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/mindskip/xzs/controller/admin/ExamPaperController.java b/src/main/java/com/mindskip/xzs/controller/admin/ExamPaperController.java index 2386435..662afdb 100644 --- a/src/main/java/com/mindskip/xzs/controller/admin/ExamPaperController.java +++ b/src/main/java/com/mindskip/xzs/controller/admin/ExamPaperController.java @@ -1,22 +1,31 @@ package com.mindskip.xzs.controller.admin; +import com.github.pagehelper.PageInfo; import com.mindskip.xzs.base.BaseApiController; import com.mindskip.xzs.base.RestResponse; import com.mindskip.xzs.domain.ExamPaper; import com.mindskip.xzs.domain.ExamPaperSubject; +import com.mindskip.xzs.domain.vo.PaperExcelVO; import com.mindskip.xzs.service.ExamPaperDepartmentService; import com.mindskip.xzs.service.ExamPaperService; import com.mindskip.xzs.service.ExamPaperSubjectService; +import com.mindskip.xzs.service.ExamTemplatesUserCountService; import com.mindskip.xzs.utility.DateTimeUtil; import com.mindskip.xzs.utility.PageInfoHelper; -import com.mindskip.xzs.viewmodel.admin.exam.ExamPaperPageRequestVM; +import com.mindskip.xzs.utility.excel.ExcelUtils; import com.mindskip.xzs.viewmodel.admin.exam.ExamPaperEditRequestVM; +import com.mindskip.xzs.viewmodel.admin.exam.ExamPaperEditRequestVO; +import com.mindskip.xzs.viewmodel.admin.exam.ExamPaperPageRequestVM; import com.mindskip.xzs.viewmodel.admin.exam.ExamResponseVM; -import com.github.pagehelper.PageInfo; +import lombok.SneakyThrows; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.Arrays; +import java.util.List; @RestController("AdminExamPaperController") @RequestMapping(value = "/api/admin/exam/paper") @@ -25,16 +34,19 @@ private final ExamPaperService examPaperService; private final ExamPaperSubjectService examPaperSubjectService; private final ExamPaperDepartmentService examPaperDepartmentService; + private final ExamTemplatesUserCountService examTemplatesUserCountService; @Autowired - public ExamPaperController(ExamPaperService examPaperService, ExamPaperSubjectService examPaperSubjectService, ExamPaperDepartmentService examPaperDepartmentService) { + public ExamPaperController(ExamPaperService examPaperService, ExamPaperSubjectService examPaperSubjectService, ExamPaperDepartmentService examPaperDepartmentService, ExamTemplatesUserCountService examTemplatesUserCountService) { this.examPaperService = examPaperService; this.examPaperSubjectService = examPaperSubjectService; this.examPaperDepartmentService = examPaperDepartmentService; + this.examTemplatesUserCountService = examTemplatesUserCountService; } @RequestMapping(value = "/page", method = RequestMethod.POST) public RestResponse<PageInfo<ExamResponseVM>> pageList(@RequestBody ExamPaperPageRequestVM model) { + model.setType("0"); PageInfo<ExamPaper> pageInfo = examPaperService.page(model); PageInfo<ExamResponseVM> page = PageInfoHelper.copyMap(pageInfo, e -> { ExamResponseVM vm = modelMapper.map(e, ExamResponseVM.class); @@ -54,6 +66,9 @@ PageInfo<ExamResponseVM> page = PageInfoHelper.copyMap(pageInfo, e -> { ExamResponseVM vm = modelMapper.map(e, ExamResponseVM.class); vm.setCreateTime(DateTimeUtil.dateFormat(e.getCreateTime())); + Integer[] ids = examPaperSubjectService.getByExamPaperId(vm.getId()) + .stream().map(ExamPaperSubject::getSubjectId).toArray(Integer[]::new); + vm.setSubjectId(ids); return vm; }); return RestResponse.ok(page); @@ -62,15 +77,33 @@ @RequestMapping(value = "/edit", method = RequestMethod.POST) - public RestResponse<ExamPaperEditRequestVM> edit(@RequestBody @Valid ExamPaperEditRequestVM model) { + public RestResponse<ExamPaperEditRequestVO> edit(@RequestBody @Valid ExamPaperEditRequestVM model) throws Exception { + Object[] obj = Arrays.stream(model.getUserIds()).sorted().distinct().toArray(); + Integer[] userIds = new Integer[obj.length]; + for(int i = 0;i<obj.length;i++) { + userIds[i] = (Integer)obj[i]; + } + model.setUserIds(userIds); ExamPaper examPaper = examPaperService.savePaperFromVM(model, getCurrentUser()); - ExamPaperEditRequestVM newVM = examPaperService.examPaperToVM(examPaper.getId()); + ExamPaperEditRequestVO newVM = examPaperService.examPaperToVM(examPaper.getId()); + return RestResponse.ok(newVM); } + /** + * 琛ヨ�� + * @param model 鏁版嵁 + * @return 鎿嶄綔缁撴灉 + */ + @RequestMapping(value = "/missExam", method = RequestMethod.POST) + public RestResponse<String> missExam(@RequestBody ExamPaperEditRequestVM model) { + examPaperService.missExam(model); + return RestResponse.ok("鎿嶄綔鎴愬姛"); + } + @RequestMapping(value = "/select/{id}", method = RequestMethod.POST) - public RestResponse<ExamPaperEditRequestVM> select(@PathVariable Integer id) { - ExamPaperEditRequestVM vm = examPaperService.examPaperToVM(id); + public RestResponse<ExamPaperEditRequestVO> select(@PathVariable Integer id) { + ExamPaperEditRequestVO vm = examPaperService.examPaperToVM(id); return RestResponse.ok(vm); } @@ -83,4 +116,11 @@ examPaperSubjectService.removeByExamPaperId(id); return RestResponse.ok(); } + + @RequestMapping(value = "/exportTemplatesId/{id}", method = RequestMethod.GET) + @SneakyThrows + public void exportTemplatesId(@PathVariable("id") Integer id, HttpServletResponse response, HttpServletRequest request) { + List<PaperExcelVO> list = examPaperService.getPaperExcelById(id); + ExcelUtils.export(response,"涓汉缁冧範",list,PaperExcelVO.class); + } } -- Gitblit v1.8.0