153 lines
4.5 KiB

<?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.msdw.tms.dao.StudentDao">
<select id="queryStudentDetails" resultType="com.msdw.tms.entity.vo.StudentVo">
SELECT
u.userId,
u.userName,
s.workNumber
FROM
hr_user_info u,
student s
WHERE
u.userId = #{userId}
AND u.userId = s.userId
AND u.isdel = 0
AND s.isdel = 0
</select>
<select id="queryStudent" resultType="com.msdw.tms.entity.vo.StudentVo">
SELECT
l.schoolId,
l.schoolName,
u.userId,
u.userName,
u.account,
u.logInNumber,
u.schoolId AS schoolAppellationId,
u.disableAccount,
u.lastLoginTime,
s.roleId,
s.workNumber as workNumber,
s.isdel,
s.studentId
FROM
hr_user_info u,
student s,
school l
WHERE
s.schoolId = #{schoolId}
AND l.schoolId = s.schoolId
AND u.userId = s.userId
AND u.isdel = 0
AND l.isdel = 0
AND s.isdel = 0
<if test="searchContent!=null">AND (l.schoolName LIKE CONCAT('%',#{searchContent},'%') OR u.userName LIKE CONCAT('%',#{searchContent},'%') OR u.account LIKE CONCAT('%',#{searchContent},'%') )</if>
ORDER BY studentId DESC
</select>
<select id="queryStudentIdNumber" resultType="java.lang.Integer">
SELECT
userId
FROM
student
WHERE
workNumber = #{workNumber}
AND
schoolId = #{schoolId}
AND
isdel = 0
</select>
<select id="querySchoolName" resultType="java.lang.Integer">
SELECT * FROM school WHERE schoolName = #{schoolAppellationName}
</select>
<select id="querySchoolAppellationName" resultType="java.lang.Integer">
SELECT schoolId FROM school WHERE schoolName = #{schoolAppellationName}
</select>
<select id="queryAccount" resultType="com.msdw.tms.entity.vo.StudentVo">
SELECT
u.account,
u.userName,
u.phone,
u.email,
u.roleId,
u.uniqueIdentificationAccount,
u.schoolId,
s.workNumber
FROM
hr_user_info u,
student s
WHERE
u.userId = s.userId
AND u.account = #{account}
AND s.schoolId = #{schoolId}
AND u.isdel = 0
AND s.isdel = 0
</select>
<insert id="saveStudent" useGeneratedKeys="true" keyProperty="studentId">
INSERT INTO student ( schoolId, userId, workNumber, roleId, isdel,platformId )
VALUES
( #{schoolId},#{userId},#{workNumber},#{roleId},#{isdel},#{platformId}
)
</insert>
<insert id="addStudentInfo">
INSERT INTO student(schoolId,userId,roleId,isdel,platformId,workNumber)
VALUES
( #{schoolId},#{userId},#{roleId},#{isdel},#{platformId},#{workNumber}
)
</insert>
<insert id="bacthAddStudents">
INSERT INTO student( schoolId, userId, workNumber, roleId, isdel,platformId,now() )
VALUES
<foreach collection ="list" item="studentVo" index= "index" separator =",">
( #{studentVo.schoolId},#{studentVo.userId},#{studentVo.workNumber},4,0,1)
</foreach>
</insert>
<update id="deleteStudent" parameterType="com.msdw.tms.entity.StudentEntity">
UPDATE student s,hr_user_info u
SET s.isdel = 1,u.isdel = 1
WHERE studentId IN (
<foreach collection="list" separator="," item="studentId">#{studentId}</foreach>
)
AND
s.userId = u.userId
</update>
<update id="updateStudent">
UPDATE
student s,hr_user_info u
<set>
<if test="workNumber!=null">s.workNumber = #{workNumber},</if>
<if test="professionalId!=null">s.professionalId = #{professionalId},</if>
<if test="professionalName!=null">s.professionalName = #{professionalName},</if>
<if test="gradeId!=null">s.gradeId = #{gradeId},</if>
<if test="gradeName!=null">s.gradeName = #{gradeName},</if>
<if test="classId!=null">s.classId = #{classId},</if>
<if test="className!=null">s.className = #{className},</if>
<if test="userName!=null">u.userName = #{userName},</if>
<if test="account!=null">u.account = #{account},</if>
<if test="phone!=null">u.phone = #{phone},</if>
<if test="phone==null">u.phone = NULL,</if>
<if test="email!=null">u.email = #{email},</if>
<if test="email==null">u.email = NULL,</if>
<if test="schoolAppellationId!=null">u.schoolId = #{schoolAppellationId}</if>
</set>
WHERE
u.userId = s.userId
AND
s.studentId = #{studentId}
</update>
<!-- <if test="schoolId!=null">s.schoolId = #{schoolId},</if>-->
<!-- <if test="schoolId!=null">u.schoolId = #{schoolId},</if>-->
<update id="updateWorkNumber">
update student set workNumber = #{workNumber} where studentId = #{studentId}
</update>
<select id="queryStudentByWorkNumber" resultType="java.lang.Integer">
SELECT count(*) FROM student WHERE workNumber = #{workNumber} AND schoolId = #{schoolId} AND isdel = 0
</select>
</mapper>