修改三个导出功能,和首页考核列表查询功能

master
xiaoCJ 3 months ago
parent 678e1dfd93
commit ff476f9192

@ -93,25 +93,32 @@ public class TeaGradeManageController {
return null;
}
List<TeaExamManageCountDto> teaExamManageCountDtos = new ArrayList<>();
Map<Integer, StuUser> userMap = new HashMap<>();
Map<String, StuUser> userMap = new HashMap<>();
List<Integer> userIds = new ArrayList<>();
List<String> userIds = new ArrayList<>();
for (TeaExamManage teaExamManage : teaExamManages) {
Integer zyUserId = Integer.parseInt(teaExamManage.getUserId()); //这里是智云 zyUserId
userIds.add(zyUserId);
userIds.add(teaExamManage.getUserId());
}
//存储用户信息
StuUserExample example = new StuUserExample();
example.createCriteria().andSystemOnwerEqualTo(systemOwner).andZyUseridIn(userIds);
example.createCriteria().andSystemOnwerEqualTo(systemOwner).andUseridIn(userIds);
List<StuUser> stuUsers = userMapper.selectByExample(example);
for (StuUser stuUser : stuUsers) {
userMap.put(stuUser.getZyUserid(), stuUser);
userMap.put(stuUser.getUserid(), stuUser);
}
for (TeaExamManage teaExamManage : teaExamManages) {
TeaExamManageCountDto copyexamManageWithBLOBs = new TeaExamManageCountDto();
String userId = teaExamManage.getUserId();
StuUser stuUser = userMap.get(userId);
if (stuUser==null){
continue;
}
copyexamManageWithBLOBs.setName(stuUser.getName()); //发布人
teaExamManageCountDtos.add(copyexamManageWithBLOBs);
//获取班级和考试人数
TeaAndStudentExam teaAndStudentExam = teaAndStudentExamMapper.selectByExamMangeId(teaExamManage.getExamManageId());
@ -139,10 +146,6 @@ public class TeaGradeManageController {
String concatenatedTimeString = startTime + " -- " + endTime;
copyexamManageWithBLOBs.setExamTime(concatenatedTimeString); //考试时间
String userId = teaExamManage.getUserId();
StuUser stuUser = userMap.get(Integer.parseInt(userId));
copyexamManageWithBLOBs.setName(stuUser.getName()); //发布人
teaExamManageCountDtos.add(copyexamManageWithBLOBs);
}
PageInfo pageInfo = PageUtil.pageHelper(teaExamManageCountDtos, index, size);
return new ResultEntity<>(pageInfo);
@ -644,8 +647,9 @@ public class TeaGradeManageController {
@ApiOperation("理论考试--导出理论考试信息")
public void exportTheoryExamInfo(HttpServletResponse response,
@ApiParam("不选择班级就是学习全部导出") @RequestParam(required = false) String classId,
@RequestParam String schoolId) {
iTeaGradeManageService.exportTheoryExamInfo(response, classId, schoolId);
@RequestParam String schoolId,
@RequestParam String systemOwner) {
iTeaGradeManageService.exportTheoryExamInfo(response, classId, schoolId,systemOwner);
}

@ -33,4 +33,9 @@ public interface StuTheoryRecordMapper {
int updateByPrimaryKey(StuTheoryRecord record);
StuTheoryIndexInfoDto selectTheoryInfo(@Param("userId") String userId);
List<StuTheoryRecord> selectConditions(@Param("schoolId") String schoolId,
@Param("classId") String classId,
@Param("keyWord") String keyWord,
@Param("systemOwner") String systemOwner);
}

@ -31,7 +31,7 @@ public interface ITeaGradeManageService {
PageInfo<StuTheoryRecord> getTheoryInfo(Integer index, Integer size, String schoolId, String classId, String keyWord, String systemOwner);
void exportTheoryExamInfo(HttpServletResponse response, String classId, String schoolId);
void exportTheoryExamInfo(HttpServletResponse response, String classId, String schoolId,String systemOwner);
SysWeight getSysWeightResultEntity(String courseId, String schoolId, String systemOwner);
}

@ -272,37 +272,38 @@ public class TeaGradeManageServiceImpl implements ITeaGradeManageService {
@Override
public PageInfo<StuTheoryRecord> getTheoryInfo(Integer index, Integer size, String schoolId, String classId, String keyWord, String systemOwner) {
PageHelper.startPage(index, size);
List<StuTheoryRecord> list = getStuTheoryRecordPageInfo(schoolId, classId, keyWord, systemOwner);
// List<StuTheoryRecord> list = getStuTheoryRecordPageInfo(schoolId, classId, keyWord, systemOwner);
List<StuTheoryRecord> list = stuTheoryRecordMapper.selectConditions(schoolId, classId, keyWord, systemOwner);
PageInfo<StuTheoryRecord> pageInfo = new PageInfo<>(list);
return pageInfo;
}
//查询方法
private List<StuTheoryRecord> getStuTheoryRecordPageInfo(String schoolId, String classId, String keyWord, String systemOwner) {
StuTheoryRecordExample s = new StuTheoryRecordExample();
StuTheoryRecordExample.Criteria criteria = s.createCriteria();
StuTheoryRecordExample.Criteria orCriteria = s.createCriteria();
criteria.andSchoolIdEqualTo(schoolId).andSystemOwnerEqualTo(systemOwner);
orCriteria.andSchoolIdEqualTo(schoolId).andSystemOwnerEqualTo(systemOwner);
if (StringUtils.isNotBlank(classId)) {
criteria.andClassIdEqualTo(classId);
orCriteria.andClassIdEqualTo(classId);
}
if (StringUtils.isNotBlank(keyWord)) {
criteria.andStudentIdEqualTo(keyWord);
orCriteria.andNameEqualTo(keyWord);
}
s.or(orCriteria);
s.setOrderByClause("average_score ASC");
return stuTheoryRecordMapper.selectByExample(s);
}
// //查询方法
// private List<StuTheoryRecord> getStuTheoryRecordPageInfo(String schoolId, String classId, String keyWord, String systemOwner) {
// StuTheoryRecordExample s = new StuTheoryRecordExample();
// StuTheoryRecordExample.Criteria criteria = s.createCriteria();
// StuTheoryRecordExample.Criteria orCriteria = s.createCriteria();
// criteria.andSchoolIdEqualTo(schoolId).andSystemOwnerEqualTo(systemOwner);
// orCriteria.andSchoolIdEqualTo(schoolId).andSystemOwnerEqualTo(systemOwner);
// if (StringUtils.isNotBlank(classId)) {
// criteria.andClassIdEqualTo(classId);
// orCriteria.andClassIdEqualTo(classId);
// }
// if (StringUtils.isNotBlank(keyWord)) {
// criteria.andStudentIdEqualTo(keyWord);
// orCriteria.andNameEqualTo(keyWord);
// }
// s.or(orCriteria);
// s.setOrderByClause("average_score ASC");
// return stuTheoryRecordMapper.selectByExample(s);
// }
@Override
public void exportTheoryExamInfo(HttpServletResponse response, String classId, String schoolId) {
public void exportTheoryExamInfo(HttpServletResponse response, String classId, String schoolId, String systemOwner) {
StuTheoryRecordExample s = new StuTheoryRecordExample();
StuTheoryRecordExample.Criteria criteria = s.createCriteria();
criteria.andSchoolIdEqualTo(schoolId);
criteria.andSchoolIdEqualTo(schoolId).andSystemOwnerEqualTo(systemOwner);
if (StringUtils.isNotBlank(classId)) {
criteria.andClassIdEqualTo(classId);
}

@ -2,17 +2,17 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.sztzjy.financial_bigdata.mapper.StuTheoryRecordMapper">
<resultMap id="BaseResultMap" type="com.sztzjy.financial_bigdata.entity.StuTheoryRecord">
<id column="user_id" jdbcType="VARCHAR" property="userId" />
<result column="school_id" jdbcType="VARCHAR" property="schoolId" />
<result column="class_id" jdbcType="VARCHAR" property="classId" />
<result column="name" jdbcType="VARCHAR" property="name" />
<result column="student_id" jdbcType="VARCHAR" property="studentId" />
<result column="exam_count" jdbcType="INTEGER" property="examCount" />
<result column="highest_score" jdbcType="DECIMAL" property="highestScore" />
<result column="lowest_score" jdbcType="DECIMAL" property="lowestScore" />
<result column="total_duration" jdbcType="INTEGER" property="totalDuration" />
<result column="average_score" jdbcType="DECIMAL" property="averageScore" />
<result column="system_owner" jdbcType="VARCHAR" property="systemOwner" />
<id column="user_id" jdbcType="VARCHAR" property="userId"/>
<result column="school_id" jdbcType="VARCHAR" property="schoolId"/>
<result column="class_id" jdbcType="VARCHAR" property="classId"/>
<result column="name" jdbcType="VARCHAR" property="name"/>
<result column="student_id" jdbcType="VARCHAR" property="studentId"/>
<result column="exam_count" jdbcType="INTEGER" property="examCount"/>
<result column="highest_score" jdbcType="DECIMAL" property="highestScore"/>
<result column="lowest_score" jdbcType="DECIMAL" property="lowestScore"/>
<result column="total_duration" jdbcType="INTEGER" property="totalDuration"/>
<result column="average_score" jdbcType="DECIMAL" property="averageScore"/>
<result column="system_owner" jdbcType="VARCHAR" property="systemOwner"/>
</resultMap>
<sql id="Example_Where_Clause">
<where>
@ -32,7 +32,8 @@
</when>
<when test="criterion.listValue">
and ${criterion.condition}
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
<foreach close=")" collection="criterion.value" item="listItem" open="("
separator=",">
#{listItem}
</foreach>
</when>
@ -61,7 +62,8 @@
</when>
<when test="criterion.listValue">
and ${criterion.condition}
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
<foreach close=")" collection="criterion.value" item="listItem" open="("
separator=",">
#{listItem}
</foreach>
</when>
@ -73,18 +75,20 @@
</where>
</sql>
<sql id="Base_Column_List">
user_id, school_id, class_id, name, student_id, exam_count, highest_score, lowest_score,
user_id
, school_id, class_id, name, student_id, exam_count, highest_score, lowest_score,
total_duration, average_score, system_owner
</sql>
<select id="selectByExample" parameterType="com.sztzjy.financial_bigdata.entity.StuTheoryRecordExample" resultMap="BaseResultMap">
<select id="selectByExample" parameterType="com.sztzjy.financial_bigdata.entity.StuTheoryRecordExample"
resultMap="BaseResultMap">
select
<if test="distinct">
distinct
</if>
<include refid="Base_Column_List" />
<include refid="Base_Column_List"/>
from stu_theory_record
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
<include refid="Example_Where_Clause"/>
</if>
<if test="orderByClause != null">
order by ${orderByClause}
@ -92,18 +96,19 @@
</select>
<select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
<include refid="Base_Column_List"/>
from stu_theory_record
where user_id = #{userId,jdbcType=VARCHAR}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.String">
delete from stu_theory_record
delete
from stu_theory_record
where user_id = #{userId,jdbcType=VARCHAR}
</delete>
<delete id="deleteByExample" parameterType="com.sztzjy.financial_bigdata.entity.StuTheoryRecordExample">
delete from stu_theory_record
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
<include refid="Example_Where_Clause"/>
</if>
</delete>
<insert id="insert" parameterType="com.sztzjy.financial_bigdata.entity.StuTheoryRecord">
@ -189,10 +194,11 @@
</if>
</trim>
</insert>
<select id="countByExample" parameterType="com.sztzjy.financial_bigdata.entity.StuTheoryRecordExample" resultType="java.lang.Long">
<select id="countByExample" parameterType="com.sztzjy.financial_bigdata.entity.StuTheoryRecordExample"
resultType="java.lang.Long">
select count(*) from stu_theory_record
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
<include refid="Example_Where_Clause"/>
</if>
</select>
<update id="updateByExampleSelective" parameterType="map">
@ -233,7 +239,7 @@
</if>
</set>
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
<include refid="Update_By_Example_Where_Clause"/>
</if>
</update>
<update id="updateByExample" parameterType="map">
@ -250,7 +256,7 @@
average_score = #{record.averageScore,jdbcType=DECIMAL},
system_owner = #{record.systemOwner,jdbcType=VARCHAR}
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
<include refid="Update_By_Example_Where_Clause"/>
</if>
</update>
<update id="updateByPrimaryKeySelective" parameterType="com.sztzjy.financial_bigdata.entity.StuTheoryRecord">
@ -305,14 +311,18 @@
</update>
<resultMap id="DtoMap" type="com.sztzjy.financial_bigdata.entity.stu_dto.StuTheoryIndexInfoDto">
<result column="score" jdbcType="DECIMAL" property="lastTaskScore" />
<result column="total_duration" jdbcType="INTEGER" property="theoryTotalDuration" />
<result column="exam_count" jdbcType="INTEGER" property="theoryNum" />
<result column="rank" jdbcType="INTEGER" property="theoryLastRank" />
<result column="score" jdbcType="DECIMAL" property="lastTaskScore"/>
<result column="total_duration" jdbcType="INTEGER" property="theoryTotalDuration"/>
<result column="exam_count" jdbcType="INTEGER" property="theoryNum"/>
<result column="rank" jdbcType="INTEGER" property="theoryLastRank"/>
</resultMap>
<select id="selectTheoryInfo" parameterType="com.sztzjy.financial_bigdata.entity.stu_dto.StuTheoryIndexInfoDto" resultMap="DtoMap">
SELECT ste.score, str.total_duration,str.exam_count, (
<select id="selectTheoryInfo" parameterType="com.sztzjy.financial_bigdata.entity.stu_dto.StuTheoryIndexInfoDto"
resultMap="DtoMap">
SELECT ste.score,
str.total_duration,
str.exam_count,
(
SELECT COUNT(*) AS `rank`
FROM stu_theory_exam
WHERE accuracy &gt;= (
@ -320,11 +330,11 @@
FROM stu_theory_exam
WHERE user_id = 4
ORDER BY exam_time DESC
LIMIT 1
)
LIMIT 1 )
) AS `rank`
FROM stu_theory_exam ste
JOIN stu_theory_record str ON ste.user_id = str.user_id
JOIN stu_theory_record str
ON ste.user_id = str.user_id
WHERE ste.user_id = 4
AND ste.answered = 1
AND ste.accuracy &gt;= (
@ -337,4 +347,20 @@
ORDER BY ste.exam_time DESC
LIMIT 1;
</select>
<select id="selectConditions" resultMap="BaseResultMap">
select *
from stu_theory_record
<where>
system_owner = #{systemOwner}
AND school_id = #{schoolId}
<if test="classId != null and classId != ''">
AND class_id = #{classId}
</if>
<if test="keyWord != null and keyWord != ''">
AND (student_id like CONCAT ('%',#{keyWord},'%') or name like CONCAT ('%',#{keyWord},'%'))
</if>
</where>
</select>
</mapper>
Loading…
Cancel
Save