TkDeviceAccountMapper.xml 3.89 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.TkDeviceAccountMapper">
    <resultMap type="org.thingsboard.server.common.data.yunteng.dto.TkDeviceAccountDTO" id="deviceAccountMap">
        <result property="id" column="id"/>
        <result property="name" column="name"/>
        <result property="code" column="code"/>
        <result property="categoryId" column="category_id"/>
        <result property="status" column="status" typeHandler="org.apache.ibatis.type.EnumTypeHandler"/>
        <result property="directorId" column="director_id"/>
        <result property="isOnline" column="is_online"/>
        <result property="deviceImg" column="device_img"/>
        <result property="brand" column="brand"/>
        <result property="modelNum" column="model_num"/>
        <result property="specifications" column="specifications"/>
        <result property="manufacturer" column="manufacturer"/>
        <result property="buyDate" column="buy_date"/>
        <result property="price" column="price"/>
        <result property="productDate" column="product_date"/>
        <result property="receiveDate" column="receive_date"/>
        <result property="registeDate" column="registe_date"/>
        <result property="supplierId" column="supplier_id"/>
        <result property="description" column="description"/>
        <result property="categoryName" column="categoryName"/>
        <result property="tenantId" column="tenant_id"/>
        <result property="createTime" column="create_time"/>
        <result property="updater" column="updater"/>
        <result property="updateTime" column="update_time"/>
        <result property="creator" column="creator"/>
        <result property="directorName" column="directorName"/>
        <association property="supplierInfo" javaType="org.thingsboard.server.common.data.yunteng.dto.TkSupplierDTO">
            <id property="id" column="director_id"/>
            <result property="name" column="supplierName"/>
            <result property="code" column="supplierCode"/>
            <result property="contacts" column="contacts"/>
            <result property="contactsMobile" column="contactsMobile"/>
        </association>
    </resultMap>
    <select id="getDataPage" resultMap="deviceAccountMap">
        SELECT
        o.id,o.name,o.code,o.category_id,o.status,o.director_id,o.is_online,o.device_img,o.brand,
        o.model_num,o.specifications,o.manufacturer,o.buy_date,o.price,o.product_date,o.receive_date,
        o.registe_date,o.supplier_id,o.description,dc.name as categoryName,
        sp.name as supplierName,sp.code as supplierCode,sp.contacts,sp.contacts_mobile ascontactsMobile,
        o.tenant_id,o.create_time,o.updater,o.update_time,o.creator,su.real_name as directorName
        from qg_device_account o
        inner join sys_user su on su.id=o.director_id
        inner join qg_supplier sp on sp.id=o.supplier_id
        inner join qg_device_cagegory dc on dc.id=o.category_id
        <where>
            <if test="queryMap.tenantId !=null ">
                AND o.tenant_id = #{queryMap.tenantId}
            </if>
            <if test="queryMap.code !=null ">
                AND o.code LIKE concat('%',#{queryMap.code}::TEXT,'%')
            </if>
            <if test="queryMap.status !=null ">
                AND o.status = #{queryMap.status}
            </if>
            <if test="queryMap.directorId !=null ">
                AND o.director_id = #{queryMap.directorId}
            </if>
            <if test="queryMap.categoryIds !=null">
                AND o.category_id in
                <foreach collection="queryMap.categoryIds" item="item" index="index"
                         separator="," open="(" close=")">
                    #{item}
                </foreach>
            </if>
        </where>
    </select>
</mapper>