|
@@ -80,6 +80,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|
|
<result property="stuAllNum" column="stu_all_num"/>
|
|
|
</resultMap>
|
|
|
|
|
|
+ <resultMap type="com.zhongzheng.modules.user.vo.ExamSonStudyRecordVo" id="ExamSonStudyRecordVoResult">
|
|
|
+ <result property="questionId" column="question_id"/>
|
|
|
+ <result property="questionName" column="question_name"/>
|
|
|
+ <result property="moduleNum" column="module_num"/>
|
|
|
+ <result property="chapterNum" column="chapter_num"/>
|
|
|
+ <result property="examNum" column="exam_num"/>
|
|
|
+ <result property="subjectName" column="subject_name"/>
|
|
|
+ <result property="questionNum" column="question_num"/>
|
|
|
+ <result property="examType" column="exam_type"/>
|
|
|
+ <result property="recordNum" column="record_num"/>
|
|
|
+ </resultMap>
|
|
|
+
|
|
|
<select id="selectList" parameterType="com.zhongzheng.modules.user.bo.UserStudyRecordQueryBo" resultMap="UserStudyRecordResult">
|
|
|
SELECT DISTINCT
|
|
|
temp.course_id,
|
|
@@ -150,8 +162,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|
|
course r
|
|
|
LEFT JOIN goods_course c ON c.course_id = r.course_id
|
|
|
where 1=1
|
|
|
- <if test="goodId != null and goodId !=''">
|
|
|
- and c.goods_id =#{goodId}
|
|
|
+ <if test="goodsId != null and goodsId !=''">
|
|
|
+ and c.goods_id =#{goodsId}
|
|
|
</if>
|
|
|
</select>
|
|
|
|
|
@@ -315,4 +327,67 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|
|
AND o.user_id = #{userId}
|
|
|
</if>
|
|
|
</select>
|
|
|
+
|
|
|
+ <select id="listExamSon" parameterType="com.zhongzheng.modules.user.bo.SubjectStudyRecordQueryBo" resultMap="ExamSonStudyRecordVoResult">
|
|
|
+ SELECT
|
|
|
+ a.id as question_id,
|
|
|
+ e.exam_name as question_name,
|
|
|
+ (SELECT s.subject_name FROM question_business b LEFT JOIN course_subject s on b.subject_id= s.id where b.type =2 and b.major_id =a.major_id) as subject_name,
|
|
|
+ 0 as module_num,
|
|
|
+ 0 as chapter_num,
|
|
|
+ 1 as exam_num,
|
|
|
+ (select COUNT(q.id) FROM exam_question q where e.exam_id = q.exam_id) as question_num,
|
|
|
+ (SELECT COUNT(DISTINCT r.exam_id) FROM user_bank_record r where r.goods_id = a.goods_id and r.exam_id = e.exam_id <if test="userId != null and userId !=''">
|
|
|
+ AND r.user_id = #{userId}
|
|
|
+ </if> ) as record_num
|
|
|
+ FROM
|
|
|
+ goods_attached a
|
|
|
+ LEFT JOIN exam e ON a.major_id = e.exam_id
|
|
|
+ WHERE
|
|
|
+ a.type =3
|
|
|
+ <if test="goodsId != null and goodsId !=''">
|
|
|
+ and a.goods_id =#{goodsId}
|
|
|
+ </if>
|
|
|
+ UNION
|
|
|
+ SELECT
|
|
|
+ a.id as question_id,
|
|
|
+ c.`name` as question_name,
|
|
|
+ (SELECT s.subject_name FROM question_business b LEFT JOIN course_subject s on b.subject_id= s.id where b.type =3 and b.major_id =a.major_id) as subject_name,
|
|
|
+ 0 as module_num,
|
|
|
+ 1 as chapter_num,
|
|
|
+ (SELECT COUNT(e.id) FROM question_chapter_exam e where c.chapter_exam_id=e.chapter_exam_id) as exam_num,
|
|
|
+ (select COUNT(q.id) FROM exam_question q LEFT JOIN question_chapter_exam m on m.exam_id = q.exam_id where m.chapter_exam_id = a.major_id) as question_num,
|
|
|
+ (SELECT COUNT(DISTINCT r.exam_id) FROM user_bank_record r LEFT JOIN question_chapter_exam m on r.exam_id = m.exam_id where r.goods_id = a.goods_id and m.chapter_exam_id=c.chapter_exam_id <if test="userId != null and userId !=''">
|
|
|
+ AND r.user_id = #{userId}
|
|
|
+ </if> ) as record_num
|
|
|
+ FROM
|
|
|
+ goods_attached a
|
|
|
+ LEFT JOIN question_chapter c ON a.major_id = c.chapter_exam_id
|
|
|
+ WHERE
|
|
|
+ a.type =2
|
|
|
+ <if test="goodsId != null and goodsId !=''">
|
|
|
+ and a.goods_id =#{goodsId}
|
|
|
+ </if>
|
|
|
+ UNION
|
|
|
+ SELECT
|
|
|
+ a.id as question_id,
|
|
|
+ c.module_name as question_name,
|
|
|
+ (SELECT s.subject_name FROM question_business b LEFT JOIN course_subject s on b.subject_id= s.id where b.type =4 and b.major_id =a.major_id) as subject_name,
|
|
|
+ 1 as module_num,
|
|
|
+ (SELECT COUNT(e.id) FROM question_module_chapter e where c.module_exam_id=e.module_exam_id) as chapter_num,
|
|
|
+ (SELECT COUNT(e.id) FROM question_chapter_exam e LEFT JOIN question_module_chapter r on e.chapter_exam_id = r.chapter_exam_id where c.module_exam_id=r.module_exam_id) as exam_num,
|
|
|
+ (select COUNT(q.id) FROM exam_question q LEFT JOIN question_chapter_exam m on m.exam_id = q.exam_id LEFT JOIN question_module_chapter r on m.chapter_exam_id = r.chapter_exam_id where r.module_exam_id = a.major_id) as question_num,
|
|
|
+ (SELECT COUNT(DISTINCT r.exam_id) FROM user_bank_record r LEFT JOIN question_chapter_exam m on r.exam_id = m.exam_id LEFT JOIN question_module_chapter l on l.chapter_exam_id = m.chapter_exam_id where r.goods_id = a.goods_id and l.module_exam_id = a.major_id <if test="userId != null and userId !=''">
|
|
|
+ AND r.user_id = #{userId}
|
|
|
+ </if> ) as record_num
|
|
|
+ FROM
|
|
|
+ goods_attached a
|
|
|
+ LEFT JOIN question_module c ON a.major_id = c.module_exam_id
|
|
|
+ WHERE
|
|
|
+ a.type =1
|
|
|
+ <if test="goodsId != null and goodsId !=''">
|
|
|
+ and a.goods_id =#{goodsId}
|
|
|
+ </if>
|
|
|
+
|
|
|
+ </select>
|
|
|
</mapper>
|