From da0abda12d95d701f8873db506136898e66fef8e Mon Sep 17 00:00:00 2001
From: 于紫祥_1901 <email@yuzixiang_1910>
Date: Wed, 02 Dec 2020 11:10:33 +0800
Subject: [PATCH] aqi首要污染物算法更新

---
 src/main/resources/mapper/SensorMapper.xml |  225 +++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 213 insertions(+), 12 deletions(-)

diff --git a/src/main/resources/mapper/SensorMapper.xml b/src/main/resources/mapper/SensorMapper.xml
index 3894d48..74a078e 100644
--- a/src/main/resources/mapper/SensorMapper.xml
+++ b/src/main/resources/mapper/SensorMapper.xml
@@ -1,16 +1,217 @@
 <?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="key" property="key" 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
+<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>
+
+    <select id="getSensorBySensorKey" resultType="java.util.Map">
+		SELECT *
+		FROM sensor
+		WHERE sensor_key = #{sensor_key}
+	</select>
+
+    <select id="getSensorByDeviceId" resultType="java.util.Map">
+		SELECT DISTINCT d.id,d.monitor_point_id,s.*
+		FROM device d,device_version dv,device_version_sensor dvs,sensor s
+		WHERE d.device_version_id = dvs.device_version_id
+		AND dvs.sensor_id = s.id
+		AND d.id = #{id}
+	</select>
+
+    <select id="getSensorByDId" resultType="java.util.Map">
+		SELECT DISTINCT d.monitor_point_id,s.*
+		FROM device d,device_version dv,device_version_sensor dvs,sensor s
+		WHERE d.device_version_id = dvs.device_version_id
+		AND dvs.sensor_id = s.id
+		AND d.id = #{id}
+	</select>
+
+
+    <select id="getSensorByMonitorPointId" resultType="java.util.Map">
+		SELECT DISTINCT s.sensor_key sensorKey,s.unit,s.name,s.description,s.id
+		FROM device d,device_version dv,device_version_sensor dvs,sensor s
+		WHERE d.device_version_id = dvs.device_version_id
+		AND dvs.sensor_id = s.id
+		AND d.monitor_point_id = #{monitor_point_id}
+	</select>
+
+    <select id="getSensorsByMac" resultMap="BaseResultMap">
+        SELECT
+        DISTINCT s.*
+        FROM
+        sensor s,
+        device_version_sensor dvs,
+        device d
+        WHERE
+        s.id = dvs.sensor_id
+        AND dvs.device_version_id = d.device_version_id
+        <if test="mac != null">
+            AND d.mac = #{mac}
+        </if>
+    </select>
+
+    <select id="getSensorsInfoByMac" resultMap="BaseResultMap">
+        SELECT
+        DISTINCT s.*
+        FROM
+        sensor s,
+        device_version_sensor dvs,
+        device d
+        WHERE
+        s.id = dvs.sensor_id
+        AND dvs.device_version_id = d.device_version_id
+        <if test="mac != null">
+            AND d.mac = #{mac}
+        </if>
+    </select>
+
+    <select id="selectSenosrsByOrgId" resultMap="BaseResultMap">
+        select
+        distinct dvs.sensor_id as id,
+        s.name,s.sensor_key,s.unit,s.description
+        from
+        device_version_sensor dvs,
+        sensor s
+        where
+        dvs.device_version_id
+        in(
+        select
+        distinct d.device_version_id
+        from
+        device d
+        where
+        d.mac in
+        <foreach collection="macs" open="(" separator="," close=")"
+                 item="mac">
+            #{mac}
+        </foreach>
+        )
+        and dvs.sensor_id=s.id
+    </select>
+
+    <select id="getSensorKeys" resultType="java.lang.String">
+        select
+        sensor_key
+        from
+        sensor
+    </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0