4246dd0d 康伟

kangwei:在线题库,试题显示提交人、提交部门,提交时间

        预览题库下试题列表
1 个父辈 f95f24c0
......@@ -66,8 +66,6 @@ public class AjhRectificationInfoServiceImpl extends ServiceImpl<AjhRectificatio
@Override
public Map<String, Object> searchSafeCensus(String now, String paramType) {
String nowMonth = now;//本月
String[] dateList = now.split("-");
String lastYear = null;
......
......@@ -10,13 +10,16 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.skua.core.api.vo.Result;
import com.skua.core.aspect.annotation.AutoLog;
import com.skua.core.context.BaseContextHandler;
import com.skua.core.query.QueryGenerator;
import com.skua.core.util.ConvertUtils;
import com.skua.modules.edu.entity.Question;
import com.skua.modules.edu.entity.QuestionDB;
import com.skua.modules.edu.service.IQuestionService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.skua.modules.system.service.ISysDepartService;
import lombok.extern.slf4j.Slf4j;
import org.jeecgframework.poi.excel.ExcelImportUtil;
......@@ -49,6 +52,9 @@ public class QuestionController {
@Autowired
private IQuestionService questionService;
@Autowired
private ISysDepartService departService;
/**
* <pre>
* 分页列表查询
......@@ -70,14 +76,34 @@ public class QuestionController {
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
Result<IPage<Question>> result = new Result<IPage<Question>>();
QueryWrapper<Question> queryWrapper = QueryGenerator.initQueryWrapper(question, req.getParameterMap());
//QueryWrapper<Question> queryWrapper = QueryGenerator.initQueryWrapper(question, req.getParameterMap());
Page<Question> page = new Page<Question>(pageNo, pageSize);
IPage<Question> pageList = questionService.page(page, queryWrapper);
//IPage<Question> pageList = questionService.page(page, queryWrapper);
IPage<Question> pageList = questionService.queryPageList(page, question);
result.setSuccess(true);
result.setResult(pageList);
return result;
}
@AutoLog(value = "在线考试-题库-题库下试题列表")
@ApiOperation(value="在线考试-题库下试题列表", notes="在线考试-题库下试题列表")
@GetMapping(value = "/questionList/{dbId}")
public Result<List<Question>> queryPageList(@PathVariable("dbId") String dbId) {
Result<List<Question>> result = new Result<List<Question>>();
//QueryWrapper<QuestionDB> queryWrapper = QueryGenerator.initQueryWrapper(questionDB, req.getParameterMap());
//List<QuestionDB> questionDBList = questionDBService.list(queryWrapper);
/*QueryWrapper<Question> queryWrapper = new QueryWrapper();
queryWrapper.eq("question_db_id",dbId);
queryWrapper.orderByDesc("create_time");*/
Question question = new Question();
question.setQuestionDbId(dbId);
List<Question> questionDBList = questionService.selectQuestionList(question ) ;
result.setSuccess(true);
result.setResult(questionDBList);
return result;
}
/**
* <pre>
* 添加
......@@ -93,6 +119,8 @@ public class QuestionController {
public Result<Question> add(@RequestBody Question question)throws Exception {
Result<Question> result = new Result<Question>();
try {
question.setCreateBy(BaseContextHandler.getUserId());
question.setCreateDept(BaseContextHandler.getRealDepartId());
questionService.saveQuestion(question);
result.success("添加成功!");
} catch (Exception e) {
......@@ -119,6 +147,7 @@ public class QuestionController {
if(questionEntity==null) {
result.error500("未找到对应实体");
}else {
question.setUpdateBy(BaseContextHandler.getUserId());
boolean ok = questionService.updateQuestion(question);
//TODO 返回false说明什么?
if(ok) {
......
......@@ -75,8 +75,10 @@ public class QuestionDBController {
@GetMapping(value = "/qbList")
public Result<List<QuestionDB>> queryPageList(QuestionDB questionDB, HttpServletRequest req) {
Result<List<QuestionDB>> result = new Result<List<QuestionDB>>();
QueryWrapper<QuestionDB> queryWrapper = QueryGenerator.initQueryWrapper(questionDB, req.getParameterMap());
List<QuestionDB> questionDBList = questionDBService.list(queryWrapper);
//QueryWrapper<QuestionDB> queryWrapper = QueryGenerator.initQueryWrapper(questionDB, req.getParameterMap());
//List<QuestionDB> questionDBList = questionDBService.list(queryWrapper);
List<QuestionDB> questionDBList = questionDBService.selectQuestionDbList(questionDB ) ;
result.setSuccess(true);
result.setResult(questionDBList);
return result;
......@@ -95,7 +97,8 @@ public class QuestionDBController {
Result<IPage<QuestionDB>> result = new Result<IPage<QuestionDB>>();
QueryWrapper<QuestionDB> queryWrapper = QueryGenerator.initQueryWrapper(questionDB, req.getParameterMap());
Page<QuestionDB> page = new Page<QuestionDB>(pageNo, pageSize);
IPage<QuestionDB> pageList = questionDBService.page(page, queryWrapper);
//IPage<QuestionDB> pageList = questionDBService.page(page, queryWrapper);
IPage<QuestionDB> pageList = questionDBService.queryPageList(page,questionDB);
result.setSuccess(true);
result.setResult(pageList);
return result;
......
package com.skua.modules.edu.entity;
import java.io.Serializable;
import java.lang.reflect.Type;
import java.util.Date;
import java.util.List;
......@@ -8,12 +9,16 @@ import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableField;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import com.skua.core.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.StringUtils;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
......@@ -26,7 +31,7 @@ import org.jeecgframework.poi.excel.annotation.Excel;
@Accessors(chain = true)
@ApiModel(value="edu_question对象", description="在线考试-试题")
public class Question {
/**主键*/
@TableId(type = IdType.ID_WORKER_STR)
@ApiModelProperty(value = "主键")
......@@ -58,8 +63,10 @@ public class Question {
private String remark;
/**上传人*/
@Excel(name = "上传人", width = 15)
@Dict(dicCode = "id",dictTable = "sys_user",dicText = "realname")
@ApiModelProperty(value = "上传人")
private String createBy;
/**上传时间*/
@Excel(name = "上传时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
......@@ -69,6 +76,7 @@ public class Question {
/**更新人*/
@Excel(name = "更新人", width = 15)
@ApiModelProperty(value = "更新人")
@Dict(dicCode = "id",dictTable = "sys_user",dicText = "realname")
private String updateBy;
/**更新时间*/
@Excel(name = "更新时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
......@@ -80,7 +88,11 @@ public class Question {
@Excel(name = "delFlag", width = 15)
@ApiModelProperty(value = "delFlag")
private Integer delFlag;
/**厂站ID*/
@Excel(name = "厂站ID", width = 15)
@ApiModelProperty(value = "厂站ID")
@Dict(dictTable = "sys_depart", dicCode="id", dicText = "depart_name")
private String createDept;
/**试题分值*/
@TableField(exist=false)
......@@ -102,4 +114,21 @@ public class Question {
private String userAnswer;
@TableField(exist=false)
@ApiModelProperty(value = "厂站名称")
private String departName;
@TableField(exist=false)
@ApiModelProperty(value = "用户名称")
private String userName;
public List<QuestionOption> getOptionList() {
if(optionList == null && StringUtils.isNotEmpty(questionData)){
// 创建Gson实例
Gson gson = new Gson();
Type questionTypeListType = new TypeToken<List<QuestionOption>>() {}.getType();
optionList = gson.fromJson(questionData,questionTypeListType);
}
return optionList;
}
}
......
......@@ -84,4 +84,17 @@ public class QuestionDB {
@Excel(name = "delFlag", width = 15)
@ApiModelProperty(value = "delFlag")
private Integer delFlag;
@TableField(exist=false)
@ApiModelProperty(value = "单选题数目")
private Integer singleNum;
@TableField(exist=false)
@ApiModelProperty(value = "多选题数目")
private Integer multipleNum;
@TableField(exist=false)
@ApiModelProperty(value = "判断题数目")
private Integer judgeNum;
}
......
......@@ -23,8 +23,8 @@ import org.jeecgframework.poi.excel.annotation.Excel;
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="edu_question_option对象", description="在线考试-试题选项")
public class QuestionOption {
public class QuestionOption implements Serializable {
/**主键*/
@TableId(type = IdType.ID_WORKER_STR)
@ApiModelProperty(value = "主键")
......
package com.skua.modules.edu.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import com.skua.modules.edu.entity.QuestionDB;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* 在线考试-题库
*/
public interface QuestionDBMapper extends BaseMapper<QuestionDB> {
/***
* 列表查询
* @param questionDB
* @return
*/
public List<QuestionDB> selectQuestionDbList(QuestionDB questionDB);
}
......
......@@ -2,6 +2,9 @@ package com.skua.modules.edu.mapper;
import java.util.List;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.skua.modules.edu.entity.QuestionDB;
import org.apache.ibatis.annotations.Param;
import com.skua.modules.edu.entity.Question;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
......@@ -31,4 +34,21 @@ public interface QuestionMapper extends BaseMapper<Question> {
* @return
*/
public int checkByPaper(@Param("questionId")String questionId);
/**
* 查询在线考试--试题列表
*
* @param eduQuestion 在线考试--试题
* @return 在线考试--试题集合
*/
public List<Question> selectQuestionList(Question eduQuestion);
/**
* 分页检索
*
* @param eduQuestion 在线考试--试题
* @return 在线考试--试题集合
*/
public IPage<Question> queryPageList(Page<Question> page,@Param("param") Question eduQuestion);
}
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.skua.modules.edu.mapper.QuestionDBMapper">
<resultMap type="com.skua.modules.edu.entity.QuestionDB" id="EduQuestionDbResult">
<result property="id" column="id" />
<result property="departId" column="depart_id" />
<result property="userId" column="user_id" />
<result property="parentId" column="parent_id" />
<result property="dbName" column="db_name" />
<result property="status" column="status" />
<result property="remark" column="remark" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
<result property="createDept" column="create_dept" />
<result property="delFlag" column="del_flag" />
<result property="singleNum" column="single_num" />
<result property="multipleNum" column="multiple_num" />
<result property="judgeNum" column="judge_num" />
</resultMap>
</mapper>
\ No newline at end of file
<sql id="selectEduQuestionDbVo">
select id, depart_id, user_id, parent_id, db_name, status, remark, create_by, create_time, update_by, update_time, create_dept, del_flag from edu_question_db
</sql>
<select id="selectQuestionDbList" parameterType="com.skua.modules.edu.entity.QuestionDB" resultMap="EduQuestionDbResult">
select t.* , ifnull(aaa.single_num,0) single_num , ifnull(aaa.multiple_num,0) multiple_num , ifnull(aaa.judge_num,0) judge_num from edu_question_db t
left join (
SELECT question_db_id , question_type,
SUM(IF(`question_type`='1',1,0))as 'single_num',
SUM(IF(`question_type`='2',1,0))as 'multiple_num',
SUM(IF(`question_type`='3',1,0))as 'judge_num'
FROM edu_question
group by question_db_id , question_type
)aaa on aaa.question_db_id = t.id
<where>
<if test="departId != null and departId != ''"> and t.depart_id = #{departId}</if>
<if test="userId != null and userId != ''"> and t.user_id = #{userId}</if>
<if test="parentId != null and parentId != ''"> and t.parent_id = #{parentId}</if>
<if test="dbName != null and dbName != ''"> and t.db_name like concat('%', #{dbName}, '%')</if>
<if test="status != null and status != ''"> and t.status = #{status}</if>
<if test="createDept != null and createDept != ''"> and t.create_dept = #{createDept}</if>
<if test="delFlag != null "> and t.del_flag = #{delFlag}</if>
</where>
</select>
</mapper>
......
......@@ -2,6 +2,66 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.skua.modules.edu.mapper.QuestionMapper">
<resultMap type="com.skua.modules.edu.entity.Question" id="EduQuestionResult">
<result property="id" column="id" />
<result property="questionDbId" column="question_db_id" />
<result property="questionTitle" column="question_title" />
<result property="questionType" column="question_type" />
<result property="questionAnswer" column="question_answer" />
<result property="questionData" column="question_data" />
<result property="analyzes" column="analyzes" />
<result property="remark" column="remark" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
<result property="createDept" column="create_dept" />
<result property="delFlag" column="del_flag" />
<result property="departName" column="depart_name" />
<result property="userName" column="user_name" />
</resultMap>
<sql id="selectEduQuestionVo">
select id, question_db_id, question_title, question_type, question_answer, question_data, analyzes, remark, create_by, create_time, update_by, update_time, create_dept, del_flag from edu_question
</sql>
<select id="queryPageList" resultMap="EduQuestionResult">
select d.depart_name ,u.realname 'user_name' , t.* from edu_question t
left join sys_depart d on d.id = t.create_dept
left join sys_user u on u.id = t.create_by
<where>
<if test="param.questionDbId != null and param.questionDbId != ''"> and t.question_db_id = #{param.questionDbId}</if>
<if test="param.questionTitle != null and param.questionTitle != ''"> and t.question_title = #{param.questionTitle}</if>
<if test="param.questionType != null and param.questionType != ''"> and t.question_type = #{param.questionType}</if>
<if test="param.questionAnswer != null and param.questionAnswer != ''"> and t.question_answer = #{param.questionAnswer}</if>
<if test="param.questionData != null and param.questionData != ''"> and t.question_data = #{param.questionData}</if>
<if test="param.analyzes != null and param.analyzes != ''"> and t.analyzes = #{param.analyzes}</if>
<if test="param.createDept != null and param.createDept != ''"> and t.create_dept = #{param.createDept}</if>
<if test="param.delFlag != null "> and t.del_flag = #{param.delFlag}</if>
</where>
order by create_time desc
</select>
<select id="selectQuestionList" parameterType="com.skua.modules.edu.entity.Question" resultMap="EduQuestionResult">
select d.depart_name ,u.realname 'user_name' , t.* from edu_question t
left join sys_depart d on d.id = t.create_dept
left join sys_user u on u.id = t.create_by
<where>
<if test="questionDbId != null and questionDbId != ''"> and t.question_db_id = #{questionDbId}</if>
<if test="questionTitle != null and questionTitle != ''"> and t.question_title = #{questionTitle}</if>
<if test="questionType != null and questionType != ''"> and t.question_type = #{questionType}</if>
<if test="questionAnswer != null and questionAnswer != ''"> and t.question_answer = #{questionAnswer}</if>
<if test="questionData != null and questionData != ''"> and t.question_data = #{questionData}</if>
<if test="analyzes != null and analyzes != ''"> and t.analyzes = #{analyzes}</if>
<if test="createDept != null and createDept != ''"> and t.create_dept = #{createDept}</if>
<if test="delFlag != null "> and t.del_flag = #{delFlag}</if>
</where>
order by create_time desc
</select>
<!-- 根据试卷编号获取试题集合-->
<select id="selectListByPaperId" resultType="com.skua.modules.edu.entity.Question">
select q.* ,pq.score from edu_paper_question pq
......@@ -24,4 +84,4 @@
</select>
</mapper>
\ No newline at end of file
</mapper>
......
package com.skua.modules.edu.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.skua.modules.edu.entity.QuestionDB;
import com.baomidou.mybatisplus.extension.service.IService;
import com.skua.modules.safe.entity.DangerLevelManageShare;
import java.util.List;
/**
* 在线考试-题库
......@@ -14,4 +19,14 @@ public interface IQuestionDBService extends IService<QuestionDB> {
* @return
*/
public boolean checkByDel(String id);
IPage<QuestionDB> queryPageList(Page<QuestionDB> page, QuestionDB questionDB) ;
/***
*
* @param questionDB
* @return
*/
public List<QuestionDB> selectQuestionDbList(QuestionDB questionDB);
}
......
package com.skua.modules.edu.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.skua.modules.edu.entity.Question;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
* 在线考试-试题
*/
public interface IQuestionService extends IService<Question> {
/***
* 分页检索
* @param page
* @param questionDB
* @return
*/
public IPage<Question> queryPageList(Page<Question> page, Question questionDB) ;
public List<Question> selectQuestionList(Question questionDB);
/***
* 添加试题 以及试题选项
* @param question
* @return
......
package com.skua.modules.edu.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.skua.modules.edu.entity.Question;
import com.skua.modules.edu.entity.QuestionDB;
import com.skua.modules.edu.mapper.QuestionDBMapper;
......@@ -11,6 +13,7 @@ import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import javax.annotation.Resource;
import java.util.List;
/**
* 在线考试-题库
......@@ -34,4 +37,19 @@ public class QuestionDBServiceImpl extends ServiceImpl<QuestionDBMapper, Questio
}
return false;
}
public IPage<QuestionDB> queryPageList(Page<QuestionDB> page, QuestionDB questionDB) {
List<QuestionDB> questionList = this.baseMapper.selectQuestionDbList(questionDB);
page.setRecords(questionList);
return page;
}
/***
*
* @param questionDB
* @return
*/
public List<QuestionDB> selectQuestionDbList(QuestionDB questionDB){
List<QuestionDB> questionList = this.baseMapper.selectQuestionDbList(questionDB);
return questionList;
}
}
......
package com.skua.modules.edu.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.google.gson.Gson;
import com.skua.modules.edu.entity.Question;
import com.skua.modules.edu.entity.QuestionDB;
import com.skua.modules.edu.entity.QuestionOption;
import com.skua.modules.edu.mapper.QuestionMapper;
import com.skua.modules.edu.mapper.QuestionOptionMapper;
......@@ -21,6 +24,15 @@ public class QuestionServiceImpl extends ServiceImpl<QuestionMapper, Question> i
@Resource
private QuestionOptionMapper optionMapper;
public IPage<Question> queryPageList(Page<Question> page, Question questionDB) {
return this.baseMapper.queryPageList(page,questionDB);
}
public List<Question> selectQuestionList( Question questionDB) {
return this.baseMapper.selectQuestionList(questionDB);
}
/***
* 添加试题 以及试题选项
* @param question
......
......@@ -12,6 +12,4 @@ import com.skua.modules.safe.entity.DangerLevelManageShare;
public interface IDangerLevelManageShareService extends IService<DangerLevelManageShare> {
IPage<DangerLevelManageShare> queryPageList(Page<DangerLevelManageShare> page, DangerLevelManageShare dangerLevelManageShare) ;
}
......
......@@ -166,6 +166,8 @@ public class MybatisInterceptor implements Interceptor {
|| "com.skua.modules.equipment.mapper.EquipmentSparepartMapper.queryByPage".equals(sqlId)//库存查询
|| "com.skua.modules.safe.mapper.DangerLevelManageShareMapper.selectDangerLevelManageShareList".equals(sqlId)//共享风险库
|| "com.skua.modules.safe.mapper.DangerLevelManageShareMapper.selectPage".equals(sqlId)
|| "com.skua.modules.edu.mapper.QuestionMapper.selectQuestionList".equals(sqlId)//试题列表
|| "com.skua.modules.edu.mapper.QuestionMapper.queryPageList".equals(sqlId)//试题分页
) {
log.debug("************************------sqlId------**************************" + sqlId);
return invocation.proceed();
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!