123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174 |
- <?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.gyee.exam.modules.course.mapper.CourseFileLearnMapper">
- <!-- 通用查询映射结果 -->
- <resultMap id="BaseResultMap" type="com.gyee.exam.modules.course.entity.CourseFileLearn">
- <id column="id" property="id" />
- <result column="course_id" property="courseId" />
- <result column="file_id" property="fileId" />
- <result column="user_id" property="userId" />
- <result column="learn_min" property="learnMin" />
- <result column="create_time" property="createTime" />
- <result column="update_time" property="updateTime" />
- <result column="create_by" property="createBy" />
- <result column="update_by" property="updateBy" />
- <result column="data_flag" property="dataFlag" />
- </resultMap>
- <!-- 通用查询结果列 -->
- <sql id="Base_Column_List">
- `id`,`course_id`,`file_id`,`user_id`,`learn_min`,`create_time`,`update_time`,`create_by`,`update_by`,`data_flag`
- </sql>
- <resultMap id="ListResultMap"
- type="com.gyee.exam.modules.course.dto.response.CourseFileLearnRespDTO"
- extends="BaseResultMap">
- <result column="courseName" property="courseName" />
- <result column="fileName" property="fileName" />
- <result column="need_learn" property="needLearn" />
- </resultMap>
- <select id="paging" resultMap="ListResultMap">
- SELECT fl.*,cs.title AS courseName, ff.title AS fileName, rf.need_learn FROM el_course_file_learn fl
- LEFT JOIN el_course_ref_file rf ON fl.course_id=rf.course_id AND fl.file_id=rf.file_id
- LEFT JOIN el_course cs ON fl.course_id=cs.id
- LEFT JOIN el_course_file ff ON fl.file_id=ff.id
- WHERE cs.id IS NOT NULL AND ff.id IS NOT NULL
- <if test="query!=null">
- <if test="query.userId!=null and query.userId!=''">
- AND fl.user_id=#{query.userId}
- </if>
- <if test="query.courseId!=null and query.courseId!=''">
- AND fl.course_id=#{query.courseId}
- </if>
- </if>
- ORDER BY fl.update_time DESC
- </select>
- <select id="countFinished" resultType="Integer">
- SELECT COUNT(0) FROM el_course_file_learn fl
- LEFT JOIN el_course_ref_file rf ON fl.file_id=rf.file_id AND fl.course_id=rf.course_id
- WHERE fl.learn_min >= rf.need_learn
- AND fl.user_id=#{userId} AND fl.course_id=#{courseId}
- </select>
- <select id="courseDepartTotalMin"
- resultType="com.gyee.exam.modules.course.dto.response.CourseDepartTotalDTO">
- select
- sd.dept_name deptName,
- sd.dept_code deptCode,
- IFNULL(SUM(fl.learn_min),0) ecTotalMin
- from sys_depart sd
- LEFT JOIN sys_user su on sd.dept_code = su.dept_code
- LEFT JOIN el_course_file_learn fl on fl.user_id = su.id
- LEFT JOIN el_course ec on ec.id = fl.course_id
- <where>
- <if test="query!=null">
- <if test="query.statDateL!=null ">
- AND ec.create_time >= #{query.statDateL}
- </if>
- <if test="query.statDateR!=null ">
- AND ec.create_time < #{query.statDateR}
- </if>
- <if test="query.q!=null and query.q!=''">
- AND sd.dept_code = #{query.q}
- </if>
- </if>
- </where>
- GROUP BY sd.dept_code
- </select>
- <select id="selectCourseUserTotalMin"
- resultType="com.gyee.exam.modules.course.dto.response.CourseUserTotalDTO">
- SELECT
- sd.dept_name deptName,
- sd.dept_code deptCode,
- su.user_name userName,
- su.real_name realName,
- IFNULL(SUM(fl.learn_min),0) totalMin
- FROM el_course_learn cl
- INNER JOIN el_course ec ON cl.course_id = ec.id
- INNER JOIN sys_user su ON su.id = cl.user_id
- INNER JOIN sys_depart sd on sd.dept_code = su.dept_code
- LEFT JOIN el_course_file_learn fl on fl.user_id = su.id
- <where>
- <if test="query!=null">
- <if test="query.statDateL!=null ">
- AND ec.create_time >= #{query.statDateL}
- </if>
- <if test="query.statDateR!=null ">
- AND ec.create_time < #{query.statDateR}
- </if>
- <if test="query.deptName!=null and query.deptName!=''">
- AND sd.dept_name LIKE '%${query.deptName}%'
- </if>
- <if test="query.deptCode!=null and query.deptCode!=''">
- AND sd.dept_code = #{query.deptCode}
- </if>
- <if test="query.realName!=null and query.realName!=''">
- AND su.real_name LIKE '%${query.realName}%'
- </if>
- <if test="query.userName!=null and query.userName!=''">
- AND su.user_name, = #{query.userName}
- </if>
- </if>
- </where>
- group by cl.user_id
- </select>
- <select id="selectCourseUserIdTotalMin"
- resultType="com.gyee.exam.modules.course.dto.response.CourseUserIdTotalDTO">
- select
- ec.id,
- ec.title,
- SUM(fl.learn_min) learn_min
- from el_course ec
- LEFT JOIN el_course_file_learn fl ON fl.course_id = ec.id
- LEFT JOIN sys_user su ON su.id = fl.user_id
- <where>
- <if test="query!=null">
- <if test="query.statDateL!=null ">
- AND ec.create_time >= #{query.statDateL}
- </if>
- <if test="query.statDateR!=null ">
- AND ec.create_time < #{query.statDateR}
- </if>
- <if test="query.userName!=null and query.userName!=''">
- AND su.user_name = #{query.userName}
- </if>
- </if>
- </where>
- GROUP BY ec.id
- </select>
- </mapper>
|