diff --git a/ruoyi-exam/src/main/java/com/ruoyi/exam/controller/ApiExaminationController.java b/ruoyi-exam/src/main/java/com/ruoyi/exam/controller/ApiExaminationController.java index 5def83426..a74360d0a 100644 --- a/ruoyi-exam/src/main/java/com/ruoyi/exam/controller/ApiExaminationController.java +++ b/ruoyi-exam/src/main/java/com/ruoyi/exam/controller/ApiExaminationController.java @@ -286,8 +286,15 @@ public class ApiExaminationController extends BaseController { return success; } + @GetMapping("/v1/examination/userexamination/detail/{id}") + public AjaxResult detail(@PathVariable Integer id) { + ExamUserExaminationVO data = examUserExaminationService.selectDetailById(id); + AjaxResult success = success("考试完成"); + success.put("data", data); + return success; + } } diff --git a/ruoyi-exam/src/main/java/com/ruoyi/exam/controller/ExamUserExaminationController.java b/ruoyi-exam/src/main/java/com/ruoyi/exam/controller/ExamUserExaminationController.java new file mode 100644 index 000000000..1a7af04b8 --- /dev/null +++ b/ruoyi-exam/src/main/java/com/ruoyi/exam/controller/ExamUserExaminationController.java @@ -0,0 +1,125 @@ +package com.ruoyi.exam.controller; + +import java.util.List; +import java.util.Map; + +import com.ruoyi.exam.domain.ExamUserExaminationVO; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; +import org.springframework.web.bind.annotation.*; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.exam.domain.ExamUserExamination; +import com.ruoyi.exam.service.IExamUserExaminationService; +import com.ruoyi.framework.web.base.BaseController; +import com.ruoyi.framework.web.page.TableDataInfo; +import com.ruoyi.common.base.AjaxResult; +import com.ruoyi.common.utils.ExcelUtil; + +/** + * 我的考试记录 信息操作处理 + * + * @author zhujj + * @date 2019-01-12 + */ +@Controller +@RequestMapping("/exam/examUserExamination") +public class ExamUserExaminationController extends BaseController +{ + private String prefix = "exam/examUserExamination"; + + @Autowired + private IExamUserExaminationService examUserExaminationService; + + @RequiresPermissions("exam:examUserExamination:view") + @GetMapping() + public String examUserExamination() + { + return prefix + "/examUserExamination"; + } + + /** + * 查询我的考试记录列表 + */ + @RequiresPermissions("exam:examUserExamination:list") + @PostMapping("/list") + @ResponseBody + public TableDataInfo list(@RequestParam Map map) + { + List list = examUserExaminationService.selectMyExamUserExamination(map); + return getDataTable(list); + } + + + /** + * 导出我的考试记录列表 + */ + @RequiresPermissions("exam:examUserExamination:export") + @PostMapping("/export") + @ResponseBody + public AjaxResult export(ExamUserExamination examUserExamination) + { + List list = examUserExaminationService.selectExamUserExaminationList(examUserExamination); + ExcelUtil util = new ExcelUtil(ExamUserExamination.class); + return util.exportExcel(list, "examUserExamination"); + } + + /** + * 新增我的考试记录 + */ + @GetMapping("/add") + public String add() + { + return prefix + "/add"; + } + + /** + * 新增保存我的考试记录 + */ + @RequiresPermissions("exam:examUserExamination:add") + @Log(title = "我的考试记录", businessType = BusinessType.INSERT) + @PostMapping("/add") + @ResponseBody + public AjaxResult addSave(ExamUserExamination examUserExamination) + { + return toAjax(examUserExaminationService.insert(examUserExamination)); + } + + /** + * 修改我的考试记录 + */ + @GetMapping("/edit/{id}") + public String edit(@PathVariable("id") Integer id, ModelMap mmap) + { + ExamUserExamination examUserExamination = examUserExaminationService.selectById(id); + mmap.put("examUserExamination", examUserExamination); + return prefix + "/edit"; + } + + /** + * 修改保存我的考试记录 + */ + @RequiresPermissions("exam:examUserExamination:edit") + @Log(title = "我的考试记录", businessType = BusinessType.UPDATE) + @PostMapping("/edit") + @ResponseBody + public AjaxResult editSave(ExamUserExamination examUserExamination) + { + return toAjax(examUserExaminationService.updateById(examUserExamination)); + } + + /** + * 删除我的考试记录 + */ + @RequiresPermissions("exam:examUserExamination:remove") + @Log(title = "我的考试记录", businessType = BusinessType.DELETE) + @PostMapping( "/remove") + @ResponseBody + public AjaxResult remove(String ids) + { + return toAjax(examUserExaminationService.deleteByIds(ids)); + } + +} diff --git a/ruoyi-exam/src/main/java/com/ruoyi/exam/domain/ExamUserExaminationQuestionVO.java b/ruoyi-exam/src/main/java/com/ruoyi/exam/domain/ExamUserExaminationQuestionVO.java new file mode 100644 index 000000000..3344e9bed --- /dev/null +++ b/ruoyi-exam/src/main/java/com/ruoyi/exam/domain/ExamUserExaminationQuestionVO.java @@ -0,0 +1,40 @@ +package com.ruoyi.exam.domain; + +import java.util.List; + +/** + * Created by flower on 2019/1/16. + */ +public class ExamUserExaminationQuestionVO extends ExamUserExaminationQuestion{ + + + private String answer; + + private String title; + + private List questionItems; + + public String getAnswer() { + return answer; + } + + public void setAnswer(String answer) { + this.answer = answer; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public List getQuestionItems() { + return questionItems; + } + + public void setQuestionItems(List questionItems) { + this.questionItems = questionItems; + } +} diff --git a/ruoyi-exam/src/main/java/com/ruoyi/exam/domain/ExamUserExaminationVO.java b/ruoyi-exam/src/main/java/com/ruoyi/exam/domain/ExamUserExaminationVO.java index be282c4cf..f1028095a 100644 --- a/ruoyi-exam/src/main/java/com/ruoyi/exam/domain/ExamUserExaminationVO.java +++ b/ruoyi-exam/src/main/java/com/ruoyi/exam/domain/ExamUserExaminationVO.java @@ -1,5 +1,7 @@ package com.ruoyi.exam.domain; +import java.util.List; + /** * Created by flower on 2019/1/14. */ @@ -7,6 +9,30 @@ public class ExamUserExaminationVO extends ExamUserExamination{ private ExamExaminationVO examExaminationVO; + private String userName; + + private String examPaperName; + + private List examUserExaminationQuestions; + + public String getExamPaperName() { + return examPaperName; + } + + public void setExamPaperName(String examPaperName) { + this.examPaperName = examPaperName; + } + + public String getUserName() { + return userName; + } + + public void setUserName(String userName) { + this.userName = userName; + } + + + public ExamExaminationVO getExamExaminationVO() { return examExaminationVO; } @@ -14,4 +40,12 @@ public class ExamUserExaminationVO extends ExamUserExamination{ public void setExamExaminationVO(ExamExaminationVO examExaminationVO) { this.examExaminationVO = examExaminationVO; } + + public List getExamUserExaminationQuestions() { + return examUserExaminationQuestions; + } + + public void setExamUserExaminationQuestions(List examUserExaminationQuestions) { + this.examUserExaminationQuestions = examUserExaminationQuestions; + } } diff --git a/ruoyi-exam/src/main/java/com/ruoyi/exam/mapper/ExamUserExaminationMapper.java b/ruoyi-exam/src/main/java/com/ruoyi/exam/mapper/ExamUserExaminationMapper.java index b04c8a900..5b3a518e0 100644 --- a/ruoyi-exam/src/main/java/com/ruoyi/exam/mapper/ExamUserExaminationMapper.java +++ b/ruoyi-exam/src/main/java/com/ruoyi/exam/mapper/ExamUserExaminationMapper.java @@ -1,34 +1,40 @@ package com.ruoyi.exam.mapper; import com.ruoyi.exam.domain.ExamUserExamination; + import java.util.List; +import java.util.Map; import com.ruoyi.exam.domain.ExamUserExaminationVO; import com.ruoyi.framework.web.base.MyMapper; /** * 我的考试记录 数据层 - * + * * @author zhujj * @date 2019-01-12 */ -public interface ExamUserExaminationMapper extends MyMapper -{ +public interface ExamUserExaminationMapper extends MyMapper { - /** + /** * 查询我的考试记录列表 - * + * * @param examUserExamination 我的考试记录信息 * @return 我的考试记录集合 */ - public List selectExamUserExaminationList(ExamUserExamination examUserExamination); + public List selectExamUserExaminationList(ExamUserExamination examUserExamination); List selectLastOne(ExamUserExamination examUserExamination); /** * 查询我的考试记录 + * * @param bean * @return */ List selectMyExamUserExamination(ExamUserExaminationVO bean); + + List selectMyExamUserExamination(Map map); + + ExamUserExaminationVO selectDetailById(Integer id); } \ No newline at end of file diff --git a/ruoyi-exam/src/main/java/com/ruoyi/exam/service/IExamUserExaminationService.java b/ruoyi-exam/src/main/java/com/ruoyi/exam/service/IExamUserExaminationService.java index 4c2abd174..fba905f23 100644 --- a/ruoyi-exam/src/main/java/com/ruoyi/exam/service/IExamUserExaminationService.java +++ b/ruoyi-exam/src/main/java/com/ruoyi/exam/service/IExamUserExaminationService.java @@ -2,6 +2,7 @@ package com.ruoyi.exam.service; import com.ruoyi.exam.domain.ExamUserExamination; import java.util.List; +import java.util.Map; import com.ruoyi.exam.domain.ExamUserExaminationVO; import com.ruoyi.framework.web.base.AbstractBaseService; @@ -40,4 +41,9 @@ public interface IExamUserExaminationService extends AbstractBaseService selectMyExamUserExamination(ExamUserExaminationVO bean); + + List selectMyExamUserExamination(Map map); + + //查询考试记录详情 + ExamUserExaminationVO selectDetailById(Integer id); } diff --git a/ruoyi-exam/src/main/java/com/ruoyi/exam/service/impl/ExamUserExaminationServiceImpl.java b/ruoyi-exam/src/main/java/com/ruoyi/exam/service/impl/ExamUserExaminationServiceImpl.java index 3b76927be..057b40e0c 100644 --- a/ruoyi-exam/src/main/java/com/ruoyi/exam/service/impl/ExamUserExaminationServiceImpl.java +++ b/ruoyi-exam/src/main/java/com/ruoyi/exam/service/impl/ExamUserExaminationServiceImpl.java @@ -1,6 +1,7 @@ package com.ruoyi.exam.service.impl; import java.util.List; +import java.util.Map; import com.ruoyi.exam.domain.ExamUserExaminationVO; import org.springframework.beans.factory.annotation.Autowired; @@ -56,6 +57,18 @@ public class ExamUserExaminationServiceImpl extends AbstractBaseServiceImpl selectMyExamUserExamination(Map map) { + startPage(); + return examUserExaminationMapper.selectMyExamUserExamination(map); + } + + @Override + public ExamUserExaminationVO selectDetailById(Integer id) { + + return examUserExaminationMapper.selectDetailById(id); + } + /** * 查询我的考试记录分页列表 * diff --git a/ruoyi-exam/src/main/resources/mapper/exam/ExamUserExaminationMapper.xml b/ruoyi-exam/src/main/resources/mapper/exam/ExamUserExaminationMapper.xml index af2147fc5..29a35c68f 100644 --- a/ruoyi-exam/src/main/resources/mapper/exam/ExamUserExaminationMapper.xml +++ b/ruoyi-exam/src/main/resources/mapper/exam/ExamUserExaminationMapper.xml @@ -22,13 +22,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + - + - + @@ -40,8 +42,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - - + + @@ -50,9 +52,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + - + @@ -63,7 +65,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" exam_user_examination.id, exam_user_examination.vip_user_id, exam_user_examination.exam_examination_id, - exam_user_examination.exam_paper_id, score, + exam_user_examination.exam_paper_id, + exam_user_examination.score, exam_user_examination.create_by, exam_user_examination.create_date, exam_user_examination.update_by, @@ -118,10 +121,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ee.type as v_type, ee.enable_control_time as v_enable_control_time, ee.start_time as v_start_time, - ee.end_time as v_end_time + ee.end_time as v_end_time, + su.user_name as user_name, + ep.name as exam_paper_name from exam_user_examination exam_user_examination INNER JOIN exam_examination ee ON exam_user_examination.exam_examination_id = ee.id INNER JOIN train_course tc ON ee.train_course_id = tc.id + INNER JOIN sys_user su ON exam_user_examination.vip_user_id = su.user_id + INNER JOIN exam_paper ep ON ep.id = exam_user_examination.exam_paper_id and id = #{id} and vip_user_id = #{vipUserId} @@ -134,9 +141,64 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and update_date = #{updateDate} and remarks = #{remarks} and del_flag = #{delFlag} + + + + and su.user_name = #{userName} + and tc.name = #{trainCourseName} + and ep.name = #{examPaperName} + and ee.type = #{type} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ruoyi-exam/src/main/resources/templates/exam/examUserExamination/add.html b/ruoyi-exam/src/main/resources/templates/exam/examUserExamination/add.html new file mode 100644 index 000000000..6a31c3484 --- /dev/null +++ b/ruoyi-exam/src/main/resources/templates/exam/examUserExamination/add.html @@ -0,0 +1,88 @@ + + + + + +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+
+
+ + + diff --git a/ruoyi-exam/src/main/resources/templates/exam/examUserExamination/edit.html b/ruoyi-exam/src/main/resources/templates/exam/examUserExamination/edit.html new file mode 100644 index 000000000..457fcd8e0 --- /dev/null +++ b/ruoyi-exam/src/main/resources/templates/exam/examUserExamination/edit.html @@ -0,0 +1,89 @@ + + + + + +
+
+ +
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+
+
+ + + diff --git a/ruoyi-exam/src/main/resources/templates/exam/examUserExamination/examUserExamination.html b/ruoyi-exam/src/main/resources/templates/exam/examUserExamination/examUserExamination.html new file mode 100644 index 000000000..f94901c2c --- /dev/null +++ b/ruoyi-exam/src/main/resources/templates/exam/examUserExamination/examUserExamination.html @@ -0,0 +1,138 @@ + + + + + + +
+
+
+
+
+
    +
  • + 学员名称: +
  • + +
  • + 课程名称: +
  • + +
  • + 试卷名称: +
  • + +
  • + 考试类型: +
  • + +
  • +  搜索 +  重置 +
  • +
+
+
+
+ + + + + + + + + + + + + + + +
+
+
+
+
+
+ + + \ No newline at end of file