Commit 7f3074e9 by 郑云飞

Merge remote-tracking branch 'origin/master'

parents ccac84ff 31673f60
...@@ -51,6 +51,7 @@ public class DbErrorListController extends BaseController { ...@@ -51,6 +51,7 @@ public class DbErrorListController extends BaseController {
*/ */
@GetMapping("/list") @GetMapping("/list")
public TableDataInfo<ErrorTopicListVo> findErrorTopicPage(ErrorTopicRequest request, PageQuery pageQuery) { public TableDataInfo<ErrorTopicListVo> findErrorTopicPage(ErrorTopicRequest request, PageQuery pageQuery) {
request.setUserId(getUserId());
return iDbErrorListService.findErrorTopicPage(pageQuery, request); return iDbErrorListService.findErrorTopicPage(pageQuery, request);
} }
......
...@@ -3,6 +3,7 @@ package com.ruoyi.school.paper.domain.request; ...@@ -3,6 +3,7 @@ package com.ruoyi.school.paper.domain.request;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
import java.util.List;
/** /**
* 错题集查询条件 * 错题集查询条件
...@@ -33,4 +34,9 @@ public class ErrorTopicRequest implements Serializable { ...@@ -33,4 +34,9 @@ public class ErrorTopicRequest implements Serializable {
* 用户编号 * 用户编号
*/ */
private Long userId; private Long userId;
/**
* 学生编号集合
*/
private List<Long> userIds;
} }
...@@ -3,9 +3,11 @@ package com.ruoyi.school.paper.service.impl; ...@@ -3,9 +3,11 @@ package com.ruoyi.school.paper.service.impl;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.domain.PageQuery; import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.school.paper.domain.DbCollectList; import com.ruoyi.school.paper.domain.DbCollectList;
import com.ruoyi.school.paper.domain.DbErrorList; import com.ruoyi.school.paper.domain.DbErrorList;
...@@ -17,6 +19,7 @@ import com.ruoyi.school.paper.mapper.DbCollectListMapper; ...@@ -17,6 +19,7 @@ import com.ruoyi.school.paper.mapper.DbCollectListMapper;
import com.ruoyi.school.paper.mapper.DbErrorListMapper; import com.ruoyi.school.paper.mapper.DbErrorListMapper;
import com.ruoyi.school.paper.mapper.DbQuestionBankAnswerTestPaperMapper; import com.ruoyi.school.paper.mapper.DbQuestionBankAnswerTestPaperMapper;
import com.ruoyi.school.paper.service.IDbErrorListService; import com.ruoyi.school.paper.service.IDbErrorListService;
import com.ruoyi.system.mapper.SysUserMapper;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -24,6 +27,7 @@ import java.util.Collection; ...@@ -24,6 +27,7 @@ import java.util.Collection;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Optional; import java.util.Optional;
import java.util.concurrent.atomic.AtomicReference;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
...@@ -42,6 +46,8 @@ public class DbErrorListServiceImpl implements IDbErrorListService { ...@@ -42,6 +46,8 @@ public class DbErrorListServiceImpl implements IDbErrorListService {
private final DbCollectListMapper dbCollectListMapper; private final DbCollectListMapper dbCollectListMapper;
private final SysUserMapper sysUserMapper;
/** /**
* 查询错题集 * 查询错题集
*/ */
...@@ -129,7 +135,25 @@ public class DbErrorListServiceImpl implements IDbErrorListService { ...@@ -129,7 +135,25 @@ public class DbErrorListServiceImpl implements IDbErrorListService {
@Override @Override
public TableDataInfo<ErrorTopicListVo> findErrorTopicPage(PageQuery pageQuery, ErrorTopicRequest request) { public TableDataInfo<ErrorTopicListVo> findErrorTopicPage(PageQuery pageQuery, ErrorTopicRequest request) {
Page<ErrorTopicListVo> result = baseMapper.findErrorTopicPage(pageQuery.build(), request); Page<ErrorTopicListVo> result = new Page<ErrorTopicListVo>();
Long userId = request.getUserId();
SysUser sysUser = sysUserMapper.selectById(userId);
if (sysUser != null) {
String deptList = sysUser.getDeptList();
if (StringUtils.isNotEmpty(deptList) && deptList.contains(",")) {
String[] split = deptList.split(",");
List<SysUser> sysUsers = sysUserMapper.selectList(Wrappers.<SysUser>lambdaQuery()
.eq(SysUser::getSex, "0")
.in(SysUser::getDeptList, split));
if (!sysUsers.isEmpty()) {
List<Long> userIds = sysUsers.stream()
.map(SysUser::getUserId)
.collect(Collectors.toList());
request.setUserIds(userIds);
result = baseMapper.findErrorTopicPage(pageQuery.build(), request);
}
}
}
return TableDataInfo.build(result); return TableDataInfo.build(result);
} }
......
...@@ -21,10 +21,13 @@ ...@@ -21,10 +21,13 @@
SELECT SELECT
del.id AS id, del.id AS id,
del.question_bank_id AS questionBankId, del.question_bank_id AS questionBankId,
dqbtp.topic as topic dqbtp.topic AS topic
FROM FROM
db_error_list AS del db_error_list AS del
LEFT JOIN db_question_bank AS dqbtp ON dqbtp.id = del.question_bank_id LEFT JOIN db_question_bank_test_paper AS dqbtp ON dqbtp.id = del.question_bank_id
LEFT JOIN db_test_paper_record AS dtpr ON dtpr.id = del.record_id
LEFT JOIN db_test_paper_record_detail AS dtprd ON dtprd.record_id = dtpr.id and dtprd.question_bank_id =
del.question_bank_id
<where> <where>
<if test="request.categoryId != null"> <if test="request.categoryId != null">
dqbtp.category_id = #{request.categoryId} dqbtp.category_id = #{request.categoryId}
...@@ -35,19 +38,24 @@ ...@@ -35,19 +38,24 @@
<if test="request.intensity != null"> <if test="request.intensity != null">
and dqbtp.intensity = #{request.intensity} and dqbtp.intensity = #{request.intensity}
</if> </if>
and del.user_id in
<foreach collection="request.userIds" item="userId" open="(" separator="," close=")">
#{userId}
</foreach>
GROUP BY del.question_bank_id
</where> </where>
</select> </select>
<select id="getErrorTopicListDetailById" resultType="com.ruoyi.school.paper.domain.vo.ErrorTopicListDetailVo" <select id="getErrorTopicListDetailById" resultType="com.ruoyi.school.paper.domain.vo.ErrorTopicListDetailVo"
parameterType="java.lang.Long"> parameterType="java.lang.Long">
SELECT dqt.type_value AS typeName, SELECT dqt.type_value AS typeName,
dqb.intensity AS intensity, dqb.intensity AS intensity,
dqb.species AS species, dqb.species AS species,
dqb.topic AS topic, dqb.topic AS topic,
dqb.right_answers AS rightAnswers, dqb.right_answers AS rightAnswers,
sd.dept_name AS phaseName, sd.dept_name AS phaseName,
del.question_bank_id AS questionBankId del.question_bank_id AS questionBankId
FROM db_error_list AS del FROM db_error_list AS del
LEFT JOIN db_question_bank dqb ON dqb.id = del.question_bank_id LEFT JOIN db_question_bank_test_paper dqb ON dqb.id = del.question_bank_id
LEFT JOIN sys_dept sd ON sd.dept_id = dqb.phase_id LEFT JOIN sys_dept sd ON sd.dept_id = dqb.phase_id
LEFT JOIN db_question_type dqt ON dqt.id = dqb.category_id LEFT JOIN db_question_type dqt ON dqt.id = dqb.category_id
WHERE del.id = #{id} WHERE del.id = #{id}
...@@ -63,13 +71,14 @@ ...@@ -63,13 +71,14 @@
FROM FROM
db_error_list AS del db_error_list AS del
LEFT JOIN db_question_bank_test_paper AS dqbtp ON dqbtp.id = del.question_bank_id LEFT JOIN db_question_bank_test_paper AS dqbtp ON dqbtp.id = del.question_bank_id
LEFT JOIN db_test_paper_record AS dtpr ON dtpr.id = del.record_id LEFT JOIN db_test_paper_record AS dtpr ON dtpr.id = del.record_id
LEFT JOIN db_test_paper_record_detail AS dtprd ON dtprd.record_id = dtpr.id and dtprd.question_bank_id = del.question_bank_id LEFT JOIN db_test_paper_record_detail AS dtprd ON dtprd.record_id = dtpr.id and dtprd.question_bank_id =
del.question_bank_id
<where> <where>
del.user_id = #{request.userId} del.user_id = #{request.userId}
<if test="request.categoryId != null"> <if test="request.categoryId != null">
and dqbtp.category_id = #{request.categoryId} and dqbtp.category_id = #{request.categoryId}
</if> </if>
</where> </where>
</select> </select>
</mapper> </mapper>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment