Newer
Older
sensorhub-plus / casic-iot-dao / src / main / resources / mapper / BusConfigMapper.xml
<?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.casic.missiles.mapper.BusConfigMapper">

    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.casic.missiles.model.BusConfig">
        <id column="id" property="id"/>
        <result column="device_id" property="deviceId"/>
        <result column="devcode" property="devcode"/>
        <result column="config_type" property="configType" />
        <result column="config_json" property="configJson"/>
        <result column="status" property="status"/>
        <result column="send_time" property="sendTime"/>
        <result column="create_time" property="createTime"/>
        <result column="create_user_id" property="createUserId"/>
        <result column="response_time" property="responseTime"/>
        <result column="ttl" property="ttl"/>
    </resultMap>


    <sql id="char_toDate" databaseId="mysql">
        ${paramStr}
    </sql>

    <sql id="char_toDate" databaseId="pgsql">
       TO_TIMESTAMP(${paramStr},'yyyy-MM-dd hh24:mi:ss')::timestamp without time zone
    </sql>

    <sql id="char_toDate" databaseId="oracle">
        TO_DATE(${paramStr},'yyyy-mm-dd hh24:mi')
    </sql>

    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
        id, devcode, config_json, status, send_time, create_time, create_user_id, ttl, response_time, device_id
    </sql>

    <select id="listPage" resultType="com.casic.missiles.model.BusConfig">
        select bc.id,bc.devcode,config_type AS "configType", config_json AS "configJson",bc.status,
        send_time as "sendTime",bc.create_time AS "createTime",bc.create_user_id AS "createUserId",
        bc.create_user_name AS "createUserName",dg.deptid
        FROM (
            SELECT *
            FROM bus_config
            WHERE 1=1
            <if test="request.configType != null and request.configType != '' ">
                AND config_type =#{request.configType}
            </if>
            <if test="request.devcode != '' and request.devcode != null">
                AND devcode =#{request.devcode}
            </if>
            <if test="request.status != '' and request.status != null">
                AND status =#{request.status}
            </if>
            <if test="request.beginTime!='' and request.beginTime!=null">
                AND send_time <![CDATA[  >=  ]]>
                <include refid="char_toDate">
                    <property name="paramStr" value="#{request.beginTime}"/>
                </include>
            </if>
            <if test="request.endTime!='' and request.endTime!=null">
                AND send_time <![CDATA[  <=  ]]>
                <include refid="char_toDate">
                    <property name="paramStr" value="#{request.endTime}"/>
                </include>
            </if>
        )bc
        JOIN device d ON d.devcode=bc.devcode
        JOIN device_group dg ON dg.id= d.group_id
    </select>

    <select id="findConfigListToBeSend" resultType="com.casic.missiles.model.BusConfig">
        SELECT 
            <include refid="Base_Column_List"></include>
        FROM
            bus_config bc
        WHERE
            (bc.status = 0 OR bc.status = 3) AND bc.device_id = #{deviceId}
        ORDER BY bc.create_time DESC
    </select>

    <select id="findConfigListSendToDevice" resultType="com.casic.missiles.model.BusConfig">
        SELECT
            <include refid="Base_Column_List"></include>
        FROM
            bus_config bc
        WHERE
            bc.status = 3 AND bc.send_time IS NOT NULL AND bc.device_id = #{deviceId}
        ORDER BY bc.send_time DESC
    </select>

</mapper>