TkPreserveRecordMapper.xml 3.22 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="org.thingsboard.server.dao.yunteng.mapper.TkPreserveRecordMapper">
    <resultMap type="org.thingsboard.server.common.data.yunteng.dto.TkPreserveRecordDTO" id="preserveRecordMap">
        <result property="id" column="id"/>
        <result property="recordCode" column="record_code"/>
        <result property="preservePlanId" column="preserve_plan_id"/>
        <result property="preserveDate" column="preserve_date"/>
        <result property="preserveBy" column="preserve_by"/>
        <result property="preserveStatus" column="preserve_status"
                typeHandler="org.apache.ibatis.type.EnumTypeHandler"/>
        <result property="preserveByName" column="preserveByName"/>
        <result property="preservePlanName" column="preserveName"/>
    </resultMap>
    <select id="getPreserveRecordPage" resultMap="preserveRecordMap">
        SELECT
        r.id,r.record_code,r.preserve_plan_id,r.preserve_date,r.preserve_by,r.preserve_status
        ,r.tenant_id,r.create_time,r.updater,r.update_time,r.creator
        ,su.real_name as preserveByName,p.preserve_name as preserveName
        from qg_preserve_record r
        inner join sys_user su on su.id=r.preserve_by
        inner join qg_preserve_plan p on p.id=r.preserve_plan_id
        <where>
            <if test="queryMap.id !=null and queryMap.id !=''">
                AND r.id = #{queryMap.id}
            </if>
            <if test="queryMap.preservePlanName !=null and queryMap.preservePlanName !=''">
                AND p.preserve_name LIKE concat('%',#{queryMap.preservePlanName}::TEXT,'%')
            </if>
            <if test="queryMap.tenantId !=null and queryMap.tenantId !=''">
                AND r.tenant_id = #{queryMap.tenantId}
            </if>
            <if test="queryMap.preserveStatus !=null and queryMap.preserveStatus !=''">
                AND r.preserve_status = #{queryMap.preserveStatus}
            </if>
            <if test="queryMap.preserve_plan_id !=null and queryMap.preserve_plan_id !=''">
                AND r.status = #{queryMap.preservePlanId}
            </if>
            <if test="queryMap.preserve_by !=null and queryMap.preserve_by !=''">
                AND r.device_id = #{queryMap.preserveBy}
            </if>
            <if test="queryMap.preserve_status !=null and queryMap.preserve_status !=''">
                AND r.emergency = #{queryMap.preserveStatus}
            </if>
            <if test="queryMap.startDate !=null and queryMap.startDate !=''">
                AND to_char(r.preserve_date, 'YYYY-MM-DD HH24:MI:SS') &gt;= #{queryMap.startDate}
            </if>
            <if test="queryMap.endDate !=null and queryMap.endDate !=''">
                AND to_char(r.preserve_date, 'YYYY-MM-DD HH24:MI:SS') &lt;= #{queryMap.endDate}
            </if>
            <if test="queryMap.planIdList !=null">
                AND r.preserve_plan_id in
                <foreach collection="queryMap.planIdList" item="item" index="index"
                         separator="," open="(" close=")">
                    #{item}
                </foreach>
            </if>
        </where>
    </select>
</mapper>