<?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.zehong.system.mapper.TTrainCourseStatMapper"> <resultMap id="TrainCourseStatResult" type="TrainCourseStat"> <result property="courseId" column="course_id" /> <result property="courseName" column="course_name" /> <result property="releaseTime" column="release_time" /> <result property="planName" column="plan_name" /> <result property="maybeTestNum" column="maybeTestNum" /> <result property="finishNum" column="finishNum" /> </resultMap> <resultMap id="TrainCourseStatDetailResult" type="TrainCourseStatDetail"> <result property="userCourseId" column="user_course_id"></result> <result property="nickName" column="nick_name" /> <result property="deptName" column="dept_name" /> <result property="finishDuration" column="finish_duration" /> <result property="trainState" column="train_state" /> <result property="isComplete" column="isComplete" /> </resultMap> <select id="getTrainCourseStatData" parameterType="com.zehong.system.domain.TrainCourseStat" resultMap="TrainCourseStatResult"> SELECT train.course_id, train.course_name, train.release_time, plan.plan_name, (SELECT count(1) FROM t_train_plan_post post WHERE plan_id = plan.plan_id)AS maybeTestNum, (SELECT count(1) FROM t_train_user_course courseUse WHERE courseUse.course_id = train.course_id AND courseUse.train_state = '1')AS finishNum FROM t_train_course train LEFT JOIN t_train_plan plan ON plan.plan_id = train.course_type <where> train.is_del = '0' AND train.status = '1' <if test="courseId != null "> and train.course_id = #{courseId}</if> <if test="courseName !='' and courseName!= null">and train.course_name like concat('%', #{courseName}, '%')</if> <if test="releaseBeginTime != null and releaseEndTime">and train.release_time BETWEEN #{releaseBeginTime} AND #{releaseEndTime} </if> </where> ORDER BY train.release_time DESC </select> <select id="getTrainCourseStatDetailData" parameterType="Long" resultMap="TrainCourseStatDetailResult"> SELECT courseUse.user_course_id, us.nick_name, dept.dept_name, courseUse.finish_duration, courseUse.train_state, ( CASE courseUse.train_state WHEN '0' THEN '未完成' WHEN '1' THEN '完成' END ) AS isComplete FROM t_train_user_course courseUse LEFT JOIN sys_user us ON us.user_id = courseUse.user_id LEFT JOIN sys_dept dept ON dept.dept_id = us.dept_id WHERE courseUse.course_id = #{courseId} </select> </mapper>