KqTemplateMapper.xml 9.53 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.smartSearch.mapper.KqTemplateMapper">

    <resultMap id="TemplateMap"  type="com.sincere.smartSearch.model.KqTemplate">
        <result column="config" property="config"/>
        <result column="SchoolId" property="schoolId"/>
        <result column="type" property="type"/>
    </resultMap>

    <select id="selectKqTemplate" resultMap="TemplateMap">
        select XA_KqTemplate.config , XA_KqTemplate.SchoolId ,SZ_School.MsgTypes as type from XA_KqTemplate
        join SZ_School on XA_KqTemplate.SchoolId = SZ_School.school_id
         where XA_KqTemplate.State = 1 and  XA_KqTemplate.TType = 1
         and (SZ_School.MsgTypes like '%4%' or SZ_School.MsgTypes like '%5%')
         and  SZ_School.IsPush =1
    </select>

    <resultMap id="TeacherMap" type="com.sincere.common.dto.smartCampus.KqTeacherDto">
        <result column="user_id" property="userId"/>
        <result column="school_id" property="schoolId"/>
        <result column="name" property="name"/>
        <result column="mobile" property="mobile"/>
        <result column="pass" property="pass"/>
        <result column="DingUserId" property="dingUserId"/>
        <result column="QiYeHaoUserId" property="weChatUserId"/>
        <result column="OpenId" property="openId"/>
        <result column="face" property="face"/>
    </resultMap>
    <select id="selectSchoolTeacher" parameterType="java.lang.Integer" resultMap="TeacherMap">
        select distinct a.user_id,a.school_id,a.name,a.mobile,a.face,a.pass, a.OpenId,a.QiYeHaoUserId,a.DingUserId
        from SZ_V_School_Teacher a
        inner join SZ_Class b on a.class_id=b.class_id and b.state=1 and b.is_finish=0
        join SZ_UserRole on a.user_id = SZ_UserRole.user_id
        and a.school_id=#{schoolId}
        where a.role_state=1 and SZ_UserRole.userType = 0
    </select>

    <select id="selectChamberTeacher" parameterType="java.lang.Integer" resultMap="TeacherMap">
        select distinct a.user_id,a.school_id,a.name,a.mobile,a.face,a.pass, a.OpenId,a.QiYeHaoUserId,a.DingUserId
        from SS_Room join SS_RoomManager on SS_Room.Id = SS_RoomManager.RoomId
        join SZ_V_School_Teacher a on a.user_id = SS_RoomManager.ManagerId
        where SS_Room.SchoolId = #{schoolId} and SS_Room.Status = 1
    </select>

    <resultMap id="AppMap" type="com.sincere.common.dto.smartCampus.AppDto">
        <result column="AgentId" property="agentId"/>
        <result column="AgentSecret" property="agentSecret"/>
    </resultMap>
    <select id="selectApp" parameterType="java.util.Map" resultMap="AppMap">
        select AgentId,AgentSecret from EM_QYHApply where SchoolId=#{schoolId} and type= #{type}
        and ApplyName = '智能校卫'
    </select>

    <select id="selectClassChamberNumber" parameterType="java.lang.Integer" resultType="java.lang.Integer">
        select  count(0)  from   SZ_V_School_Student  where  class_id=#{classId}  and  student_type=2
    </select>

    <resultMap id="KqMap" type="com.sincere.common.dto.smartCampus.CensusKqDto">
        <result column="class_id" property="classId"/>
        <result column="class_name" property="className"/>
        <result column="allT" property="allT"/>
        <result column="kqT" property="kqT"/>
    </resultMap>
    <select id="selectCensusKq" parameterType="java.util.Map" resultMap="KqMap">
         select distinct b.class_id , b.class_name,
        (select count(distinct user_id) from SZ_V_School_Student x where c.class_id=x.class_id) as allT,
        (select count(distinct customerid) from dblan27.xiaoanhxy.dbo.${tableName} y
        where convert(varchar(10),y.intime,120)=convert(varchar(10),getdate(),120) and y.class_id=c.class_id and y.card_type=#{type}) as kqT
        from sz_userrole c
        inner join SZ_Class b on c.class_id=b.class_id and b.state=1 and b.is_finish=0
        inner join SZ_V_School_Teacher a on a.user_id=c.user_id and c.usertype=0
        where a.role_state=1 and a.user_id=#{userId}
    </select>

    <select id="selectClassDealDateCHUQIN" parameterType="java.util.Map" resultType="java.lang.Integer">
        select count(0) from EQ_DealData join SZ_V_School_Student on EQ_DealData.UserId = SZ_V_School_Student.user_id
        where EQ_DealData.DealState ='出勤'
        and EQ_DealData.TemplateId = #{templateId} and DealDate = CONVERT ( VARCHAR ( 10 ), getdate(), 120 )
        and SZ_V_School_Student.class_id =  #{classId}
    </select>

    <select id="selectClassDealDateQINGJIA" parameterType="java.util.Map" resultType="java.lang.Integer">
        select count(0) from EQ_DealData join SZ_V_School_Student on EQ_DealData.UserId = SZ_V_School_Student.user_id
        where EQ_DealData.DealState = '请假'
        and EQ_DealData.TemplateId = #{templateId} and DealDate = CONVERT ( VARCHAR ( 10 ), getdate(), 120 )
        and SZ_V_School_Student.class_id =  #{classId}
    </select>
    
    <select id="selectClassLeave"  parameterType="java.util.Map" resultType="java.lang.Integer">
        select COUNT ( DISTINCT HS_LeaveExamine.StudentId )  from HS_LeaveExamine join SZ_V_School_Student on HS_LeaveExamine.StudentId = SZ_V_School_Student.student_id
        where HS_LeaveExamine.State in (2,7,8,9,10,11) and HS_LeaveExamine.ReturnTime &gt; #{endTime} and HS_LeaveExamine.LeaveTime &lt; #{endTime}
         and SZ_V_School_Student.class_id = #{classId}
    </select>

    <resultMap id="ChamberMap" type="com.sincere.smartSearch.model.KqChamber">
        <result column="Id" property="id"/>
        <result column="name" property="name"/>
    </resultMap>
    <select id="selectChamberName" parameterType="java.lang.String" resultMap="ChamberMap">
        select SS_Room.Id , SS_Room.name as name from SS_RoomManager join SS_Room on SS_Room.Id = SS_RoomManager.RoomId
        where SS_RoomManager.ManagerId = #{userId}
    </select>

    <select id="selectChamberAllKq" parameterType="java.util.Map" resultType="java.lang.Integer">
        select count(0) as allT  from SS_Room join SS_RoomNumber on SS_Room.Id = SS_RoomNumber.Pid
            where SS_Room.Pid in (
            select SS_Room.ID from SS_RoomManager join SS_Room on SS_Room.Id = SS_RoomManager.RoomId
            where SS_RoomManager.ManagerId = #{userId} and SS_Room.Id = ${id}
            ) and SS_RoomNumber.StudentId != 0
    </select>

    <select id="selectChamberTrueKq" parameterType="java.util.Map" resultType="java.lang.Integer">
        SELECT COUNT ( DISTINCT customerid ) AS kqT FROM dblan27.xiaoanhxy.dbo.${tableName} y
        WHERE CONVERT ( VARCHAR ( 10 ), y.intime, 120 ) = CONVERT ( VARCHAR ( 10 ), getdate(), 120 )
	    AND y.card_type= #{type}
	    AND y.customerId IN (
	    SELECT SS_RoomNumber.StudentId AS customerId
            FROM SS_RoomNumber JOIN SS_Room ON SS_Room.Id = SS_RoomNumber.Pid
	        WHERE SS_Room.Pid IN (
	            SELECT SS_Room.ID FROM SS_RoomManager JOIN SS_Room ON SS_Room.Id = SS_RoomManager.RoomId
	             WHERE SS_RoomManager.ManagerId =  #{userId} and SS_Room.Id = ${id}
	              )
		    AND SS_RoomNumber.StudentId != 0
	        )
    </select>

    <select id="selectChamberDealDateCHUQIN" parameterType="java.util.Map" resultType="java.lang.Integer">
        select count(0) from EQ_DealData join SZ_V_School_Student on EQ_DealData.UserId = SZ_V_School_Student.user_id
        where EQ_DealData.DealState ='出勤'
        and EQ_DealData.TemplateId = #{templateId} and DealDate = CONVERT ( VARCHAR ( 10 ), getdate(), 120 )
        and SZ_V_School_Student.student_id in (
            select SS_RoomNumber.StudentId  from SS_Room join SS_RoomNumber on SS_Room.Id = SS_RoomNumber.Pid
            where SS_Room.Pid in (
            select SS_Room.ID from SS_RoomManager join SS_Room on SS_Room.Id = SS_RoomManager.RoomId
            where SS_RoomManager.ManagerId = #{userId} and SS_Room.Id = ${id}
            ) and SS_RoomNumber.StudentId != 0
        )
    </select>

    <select id="selectChamberDealDateQINGJIA" parameterType="java.util.Map" resultType="java.lang.Integer">
        select count(0) from EQ_DealData join SZ_V_School_Student on EQ_DealData.UserId = SZ_V_School_Student.user_id
        where EQ_DealData.DealState ='请假'
        and EQ_DealData.TemplateId = #{templateId} and DealDate = CONVERT ( VARCHAR ( 10 ), getdate(), 120 )
        and SZ_V_School_Student.student_id in (
            select SS_RoomNumber.StudentId  from SS_Room join SS_RoomNumber on SS_Room.Id = SS_RoomNumber.Pid
            where SS_Room.Pid in (
            select SS_Room.ID from SS_RoomManager join SS_Room on SS_Room.Id = SS_RoomManager.RoomId
            where SS_RoomManager.ManagerId = #{userId} and SS_Room.Id = ${id}
            ) and SS_RoomNumber.StudentId != 0
        )
    </select>

    <select id="selectChamberLeave"  parameterType="java.util.Map" resultType="java.lang.Integer">
        select COUNT ( DISTINCT HS_LeaveExamine.StudentId ) from HS_LeaveExamine join SZ_V_School_Student on HS_LeaveExamine.StudentId = SZ_V_School_Student.student_id
        where HS_LeaveExamine.State in (2,7,8,9,10,11) and HS_LeaveExamine.ReturnTime &gt; #{endTime} and HS_LeaveExamine.LeaveTime &lt; #{endTime}
         and SZ_V_School_Student.student_id in (
            select SS_RoomNumber.StudentId  from SS_Room join SS_RoomNumber on SS_Room.Id = SS_RoomNumber.Pid
            where SS_Room.Pid in (
            select SS_Room.ID from SS_RoomManager join SS_Room on SS_Room.Id = SS_RoomManager.RoomId
            where SS_RoomManager.ManagerId = #{userId} and SS_Room.Id = ${id}
            ) and SS_RoomNumber.StudentId != 0
        )
    </select>


</mapper>