From b548f17e642210ac5301db8493b5b5fe28dfab65 Mon Sep 17 00:00:00 2001
From: fengxiang <110431245@qq.com>
Date: Mon, 13 Aug 2018 14:43:56 +0800
Subject: [PATCH] 地图更新

---
 src/main/resources/mapper/SensorMapper.xml |  113 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 111 insertions(+), 2 deletions(-)

diff --git a/src/main/resources/mapper/SensorMapper.xml b/src/main/resources/mapper/SensorMapper.xml
index 3894d48..054e376 100644
--- a/src/main/resources/mapper/SensorMapper.xml
+++ b/src/main/resources/mapper/SensorMapper.xml
@@ -4,13 +4,122 @@
   <resultMap id="BaseResultMap" type="com.moral.entity.Sensor" >
     <id column="id" property="id" jdbcType="INTEGER" />
     <result column="name" property="name" jdbcType="VARCHAR" />
-    <result column="key" property="key" jdbcType="VARCHAR" />
+    <result column="sensor_key" property="sensorKey" jdbcType="VARCHAR" />
     <result column="upper" property="upper" jdbcType="DOUBLE" />
     <result column="lower" property="lower" jdbcType="DOUBLE" />
     <result column="unit" property="unit" jdbcType="VARCHAR" />
     <result column="description" property="description" jdbcType="VARCHAR" />
   </resultMap>
   <sql id="Base_Column_List" >
-    id, name, key, upper, lower, unit, description
+    id, name, sensor_key, upper, lower, unit, description
   </sql>
+  <select id="selectByVersionId" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
+    select 
+    <include refid="Base_Column_List" />
+    from sensor sen
+    where EXISTS
+    (  select id
+       from device_version_sensor dvs
+       where sen.id = dvs.sensor_id and dvs.device_version_id = #{deviceVersionId,jdbcType=INTEGER}
+    )
+  </select>
+  <select id="selectByVersionNo" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
+    select
+    <include refid="Base_Column_List" />
+    from sensor sen
+    where EXISTS
+    (  select id
+       from device_version_sensor dvs
+       where sen.id = dvs.sensor_id
+	   and dvs.device_version_id in
+		  (
+			  select dev.id from device_version dev
+	  		  where dev.version = #{deviceVersionNo,jdbcType=INTEGER}
+		  )
+    )
+  </select>
+  <select id="selectByVersionNos" resultMap="BaseResultMap" parameterType="java.util.List" >
+    select
+    <include refid="Base_Column_List" />
+    from sensor sen
+    where EXISTS
+    (  select id
+       from device_version_sensor dvs
+       where sen.id = dvs.sensor_id
+	   and dvs.device_version_id in
+		  (
+			  select dev.id from device_version dev
+	  		   <where>
+				   1 > 1
+				   <if test="versionNos!=null and versionNos.size() > 0">
+				   or dev.version in
+					  <foreach collection="versionNos" item="versionNo" open="(" close=")" separator=",">
+							 #{versionNo,jdbcType=INTEGER}
+					  </foreach>
+				   </if>
+			  </where>
+		  )
+    )
+  </select>
+  
+  	<select id="getSensorsByDeviceVersionId" resultType="java.util.Map">
+		SELECT
+			s.* 
+		FROM
+			device_version_sensor dvs,
+			sensor s 
+		WHERE
+			dvs.sensor_id = s.id 
+			AND dvs.device_version_id = #{deviceVersionId}		
+	</select>
+
+  	<select id="getSensorsByCriteria" resultMap="BaseResultMap">
+		SELECT
+			DISTINCT s.* 
+		FROM
+			sensor s,
+			device_version_sensor dvs,
+			device d,
+			monitor_point mp 
+		WHERE
+			s.id = dvs.sensor_id 
+			AND dvs.device_version_id = d.device_version_id 
+			AND d.monitor_point_id = mp.id
+			<if test="provinceCode != null">
+			AND mp.province_code = #{provinceCode}
+			</if>
+			<if test="cityCode != null">
+			AND mp.city_code = #{cityCode}
+			</if>
+			<if test="areaCode != null">
+			AND mp.area_code = #{areaCode}
+			</if>
+			<if test="monitorPointId != null">
+			AND mp.id =	#{monitorPointId}
+			</if>
+			<if test="mac != null">
+			AND d.mac =	#{mac}
+			</if>
+			<if test="professionId != null">
+			AND d.profession_id = #{professionId}
+			</if>
+	</select>
+	<select id="selectByOrgId" resultMap="BaseResultMap">
+		  select * from sensor sen where sen.id in
+			(
+			   select DISTINCT sensor_id from device_version_sensor dvs
+				 where dvs.device_version_id
+				 in (
+						select DISTINCT device_version_id from device dev where
+						EXISTS (select * from monitor_point mpt where
+						 mpt.organization_id = #{organizationId,jdbcType=INTEGER} and mpt.id = dev.monitor_point_id
+						 OR EXISTS  (
+						              SELECT * from dictionary_data
+									  where dict_data_key = 'auth_config_super_org' and dict_data_value = #{organizationId,jdbcType=INTEGER}
+									  )
+							    )
+				  )
+			  )
+			 order by sen.id asc
+	</select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0