From 9e4480300d1285a574d52451206c5adc81396be4 Mon Sep 17 00:00:00 2001
From: 于紫祥_1901 <email@yuzixiang_1910>
Date: Mon, 13 Jul 2020 09:36:17 +0800
Subject: [PATCH] 无组织排放实时

---
 src/main/resources/mapper/MonitorPointMapper.xml |   86 +++++++++++++++++++++++++++++++------------
 1 files changed, 62 insertions(+), 24 deletions(-)

diff --git a/src/main/resources/mapper/MonitorPointMapper.xml b/src/main/resources/mapper/MonitorPointMapper.xml
index 652012a..0e45627 100644
--- a/src/main/resources/mapper/MonitorPointMapper.xml
+++ b/src/main/resources/mapper/MonitorPointMapper.xml
@@ -13,11 +13,14 @@
     <result column="address" jdbcType="VARCHAR" property="address" />
     <result column="is_delete" jdbcType="CHAR" property="isDelete" />
     <result column="description" jdbcType="VARCHAR" property="description" />
+	  <result column="state" jdbcType="INTEGER" property="state" />
 	<!-- ������������������������������ -->
     <association property="areaNames" javaType="com.moral.entity.AreaNames">
 	  <result column="province_name" property="provinceName" jdbcType="VARCHAR" />
 	  <result column="city_name" property="cityName" jdbcType="VARCHAR" />
 	  <result column="area_name" property="areaName" jdbcType="VARCHAR" />
+	  <result column="town_name" property="townName" jdbcType="VARCHAR" />
+	  <result column="village_name" property="villageName" jdbcType="VARCHAR" />
     </association>
 	  <association property="organization" javaType="com.moral.entity.Organization">
 		  <result column="organization_id" property="id" jdbcType="INTEGER" />
@@ -58,7 +61,7 @@
 		address, is_delete, description
 	</sql>
 	<sql id="Relation_Province_City_Area_List">
-		are.area_name, cti.city_name, pro.province_name
+		are.area_name, cti.city_name, pro.province_name, t.town_name, v.village_name
 	</sql>
 	<select id="selectWithAreaNameByExample" parameterType="tk.mybatis.mapper.entity.Example" resultMap="BaseResultMap">
 		select
@@ -73,6 +76,8 @@
 		left join city cti on mpt.city_code = cti.city_code
 		left join province pro on mpt.province_code = pro.province_code
 		left join organization org on  mpt.organization_id = org.id
+		left join town t on mpt.town_code = t.town_code
+		left join village v on mpt.village_code = v.village_code
         where mpt.id in (
 		    select id from monitor_point
 			<if test="_parameter != null">
@@ -83,7 +88,7 @@
 			</if>
 		)
 	</select>
-	<select id="getMonitorPointsByAreaName" resultType="com.moral.entity.MonitorPoint">
+	<select id="getMonitorPointsByAreaName" resultMap="BaseResultMap">
 		SELECT
 			mp.* 
 		FROM
@@ -100,38 +105,71 @@
 			AND mp.city_code = c.city_code
 		</if>
 	</select>
-	<select id="selectWithStateByMap" parameterType="java.util.Map" resultMap="BaseResultMap">
-
-		SELECT mpt.*,MAX(dev.state) as state from monitor_point mpt
-		LEFT JOIN device dev on dev.monitor_point_id = mpt.id
+	<select id="selectByMap" parameterType="java.util.Map" resultMap="BaseResultMap">
+		SELECT mpt.* from monitor_point mpt
 		<where>
 			<if test="@com.moral.common.bean.Constants@isNotSpecialOrgId(orgId)">
-				mpt.organization_id = #{orgId,jdbcType=VARCHAR}
+				(
+				1 > 1
+					<if test="orgIds!=null and orgIds.size() > 0">
+						or mpt.organization_id in
+						<foreach collection="orgIds" item="tempOrgId" open="(" close=")" separator=",">
+							#{tempOrgId,jdbcType=INTEGER}
+						</foreach>
+					</if>
+				)
 			</if>
 			<![CDATA[
 			AND mpt.longitude < #{mapBounds.Ge,jdbcType=NUMERIC}
             AND mpt.longitude > #{mapBounds.Le,jdbcType=NUMERIC}
             AND mpt.latitude  < #{mapBounds.Fe,jdbcType=NUMERIC}
             AND mpt.latitude  > #{mapBounds.Ke,jdbcType=NUMERIC}
-		    and state<4
-			GROUP BY mpt.`id`
      		 ]]>
-		</where>
-		UNION
-		SELECT mpt.*,MAX(dev.state) as state from monitor_point mpt
-		LEFT JOIN device dev on dev.monitor_point_id = mpt.id
-		<where>
-			<if test="@com.moral.common.bean.Constants@isNotSpecialOrgId(orgId)">
-				mpt.organization_id = #{orgId,jdbcType=VARCHAR}
+     		<if test="regionCode != null">
+     		AND mpt.${regionType}_code = #{regionCode}
+     		</if>
+     		 
+			<if test="isDelete != null">
+			AND	mpt.is_delete = #{isDelete,jdbcType=VARCHAR}
 			</if>
-			<![CDATA[
-			AND mpt.longitude < #{mapBounds.Ge,jdbcType=NUMERIC}
-            AND mpt.longitude > #{mapBounds.Le,jdbcType=NUMERIC}
-            AND mpt.latitude  < #{mapBounds.Fe,jdbcType=NUMERIC}
-            AND mpt.latitude  > #{mapBounds.Ke,jdbcType=NUMERIC}
-		    and state>3
-			GROUP BY mpt.`id`
-            ]]>
 		</where>
 	</select>
+	<select id="selectOrganizationIds" parameterType="integer" resultType="integer">
+                call proc_organizationIds_GetByMonitorPointId(#{id,jdbcType=NUMERIC})
+	</select>
+	<select id="selectVersionsById" parameterType="integer" resultType="integer">
+			select version from device_version dve
+			right join device dev  on dve.id = dev.device_version_id
+			right join monitor_point mpt on mpt.id = dev.monitor_point_id
+			where mpt.id = #{id}  ORDER BY version DESC
+	</select>
+	<select id="selectAllById" resultType="java.util.Map">
+			SELECT *
+			FROM monitor_point
+			WHERE id = #{id}
+	</select>
+	<select id="getIdByOrganizationId" resultType="java.util.Map">
+			SELECT id
+			FROM monitor_point
+			WHERE organization_id IN
+				<foreach collection="organizationIdList" index="index" item="organizationId" open="(" separator="," close=")">  
+	            	#{organizationId}  
+	        	</foreach>
+	</select>
+
+	<select id="getDeviceList" resultType="com.moral.entity.Device">
+		SELECT d.* FROM `device` as d,monitor_point as mp
+		where d.monitor_point_id=mp.id
+		and mp.id=#{id}
+	</select>
+	<select id="getMonitorPointById" resultType="com.moral.entity.MonitorPoint">
+		select * from monitor_point where id=#{id}
+	</select>
+	<select id="getMonitorPointListByAccountId" resultType="com.moral.entity.MonitorPoint">
+		SELECT mp.* FROM account a,`monitor_point` mp,organization o
+		where a.organization_id=o.id
+		and o.id=mp.organization_id
+		and a.id=#{id};
+	</select>
+
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0