<?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.moral.api.mapper.DeviceMapper">
|
|
<!-- 通用查询映射结果 -->
|
<resultMap id="BaseResultMap" type="com.moral.api.entity.Device">
|
<id column="id" property="id"/>
|
<result column="name" property="name"/>
|
<result column="mac" property="mac"/>
|
<result column="address" property="address"/>
|
<result column="longitude" property="longitude"/>
|
<result column="latitude" property="latitude"/>
|
<result column="state" property="state"/>
|
<result column="operate_ids" property="operateIds"/>
|
<result column="monitor_point_id" property="monitorPointId"/>
|
<result column="organization_id" property="organizationId"/>
|
<result column="device_version_id" property="deviceVersionId"/>
|
<result column="profession" property="profession"/>
|
<result column="tech" property="tech"/>
|
<result column="detector" property="detector"/>
|
<result column="purchaser" property="purchaser"/>
|
<result column="create_time" property="createTime"/>
|
<result column="update_time" property="updateTime"/>
|
<result column="install_time" property="installTime"/>
|
<result column="is_delete" property="isDelete"/>
|
<result column="extend" property="extend"/>
|
</resultMap>
|
|
<resultMap id="resultMap" type="com.moral.api.pojo.vo.device.DeviceVO" extends="BaseResultMap">
|
<result column="profession_name" property="professionName"/>
|
<association property="organization" javaType="com.moral.api.entity.Organization">
|
<result column="org_id" property="id"/>
|
<result column="org_name" property="name"/>
|
</association>
|
<!--设备维护人-->
|
<collection property="operators" ofType="com.moral.api.entity.ManageAccount">
|
<id column="operate_id" property="id" jdbcType="INTEGER"/>
|
<result column="operate_name" property="userName" jdbcType="VARCHAR"/>
|
</collection>
|
</resultMap>
|
|
<select id="selectAllDeviceInfo" resultMap="resultMap">
|
SELECT d.id,
|
d.`name`,
|
d.mac,
|
d.address,
|
d.longitude,
|
d.latitude,
|
d.operate_ids,
|
d.organization_id,
|
d.monitor_point_id,
|
d.organization_id,
|
d.device_version_id,
|
d.profession profession,
|
o.id org_id,
|
o.`name` org_name,
|
ma.id operate_id,
|
ma.user_name operate_name,
|
sd.dataValue profession_name
|
FROM `device` d
|
LEFT JOIN `organization` o
|
ON d.organization_id = o.id
|
LEFT JOIN `manage_account` ma
|
ON FIND_IN_SET(
|
ma.id, (SELECT operate_ids FROM device)
|
)
|
LEFT JOIN
|
(
|
SELECT sdt.`name`, sdd.dataKey, sdd.dataValue
|
FROM sys_dict_type sdt,
|
sys_dict_data sdd
|
WHERE sdt.id = sdd.dict_type_id
|
) sd
|
on sd.`name` = 'profession'
|
and d.profession = sd.dataKey
|
AND d.is_delete = 0
|
${ew.customSqlSegment}
|
</select>
|
|
|
</mapper>
|