From 6f08c72b1056c9e4b2bdf79bafbc49fcc3cdcaa1 Mon Sep 17 00:00:00 2001
From: xufenglei <xufenglei>
Date: Sun, 08 Apr 2018 11:24:56 +0800
Subject: [PATCH] 报表优化
---
src/main/resources/mapper/DeviceMapper.xml | 63 ++++++++++++++++++++++++++-----
1 files changed, 53 insertions(+), 10 deletions(-)
diff --git a/src/main/resources/mapper/DeviceMapper.xml b/src/main/resources/mapper/DeviceMapper.xml
index 0098098..0ce62ba 100644
--- a/src/main/resources/mapper/DeviceMapper.xml
+++ b/src/main/resources/mapper/DeviceMapper.xml
@@ -116,22 +116,38 @@
</select>
<select id="getDeviceVersionIdByMonitorPoint" resultType="map">
SELECT
- device_version_id deviceVersionId
+ device_version_id deviceVersionId
FROM
- device
+ device
WHERE
- monitor_point_id = #{monitorPoint}
+ monitor_point_id = #{monitorPoint}
GROUP BY
- device_version_id
+ device_version_id
+ </select>
+ <select id="getDeviceVersionIdByAreaCode" resultType="int">
+ SELECT DISTINCT
+ d.device_version_id
+ FROM
+ monitor_point mp,
+ device d
+ WHERE
+ mp.area_code = #{areaCode}
+ AND d.monitor_point_id = mp.id
+ <if test="orgIds != null and orgIds.size > 0">
+ AND mp.organization_id IN
+ <foreach collection="orgIds" open="(" separator="," close=")" item="listItem">
+ #{listItem}
+ </foreach>
+ </if>
</select>
<select id="getDeviceMacByMonitorPointAndDeviceVersion" resultType="string">
SELECT
- mac
+ mac
FROM
- device
+ device
WHERE
- monitor_point_id = #{monitorPointId}
- AND device_version_id = #{deviceVersionId}
+ monitor_point_id = #{monitorPointId}
+ AND device_version_id = #{deviceVersionId}
</select>
<select id="selectByOrgIdAndDevName" resultMap="BaseResultMap">
SELECT dev.*,dve.version as device_version_value from device dev
@@ -158,8 +174,9 @@
</where>
</select>
<select id="selectByMap" parameterType="java.util.Map" resultMap="BaseResultMap">
- SELECT dev.* from device dev
+ SELECT dev.*,dve.version as device_version_value from device dev
left join monitor_point mpt on dev.monitor_point_id = mpt.id
+ left join device_version dve on dev.device_version_id = dve.id
<where>
<if test="@com.moral.common.bean.Constants@isNotSpecialOrgId(orgId)">
mpt.organization_id = #{orgId,jdbcType=VARCHAR}
@@ -177,7 +194,7 @@
</resultMap>
<!-- resultMap������ -->
<select id="selectOrganizationIds" resultType="INTEGER">
- call proc_organization_id_select(#{id,jdbcType=INTEGER});
+ call proc_organizationIds_GetByDeviceId(#{id,jdbcType=INTEGER});
</select>
<select id="selectWithOrgIdsByMac" parameterType="java.lang.String" resultMap="BaseResultWithOrgIdsMap">
select
@@ -185,4 +202,30 @@
from device
where mac = #{mac,jdbcType=VARCHAR}
</select>
+
+ <select id="getDeviceCountByRegion" resultType="INTEGER">
+ SELECT
+ COUNT( * )
+ FROM
+ device d
+ WHERE
+ d.is_delete = 0
+ AND d.monitor_point_id IN (
+ SELECT
+ mp.id
+ FROM
+ monitor_point mp
+ WHERE
+ mp.is_delete = 0
+ <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>
+ )
+ </select>
</mapper>
\ No newline at end of file
--
Gitblit v1.8.0