package cn.ds.controller;
import cn.ds.pojo.Exam.*;
import cn.ds.pojo.Student;
import cn.ds.pojo.Teacher;
import cn.ds.service.ExamService;
import cn.ds.service.StudentService;
import cn.ds.service.TeacherService;
import cn.ds.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.*;
@Controller
@RequestMapping("/exam")
public class ExamController {
@Autowired
private TeacherService teacherService;
@Autowired
private ExamService examService;
@Autowired
private UserService userService;
@Autowired
private StudentService studentService;
//2019.1.3添加
@RequestMapping("/addexam")
public String addexam(Model model){
List<Teacher> teachers = userService.findTeacherAll();
model.addAttribute("teacher",teachers);
return "page/teacher/addexam";
}
@RequestMapping("/adminaddexam")
public String AdminAddExam(Model model){
List<Teacher> teachers = userService.findTeacherAll();
model.addAttribute("teacher",teachers);
return "page/admin/addexam";
}
@RequestMapping("/examadd") //添加考试
public String examadd(ExamInformation examInformation){
examService.CreateExam(examInformation);
List<PaperJudge>paperJudges = examService.RandJudge((long) examInformation.getJudgenum(),examInformation.getChaptertwo(),examInformation.getDifficulty());
List<PaperChoice>paperChoices = examService.RandChoice((long) examInformation.getChoicenum(),examInformation.getChaptertwo(),examInformation.getDifficulty());
System.out.println("返回的id" + examInformation.getId());
for (int i = 0;i<paperChoices.size();i++){
System.out.println("生成的题目" +paperChoices.get(i).getContent());
paperChoices.get(i).setExamid(examInformation.getId());
}
examService.insertRandChoice(paperChoices);
System.out.println("选择题生成成功");
for (int i = 0;i<paperJudges.size();i++){
System.out.println("生成的题目" +paperJudges.get(i).getContent());
paperJudges.get(i).setExamid(examInformation.getId());
}
examService.insertRandJudge(paperJudges);
System.out.println("判断题生成成功");
return "redirect:examall.do";
}
@RequestMapping("/adminexamadd") //添加考试
public String Adminexamadd(ExamInformation examInformation){
examService.CreateExam(examInformation);
List<PaperJudge>paperJudges = examService.RandJudge((long) examInformation.getJudgenum(),examInformation.getChaptertwo(),examInformation.getDifficulty());
List<PaperChoice>paperChoices = examService.RandChoice((long) examInformation.getChoicenum(),examInformation.getChaptertwo(),examInformation.getDifficulty());
System.out.println("返回的id" + examInformation.getId());
for (int i = 0;i<paperChoices.size();i++){
System.out.println("生成的题目" +paperChoices.get(i).getContent());
paperChoices.get(i).setExamid(examInformation.getId());
}
examService.insertRandChoice(paperChoices);
System.out.println("选择题生成成功");
for (int i = 0;i<paperJudges.size();i++){
System.out.println("生成的题目" +paperJudges.get(i).getContent());
paperJudges.get(i).setExamid(examInformation.getId());
}
examService.insertRandJudge(paperJudges);
System.out.println("判断题生成成功");
return "redirect:allexam.do";
}
@RequestMapping("/examall")
public String ExamAll(Model model){
List<ExamInformation>examInfos = examService.AllExam();
model.addAttribute("examInfo",examInfos);
return "page/teacher/exam_info";
}
@RequestMapping("detail")
public String ExamDetail(@RequestParam int examid, Model model){
System.out.println("考试id" +examid);
List<PaperChoice>paperChoices = examService.AllPaperChoice(examid);
List<PaperJudge>paperJudges = examService.AllPaperJudge(examid);
ExamInformation examInformations = examService.findById(examid);
model.addAttribute("choice",paperChoices);
model.addAttribute("judge",paperJudges);
model.addAttribute("examinfo",examInformations);
return "page/teacher/exam_detail";
}
@RequestMapping("admindetail")
public String AdminExamDetail(@RequestParam int examid, Model model){
List<PaperChoice>paperChoices = examService.AllPaperChoice(examid);
List<PaperJudge>paperJudges = examService.AllPaperJudge(examid);
ExamInformation examInformations = examService.findById(examid);
model.addAttribute("choice",paperChoices);
model.addAttribute("judge",paperJudges);
model.addAttribute("examinfo",examInformations);
return "page/admin/exam_detail";
}
@RequestMapping("deleteexam")
public String DeleteExam(@RequestParam int examid){
examService.DeletePaperChoice(examid);
examService.DeletePaperJudge(examid);
examService.DeleteExamInfo(examid);
return "redirect:examall.do";
}
@RequestMapping("admindeleteexam")
public String AdminDeleteExam(@RequestParam int examid){
System.out.println("删除的考试id"+ examid);
examService.DeletePaperChoice(examid);
examService.DeletePaperJudge(examid);
examService.DeleteExamInfo(examid);
return "redirect:allexam.do";
}
//管理员查询
@RequestMapping("/allexam")
public String AllExam(Model model){
List<ExamInformation>examInfos = examService.AllExam();
model.addAttribute("examInfo",examInfos);
return "page/admin/exam_info";
}
//根据考试id查询所有参加过考试的学生
@RequestMapping("/allexamstu")
public String AllExamStu(@RequestParam int examid,Model model){
Map<Long, Long> map = new HashMap<>();
List<ExamHistory>examHistories = examService.ByExamId(examid);
List<Long>longList = new ArrayList<Long>();
List<Student>students = new ArrayList<Student>();
for(int i = 0;i < examHistories.size();i++){
map.put(examHistories.get(i).getStudentid(),examHistories.get(i).getScore());
longList.add(examHistories.get(i).getStudentid());
}
if(longList.isEmpty()){
students.add(null);
}
else {
students = studentService.AllStudent(longList);
for (int i = 0; i < examHistories.size(); i++) {
students.get(i).setId(map.get(students.get(i).getId()));
}
Collections.sort(students, new Comparator<Student>() {//按score排序
public int compare(Student p1, Student p2) {
if (p1.getId() < p2.getId()) {
return 1;
}
if (p1.getId() == p2.getId()) {
return 0;
}
return -1;
}
});
}
model.addAttribute("student",students);
return "page/admin/exam_allstudent";
}
//老师页根据考试id查询所有参加过考试的学生
@RequestMapping("/allstuexam")
public String AllStuExam(@RequestParam int examid,Model model){
Map<Long, Long> map = new HashMap<>();
List<ExamHistory>examHistories = examService.ByExamId(examid);
List<Long>longList = new ArrayList<Long>();
List<Student>students = new ArrayList<Student>();
for(int i = 0;i < examHistories.size();i++){
map.put(examHistories.get(i).getStudentid()
没有合适的资源?快使用搜索试试~ 我知道了~
SSM(Bootstrap+Jquery)在线考试系统-examsystem.zip
共639个文件
class:108个
js:86个
jar:78个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 131 浏览量
2024-01-31
20:32:50
上传
评论
收藏 69.36MB ZIP 举报
温馨提示
SSM(Bootstrap+Jquery)在线考试系统-examsystem
资源推荐
资源详情
资源评论
收起资源包目录
SSM(Bootstrap+Jquery)在线考试系统-examsystem.zip (639个子文件)
UserExample$GeneratedCriteria.class 12KB
ItemsExample$GeneratedCriteria.class 11KB
OrdersExample$GeneratedCriteria.class 11KB
OrderdetailExample$GeneratedCriteria.class 9KB
UserController.class 8KB
UserController.class 8KB
UserExample$Criteria.class 8KB
ItemsExample$Criteria.class 8KB
OrdersExample$Criteria.class 8KB
OrderdetailExample$Criteria.class 6KB
ExcelUtils.class 4KB
ExcelUtils.class 4KB
StudentServiceImpl.class 4KB
StudentServiceImpl.class 4KB
UserServiceImpl.class 4KB
UserServiceImpl.class 4KB
CustomerController.class 3KB
CustomerController.class 3KB
StudentController.class 3KB
StudentController.class 3KB
Choice.class 2KB
Choice.class 2KB
ItemsController.class 2KB
OrderdetailExample$Criterion.class 2KB
CustomerServiceImpl.class 2KB
CustomerServiceImpl.class 2KB
OrdersExample$Criterion.class 2KB
ItemsExample$Criterion.class 2KB
UserExample$Criterion.class 2KB
OrderdetailExample.class 2KB
PageBean.class 2KB
PageBean.class 2KB
OrdersExample.class 2KB
TeacherController.class 2KB
TeacherController.class 2KB
ItemsExample.class 2KB
UserExample.class 2KB
BasicifnoController.class 2KB
BasicifnoController.class 2KB
Msg.class 2KB
Msg.class 2KB
Items.class 2KB
ReadProgram.class 2KB
ReadProgram.class 2KB
ExcelBean.class 2KB
ExcelBean.class 2KB
ItemsServiceImpl.class 2KB
Student.class 2KB
Student.class 2KB
User.class 2KB
Orders.class 1KB
CommonInterceptor.class 1KB
CommonInterceptor.class 1KB
Point1.class 1KB
Point1.class 1KB
Customer.class 1KB
Customer.class 1KB
Point2.class 1KB
Point2.class 1KB
BasicInfoImpl.class 1KB
BasicInfoImpl.class 1KB
CustomDateConverter.class 1KB
Orderdetail.class 1KB
UserService.class 1KB
UserService.class 1KB
CustomPropertyEditor.class 984B
User.class 981B
User.class 981B
ItemsMapper.class 962B
Teacher.class 962B
Teacher.class 962B
UserMapper.class 941B
UserMapper.class 941B
OrderdetailMapper.class 877B
OrdersMapper.class 827B
UserMapper.class 807B
TeacherServiceImpl.class 774B
TeacherServiceImpl.class 774B
Semester.class 746B
Semester.class 746B
Major.class 737B
Major.class 737B
Class.class 731B
Class.class 731B
StudentMapper.class 548B
StudentMapper.class 548B
ItemsQueryVo.class 532B
BasicInfoMapper.class 510B
BasicInfoMapper.class 510B
BasicInfoService.class 456B
BasicInfoService.class 456B
CustomerMapper.class 455B
CustomerMapper.class 455B
ItemsService.class 428B
CustomerService.class 380B
CustomerService.class 380B
BaseService.class 375B
BaseService.class 375B
KnowledgeServiceImpl.class 323B
KnowledgeServiceImpl.class 323B
共 639 条
- 1
- 2
- 3
- 4
- 5
- 6
- 7
资源评论
武昌库里写JAVA
- 粉丝: 3228
- 资源: 1925
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功