12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- <?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.CourseDepartMapper">
- <!-- 通用查询映射结果 -->
- <resultMap id="BaseResultMap" type="com.gyee.exam.modules.course.dto.CourseDepartDTO">
- <id column="id" property="id" />
- <result column="course_id" property="courseId" />
- <result column="dept_code" property="deptCode" />
- </resultMap>
- <!-- 通用查询结果列 -->
- <sql id="Base_Column_List">
- `id`,`course_id`,`dept_code`
- </sql>
- <select id="courseUserRank" resultType="com.gyee.exam.modules.course.dto.response.CourseUserRankDTO">
- SELECT
- uc.user_name AS deptName,
- uc.real_name AS realName,
- SUM((SELECT IFNULL(SUM(learn_min),0) FROM el_course_file_learn fl WHERE fl.course_id=cl.course_id AND fl.user_id=cl.user_id )) AS total
- FROM el_course_depart dept
- LEFT JOIN sys_user uc ON dept.dept_code=uc.dept_code
- LEFT JOIN el_course_learn cl ON cl.user_id=uc.id AND cl.course_id=dept.course_id
- INNER JOIN el_course ec on ec.id = dept.course_id
- LEFT JOIN sys_depart sd on sd.dept_code = dept.dept_code
- <where>
- uc.id IS NOT NULL AND sd.data_flag != '1'
- <if test="query!=null">
- <if test="query.statDateL!=null ">
- AND cl.create_time >= #{query.statDateL}
- </if>
- <if test="query.statDateR!=null ">
- AND cl.create_time < #{query.statDateR}
- </if>
- <if test="query.q!=null and query.q!=''">
- AND cd.dept_code = #{query.q}
- </if>
- </if>
- </where>
- group by uc.user_name,uc.real_name, uc.id
- ORDER BY total DESC
- LIMIT 20
- </select>
- <select id="courseUserRankNew" resultType="com.gyee.exam.modules.course.dto.response.CourseUserRankDTO">
- SELECT
- uc.user_name AS deptName,
- uc.real_name AS realName,
- SUM((SELECT IFNULL(SUM(learn_min),0) FROM el_course_file_learn fl WHERE fl.course_id=cl.course_id AND fl.user_id=cl.user_id )) AS total
- FROM sys_user uc
- LEFT JOIN el_course_learn cl ON cl.user_id=uc.id
- INNER JOIN el_course ec on ec.id = cl.course_id
- LEFT JOIN sys_depart sd on sd.dept_code = uc.dept_code
- <where>
- uc.id IS NOT NULL AND sd.data_flag != '1'
- <if test="query!=null">
- <if test="query.statDateL!=null ">
- AND cl.create_time >= #{query.statDateL}
- </if>
- <if test="query.statDateR!=null ">
- AND cl.create_time < #{query.statDateR}
- </if>
- <if test="query.q!=null and query.q!=''">
- AND cd.dept_code = #{query.q}
- </if>
- </if>
- </where>
- group by uc.user_name,uc.real_name, uc.id
- ORDER BY total DESC
- LIMIT 20
- </select>
- </mapper>
|