TkRepairOrderMapper.xml 4.94 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.TkRepairOrderMapper">
    <resultMap type="org.thingsboard.server.common.data.yunteng.dto.TkRepairOrderDTO" id="repairOrderMap">
        <result property="id" column="id"/>
        <result property="orderCode" column="order_code"/>
        <result property="deviceId" column="device_id"/>
        <result property="reportDate" column="report_date"/>
        <result property="reportBy" column="report_by"/>
        <result property="status" column="status" typeHandler="org.apache.ibatis.type.EnumTypeHandler"/>
        <result property="emergency" column="emergency"/>
        <result property="situationImg" column="situation_img"/>
        <result property="description" column="description"/>
        <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="reportByName" column="reportByName"/>
        <association property="deviceInfo" javaType="org.thingsboard.server.common.data.yunteng.dto.TkDeviceAccountDTO">
            <id property="id" column="device_id"/>
            <result property="name" column="daName"/>
            <result property="code" column="daCode"/>
            <result property="categoryId" column="category_id"/>
            <result property="status" column="daStatus" 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="daDescription"/>
            <result property="directorName" column="directorName"/>
        </association>
    </resultMap>
    <select id="getRepairOrderPage" resultMap="repairOrderMap">
        SELECT
        o.id,o.device_id,o.order_code,o.report_date,o.report_by,o.status,o.emergency,o.situation_img,o.description,
        da.name as daName,da.code as daCode,da.category_id,da.status as daStatus,da.director_id,da.is_online,
        da.brand,da.model_num,da.specifications,da.manufacturer,da.buy_date,da.price,da.product_date,
        da.receive_date,da.registe_date,da.supplier_id,da.device_img,da.description as daDescription,su2.real_name as directorName,
        o.tenant_id,o.create_time,o.updater,o.update_time,o.creator,su.real_name as reportByName
        from qg_repair_order o
        inner join sys_user su on su.id=o.report_by
        inner join qg_device_account da on da.id=o.device_id
        inner join sys_user su2 on su2.id=da.director_id
        <where>
            <if test="queryMap.id !=null and queryMap.id !=''">
                AND o.id = #{queryMap.id}
            </if>
            <if test="queryMap.userId !=null and queryMap.userId !=''">
                AND (o.report_by = #{queryMap.userId} or o.creator=#{queryMap.userId} or da.director_id=#{queryMap.userId})
            </if>
            <if test="queryMap.tenantId !=null and queryMap.tenantId !=''">
                AND o.tenant_id = #{queryMap.tenantId}
            </if>
            <if test="queryMap.status !=null and queryMap.status !=''">
                AND o.status = #{queryMap.status}
            </if>
            <if test="queryMap.deviceId !=null and queryMap.deviceId !=''">
                AND o.device_id = #{queryMap.deviceId}
            </if>
            <if test="queryMap.deviceName !=null and queryMap.deviceName !=''">
                AND da.name LIKE concat('%',#{queryMap.deviceName}::TEXT,'%')
            </if>
            <if test="queryMap.emergency !=null">
                AND o.emergency = #{queryMap.emergency}
            </if>
            <if test="queryMap.startDate !=null and queryMap.startDate !=''">
                AND to_char(o.report_date, 'YYYY-MM-DD HH24:MI:SS') &gt;= #{queryMap.startDate}
            </if>
            <if test="queryMap.endDate !=null and queryMap.endDate !=''">
                AND to_char(o.report_date, 'YYYY-MM-DD HH24:MI:SS') &lt;= #{queryMap.endDate}
            </if>
        </where>
    </select>
</mapper>