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/DeviceMapper.xml | 64 +++++++++++++++++++++++++++----- 1 files changed, 54 insertions(+), 10 deletions(-) diff --git a/src/main/resources/mapper/DeviceMapper.xml b/src/main/resources/mapper/DeviceMapper.xml index be3deb8..4d483d0 100644 --- a/src/main/resources/mapper/DeviceMapper.xml +++ b/src/main/resources/mapper/DeviceMapper.xml @@ -150,7 +150,7 @@ WHERE mp.area_code = #{areaCode} AND d.monitor_point_id = mp.id - <if test="orgIds != null and orgIds.size > 0"> + <if test="orgIds != null and orgIds.size() > 0"> AND mp.organization_id IN <foreach collection="orgIds" open="(" separator="," close=")" item="listItem"> #{listItem} @@ -171,13 +171,29 @@ 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} + <if test="@com.moral.common.bean.Constants@isNotSpecialOrgId(orgId)"> + ( + 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 test="devName!=null and ''!=devName"> - and dev.name like CONCAT('%',#{devName},'%') + ) </if> and dev.is_delete = 0 + <if test="devState!=null"> + and dev.state = #{devState} + </if> + <if test="name!=null and ''!=name"> + and + ( + dev.name like CONCAT('%',#{name},'%') + or dev.mac like CONCAT('%',#{name},'%') + or mpt.name like CONCAT('%',#{name},'%') + ) + </if> </where> </select> <select id="selectByOrgIdAndMpId" resultMap="BaseResultMap"> @@ -186,7 +202,15 @@ 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} + ( + 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> and dev.monitor_point_id = #{mpId} and dev.is_delete = 0 @@ -198,7 +222,15 @@ 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} + ( + 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 dev.longitude < #{mapBounds.Ge,jdbcType=NUMERIC} @@ -220,14 +252,15 @@ select dev.*, mpt.name as monitor_point_name, - pro.name as profession_name + pro.name as profession_name, + dvn.version as device_version_value from device dev + left join device_version dvn on dev.device_version_id = dvn.id left join monitor_point mpt on dev.monitor_point_id = mpt.id left join profession pro on pro.id = dev.profession_id where dev.mac = #{mac,jdbcType=VARCHAR} limit 0,1 </select> - <select id="getDeviceCountByRegion" resultType="java.lang.Integer"> SELECT COUNT( * ) @@ -251,12 +284,17 @@ <if test="areaCode != null"> AND mp.area_code = #{areaCode} </if> + <if test="townCode != null"> + AND mp.town_code = #{townCode} + </if> + <if test="villageCode != null"> + AND mp.village_code = #{villageCode} + </if> ) <if test="professionId != null"> AND d.profession_id = #{professionId} </if> </select> - <select id="getDevicesByProfession" resultType="com.moral.entity.Device"> SELECT * @@ -283,6 +321,12 @@ <if test="monitorPointId != null"> AND mp.id = #{monitorPointId} </if> + <if test="townCode != null"> + AND mp.town_code = #{townCode} + </if> + <if test="villageCode != null"> + AND mp.village_code = #{villageCode} + </if> ) <if test="professionId != null"> AND d.profession_id = #{professionId} -- Gitblit v1.8.0