From 831e922d4f0e6643ec488bcf70aa71c22b5559f2 Mon Sep 17 00:00:00 2001
From: 龚焕茏 <2842157468@qq.com>
Date: 星期二, 21 五月 2024 18:54:16 +0800
Subject: [PATCH] feat:部门调动增加情况说明、可上传文件
---
src/main/java/com/mindskip/xzs/controller/admin/ExamPaperController.java | 82 +++++++++++++++++++++++++++++++++++++---
1 files changed, 75 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 57224a1..af682fd 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,35 @@
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.ExamTemplatesVO;
+import com.mindskip.xzs.domain.vo.PaperExcelVO;
+import com.mindskip.xzs.domain.vo.UserVO;
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.apache.commons.lang3.ObjectUtils;
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.Collections;
+import java.util.List;
+import java.util.Objects;
@RestController("AdminExamPaperController")
@RequestMapping(value = "/api/admin/exam/paper")
@@ -25,16 +38,23 @@
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.setDeptIds(ObjectUtils.isNotEmpty(model.getDeptIds()) ? model.getDeptIds() : getAdminDeptIds());
+ if (Objects.nonNull(model.getLevel())) {
+ model.setDeptIds(Collections.singletonList(model.getLevel()));
+ }
+ model.setType("0");
PageInfo<ExamPaper> pageInfo = examPaperService.page(model);
PageInfo<ExamResponseVM> page = PageInfoHelper.copyMap(pageInfo, e -> {
ExamResponseVM vm = modelMapper.map(e, ExamResponseVM.class);
@@ -65,15 +85,44 @@
@RequestMapping(value = "/edit", method = RequestMethod.POST)
- public RestResponse<ExamPaperEditRequestVM> edit(@RequestBody @Valid ExamPaperEditRequestVM model) throws Exception {
+ 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("鎿嶄綔鎴愬姛");
+ }
+
+ /**
+ * 琛ヨ��
+ * @param model 鏁版嵁
+ * @return 鎿嶄綔缁撴灉
+ */
+ @RequestMapping(value = "/missExamByTemplateId", method = RequestMethod.POST)
+ public RestResponse<String> missExamByTemplateId(@RequestBody ExamTemplatesVO model) {
+ examPaperService.missExamByTemplateId(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);
}
@@ -86,4 +135,23 @@
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);
+ }
+
+ @RequestMapping(value = "/list", method = RequestMethod.GET)
+ public RestResponse<List<ExamPaper>> list() {
+ List<Integer> deptIds = isDeptAdmin() ? getAdminDeptIds() : null;
+ return RestResponse.ok(examPaperService.list(deptIds));
+ }
+
+ @RequestMapping(value = "/selectStudent", method = RequestMethod.POST)
+ public RestResponse<PageInfo<UserVO>> selectStudent(@RequestBody UserVO userVO) {
+ List<Integer> adminDeptIds = getAdminDeptIds();
+ return RestResponse.ok(examPaperService.selectStudent(userVO, adminDeptIds));
+ }
}
--
Gitblit v1.8.0