TkRepairOrderMapper.xml
4.94 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
<?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') >= #{queryMap.startDate}
</if>
<if test="queryMap.endDate !=null and queryMap.endDate !=''">
AND to_char(o.report_date, 'YYYY-MM-DD HH24:MI:SS') <= #{queryMap.endDate}
</if>
</where>
</select>
</mapper>