From 782e84d68779471c0640584678d4c4df3afa80a2 Mon Sep 17 00:00:00 2001 From: 于紫祥_1901 <email@yuzixiang_1910> Date: Mon, 14 Dec 2020 17:29:08 +0800 Subject: [PATCH] 电子屏 --- src/main/resources/mapper/DeviceMapper.xml | 704 +++++++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 519 insertions(+), 185 deletions(-) diff --git a/src/main/resources/mapper/DeviceMapper.xml b/src/main/resources/mapper/DeviceMapper.xml index 795e325..33cac0c 100644 --- a/src/main/resources/mapper/DeviceMapper.xml +++ b/src/main/resources/mapper/DeviceMapper.xml @@ -1,73 +1,94 @@ <?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.DeviceMapper"> - <resultMap id="BaseResultMap" 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="REAL" property="longitude" /> - <result column="latitude" jdbcType="REAL" 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" /> - <association property="operateUser" javaType="com.moral.entity.OperateUser"> - <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="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="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"> - <where> - <foreach collection="oredCriteria" item="criteria" separator="or"> - <if test="criteria.valid"> - <trim prefix="(" prefixOverrides="and" suffix=")"> - <foreach collection="criteria.criteria" item="criterion"> - <choose> - <when test="criterion.noValue"> - and ${criterion.condition} - </when> - <when test="criterion.singleValue"> - and ${criterion.condition} #{criterion.value} - </when> - <when test="criterion.betweenValue"> - and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} - </when> - <when test="criterion.listValue"> - and ${criterion.condition} - <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=","> - #{listItem} - </foreach> - </when> - </choose> - </foreach> - </trim> - </if> - </foreach> - </where> - </sql> - <sql id="Base_Column_List"> + <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> + + <resultMap id="BaseResultMap" type="com.moral.entity.Device" extends="ResultMap"> + <association property="operateUser" javaType="com.moral.entity.OperateUser"> + <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="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="monitorPoint" javaType="com.moral.entity.MonitorPoint"> + <result column="monitor_point_id" property="id" jdbcType="INTEGER"/> + <result column="monitor_point_name" property="name" jdbcType="VARCHAR"/> + <result column="province_code" property="provinceCode" 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> + + <resultMap id="PropertyResultMap" type="com.moral.entity.Device" extends="BaseResultMap"> + <association property="deviceProperty" javaType="com.moral.entity.DeviceProperty"> + <result column="id" property="id" jdbcType="INTEGER"/> + <result column="device_tech" property="deviceTech" jdbcType="TINYINT"/> + <result column="device_cat" property="deviceCat" jdbcType="TINYINT"/> + <result column="device_source" property="deviceSource" jdbcType="VARCHAR"/> + <result column="ext_c" property="extC" jdbcType="VARCHAR"/> + <result column="ext_d" property="extD" jdbcType="VARCHAR"/> + </association> + </resultMap> + + <resultMap id="BaseResultWithOrgIdsMap" type="com.moral.entity.Device" extends="BaseResultMap"> + <collection property="organizationIds" column="id" select="selectOrganizationIds"></collection> + </resultMap> + <sql id="Example_Where_Clause"> + <where> + <foreach collection="oredCriteria" item="criteria" separator="or"> + <if test="criteria.valid"> + <trim prefix="(" prefixOverrides="and" suffix=")"> + <foreach collection="criteria.criteria" item="criterion"> + <choose> + <when test="criterion.noValue"> + and ${criterion.condition} + </when> + <when test="criterion.singleValue"> + and ${criterion.condition} #{criterion.value} + </when> + <when test="criterion.betweenValue"> + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + </when> + <when test="criterion.listValue"> + and ${criterion.condition} + <foreach close=")" collection="criterion.value" item="listItem" open="(" + separator=","> + #{listItem} + </foreach> + </when> + </choose> + </foreach> + </trim> + </if> + </foreach> + </where> + </sql> + <sql id="Base_Column_List">z id, name, address, longitude, latitude, mac, operate_user_id, state, is_delete, create_time, install_time, monitor_point_id, device_version_id </sql> - <select id="countByTimes" resultType="java.util.Map"> + + <select id="countByTimes" resultType="java.util.Map"> select DATE_FORMAT(create_time,#{format}) as time, COUNT(*) as count from device where create_time >= #{start} and create_time @@ -79,44 +100,44 @@ ]]> 1 GROUP BY DATE_FORMAT(create_time,#{format}) ; </select> - <select id="selectWithRelationData" parameterType="tk.mybatis.mapper.entity.Example" resultMap="BaseResultMap"> - select - dev.*, - ouser.name as operate_user_name, - dvn.name as device_version_name, - mpt.name as monitor_point_name - from device dev - left join operate_user ouser on dev.operate_user_id = ouser.id - left join device_version dvn on dev.device_version_id = dvn.id - left join monitor_point mpt on dev.monitor_point_id = mpt.id - where dev.id in ( - select id from device - <if test="_parameter != null"> - <include refid="Example_Where_Clause" /> - </if> - <if test="orderByClause != null"> - order by ${orderByClause} - </if> - ) - </select> - <select id="getDeviceStatesByAccount" resultType="java.util.Map"> - SELECT - COUNT( d.state ) count, - d.state - FROM - device d - <if test="orgIds != null and orgIds.size > 0"> - ,monitor_point mp - WHERE - d.monitor_point_id = mp.id - AND mp.organization_id IN - <foreach close=")" collection="orgIds" item="listItem" open="(" separator=","> - #{listItem} - </foreach> - </if> - GROUP BY d.state - </select> - <select id="getSensorsByDevice" resultType="java.util.Map"> + <select id="selectWithRelationData" parameterType="tk.mybatis.mapper.entity.Example" resultMap="BaseResultMap"> + select + dev.*, + ouser.name as operate_user_name, + dvn.name as device_version_name, + mpt.name as monitor_point_name + from device dev + left join operate_user ouser on dev.operate_user_id = ouser.id + left join device_version dvn on dev.device_version_id = dvn.id + left join monitor_point mpt on dev.monitor_point_id = mpt.id + where dev.id in ( + select id from device + <if test="_parameter != null"> + <include refid="Example_Where_Clause"/> + </if> + <if test="orderByClause != null"> + order by ${orderByClause} + </if> + ) + </select> + <select id="getDeviceStatesByAccount" resultType="java.util.Map"> + SELECT + COUNT( d.state ) count, + d.state + FROM + device d + <if test="orgIds != null and orgIds.size > 0"> + ,monitor_point mp + WHERE + d.monitor_point_id = mp.id + AND mp.organization_id IN + <foreach close=")" collection="orgIds" item="listItem" open="(" separator=","> + #{listItem} + </foreach> + </if> + GROUP BY d.state + </select> + <select id="getSensorsByDevice" resultType="java.util.Map"> SELECT s.`key`, s.`name` @@ -131,7 +152,7 @@ ORDER BY s.id </select> - <select id="getDeviceVersionIdByMonitorPoint" resultType="java.util.Map"> + <select id="getDeviceVersionIdByMonitorPoint" resultType="java.util.Map"> SELECT device_version_id deviceVersionId FROM @@ -141,23 +162,23 @@ GROUP BY device_version_id </select> - <select id="getDeviceVersionIdByAreaCode" resultType="java.lang.Integer"> - 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="java.lang.String"> + <select id="getDeviceVersionIdByAreaCode" resultType="java.lang.Integer"> + 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="java.lang.String"> SELECT mac FROM @@ -166,87 +187,400 @@ 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 - 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> - <if test="devName!=null and ''!=devName"> - and dev.name like CONCAT('%',#{devName},'%') - </if> - </where> - </select> - <select id="selectByOrgIdAndMpId" resultMap="BaseResultMap"> - 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} - </if> - and dev.monitor_point_id = #{mpId} - </where> - </select> - <select id="selectByMap" parameterType="java.util.Map" resultMap="BaseResultMap"> - SELECT dev.*,dve.version as device_version_value from device dev - left join monitor_point mpt on dev.monitor_point_id = mpt.id + <select id="selectByOrgIdAndDevName" resultMap="BaseResultMap"> + 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} - </if> - <![CDATA[ + <where> + <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> + 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"> + SELECT dev.*,dve.version as device_version_value,mpt.* 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)"> + ( + 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"> + 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)"> + ( + 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} AND dev.longitude > #{mapBounds.Le,jdbcType=NUMERIC} AND dev.latitude < #{mapBounds.Fe,jdbcType=NUMERIC} AND dev.latitude > #{mapBounds.Ke,jdbcType=NUMERIC} ]]> - </where> - </select> - <resultMap id="BaseResultWithOrgIdsMap" type="com.moral.entity.Device" extends="BaseResultMap"> - <collection property="organizationIds" column="id" select="selectOrganizationIds"></collection> - </resultMap> - <!-- resultMap������ --> - <select id="selectOrganizationIds" resultType="java.lang.Integer"> + <if test="regionCode != null"> + AND mpt.${regionType}_code = #{regionCode} + </if> + AND dev.is_delete =0 + </where> + </select> + <!-- resultMap������ --> + <select id="selectOrganizationIds" resultType="java.lang.Integer"> call proc_organizationIds_GetByDeviceId(#{id,jdbcType=INTEGER}); </select> - <select id="selectWithOrgIdsByMac" parameterType="java.lang.String" resultMap="BaseResultWithOrgIdsMap"> + <select id="selectWithOrgIdsByMac" parameterType="java.lang.String" resultMap="BaseResultWithOrgIdsMap"> 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( * ) + 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="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> + + <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> + <select id="getAllMac" resultType="java.lang.String"> + SELECT mac FROM `device` where state!=4; + </select> + <select id="byMacGetDevice" resultType="com.moral.entity.Device" resultMap="ResultMap"> + SELECT * from device where mac=#{mac} + </select> + <select id="getDeviceAndWindByMac" resultType="com.moral.entity.DeviceAndWind"> + select d.longitude as longitude,d.latitude as latitude, + case when h.json->"$.e18[0]"=0 then 0.1 else h.json->"$.e18[0]" end + as windSpeed, h.json->"$.e23[0]" as windDir, + h.json->"$.e17[0]" as tVoc + from ${table} h ,`device` as d + where d.mac=h.mac and d.mac=#{mac} and h.time=(select max(time) from ${table}) + </select> + <select id="byMonitorIdGetDeviceAndWind" resultType="com.moral.entity.DeviceAndWind"> + select d.longitude as longitude,d.latitude as latitude, + case when h.json->"$.e18[0]"=0 then 0.1 else h.json->"$.e18[0]" end + as windSpeed, h.json->"$.e23[0]" as windDir, + h.json->"$.e17[0]" as tVoc + from ${table} as h ,`device` as d + where d.mac=h.mac and h.time=(select max(time) from ${table}) + and d.mac in (select d.mac from device , monitor_point as m where d.monitor_point_id=m.id and m.id=#{id}) + </select> + + <select id="getDevicesStateByRegion" resultType="map"> + SELECT + d.id deviceId,d.mac,d.state,d.name deviceName, + mp.id,mp.name + 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.${regionType}_code = #{regionCode} + <if test="orgIds != null and orgIds.size > 0"> + AND mp.organization_id IN + <foreach collection="orgIds" open="(" separator="," close=")" item="listItem"> + #{listItem} + </foreach> + </if> + </where> + </select> + + <select id="getDeviceList" resultMap="PropertyResultMap"> + select + dev.*, + ouser.name as operate_user_name, + dvn.name as device_version_name, + mpt.name as monitor_point_name, + mpt.province_code, + dp.device_tech, + dp.device_cat, + dp.device_source, + dp.ext_c, + dp.ext_d + from device dev + left join operate_user ouser on dev.operate_user_id = ouser.id + 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 device_property dp on dev.id = dp.id + where dev.id in ( + select id from device + <if test="_parameter != null"> + <include refid="Example_Where_Clause"/> + </if> + <if test="orderByClause != null"> + order by ${orderByClause} + </if> + ) + </select> + + <select id="getLimitDataByDevice" resultType="String"> + SELECT limit_val FROM view_device_density WHERE mac = #{mac} </select> - <select id="getDeviceCountByRegion" resultType="java.lang.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 id="getMacsByOrganizationId" resultType="string"> + SELECT d.mac + FROM monitor_point mp, device d + WHERE mp.id = d.monitor_point_id + AND mp.organization_id IN + <foreach collection="organizationIdList" index="index" item="organizationId" open="(" separator="," close=")"> + #{organizationId} + </foreach> + AND d.is_delete = '0' + </select> + + <select id="getDeviceById1" resultType="com.moral.entity.Device"> + SELECT d.* FROM `device` as d,monitor_point as mp,device_property as dp where d.monitor_point_id=mp.id and d.id=dp.id and dp.device_tech=1 and d.monitor_point_id=#{id} </select> + <select id="getDeviceById2" resultType="com.moral.entity.Device"> + SELECT d.* + FROM `device` as d,monitor_point as mp,device_property as dp + where d.monitor_point_id=mp.id + and d.id=dp.id + and dp.device_tech=2 + and d.monitor_point_id=#{id} + </select> + <select id="getDeviceById3" resultType="com.moral.entity.Device"> + SELECT d.* FROM `device` as d,monitor_point as mp,device_property as dp where d.monitor_point_id=mp.id and d.id=dp.id and dp.device_tech=3 and d.monitor_point_id=#{id} + </select> + + <select id="getHasWindDirAndWindSpeedDeviceVersion" resultType="integer"> + SELECT id from + device_version + where id in + (SELECT s.device_version_id + from + (SELECT device_version_id + from + device_version_sensor + WHERE sensor_Id in + (SELECT id from + sensor + where + sensor_key='e18' or sensor_key='e23')) s + GROUP BY s.device_version_id + HAVING count(1)=2) + and is_delete=0; + </select> + + <select id="selectDevicesAll" parameterType="java.util.Map" resultType="com.moral.entity.Device"> + SELECT dev.name,dev.address,dev.id,dev.state,dev.mac,dev.longitude,dev.latitude,dev.device_version_id + deviceVersionId from device dev + left join monitor_point mpt on dev.monitor_point_id = mpt.id + <where> + <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> + <if test="regionCode != null"> + AND mpt.${regionType}_code = #{regionCode} + </if> + AND dev.is_delete =0 + </where> + </select> + <select id="getAllDevice" resultType="com.moral.entity.DeviceAndWind"> + select d.longitude as longitude,d.latitude as latitude, + case when h.json->"$.e18[0]"=0 then 0.1 else h.json->"$.e18[0]" end + as windSpeed, h.json->"$.e23[0]" as windDir + from history_minutely_202007 h ,`device` as d + where h.time="2020-07-20 15:30:00" and h.json->"$.e23[0]" is not null and h.mac in(SELECT d.mac FROM monitor_point m + where d.monitor_point_id=m.id +) + </select> + + <select id="getMacsByMonitorPointIds" resultType="java.lang.String"> + select mac from device where monitor_point_id in + <foreach item="item" collection="list" index="index" open="(" separator="," close=")">#{item}</foreach> + and is_delete=0 + </select> + + <select id="selectAllFieldByMac" resultType="java.util.Map"> + SELECT * + FROM device + WHERE mac = #{mac} + </select> + <select id="getDeviceByCode" resultType="java.util.List" resultMap="BaseResultMap"> + select d.* from monitor_point as m,device as d where m.id=d.monitor_point_id + and m.id + in + (SELECT m.id where state!=4 + <if test="areaCode != null"> + and area_code = #{areaCode} + </if> + <if test="townCode != null"> + and town_code = #{townCode} + </if> + + + ) + </select> + <select id="byMacGetDeviceAndWind" resultType="com.moral.entity.DeviceAndWind"> + select d.longitude as longitude,d.latitude as latitude, + case when h.json->"$.e18[0]"=0 then 0.1 else h.json->"$.e18[0]" end + as windSpeed, h.json->"$.e23[0]" as windDir, + h.json->"$.e17[0]" as tVoc + from ${table} as h ,`device` as d + where d.mac=h.mac and h.time=(select max(time) from ${table}) + and d.mac=#{mac} + </select> + <select id="getDeviceByCodeAndId" resultType="com.moral.entity.Device" resultMap="BaseResultMap"> + select * from device where monitor_point_id in( + SELECT mpt.id + FROM monitor_point mpt,organization org + where mpt.organization_id=org.id + and org.id=#{id} + ) + </select> + <select id="byMacGetOrgId" resultType="java.lang.String"> + SELECT organization_id FROM `monitor_point` as mt ,device as d where d.monitor_point_id=mt.id and mac=#{mac} + </select> + + <select id="getDevicesByMpId" resultType="java.util.Map"> + select name,mac from device where monitor_point_id=#{mpId} and is_delete=0 + </select> + <select id="getDevice" resultType="com.moral.entity.Device"> + select * from device + where mac like concat('%',#{macOrName},'%') + </select> + <select id="getDeviceByCityCode" resultType="com.moral.entity.Device"> + SELECT d.* FROM `monitor_point` mt,device d where d.monitor_point_id=mt.id and d.state!=4 and mt.city_code=130900 + </select> + <select id="getDevicesByAccountId" resultType="com.moral.entity.Device"> + select d.* from monitor_point as m,device as d +where d.monitor_point_id=m.id and d.monitor_point_id in +(select m.id from organization as o,monitor_point as m where o.id = m.organization_id and o.id = +(select o.id FROM account as a,organization as o where a.organization_id = o.id and a.id = #{id})) and d.is_delete !=1 + </select> </mapper> \ No newline at end of file -- Gitblit v1.8.0