<?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.cku.oa.trainschool.dao.SchoolsTeacherDao">

	<sql id="schoolsTeacherColumns">
		a.id AS "id",
		a.teacherName AS "teacherName",
		LPAD(a.teacherIndex, 5, 0) AS "teacherIndex",
		a.tel AS "tel",
		a.avatar AS "avatar",
		a.level AS "level",
		a.schoolId AS "schoolId",
		a.introduce AS "introduce",
		a.create_by AS "createBy.id",
		a.update_by AS "updateBy.id",
		a.create_date AS "createDate",
		a.update_date AS "updateDate",
		a.del_flag AS "delFlag"
	</sql>

	<sql id="schoolsTeacherJoins">
	</sql>

	<select id="findTeacher" resultType="TeacherLecturer">
		SELECT
		<include refid="schoolsTeacherColumns"/>
		FROM teacher_lecturer a
		<include refid="schoolsTeacherJoins"/>
		WHERE a.del_flag = '0'
		AND  (a.teacherName LIKE  CONCAT('%', #{teacherName}, '%') OR a.teacherIndex LIKE  CONCAT('%', #{teacherName}, '%'))
		AND a.schoolId = #{schoolId}
	</select>
	<select id="findTeacherBySchoolId" resultType="TeacherLecturer">
		SELECT
		<include refid="schoolsTeacherColumns"/>
		FROM teacher_lecturer a
		<include refid="schoolsTeacherJoins"/>
		WHERE a.del_flag = '0'
		AND a.schoolId = #{schoolId}
	</select>
	<select id="get" resultType="TeacherLecturer">
		SELECT
		<include refid="schoolsTeacherColumns"/>
		FROM teacher_lecturer a
		<include refid="schoolsTeacherJoins"/>
		WHERE a.id = #{id}
	</select>

	<select id="findList" resultType="TeacherLecturer">
		SELECT
		<include refid="schoolsTeacherColumns"/>
		FROM teacher_lecturer a
		<include refid="schoolsTeacherJoins"/>
		<where>
			a.del_flag = #{DEL_FLAG_NORMAL}
			<if test="teacherName!=null and teacherName!=''">
				and (a.teacherName like   CONCAT('%',#{teacherName},'%')   or a.tel like   CONCAT('%',#{teacherName},'%') or  a.teacherIndex like   CONCAT('%',replace(#{teacherName},'0',''),'%') )
			</if>
			<if test="level!=null and level!=''">
				and a.level like   CONCAT('%',#{level},'%')
			</if>
			<if test="schoolId!=null and schoolId!=''">
				and a.schoolId = #{schoolId}
			</if>
			<if test="beginCreateDate != null and beginCreateDate != ''">
				AND date_format(a.create_date, '%Y-%m-%d') <![CDATA[ >= ]]> date_format(#{beginCreateDate}, '%Y-%m-%d')
			</if>
			<if test="endCreateDate != null and endCreateDate != ''">
				AND date_format(a.create_date, '%Y-%m-%d') <![CDATA[ <= ]]> date_format(#{endCreateDate}, '%Y-%m-%d')
			</if>

		</where>
		<choose>
			<when test="page !=null and page.orderBy != null and page.orderBy != ''">
				ORDER BY ${page.orderBy}
			</when>
			<otherwise>
				ORDER BY a.update_date DESC
			</otherwise>
		</choose>
	</select>
	<update id="delete">
		UPDATE teacher_lecturer SET
			del_flag = #{DEL_FLAG_DELETE}
		WHERE id = #{id}
	</update>
	<insert id="insert">
		INSERT INTO teacher_lecturer(
			id,
			teacherName,
			tel,
			avatar,
			level,
			schoolId,
			introduce,
			create_by,
			create_date,
			update_by,
			update_date,
			del_flag
		) VALUES (
			#{id},
			#{teacherName},
			#{tel},
			#{avatar},
			#{level},
			#{schoolId},
			&apos;${introduce}&apos;,
			#{createBy.id},
			#{createDate},
			#{updateBy.id},
			#{updateDate},
			#{DEL_FLAG_NORMAL}
		)
	</insert>
	<update id="update">
		UPDATE teacher_lecturer SET
		teacherName=#{teacherName},
		tel=#{tel},
		avatar=#{avatar},
		level=#{level},
		introduce=&apos;${introduce}&apos;,
		update_by = #{updateBy.id},
		update_date = #{updateDate}
		WHERE id = #{id}
	</update>
</mapper>