From f2eaa5bc6c417c9f851cb7ba2bf004c5b035c0ef Mon Sep 17 00:00:00 2001 From: fengxiang <110431245@qq.com> Date: Wed, 29 Aug 2018 14:40:01 +0800 Subject: [PATCH] 最近24小时aqi接口完善 --- src/main/resources/mapper/DeviceMapper.xml | 166 ++++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 144 insertions(+), 22 deletions(-) diff --git a/src/main/resources/mapper/DeviceMapper.xml b/src/main/resources/mapper/DeviceMapper.xml index f9f17da..16521ec 100644 --- a/src/main/resources/mapper/DeviceMapper.xml +++ b/src/main/resources/mapper/DeviceMapper.xml @@ -15,18 +15,23 @@ <result column="install_time" jdbcType="TIMESTAMP" property="installTime" /> <result column="monitor_point_id" jdbcType="INTEGER" property="monitorPointId" /> <result column="device_version_id" jdbcType="INTEGER" property="deviceVersionId" /> + <result column="profession_id" jdbcType="INTEGER" property="professionId" /> <association property="operateUser" javaType="com.moral.entity.OperateUser"> - <result column="id" property="id" jdbcType="INTEGER" /> - <result column="name" property="name" jdbcType="VARCHAR" /> + <result column="operate_user_id" property="id" jdbcType="INTEGER" /> + <result column="operate_user_name" property="name" jdbcType="VARCHAR" /> </association> <association property="deviceVersion" javaType="com.moral.entity.DeviceVersion"> - <result column="id" property="id" jdbcType="INTEGER" /> - <result column="version" property="version" jdbcType="INTEGER" /> - <result column="name" property="name" jdbcType="VARCHAR" /> + <result column="device_version_id" property="id" jdbcType="INTEGER" /> + <result column="device_version_value" property="version" jdbcType="INTEGER" /> + <result column="device_version_name" property="name" jdbcType="VARCHAR" /> </association> - <association property="monitorpointDetail" javaType="com.moral.entity.MonitorPoint"> - <result column="id" property="id" jdbcType="INTEGER" /> - <result column="name" property="name" jdbcType="VARCHAR" /> + <association property="monitorPoint" javaType="com.moral.entity.MonitorPoint"> + <result column="monitor_point_id" property="id" jdbcType="INTEGER" /> + <result column="monitor_point_name" property="name" jdbcType="VARCHAR" /> + </association> + <association property="profession" javaType="com.moral.entity.Profession"> + <result column="profession_id" property="id" jdbcType="INTEGER" /> + <result column="profession_name" property="name" jdbcType="VARCHAR" /> </association> </resultMap> <sql id="Example_Where_Clause"> @@ -126,7 +131,7 @@ ORDER BY s.id </select> - <select id="getDeviceVersionIdByMonitorPoint" resultType="map"> + <select id="getDeviceVersionIdByMonitorPoint" resultType="java.util.Map"> SELECT device_version_id deviceVersionId FROM @@ -136,7 +141,7 @@ GROUP BY device_version_id </select> - <select id="getDeviceVersionIdByAreaCode" resultType="int"> + <select id="getDeviceVersionIdByAreaCode" resultType="java.lang.Integer"> SELECT DISTINCT d.device_version_id FROM @@ -145,14 +150,14 @@ 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} </foreach> </if> </select> - <select id="getDeviceMacByMonitorPointAndDeviceVersion" resultType="string"> + <select id="getDeviceMacByMonitorPointAndDeviceVersion" resultType="java.lang.String"> SELECT mac FROM @@ -166,12 +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"> @@ -180,9 +202,18 @@ 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 </where> </select> <select id="selectByMap" parameterType="java.util.Map" resultMap="BaseResultMap"> @@ -191,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} @@ -199,6 +238,7 @@ AND dev.latitude < #{mapBounds.Fe,jdbcType=NUMERIC} AND dev.latitude > #{mapBounds.Ke,jdbcType=NUMERIC} ]]> + AND dev.is_delete =0 </where> </select> <resultMap id="BaseResultWithOrgIdsMap" type="com.moral.entity.Device" extends="BaseResultMap"> @@ -210,11 +250,17 @@ </select> <select id="selectWithOrgIdsByMac" parameterType="java.lang.String" resultMap="BaseResultWithOrgIdsMap"> select - id,device_version_id,mac,monitor_point_id - from device - where mac = #{mac,jdbcType=VARCHAR} + dev.*, + mpt.name as monitor_point_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( * ) @@ -238,6 +284,82 @@ <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 + * + 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> + <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} + </if> + </select> + + <resultMap id="ResultMap" type="com.moral.entity.Device"> + <id column="id" jdbcType="INTEGER" property="id" /> + <result column="name" jdbcType="VARCHAR" property="name" /> + <result column="address" jdbcType="VARCHAR" property="address" /> + <result column="longitude" jdbcType="DOUBLE" property="longitude" /> + <result column="latitude" jdbcType="DOUBLE" property="latitude" /> + <result column="mac" jdbcType="VARCHAR" property="mac" /> + <result column="operate_user_id" jdbcType="INTEGER" property="operateUserId" /> + <result column="state" jdbcType="CHAR" property="state" /> + <result column="is_delete" jdbcType="CHAR" property="isDelete" /> + <result column="create_time" jdbcType="TIMESTAMP" property="createTime" /> + <result column="install_time" jdbcType="TIMESTAMP" property="installTime" /> + <result column="monitor_point_id" jdbcType="INTEGER" property="monitorPointId" /> + <result column="device_version_id" jdbcType="INTEGER" property="deviceVersionId" /> + <result column="profession_id" jdbcType="INTEGER" property="professionId" /> + </resultMap> + + <select id="getDevicesByOrganizationId" resultMap="ResultMap"> + SELECT + d.* + FROM + device d, + monitor_point mp + WHERE + d.monitor_point_id = mp.id + AND d.is_delete = 0 + AND mp.is_delete = 0 + AND mp.organization_id = #{organizationId} </select> </mapper> \ No newline at end of file -- Gitblit v1.8.0