package com.mindskip.xzs.controller.admin;
|
|
import com.github.pagehelper.PageHelper;
|
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.User;
|
import com.mindskip.xzs.domain.UserDepartment;
|
import com.mindskip.xzs.domain.vo.ScoreTemplatesCountVO;
|
import com.mindskip.xzs.repository.ExamPaperAnswerMapper;
|
import com.mindskip.xzs.service.*;
|
import com.mindskip.xzs.viewmodel.admin.paper.ExamPaperGradePageRequestVM;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMethod;
|
import org.springframework.web.bind.annotation.RestController;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
|
@RestController("AdminExamPaperGradeController")
|
@RequestMapping(value = "/api/admin/examPaperGrade")
|
public class ExamPaperGradeController extends BaseApiController {
|
|
private final ExamPaperAnswerService examPaperAnswerService;
|
|
private final SubjectService subjectService;
|
private final UserService userService;
|
private final ExamPaperSubjectService examPaperSubjectService;
|
|
private final ScoreTemplatesUserCountService scoreTemplatesUserCountService;
|
|
private final ExamPaperUserService examPaperUserService;
|
|
private final UserDepartMentService userDepartMentService;
|
|
private final ExamPaperAnswerMapper examPaperAnswerMapper;
|
|
@Autowired
|
public ExamPaperGradeController(ExamPaperAnswerService examPaperAnswerService, SubjectService subjectService, UserService userService, ExamPaperSubjectService examPaperSubjectService, ScoreTemplatesUserCountService scoreTemplatesUserCountService, ExamPaperUserService examPaperUserService, UserDepartMentService userDepartMentService, ExamPaperAnswerMapper examPaperAnswerMapper) {
|
this.examPaperAnswerService = examPaperAnswerService;
|
this.subjectService = subjectService;
|
this.userService = userService;
|
this.examPaperSubjectService = examPaperSubjectService;
|
this.scoreTemplatesUserCountService = scoreTemplatesUserCountService;
|
this.examPaperUserService = examPaperUserService;
|
this.userDepartMentService = userDepartMentService;
|
this.examPaperAnswerMapper = examPaperAnswerMapper;
|
}
|
|
|
// @RequestMapping(value = "/page", method = RequestMethod.POST)
|
// public RestResponse<PageInfo<ExamPaperAnswerPageResponseVM>> pageJudgeList(@RequestBody ExamPaperGradePageRequestVM grade) {
|
// PageInfo<ExamPaperAnswer> pageInfo = examPaperAnswerService.adminPageByGrade(grade);
|
// PageInfo<ExamPaperAnswerPageResponseVM> page = PageInfoHelper.copyMap(pageInfo, e -> {
|
// ExamPaperAnswerPageResponseVM vm = modelMapper.map(e, ExamPaperAnswerPageResponseVM.class);
|
// User user = userService.selectByIdName(e.getCreateUser(), grade.getUserName());
|
// if (user == null) {
|
// return null;
|
// }
|
// ExamPaperAnswer examPaperAnswer = examPaperAnswerService.getById(vm.getId());
|
// Integer[] ids = examPaperSubjectService.getByExamPaperId(examPaperAnswer.getExamPaperId())
|
// .stream().map(ExamPaperSubject::getSubjectId).toArray(Integer[]::new);
|
// String name = "";
|
// if (ids.length > 0) {
|
// name = subjectService.selectByIds(ids)
|
// .stream().map(Subject::getName).collect(Collectors.joining(","));
|
// }
|
// Integer userId = examPaperUserService.getByPaperIdAndCreatUser(e.getExamPaperId(),e.getCreateUser());
|
// if(userId == null){
|
// return null;
|
// }
|
// vm.setCreateUser(e.getCreateUser());
|
// vm.setUserId(userId);
|
// vm.setSubjectName(name);
|
// vm.setCreateTime(DateTimeUtil.dateFormat(e.getCreateTime()));
|
// vm.setUserName(user.getRealName());
|
// return vm;
|
// });
|
// List<ExamPaperAnswerPageResponseVM> list = page.getList();
|
// List<ExamPaperAnswerPageResponseVM> filteredList = list.stream()
|
// .filter(exam -> exam != null)
|
// .collect(Collectors.toList());
|
// ArrayList<ExamPaperAnswerPageResponseVM> list2 = new ArrayList<>();
|
// Map<String, Long> collect = filteredList.stream().collect(Collectors.groupingBy(ExamPaperAnswerPageResponseVM::getPaperName, Collectors.counting()));
|
// filteredList.forEach(vm -> vm.setCounts(Math.toIntExact(collect.getOrDefault(vm.getPaperName(), 0L))));
|
// Map<String, List<ExamPaperAnswerPageResponseVM>> collect1 = filteredList.stream().collect(Collectors.groupingBy(ExamPaperAnswerPageResponseVM::getUserName));
|
// List<ExamPaperAnswerPageResponseVM> filteredList1 = new ArrayList<>();
|
// Set<String> uniqueUserNames = new HashSet<>();
|
// collect1.forEach((key, value) -> {
|
// value.forEach(item -> {
|
// item.setUserName(key);
|
// item.setCounts(value.size());
|
// });
|
// list2.addAll(value);
|
// });
|
// for (ExamPaperAnswerPageResponseVM item : list2) {
|
// if (uniqueUserNames.add(item.getUserName())) {
|
// filteredList1.add(item);
|
// }
|
// }
|
// page.setList(filteredList1);
|
// return RestResponse.ok(page);
|
// }
|
|
@RequestMapping(value = "/page", method = RequestMethod.POST)
|
public RestResponse<PageInfo<ExamPaperAnswer>> pageJudgeList(@RequestBody ExamPaperGradePageRequestVM grade) {
|
List<ExamPaperAnswer> filteredList9 = new ArrayList<>();
|
PageInfo<User> info = PageHelper.startPage(grade.getPageIndex(), grade.getPageSize(), "id desc").doSelectPageInfo(() ->
|
userService.getUsers());
|
for (User user : info.getList()) {
|
if(user.getRealName().equals("管理员")){
|
continue;
|
}
|
ExamPaperAnswer answer = new ExamPaperAnswer();
|
answer.setCreateUser(user.getId());
|
answer.setUserName(user.getRealName());
|
ScoreTemplatesCountVO vo = new ScoreTemplatesCountVO();
|
vo.setCreateUser(user.getId());
|
List<ExamPaperAnswer> byCreatUser = examPaperAnswerMapper.getByCreatUser(vo);
|
answer.setCounts(byCreatUser.size());
|
filteredList9.add(answer);
|
}
|
// PageInfo<ExamPaperAnswer> list = examPaperAnswerService.adminPageByGrade(grade);
|
// for (ExamPaperAnswer e : list.getList()) {
|
// User user = userService.selectByIdName(e.getCreateUser(), grade.getUserName());
|
// if (user==null){
|
// return null;
|
// }
|
// ExamPaperAnswer examPaperAnswer = examPaperAnswerService.getById(e.getId());
|
// Integer[] ids = examPaperSubjectService.getByExamPaperId(examPaperAnswer.getExamPaperId()).stream().map(ExamPaperSubject::getSubjectId).toArray(Integer[]::new);
|
// String names = "";
|
// if (ids.length > 0) {
|
// names = subjectService.selectByIds(ids)
|
// .stream().map(Subject::getName).collect(Collectors.joining(","));
|
// }
|
// Integer userId = examPaperUserService.getByPaperIdAndCreatUser(e.getExamPaperId(), e.getCreateUser());
|
// if(userId == null){
|
// return null;
|
// }
|
// e.setUserName(user.getRealName());
|
// }
|
// List<ExamPaperAnswer> collect = list.getList().stream()
|
// .filter(exam -> exam != null)
|
// .collect(Collectors.toList());
|
// ArrayList<ExamPaperAnswer> list2 = new ArrayList<>();
|
// Map<String, Long> collect1 = collect.stream().collect(Collectors.groupingBy(ExamPaperAnswer::getPaperName, Collectors.counting()));
|
// collect.forEach(t->t.setCounts(Math.toIntExact(collect1.getOrDefault(t.getPaperName(),0L))));
|
// Map<String, List<ExamPaperAnswer>> collect2 = collect.stream().collect(Collectors.groupingBy(ExamPaperAnswer::getUserName));
|
// List<ExamPaperAnswer> filteredList1 = new ArrayList<>();
|
// Set<String> uniqueUserNames = new HashSet<>();
|
// collect2.forEach((key, value) -> {
|
// value.forEach(item -> {
|
// item.setUserName(key);
|
// item.setCounts(value.size());
|
// });
|
// list2.addAll(value);
|
// });
|
// for (ExamPaperAnswer item : list2) {
|
// if (uniqueUserNames.add(item.getUserName())) {
|
// filteredList1.add(item);
|
// }
|
// }
|
PageHelper.startPage(grade.getPageIndex(), grade.getPageSize());
|
PageInfo<ExamPaperAnswer> pageInfoPageInfo = new PageInfo<>(filteredList9);
|
return RestResponse.ok(pageInfoPageInfo);
|
}
|
|
@RequestMapping(value = "/details", method = RequestMethod.POST)
|
public RestResponse<PageInfo<ExamPaperAnswer>> selectSource(@RequestBody ScoreTemplatesCountVO scoreTemplatesCountVO) throws Exception {
|
return RestResponse.ok(examPaperAnswerService.getByCreatUser(scoreTemplatesCountVO));
|
|
}
|
@RequestMapping(value = "/updates", method = RequestMethod.POST)
|
public void updateDepartment(){
|
List<User> users = userService.getUsers();
|
for (User user : users) {
|
Integer id = user.getId();
|
Integer userLevel = user.getUserLevel();
|
UserDepartment userDepartment = userDepartMentService.selectByUser(id);
|
if (userDepartment!=null){
|
userDepartment.setDepartmentId(userLevel);
|
userDepartMentService.updateUserDepartMent(userDepartment);
|
}
|
}
|
}
|
|
|
|
}
|