| | |
| | | import com.github.pagehelper.PageInfo; |
| | | import com.mindskip.xzs.base.BaseApiController; |
| | | import com.mindskip.xzs.base.RestResponse; |
| | | import com.mindskip.xzs.context.WebContext; |
| | | 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.DepartmentMapper; |
| | | import com.mindskip.xzs.repository.ExamPaperAnswerMapper; |
| | | import com.mindskip.xzs.repository.UserDepartmentMapper; |
| | | import com.mindskip.xzs.repository.UserMapper; |
| | | import com.mindskip.xzs.service.*; |
| | | import com.mindskip.xzs.viewmodel.admin.paper.ExamPaperGradePageRequestVM; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import com.mindskip.xzs.viewmodel.admin.paper.ExamPaperGradeQuery; |
| | | import lombok.RequiredArgsConstructor; |
| | | import org.apache.commons.lang3.ObjectUtils; |
| | | 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") |
| | | @RequiredArgsConstructor |
| | | public class ExamPaperGradeController extends BaseApiController { |
| | | |
| | | private final ExamPaperAnswerService examPaperAnswerService; |
| | | |
| | | private final SubjectService subjectService; |
| | | private final UserService userService; |
| | | private final UserMapper userMapper; |
| | | private final ExamPaperSubjectService examPaperSubjectService; |
| | | |
| | | private final ScoreTemplatesUserCountService scoreTemplatesUserCountService; |
| | | |
| | | private final ExamPaperUserService examPaperUserService; |
| | | |
| | | private final UserDepartMentService userDepartMentService; |
| | | |
| | | private final UserDepartmentMapper userDepartmentMapper; |
| | | private final ExamPaperAnswerMapper examPaperAnswerMapper; |
| | | private final WebContext webContext; |
| | | private final DepartmentMapper departmentMapper; |
| | | |
| | | @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) |
| | |
| | | // } |
| | | |
| | | @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); |
| | | public RestResponse<PageInfo<ExamPaperAnswer>> pageJudgeList(@RequestBody ExamPaperGradeQuery query) { |
| | | // 如果是部门管理员,需要做数据权限 |
| | | query.setDeptId(ObjectUtils.isNotEmpty(query.getDeptId()) ? query.getDeptId() : getAdminDeptIds()); |
| | | query.setFullTime(); |
| | | // 查询 |
| | | PageInfo<ExamPaperAnswer> info = PageHelper.startPage(query.getPageIndex(), query.getPageSize()).doSelectPageInfo(() -> |
| | | userMapper.getUserByDept(query)); |
| | | return RestResponse.ok(info); |
| | | } |
| | | |
| | | @RequestMapping(value = "/details", method = RequestMethod.POST) |
| | | public RestResponse<PageInfo<ExamPaperAnswer>> selectSource(@RequestBody ScoreTemplatesCountVO scoreTemplatesCountVO) throws Exception { |
| | | return RestResponse.ok(examPaperAnswerService.getByCreatUser(scoreTemplatesCountVO)); |
| | | public RestResponse<PageInfo<ExamPaperAnswer>> selectSource(@RequestBody ExamPaperGradeQuery query) throws Exception { |
| | | return RestResponse.ok(examPaperAnswerService.getByCreatUser(query)); |
| | | |
| | | } |
| | | @RequestMapping(value = "/updates", method = RequestMethod.POST) |
| | | public void updateDepartment(){ |
| | | |
| | | @RequestMapping(value = "/updates", method = RequestMethod.GET) |
| | | 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); |
| | | } |
| | | UserDepartment userDepartment = new UserDepartment(); |
| | | userDepartment.setUserId(id); |
| | | userDepartment.setDepartmentId(userLevel); |
| | | userDepartMentService.insert(userDepartment); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | } |