From 288d18ea9f93236f179cbd333dc21bebda7c023a Mon Sep 17 00:00:00 2001
From: fengxiang <110431245@qq.com>
Date: Wed, 04 Jul 2018 17:12:54 +0800
Subject: [PATCH] 设备,监控点 功能增强

---
 src/main/resources/mapper/SensorMapper.xml |  125 +++++++++++++++++++++++++++++++++++++++++
 1 files changed, 125 insertions(+), 0 deletions(-)

diff --git a/src/main/resources/mapper/SensorMapper.xml b/src/main/resources/mapper/SensorMapper.xml
new file mode 100644
index 0000000..054e376
--- /dev/null
+++ b/src/main/resources/mapper/SensorMapper.xml
@@ -0,0 +1,125 @@
+<?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.mapper.SensorMapper" >
+  <resultMap id="BaseResultMap" type="com.moral.entity.Sensor" >
+    <id column="id" property="id" jdbcType="INTEGER" />
+    <result column="name" property="name" 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, 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