SearchMapper.xml 1.84 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.example.dahua.dao.SearchDao" >


    <resultMap id="resultMap" type="com.example.dahua.bean.CheckIn">
        <result column="arr" property="out" jdbcType="VARCHAR" />
        <result column="iscuccess" property="isSuccess" jdbcType="INTEGER" />
    </resultMap>
    <insert id="checkIn" parameterType="com.example.dahua.bean.CheckIn" statementType="CALLABLE" >
        {call AttendanceService(
           #{deviceId,mode=IN} , #{cardNo,mode=IN} , #{funNo,mode=IN}, #{flag,mode=IN} , #{checkTime,mode=IN},
           #{out,mode=OUT,jdbcType=VARCHAR,resultMap=resultMap},#{isSuccess,mode=OUT,jdbcType=INTEGER,resultMap=resultMap}
        )}
    </insert>

  <resultMap id="User" type="com.example.dahua.bean.User" >
    <result column="school_id" property="schoolId" jdbcType="INTEGER" />
    <result column="class_id" property="classId" jdbcType="INTEGER" />
    <result column="name" property="name" jdbcType="VARCHAR" />
    <result column="student_id" property="studentId" jdbcType="INTEGER" />
  </resultMap>
  <select id="selectUserByCardNum" parameterType="java.lang.String" resultMap="User">
            select school_id , class_id ,name ,student_id from
             (select top 1 b.school_id, b.class_id, b.name, student_id from SZ_V_Card a
             inner join SZ_V_School_Student b on a.user_id = b.student_id
             and b.role_state = 1 where a.type = 2  and a.num = #{cardNum}
             union
             select top 1 b.school_id, 0 as class_id, b.name,b.teacher_id as student_id from SZ_V_Card a
             inner join SZ_V_School_Teacher b on a.user_id = b.teacher_id
             and b.role_state = 1 where a.type = 0  and a.num = #{cardNum}
             ) x
  </select>

</mapper>