完善考试记录,考试交卷
This commit is contained in:
parent
3bc8c3518c
commit
05b007dc6a
|
|
@ -4,6 +4,7 @@ import com.github.pagehelper.PageInfo;
|
||||||
import com.ruoyi.common.base.AjaxResult;
|
import com.ruoyi.common.base.AjaxResult;
|
||||||
import com.ruoyi.exam.domain.*;
|
import com.ruoyi.exam.domain.*;
|
||||||
import com.ruoyi.exam.service.*;
|
import com.ruoyi.exam.service.*;
|
||||||
|
import com.ruoyi.exam.service.impl.ExamExaminationServiceImpl;
|
||||||
import com.ruoyi.framework.jwt.JwtUtil;
|
import com.ruoyi.framework.jwt.JwtUtil;
|
||||||
import com.ruoyi.framework.web.exception.base.BaseException;
|
import com.ruoyi.framework.web.exception.base.BaseException;
|
||||||
import com.ruoyi.framework.web.util.ShiroUtils;
|
import com.ruoyi.framework.web.util.ShiroUtils;
|
||||||
|
|
@ -12,10 +13,7 @@ import com.ruoyi.system.service.ISysUserService;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Controller;
|
import org.springframework.stereotype.Controller;
|
||||||
import org.springframework.ui.ModelMap;
|
import org.springframework.ui.ModelMap;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import org.springframework.web.bind.annotation.PathVariable;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.bind.annotation.ResponseBody;
|
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
|
|
@ -145,5 +143,18 @@ public class CmsExaminationController {
|
||||||
return prefix+"detail";
|
return prefix+"detail";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@RequestMapping("/examination/finish/{examUserExaminationId}/{examinationId}/{paperId}")
|
||||||
|
@ResponseBody
|
||||||
|
public AjaxResult finish(@RequestBody List<ExamUserExaminationQuestion> examUserExaminationQuestion,
|
||||||
|
@PathVariable Integer examUserExaminationId, @PathVariable Integer examinationId, @PathVariable Integer paperId,ModelMap map) {
|
||||||
|
SysUser sysUser = ShiroUtils.getSysUser();
|
||||||
|
//交卷然后返回考试记录id
|
||||||
|
Integer id = examExaminationService.finshExamination(examUserExaminationQuestion,sysUser,examUserExaminationId,examinationId,paperId);
|
||||||
|
ExamUserExaminationVO data = examUserExaminationService.selectDetailById( id );
|
||||||
|
AjaxResult success = AjaxResult.success( "报名成功" );
|
||||||
|
success.put("id",id);
|
||||||
|
return success;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,13 @@
|
||||||
package com.ruoyi.cms.controller;
|
package com.ruoyi.cms.controller;
|
||||||
|
|
||||||
|
import com.github.pagehelper.PageInfo;
|
||||||
import com.ruoyi.common.base.AjaxResult;
|
import com.ruoyi.common.base.AjaxResult;
|
||||||
import com.ruoyi.exam.domain.*;
|
import com.ruoyi.exam.domain.*;
|
||||||
import cn.hutool.extra.servlet.ServletUtil;
|
import cn.hutool.extra.servlet.ServletUtil;
|
||||||
import com.ruoyi.exam.domain.ExamPractice;
|
import com.ruoyi.exam.domain.ExamPractice;
|
||||||
import com.ruoyi.exam.domain.ExamUserErrorQuestion;
|
import com.ruoyi.exam.domain.ExamUserErrorQuestion;
|
||||||
import com.ruoyi.exam.domain.ExamUserErrorQuestionVO;
|
import com.ruoyi.exam.domain.ExamUserErrorQuestionVO;
|
||||||
import com.ruoyi.exam.service.IExamPracticeService;
|
import com.ruoyi.exam.service.*;
|
||||||
import com.ruoyi.exam.service.IExamUserCollectionQuestionService;
|
|
||||||
import com.ruoyi.exam.service.IExamUserErrorQuestionService;
|
|
||||||
import com.ruoyi.framework.jwt.JwtUtil;
|
import com.ruoyi.framework.jwt.JwtUtil;
|
||||||
import com.ruoyi.framework.web.util.ServletUtils;
|
import com.ruoyi.framework.web.util.ServletUtils;
|
||||||
import com.ruoyi.framework.web.util.ShiroUtils;
|
import com.ruoyi.framework.web.util.ShiroUtils;
|
||||||
|
|
@ -31,6 +30,7 @@ import org.springframework.web.bind.annotation.PathVariable;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.ResponseBody;
|
import org.springframework.web.bind.annotation.ResponseBody;
|
||||||
import org.springframework.web.servlet.ModelAndView;
|
import org.springframework.web.servlet.ModelAndView;
|
||||||
|
import sun.awt.image.IntegerComponentRaster;
|
||||||
|
|
||||||
import javax.servlet.http.Cookie;
|
import javax.servlet.http.Cookie;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
@ -56,6 +56,9 @@ public class CmsUserController {
|
||||||
@Autowired
|
@Autowired
|
||||||
private IExamUserCollectionQuestionService examUserCollectionQuestionService;
|
private IExamUserCollectionQuestionService examUserCollectionQuestionService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IExamUserExaminationService examUserExaminationService;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@RequestMapping("/user/login.html")
|
@RequestMapping("/user/login.html")
|
||||||
|
|
@ -75,7 +78,7 @@ public class CmsUserController {
|
||||||
@RequestMapping("/user/index.html")
|
@RequestMapping("/user/index.html")
|
||||||
public String webUserIndex(ModelMap map) {
|
public String webUserIndex(ModelMap map) {
|
||||||
map.put( "user", ShiroUtils.getSysUser() );
|
map.put( "user", ShiroUtils.getSysUser() );
|
||||||
return prefix + "/user/index";
|
return prefix + "/user/set";
|
||||||
}
|
}
|
||||||
@RequestMapping("/user/home.html")
|
@RequestMapping("/user/home.html")
|
||||||
public String webUserHome(ModelMap map) {
|
public String webUserHome(ModelMap map) {
|
||||||
|
|
@ -159,4 +162,39 @@ public class CmsUserController {
|
||||||
AjaxResult success = AjaxResult.success("删除成功");
|
AjaxResult success = AjaxResult.success("删除成功");
|
||||||
return success;
|
return success;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@RequestMapping("/user/userexamination.html")
|
||||||
|
public String userExamquestion(ModelMap map) {
|
||||||
|
map.put( "user", ShiroUtils.getSysUser() );
|
||||||
|
return prefix + "/user/userexamination";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 我的考试记录
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@RequestMapping("/user/myuserexamination/list")
|
||||||
|
@ResponseBody
|
||||||
|
public AjaxResult userExamquestionList() {
|
||||||
|
ExamUserExaminationVO examUserExamination = new ExamUserExaminationVO();
|
||||||
|
examUserExamination.setVipUserId(ShiroUtils.getUserId().intValue());
|
||||||
|
List<ExamUserExaminationVO> list = examUserExaminationService.selectMyExamUserExamination(examUserExamination);
|
||||||
|
AjaxResult success = AjaxResult.success("查询成功");
|
||||||
|
success.put("total",new PageInfo(list).getTotal());
|
||||||
|
success.put( "data", list );
|
||||||
|
return success;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@RequestMapping("/user/myuserexamination/detail/{id}")
|
||||||
|
public String userExamquestion(@PathVariable Integer id, ModelMap map) {
|
||||||
|
|
||||||
|
map.put( "user", ShiroUtils.getSysUser() );
|
||||||
|
ExamUserExaminationVO data = examUserExaminationService.selectDetailById( id );
|
||||||
|
map.put( "data", data );
|
||||||
|
return prefix + "/user/userexamination_detail";
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -14,12 +14,14 @@
|
||||||
<div class="layui-col-md12">
|
<div class="layui-col-md12">
|
||||||
<div class="fly-panel">
|
<div class="fly-panel">
|
||||||
|
|
||||||
<div class="layui-col-md9">
|
<div class="layui-col-md12">
|
||||||
<div class="layui-col-md12">
|
<div class="layui-col-md12">
|
||||||
<div class="layui-card" style="text-align: center;">
|
<div class="layui-card" style="text-align: center;">
|
||||||
<span style="font-size: 30px;line-height: 60px">[[${examExamination.name}]]</span>
|
<span style="font-size: 30px;line-height: 60px">[[${examExamination.name}]]</span><br>
|
||||||
|
<button style="width: 100px;margin-bottom: 20px" class="layui-btn layui-btn-warm" onclick="endPaper()" >交卷</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="layui-card question" th:each="question:${data}">
|
<div class="layui-card question" th:each="question:${data}">
|
||||||
|
<input type="hidden" class="questionId" th:value="${question.id}">
|
||||||
<div class="layui-card-header">[[${questionStat.index+1}]]:<span
|
<div class="layui-card-header">[[${questionStat.index+1}]]:<span
|
||||||
th:text="${question.title}"></span>
|
th:text="${question.title}"></span>
|
||||||
<span th:if="${question.type=='1'}">(单选)</span>
|
<span th:if="${question.type=='1'}">(单选)</span>
|
||||||
|
|
@ -47,15 +49,14 @@
|
||||||
<!--</div>-->
|
<!--</div>-->
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="layui-card">
|
|
||||||
<button class="layui-btn layui-btn-warm" onclick="endPaper()" >交卷</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -84,18 +85,29 @@ document.write(unescape("%3Cspan id='cnzz_stat_icon_30088308'%3E%3C/span%3E%3Csc
|
||||||
function endPaper() {
|
function endPaper() {
|
||||||
var data = [];
|
var data = [];
|
||||||
$(".question").each(function(){
|
$(".question").each(function(){
|
||||||
|
var examQuestionId = $(this).find(".questionId").eq(0).val()
|
||||||
|
var userAnswer = "";
|
||||||
|
$(this).find("."+examQuestionId+"useranswer:checked").each(function(){
|
||||||
|
userAnswer+=$(this).val()+",";
|
||||||
|
})
|
||||||
|
userAnswer = userAnswer.substring(0,userAnswer.length-1)
|
||||||
|
|
||||||
|
data.push({examQuestionId:examQuestionId,userAnswer:userAnswer})
|
||||||
})
|
})
|
||||||
$.ajax({
|
$.ajax({
|
||||||
type: 'post',
|
type: 'post',
|
||||||
url: "/api/v1/examination/finish/"+[[${examUserExaminationId}]]+"/"+[[${examExamination.id}]]+"/"+[[${paperId}]],
|
url: "/web/examination/finish/"+[[${examUserExaminationId}]]+"/"+[[${examExamination.id}]]+"/"+[[${paperId}]],
|
||||||
contentType: "application/json",
|
contentType: "application/json",
|
||||||
data: JSON.stringify(data),
|
data: JSON.stringify(data),
|
||||||
success: function (result) {
|
success: function (result) {
|
||||||
if (result.code != web_status.SUCCESS) {
|
if (result.code != web_status.SUCCESS) {
|
||||||
$.modal.msgError(result.msg);
|
layer.msg(result.msg, {icon: 2})
|
||||||
|
}else{
|
||||||
|
layer.msg("已交卷", {icon: 1})
|
||||||
|
location.href="/web/user/myuserexamination/detail/"+result.id;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -40,6 +40,14 @@
|
||||||
</a>
|
</a>
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
<script type="text/html" id="type">
|
||||||
|
{{# if (d.type == "2"){ }}
|
||||||
|
正式考试
|
||||||
|
{{# }else { }}
|
||||||
|
模拟考试
|
||||||
|
{{# } }}
|
||||||
|
</script>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -84,6 +92,7 @@ document.write(unescape("%3Cspan id='cnzz_stat_icon_30088308'%3E%3C/span%3E%3Csc
|
||||||
{checkbox: true}
|
{checkbox: true}
|
||||||
, {field: 'name', title: '考试名称'}
|
, {field: 'name', title: '考试名称'}
|
||||||
, {field: 'trainCourseName', title: '课程名称'}
|
, {field: 'trainCourseName', title: '课程名称'}
|
||||||
|
,{field: 'type', title: '考试类型',templet: '#type'}
|
||||||
, {field: 'timeLength', title: '考试时长'}
|
, {field: 'timeLength', title: '考试时长'}
|
||||||
, {field: 'passMark', title: '及格分数'}
|
, {field: 'passMark', title: '及格分数'}
|
||||||
, {title: '操作', toolbar: '#barDemo'}
|
, {title: '操作', toolbar: '#barDemo'}
|
||||||
|
|
@ -162,6 +171,7 @@ document.write(unescape("%3Cspan id='cnzz_stat_icon_30088308'%3E%3C/span%3E%3Csc
|
||||||
{checkbox: true}
|
{checkbox: true}
|
||||||
, {field: 'name', title: '考试名称'}
|
, {field: 'name', title: '考试名称'}
|
||||||
, {field: 'trainCourseName', title: '课程名称'}
|
, {field: 'trainCourseName', title: '课程名称'}
|
||||||
|
,{field: 'type', title: '考试类型',templet: '#type'}
|
||||||
, {field: 'timeLength', title: '考试时长'}
|
, {field: 'timeLength', title: '考试时长'}
|
||||||
, {field: 'passMark', title: '及格分数'}
|
, {field: 'passMark', title: '及格分数'}
|
||||||
, {title: '操作', toolbar: '#signup'}
|
, {title: '操作', toolbar: '#signup'}
|
||||||
|
|
|
||||||
|
|
@ -46,6 +46,12 @@
|
||||||
我的收藏
|
我的收藏
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
<li class="layui-nav-item" id="userexamination">
|
||||||
|
<a th:href="@{/web/user/userexamination.html}">
|
||||||
|
<i class="layui-icon"></i>
|
||||||
|
考试记录
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<div class="site-tree-mobile layui-hide">
|
<div class="site-tree-mobile layui-hide">
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,10 @@ import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import com.ruoyi.exam.domain.ExamQuestionVO;
|
import com.ruoyi.exam.domain.ExamQuestionVO;
|
||||||
|
import com.ruoyi.exam.domain.ExamUserExaminationQuestion;
|
||||||
import com.ruoyi.framework.web.base.AbstractBaseService;
|
import com.ruoyi.framework.web.base.AbstractBaseService;
|
||||||
|
import com.ruoyi.system.domain.SysUser;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 考试 服务层
|
* 考试 服务层
|
||||||
*
|
*
|
||||||
|
|
@ -44,4 +47,6 @@ public interface IExamExaminationService extends AbstractBaseService<ExamExamina
|
||||||
List<ExamExamination> selectEnterNameListFromWeb(Map<String, Object> map);
|
List<ExamExamination> selectEnterNameListFromWeb(Map<String, Object> map);
|
||||||
|
|
||||||
List<ExamQuestionVO> queryExaminationQuestion(ExamExamination examExamination,Integer examUserExaminationId);
|
List<ExamQuestionVO> queryExaminationQuestion(ExamExamination examExamination,Integer examUserExaminationId);
|
||||||
|
|
||||||
|
Integer finshExamination(List<ExamUserExaminationQuestion> examUserExaminationQuestion, SysUser user, Integer examUserExaminationId, Integer examinationId, Integer paperId);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ package com.ruoyi.exam.service.impl;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.ruoyi.exam.domain.*;
|
import com.ruoyi.exam.domain.*;
|
||||||
import com.ruoyi.exam.service.*;
|
import com.ruoyi.exam.service.*;
|
||||||
import com.ruoyi.framework.web.exception.base.BaseException;
|
import com.ruoyi.framework.web.exception.base.BaseException;
|
||||||
|
|
@ -9,6 +10,7 @@ import com.ruoyi.framework.web.util.ShiroUtils;
|
||||||
import com.ruoyi.system.domain.SysUser;
|
import com.ruoyi.system.domain.SysUser;
|
||||||
import com.ruoyi.system.service.ISysUserService;
|
import com.ruoyi.system.service.ISysUserService;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.boot.autoconfigure.AutoConfigureOrder;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import com.ruoyi.exam.mapper.ExamExaminationMapper;
|
import com.ruoyi.exam.mapper.ExamExaminationMapper;
|
||||||
import com.ruoyi.common.support.Convert;
|
import com.ruoyi.common.support.Convert;
|
||||||
|
|
@ -25,6 +27,9 @@ public class ExamExaminationServiceImpl extends AbstractBaseServiceImpl<ExamExam
|
||||||
@Autowired
|
@Autowired
|
||||||
private ExamExaminationMapper examExaminationMapper;
|
private ExamExaminationMapper examExaminationMapper;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IExamExaminationService examExaminationService;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private IExamPaperService examPaperService;
|
private IExamPaperService examPaperService;
|
||||||
|
|
||||||
|
|
@ -34,6 +39,18 @@ public class ExamExaminationServiceImpl extends AbstractBaseServiceImpl<ExamExam
|
||||||
@Autowired
|
@Autowired
|
||||||
private ISysUserService sysUserService;
|
private ISysUserService sysUserService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IExamExaminationUserService examExaminationUserService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IExamUserExaminationQuestionService examUserExaminationQuestionService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IExamQuestionService examQuestionService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IExamPaperQuestionService examPaperQuestionService;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private IExamPaperTypeNumberService examPaperTypeNumberService;
|
private IExamPaperTypeNumberService examPaperTypeNumberService;
|
||||||
|
|
||||||
|
|
@ -168,6 +185,64 @@ public class ExamExaminationServiceImpl extends AbstractBaseServiceImpl<ExamExam
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Integer finshExamination(List<ExamUserExaminationQuestion> examUserExaminationQuestion,SysUser user ,Integer examUserExaminationId, Integer examinationId, Integer paperId) {
|
||||||
|
|
||||||
|
ArrayList<Map<String, String>> data = new ArrayList<>();
|
||||||
|
Integer userId = user.getUserId().intValue();
|
||||||
|
//如果是模拟考试,考试记录新增数据
|
||||||
|
if (examUserExaminationId == -1) {
|
||||||
|
ExamUserExamination insert = new ExamUserExamination();
|
||||||
|
insert.setExamExaminationId(examinationId);
|
||||||
|
insert.setVipUserId(Integer.parseInt(userId.toString()));
|
||||||
|
insert.setCreateDate(new Date());
|
||||||
|
insert.setExamPaperId(paperId);
|
||||||
|
insert.setDelFlag("0");
|
||||||
|
insert.setScore(0);
|
||||||
|
examUserExaminationService.insertOne(insert);
|
||||||
|
examUserExaminationId = insert.getId();
|
||||||
|
}
|
||||||
|
|
||||||
|
Integer score = 0;
|
||||||
|
for (ExamUserExaminationQuestion item : examUserExaminationQuestion) {
|
||||||
|
HashMap<String, String> returnItem = new HashMap<>();
|
||||||
|
String userAnswer = item.getUserAnswer();
|
||||||
|
//存入用户回答
|
||||||
|
if (StrUtil.isNotBlank(userAnswer)) {
|
||||||
|
returnItem.put("userAnswer", userAnswer);
|
||||||
|
}
|
||||||
|
Integer examQuestionId = item.getExamQuestionId();
|
||||||
|
ExamQuestion examQuestion = examQuestionService.selectById(examQuestionId);
|
||||||
|
//存入正确答案
|
||||||
|
if (StrUtil.isNotBlank(examQuestion.getAnswer())) {
|
||||||
|
returnItem.put("answer", examQuestion.getAnswer());
|
||||||
|
}
|
||||||
|
returnItem.put("title", examQuestion.getTitle());
|
||||||
|
returnItem.put("rightWrong", "错误");
|
||||||
|
if (examQuestion.getAnswer().equals(userAnswer)) {
|
||||||
|
ExamPaperQuestion examPaperQuestion = new ExamPaperQuestion();
|
||||||
|
examPaperQuestion.setExamPaperId(paperId);
|
||||||
|
examPaperQuestion.setExamQuestionId(examQuestionId);
|
||||||
|
score += examPaperQuestionService.selectExamPaperQuestionList(examPaperQuestion).get(0).getScore();
|
||||||
|
returnItem.put("rightWrong", "正确");
|
||||||
|
}
|
||||||
|
item.setExamUserExaminationId(examUserExaminationId);
|
||||||
|
item.setCreateDate(new Date());
|
||||||
|
item.setCreateBy(user.getLoginName());
|
||||||
|
item.setDelFlag("0");
|
||||||
|
item.setId(null);
|
||||||
|
examUserExaminationQuestionService.insertOne(item);
|
||||||
|
data.add(returnItem);
|
||||||
|
}
|
||||||
|
ExamUserExamination examUserExamination = examUserExaminationService.selectById(examUserExaminationId);
|
||||||
|
examUserExamination.setScore(score);
|
||||||
|
examUserExamination.setUpdateDate(new Date());
|
||||||
|
examUserExamination.setCreateBy(user.getLoginName());
|
||||||
|
examUserExaminationService.updateOneSelectiveById(examUserExamination);
|
||||||
|
|
||||||
|
return examUserExaminationId;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询考试分页列表
|
* 查询考试分页列表
|
||||||
*
|
*
|
||||||
|
|
@ -180,4 +255,7 @@ public class ExamExaminationServiceImpl extends AbstractBaseServiceImpl<ExamExam
|
||||||
return examExaminationMapper.selectExamExaminationList(examExamination);
|
return examExaminationMapper.selectExamExaminationList(examExamination);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -159,9 +159,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
eqi.number,
|
eqi.number,
|
||||||
eqi.id as eqi_id,
|
eqi.id as eqi_id,
|
||||||
eueq.id as eueq_id,
|
eueq.id as eueq_id,
|
||||||
eq.id as eq_id
|
eq.id as eq_id,
|
||||||
|
ee.exam_end as ee_exam_end,
|
||||||
|
ee.finished_paper as ee_finished_paper
|
||||||
FROM exam_user_examination exam_user_examination
|
FROM exam_user_examination exam_user_examination
|
||||||
LEFT JOIN exam_user_examination_question eueq ON exam_user_examination.id = eueq.exam_user_examination_id
|
LEFT JOIN exam_user_examination_question eueq ON exam_user_examination.id = eueq.exam_user_examination_id
|
||||||
|
INNER JOIN exam_examination ee on exam_user_examination.exam_examination_id = ee.id
|
||||||
INNER JOIN exam_question eq on eueq.exam_question_id = eq.id
|
INNER JOIN exam_question eq on eueq.exam_question_id = eq.id
|
||||||
INNER JOIN exam_question_item eqi ON eq.id =eqi.exam_question_id
|
INNER JOIN exam_question_item eqi ON eq.id =eqi.exam_question_id
|
||||||
WHERE exam_user_examination.id = #{id}
|
WHERE exam_user_examination.id = #{id}
|
||||||
|
|
@ -182,7 +185,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<result property="updateDate" column="update_date" />
|
<result property="updateDate" column="update_date" />
|
||||||
<result property="remarks" column="remarks" />
|
<result property="remarks" column="remarks" />
|
||||||
<result property="delFlag" column="del_flag" />
|
<result property="delFlag" column="del_flag" />
|
||||||
|
<association property="examExaminationVO" javaType="com.ruoyi.exam.domain.ExamExaminationVO">
|
||||||
|
<result property="examEnd" column="ee_exam_End" />
|
||||||
|
<result property="finishedPaper" column="ee_finished_paper" />
|
||||||
|
</association>
|
||||||
|
|
||||||
<collection property="examUserExaminationQuestions" ofType="com.ruoyi.exam.domain.ExamUserExaminationQuestionVO">
|
<collection property="examUserExaminationQuestions" ofType="com.ruoyi.exam.domain.ExamUserExaminationQuestionVO">
|
||||||
<result property="id" column="eueq_id" />
|
<result property="id" column="eueq_id" />
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue