Browse Source

学员班级查询

change 4 years ago
parent
commit
7957262adb

+ 12 - 1
zhongzheng-admin/src/main/java/com/zhongzheng/controller/grade/ClassStudentController.java

@@ -139,7 +139,7 @@ public class ClassStudentController extends BaseController {
     }
 
     /**
-     * 查询学员商品学习记录
+     * 查询学员商品题库学习记录
      */
     @ApiOperation("查询学员商品题库学习记录")
     @PreAuthorize("@ss.hasPermi('grade:student:list')")
@@ -147,7 +147,18 @@ public class ClassStudentController extends BaseController {
     public TableDataInfo<ExamStudyRecordVo> listExam(UserQueryBo bo) {
         startPage();
         List<ExamStudyRecordVo> list = iUserStudyRecordService.querExamStudy(bo);
+        return getDataTable(list);
+    }
 
+    /**
+     * 查询学员商品学习记录
+     */
+    @ApiOperation("查询学员商品卷学习记录")
+    @PreAuthorize("@ss.hasPermi('grade:student:list')")
+    @GetMapping("/listExamSon")
+    public TableDataInfo<ExamSonStudyRecordVo> listExamSon(SubjectStudyRecordQueryBo bo) {
+        startPage();
+        List<ExamSonStudyRecordVo> list = iUserStudyRecordService.listExamSon(bo);
         return getDataTable(list);
     }
 }

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/bo/SubjectStudyRecordQueryBo.java

@@ -45,7 +45,7 @@ public class SubjectStudyRecordQueryBo extends BaseEntity {
 
     /** 商品ID */
     @ApiModelProperty("商品ID")
-    private Long goodId;
+    private Long goodsId;
 
     /** 科目名称 */
     @ApiModelProperty("科目名称")

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/mapper/UserStudyRecordMapper.java

@@ -31,4 +31,6 @@ public interface UserStudyRecordMapper extends BaseMapper<UserStudyRecord> {
     List<Long> sectionType(@Param("courseId") Long courseId,@Param("sectionType") Long sectionType);
 
     List<ExamStudyRecordVo> querExamStudy(UserQueryBo bo);
+
+    List<ExamSonStudyRecordVo> listExamSon(SubjectStudyRecordQueryBo bo);
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/IUserStudyRecordService.java

@@ -60,4 +60,6 @@ public interface IUserStudyRecordService extends IService<UserStudyRecord> {
 	List<SectionStudyRecordVo> listSection(SubjectStudyRecordQueryBo bo);
 
     List<ExamStudyRecordVo> querExamStudy(UserQueryBo bo);
+
+    List<ExamSonStudyRecordVo> listExamSon(SubjectStudyRecordQueryBo bo);
 }

+ 8 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/impl/UserStudyRecordServiceImpl.java

@@ -142,7 +142,7 @@ public class UserStudyRecordServiceImpl extends ServiceImpl<UserStudyRecordMappe
             Long studyLong = 0L;
 
             SubjectStudyRecordQueryBo subjectStudyRecordQueryBo = new SubjectStudyRecordQueryBo();
-            subjectStudyRecordQueryBo.setGoodId(goodsStudyRecordVo.getGoodsId());
+            subjectStudyRecordQueryBo.setGoodsId(goodsStudyRecordVo.getGoodsId());
             subjectStudyRecordQueryBo.setUserId(goodsStudyRecordVo.getUserId());
             List<SubjectStudyRecordVo> subjectStudyRecordVos = iUserStudyRecordService.listSubject(subjectStudyRecordQueryBo);
             for (SubjectStudyRecordVo subjectStudyRecordVo : subjectStudyRecordVos) {
@@ -197,4 +197,11 @@ public class UserStudyRecordServiceImpl extends ServiceImpl<UserStudyRecordMappe
 
         return examStudyRecordVos;
     }
+
+    @Override
+    public List<ExamSonStudyRecordVo> listExamSon(SubjectStudyRecordQueryBo bo) {
+        List<ExamSonStudyRecordVo> examSonStudyRecordVos = baseMapper.listExamSon(bo);
+
+        return examSonStudyRecordVos;
+    }
 }

+ 56 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/vo/ExamSonStudyRecordVo.java

@@ -0,0 +1,56 @@
+package com.zhongzheng.modules.user.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 【请填写功能名称】视图对象 mall_package
+ *
+ * @author change
+ * @date 2021-06-24
+ */
+@Data
+@ApiModel("【请填写功能名称】视图对象")
+public class ExamSonStudyRecordVo {
+
+    private static final long serialVersionUID = 1L;
+
+    /** 题卷ID */
+    @ApiModelProperty("题卷ID")
+    private Long questionId;
+
+
+    /** 题卷名 */
+    @ApiModelProperty("题卷名")
+    private String questionName;
+
+    /** 模块数 */
+    @ApiModelProperty("模块数")
+    private Long moduleNum;
+
+    /** 章数 */
+    @ApiModelProperty("章数")
+    private Long chapterNum;
+
+    /** 节数 */
+    @ApiModelProperty("试卷数")
+    private Long examNum;
+
+    /** 科目名 */
+    @ApiModelProperty("科目名")
+    private String subjectName;
+
+    /** 题目数 */
+    @ApiModelProperty("题目数")
+    private Long questionNum;
+
+
+    /** 试卷类型 */
+    @ApiModelProperty("试卷类型")
+    private String examType;
+
+    /** 已做试卷 */
+    @ApiModelProperty("已做试卷")
+    private Long recordNum;
+}

+ 1 - 0
zhongzheng-system/src/main/resources/mapper/modules/user/SchoolMapper.xml

@@ -110,5 +110,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <if test="businessId != null and businessId!=0 ">
             AND b.id = #{businessId}
         </if>
+        GROUP BY s.id
     </select>
 </mapper>

+ 77 - 2
zhongzheng-system/src/main/resources/mapper/modules/user/UserStudyRecordMapper.xml

@@ -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>