| <?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="unitKey" column="dataKey"></result> | 
|             <result property="code" column="code"></result> | 
|             <result property="unit" column="dataValue"></result> | 
|             <result property="upper" column="vupper"></result> | 
|             <result property="lower" column="vlower"></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.`name` AS sname ,s.`code`,u.dataKey,u.dataValue,vsu.`upper` AS vupper ,vsu.`lower` AS vlower | 
|     FROM | 
|       `version` v | 
|     LEFT JOIN | 
|       version_sensor_unit vsu | 
|     ON | 
|       v.`id` = vsu.`version_id` AND vsu.`is_delete` = 0 | 
|     LEFT JOIN | 
|       sensor s | 
|     ON | 
|       s.`code` = vsu.`sensor_code` AND s.`is_delete` = 0 | 
|     LEFT 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> |