<?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.VersionMapper">
|
|
<!-- 通用查询映射结果 -->
|
<resultMap id="BaseResultMap" type="com.moral.api.entity.Version">
|
<id column="id" property="id"/>
|
<result column="name" property="name"/>
|
<result column="create_time" property="createTime"/>
|
<result column="update_time" property="updateTime"/>
|
<result column="is_delete" property="isDelete"/>
|
<result column="desc" property="desc"/>
|
</resultMap>
|
|
<!--带有因子以及单位的查询map-->
|
<resultMap id="VersionSensorUnitMap" type="com.moral.api.entity.Version">
|
<id property="id" column="id"></id>
|
<result property="name" column="name"></result>
|
<result property="desc" column="desc"></result>
|
<result property="createTime" column="create_time"></result>
|
<result property="updateTime" column="update_time"></result>
|
<collection property="sensors" column="id" ofType="com.moral.api.entity.Sensor">
|
<id property="id" column="sid"></id>
|
<result property="name" column="sname"></result>
|
<result property="code" column="scode"></result>
|
<result property="unitKey" column="dataKey"></result>
|
<result property="unit" column="dataValue"></result>
|
</collection>
|
</resultMap>
|
|
<select id="queryVersionsAndSensorUnitByIds" resultMap="VersionSensorUnitMap">
|
SELECT
|
v.`id`,v.`name`,v.`desc`,v.`create_time`,v.`update_time`,s.`id` AS sid,s.`code` as scode,s.`name` AS sname ,u.dataKey,u.dataValue
|
FROM
|
`version` v
|
JOIN
|
version_sensor_unit vsu
|
ON
|
v.`id` = vsu.`version_id` AND vsu.`is_delete` = 0
|
JOIN
|
sensor s
|
ON
|
s.`code` = vsu.`sensor_code` AND s.`is_delete` = 0
|
JOIN
|
(
|
SELECT
|
sdd.datakey,sdd.dataValue,sdd.is_delete
|
FROM
|
sys_dict_data sdd
|
JOIN
|
sys_dict_type sdt
|
ON
|
sdt.`name` = 'unit' AND sdt.`id` = sdd.`dict_type_id` AND sdt.`is_delete` = 0
|
WHERE
|
sdd.`is_delete` = 0
|
) u
|
ON
|
vsu.unit_key = u.dataKey AND u.is_delete = 0
|
WHERE
|
v.`id`
|
in
|
<foreach collection="list" item="vid" open="(" separator="," close=")">
|
#{vid}
|
</foreach>
|
AND
|
v.`is_delete` = 0
|
ORDER BY FIELD
|
(v.`id`,
|
<foreach collection="list" item="vid" separator="," >
|
#{vid}
|
</foreach>
|
)
|
|
</select>
|
|
</mapper>
|