From 47cd9ecc0eff38ffe6b3b794b2bf197e958f4403 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期三, 14 五月 2025 15:50:57 +0800
Subject: [PATCH] bug:学员有状态不能修改问题
---
src/main/java/com/mindskip/xzs/controller/admin/ExamTemplatesUserCountController.java | 98 +++++++++++++++++++++++++++++++++++++-----------
1 files changed, 75 insertions(+), 23 deletions(-)
diff --git a/src/main/java/com/mindskip/xzs/controller/admin/ExamTemplatesUserCountController.java b/src/main/java/com/mindskip/xzs/controller/admin/ExamTemplatesUserCountController.java
index 1f3375e..ae8c8a3 100644
--- a/src/main/java/com/mindskip/xzs/controller/admin/ExamTemplatesUserCountController.java
+++ b/src/main/java/com/mindskip/xzs/controller/admin/ExamTemplatesUserCountController.java
@@ -5,14 +5,14 @@
import com.github.pagehelper.PageInfo;
import com.mindskip.xzs.base.BaseApiController;
import com.mindskip.xzs.base.RestResponse;
-import com.mindskip.xzs.domain.ExamPaperAnswer;
-import com.mindskip.xzs.domain.ExamTemplates;
-import com.mindskip.xzs.domain.ExamTemplatesUserCount;
-import com.mindskip.xzs.domain.User;
+import com.mindskip.xzs.domain.*;
import com.mindskip.xzs.domain.vo.AnswerVO;
import com.mindskip.xzs.domain.vo.ExamTemplatesUserCountVO;
+import com.mindskip.xzs.domain.vo.TeamplatesUserExcelVO;
import com.mindskip.xzs.domain.vo.UserCountExcelVO;
+import com.mindskip.xzs.repository.ExamPaperAnswerMapper;
import com.mindskip.xzs.repository.ExamTemplatesMapper;
+import com.mindskip.xzs.repository.ExamTemplatesUserMapper;
import com.mindskip.xzs.service.ExamPaperAnswerService;
import com.mindskip.xzs.service.ExamTemplatesUserCountService;
import com.mindskip.xzs.service.UserService;
@@ -23,14 +23,11 @@
import lombok.SneakyThrows;
import org.springframework.web.bind.annotation.*;
-import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-import java.io.InputStream;
-import java.io.UnsupportedEncodingException;
-import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;
+import java.util.Objects;
import java.util.stream.Collectors;
@RestController("AdminExamTemplatesUserCountController")
@@ -42,12 +39,16 @@
private final ExamTemplatesMapper examTemplatesMapper;
private final UserService userService;
private final ExamPaperAnswerService examPaperAnswerService;
+ private final ExamPaperAnswerMapper examPaperAnswerMapper;
+ private final ExamTemplatesUserMapper examTemplatesUserMapper;
- public ExamTemplatesUserCountController(ExamTemplatesUserCountService examTemplatesUserCountService, ExamTemplatesMapper examTemplatesMapper, UserService userService, ExamPaperAnswerService examPaperAnswerService) {
+ public ExamTemplatesUserCountController(ExamTemplatesUserCountService examTemplatesUserCountService, ExamTemplatesMapper examTemplatesMapper, UserService userService, ExamPaperAnswerService examPaperAnswerService, ExamPaperAnswerMapper examTemplatesUserCountMapper, ExamTemplatesUserMapper examTemplatesUserMapper) {
this.examTemplatesUserCountService = examTemplatesUserCountService;
this.examTemplatesMapper = examTemplatesMapper;
this.userService = userService;
this.examPaperAnswerService = examPaperAnswerService;
+ this.examPaperAnswerMapper = examTemplatesUserCountMapper;
+ this.examTemplatesUserMapper = examTemplatesUserMapper;
}
@RequestMapping(value = "/list", method = RequestMethod.POST)
@@ -62,8 +63,14 @@
}
PageInfo<ExamTemplatesUserCountVO> info = examTemplatesUserCountService.list(model);
info.setList(info.getList().stream().map(e -> {
- e.setName(examTemplatesMapper.getById(e.getId()).getName());
- e.setUserName(userService.getUserById(e.getUserId()).getRealName());
+ ExamTemplates byId = examTemplatesMapper.getById(e.getId());
+ if (Objects.nonNull(byId)) {
+ e.setName(byId.getName());
+ }
+ User userById = userService.getUserById(e.getUserId());
+ if (Objects.nonNull(userById)) {
+ e.setUserName(userById.getRealName());
+ }
return e;
}).collect(Collectors.toList()));
return RestResponse.ok(info);
@@ -116,21 +123,66 @@
@SneakyThrows
public void exportTemplatesId(@PathVariable("id") Integer id, HttpServletResponse response, HttpServletRequest request) {
List<UserCountExcelVO> list = examTemplatesUserCountService.getByExamTemplates(id);
-// response.setContentType("application/vnd.ms-excel");
-// response.setCharacterEncoding("UTF-8");
-//
-// String fileName = URLEncoder.encode("1","UTF-8");
-// response.setHeader("Content-disposition","attachment;filename=" + fileName + ".xlsx");
-//
-// ServletOutputStream outputStream = response.getOutputStream();
-// InputStream resourceAsStream = Application.class.getClassLoader().getResourceAsStream("count.xlsx");
-// EasyExcel.write(outputStream)
-// .withTemplate(resourceAsStream)
-// .sheet()
-// .doFill(list);
ExcelUtils.export(response,"涓汉缁冧範",list,UserCountExcelVO.class);
}
+ @RequestMapping(value = "/exportRandownTemplatesId/{id}", method = RequestMethod.GET)
+ @SneakyThrows
+ public void exportRandownTemplatesId(@PathVariable("id") Integer id, HttpServletResponse response, HttpServletRequest request) {
+ // 鏌ュ嚭璇曞嵎妯℃澘
+ ExamTemplates byId = examTemplatesMapper.getById(id);
+ // 鏌ュ嚭璇ユā鏉跨殑鍙傝�冧汉鏁版嵁
+ List<ExamTemplatesUser> byId1 = examTemplatesUserMapper.getById(id);
+ // 鏌ュ嚭杩欏紶璇曞嵎鐨勫弬鑰冭褰�
+ List<ExamTemplatesUserCount> byTemplates = examTemplatesUserCountService.getByTemplates(id);
+ // 鑾峰彇姣忎釜浜虹殑璇曞嵎ID
+ List<Integer> list = byTemplates.stream().map(ExamTemplatesUserCount::getExamPaperId).collect(Collectors.toList());
+ // 鑾峰彇鍙傝�冪敤鎴稩D
+ List<Integer> userIds = byId1.stream().map(e->Integer.parseInt(e.getUserId())).collect(Collectors.toList());
+ // 绛斿嵎
+ List<ExamPaperAnswer> result = new ArrayList<>();
+
+ // 鑾峰彇鑰冭瘯绛斿嵎
+ if(list.size()!=0){
+ result = examPaperAnswerMapper.getResult(list);
+ }
+
+ //鐢ㄦ埛
+ List<User> users = userService.selectByIds(userIds);
+
+ List<TeamplatesUserExcelVO> list1 = new ArrayList<>();
+
+ for (User user : users) {
+ TeamplatesUserExcelVO vo = new TeamplatesUserExcelVO();
+ vo.setName(byId.getName());
+ vo.setUserName(user.getRealName());
+ Boolean str = false;
+ for (ExamPaperAnswer answer: result) {
+ if(user.getId().equals(answer.getCreateUser())){
+ str = true;
+ vo.setUserScore(answer.getUserScore() == 0 ? "0" : String.valueOf(answer.getUserScore() / 10));
+ vo.setPaperScore(answer.getPaperScore() == 0 ? "0" : String.valueOf(answer.getPaperScore() / 10));
+ vo.setDoTime(answer.getDoTime().toString());
+ list1.add(vo);
+ continue;
+ }
+ }
+ if(!str){
+ list1.add(vo);
+ }
+ str = false;
+
+ }
+ ExcelUtils.export(response,"涓汉缁冧範",list1, TeamplatesUserExcelVO.class);
+ }
+
+ @RequestMapping(value = "/timeOne", method = RequestMethod.GET)
+ @SneakyThrows
+ public void time( HttpServletResponse response, HttpServletRequest request) {
+ List<TeamplatesUserExcelVO> list = examPaperAnswerMapper.getByTimeOne();
+ ExcelUtils.export(response,"涓汉缁冧範",list,TeamplatesUserExcelVO.class);
+ }
+
}
--
Gitblit v1.8.0