usermapper.xml 10.7 KB
<?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.sincere.haikangface.dao.UserDao">

    <!--<select id="getStudentNum" resultType="String" parameterType="String">-->
    <!--select student_num-->
    <!--from SZ_V_School_Student-->
    <!--where school_id = #{school_id}-->
    <!--and studentcode = #{studentcode}-->
    <!--</select>-->

    <select id="getStudentWiSidAndSex" resultType="java.lang.String">

        select student_num from SZ_V_School_Student where school_id = #{schoolId} and sex in
        <foreach collection="sexs" item="sex" index="index" open="(" separator="," close=")">
            #{sex}
        </foreach>

    </select>

    <select id="getStudentCard" resultType="java.lang.String">
        select distinct student_num from SZ_V_School_Student where school_id = #{schoolId} and student_type = #{studentType}
        and sex in
        <foreach item="item" collection="sex" separator="," open="(" close=")" index="">
            #{item}
        </foreach>
    </select>

    <select id="getDeviceRoomRelation" resultType="java.lang.String">
        select clint_id from SZ_DeviceRoomRelation where clint_id = #{clint_id} and state = 1;
    </select>

    <insert id="insertBaiduFaceRecorder" parameterType="com.sincere.haikangface.bean.BaiduFaceRecorder">

        insert into BaiduFaceRecorder values (#{name},#{userId},#{score},#{time},#{uploadImgUrl},#{userImgUrl})

    </insert>

    <insert id="insertAuthRecord" parameterType="com.sincere.haikangface.bean.face.DeviceAuthRecord">
        insert into AC_DeviceAuthRecord
        (ShiDuan ,StudentType, SchoolId , Sno,StartTime , EndTime , State , WeekDays ,Sex,GrantState,AuthType,aType)
         values
        (#{shiduan},#{studentType}, #{schoolId}, #{sno}, #{startTime}, #{endTime}, 1, #{weekDays}, #{sex}, #{grantState},#{authType},#{aType})
    </insert>

    <select id="getAuthRecord" resultType="com.sincere.haikangface.bean.face.DeviceAuthRecord" parameterType="java.lang.Integer">
        select * from AC_DeviceAuthRecord where id = #{id}
    </select>

    <select id="getAuthRecordBySchoolId" resultType="java.lang.Integer">
        select top 1 ShiDuan from AC_DeviceAuthRecord where SchoolId = #{schoolId} and StudentType = #{studentType}
        <if test="status != null">
            and State= #{status}
        </if>
        order by ShiDuan desc
    </select>

    <update id="deleteAuthRecord">
        update AC_DeviceAuthRecord set State = 0 where id = #{id}
    </update>

    <update id="updateAuthRecord">
        update AC_DeviceAuthRecord set GrantState = #{grantState} where id = #{id}
    </update>

    <select id="getStudentBySchoolId" resultType="com.sincere.haikangface.bean.StudentBean">
         select * from SZ_V_School_Student where school_id = #{schoolId} and student_num !='' and photo !=''
    </select>

    <select id="getTeacherBySchoolId" resultType="com.sincere.haikangface.bean.StudentBean">
        select * from SZ_V_School_Teacher where school_id = #{schoolId} and teacher_num !='' and  face !=''
    </select>

    <select id="getStudentList" resultType="com.sincere.haikangface.bean.StudentBean">
        select * from SZ_V_School_Student where school_id = #{schoolId}
        <if test="studentType != null">
            and student_type = #{studentType}
        </if>
        <if test="sex != null and sex.size() >0">
            and sex in
            <foreach item="item" collection="sex" separator="," open="(" close=")" index="">
                #{item}
            </foreach>
        </if>
        and student_num != '' and  photo !=''
    </select>

    <select id="getStudentByClassId" resultType="com.sincere.haikangface.bean.StudentBean">
        select * from SZ_V_School_Student where school_id = #{schoolId}
        <if test="classIds != null and classIds.size() >0">
            and class_id in
            <foreach item="item" collection="classIds" separator="," open="(" close=")" index="">
                #{item}
            </foreach>
        </if>
        <if test="studentType != null">
            and student_type = #{studentType}
        </if>
        <if test="sexList != null and sexList.size() >0">
            and sex in
            <foreach item="item" collection="sexList" separator="," open="(" close=")" index="">
                #{item}
            </foreach>
        </if>
        and student_num != '' and  photo !=''
    </select>

    <select id="getStudentByKeyword" resultType="com.sincere.haikangface.bean.StudentBean">
        select * from SZ_V_School_Student where school_id = #{schoolId}
        <if test="studentType != null">
            and student_type = #{studentType}
        </if>
        <if test="sexList != null and sexList.size() >0">
            and sex in
            <foreach item="item" collection="sexList" separator="," open="(" close=")" index="">
                #{item}
            </foreach>
        </if>
        <if test="keyword != null and keyword !=''">
            and class_name concat('%', #{keyword}, '%')
        </if>
        and student_num != '' and  photo !=''
    </select>

    <select id="getStudentCardGroup" resultType="com.sincere.haikangface.bean.StudentBean">
       select * from SZ_V_School_Student where school_id = #{schoolId}
        <if test="studentType != null">
            and student_type = #{studentType}
        </if>
        <if test="sexList != null and sexList.size() >0">
            and sex in
            <foreach item="item" collection="sexList" separator="," open="(" close=")" index="">
                #{item}
            </foreach>
        </if>
        <if test="groupId != null">
            and class_id in(select DISTINCT ClassId from SZ_OneCardGrouping where Pid = #{groupId} and state = 1)
        </if>
    </select>

    <select id="getDeviceIds" resultType="java.lang.String">
        select clint_id from SZ_Attendance where clint_type in(22,18,28,29) and school_id = #{schoolId}
        <if test="deviceId != null and deviceId.trim() != ''">
            and clint_id = #{deviceId}
        </if>
    </select>

    <update id="updateUser">
        update SZ_User set face = #{face} where user_id = #{userId}
    </update>

    <select id="queryStudentIdList" resultType="java.lang.String">
       select StudentId from SS_RoomNumber where Status=1 and SchoolId=#{schoolId}
       and Pid in (select id from SS_Room where Status=1 and SchoolId=#{schoolId} and Pid=#{roomId})
       and StudentId in (select student_id from SZ_V_School_Student  where  school_id= #{schoolId}) order by newid()
    </select>

    <insert id="insertCard" parameterType="com.sincere.haikangface.bean.UpdateCardBean">
        insert into HS_StudentUpdateCard
        (UserId ,CustomerId,StudentType,UserType,Name,ClassId,ClassName,OldCard ,Card,SchoolId,IsNew,UpdateType,AddTime ,Sex,Face,StudentCode,mobile)
         values
        (#{userId},#{customerId}, #{studentType}, #{userType}, #{name}, #{classId}, #{className}, #{oldCard}, #{card},#{schoolId},#{isNew},#{updateType}, #{addTime}, #{sex}, #{face}, #{studentCode}, #{mobile})
    </insert>


    <select id="getStudentWithCard" resultType="com.sincere.haikangface.bean.StudentBean">
      select Top(1)* from SZ_V_School_Student where student_num = #{card}
        <if test="schoolId !=null">
            and school_id = #{schoolId}
        </if>
    </select>

    <select id="getTeacherWithCard" resultType="com.sincere.haikangface.bean.StudentBean">
       select Top(1)* from SZ_V_School_Teacher where teacher_num = #{teacher_num}
       <if test="schoolId !=null">
           and school_id = #{schoolId}
       </if>
    </select>

    <select id="getStudentCByUserId" resultType="com.sincere.haikangface.bean.StudentBean">
        select Top(1) * from SZ_V_School_Student where user_id = #{userId}
        <if test="schoolId !=null">
            and school_id = #{schoolId}
        </if>
    </select>

    <select id="getTeacherByUserId" resultType="com.sincere.haikangface.bean.StudentBean">
        select Top(1) * from SZ_V_School_Teacher where user_id = #{userId}
        <if test="schoolId !=null">
            and school_id = #{schoolId}
        </if>
    </select>

    <resultMap id="BaseResultMap" type="com.sincere.haikangface.bean.test.SaveStudentBak">
        <!--
          WARNING - @mbg.generated
        -->
        <id column="id" jdbcType="INTEGER" property="id"/>
        <result column="name" property="name"/>
        <result column="user_id" property="userId"/>
        <result column="card_num" property="cardNum"/>
        <result column="class_name" property="className"/>
        <result column="school_Id" property="schoolId"/>
        <result column="status" property="status"/>
        <result column="client_id" property="clientId"/>
    </resultMap>

    <insert id="insertStudent" parameterType="com.sincere.haikangface.bean.test.SaveStudentBak">
        insert into sz_student_bak values (#{name},#{userId},#{cardNum},#{clientId},#{className},#{status},#{schoolId})
    </insert>

    <select id="selectStudentList" resultMap="BaseResultMap">
        select * from sz_student_bak where status = 2
    </select>

    <update id="updateStudent" parameterType="java.lang.Integer">
        update sz_student_bak set status = 1 where id = #{id}
    </update>

    <select id="getRoomBySchoolId" resultType="java.lang.Integer">
        select Id from ss_room where schoolId = #{schoolId} and pId = #{groupId}
    </select>

    <select id="getStudentByRoomIds" resultType="com.sincere.haikangface.bean.StudentBean">
        SELECT
            ssu.*
        from SS_RoomNumber ssr
        LEFT JOIN SZ_V_School_Student ssu ON ssr.studentId = ssu.student_id
        <where>
            <if test="schoolId != null">
                and ssr.schoolId = #{schoolId}
            </if>
            <if test="pIdList != null and pIdList.size()>0">
                and ssr.Pid in
                <foreach item="item" collection="pIdList" open="(" separator=","  close=")" index="">
                    #{item}
                </foreach>
            </if>
        </where>
    </select>

    <select id="getTestVsByKeyword" resultType="com.sincere.haikangface.bean.StudentBean">
        select * from test_vs where school_id = #{schoolId}
        <if test="studentType != null">
            and student_type = #{studentType}
        </if>
        <if test="sexList != null and sexList.size() >0">
            and sex in
            <foreach item="item" collection="sexList" separator="," open="(" close=")" index="">
                #{item}
            </foreach>
        </if>
        <if test="keyword != null and keyword !=''">
            and class_name like concat('%', #{keyword}, '%')
        </if>
        and student_num != '' and  photo !=''
    </select>
</mapper>