From c5db1b5a99d9e7bdec54b2dbf2fb43ba30c503db Mon Sep 17 00:00:00 2001 From: cjl <276999030@qq.com> Date: Wed, 27 Sep 2023 11:29:16 +0800 Subject: [PATCH] feat:补充提交 --- screen-api/src/main/resources/mapper/DeviceMapper.xml | 212 +++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 189 insertions(+), 23 deletions(-) diff --git a/screen-api/src/main/resources/mapper/DeviceMapper.xml b/screen-api/src/main/resources/mapper/DeviceMapper.xml index 493dc7b..b2de3cc 100644 --- a/screen-api/src/main/resources/mapper/DeviceMapper.xml +++ b/screen-api/src/main/resources/mapper/DeviceMapper.xml @@ -2,28 +2,194 @@ <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.moral.api.mapper.DeviceMapper"> - <!-- ������������������������ --> - <resultMap id="BaseResultMap" type="com.moral.api.entity.Device"> - <id column="id" property="id" /> - <result column="name" property="name" /> - <result column="mac" property="mac" /> - <result column="address" property="address" /> - <result column="longitude" property="longitude" /> - <result column="latitude" property="latitude" /> - <result column="state" property="state" /> - <result column="operate_ids" property="operateIds" /> - <result column="monitor_point_id" property="monitorPointId" /> - <result column="organization_id" property="organizationId" /> - <result column="device_version_id" property="deviceVersionId" /> - <result column="profession" property="profession" /> - <result column="tech" property="tech" /> - <result column="detector" property="detector" /> - <result column="purchaser" property="purchaser" /> - <result column="create_time" property="createTime" /> - <result column="update_time" property="updateTime" /> - <result column="install_time" property="installTime" /> - <result column="is_delete" property="isDelete" /> - <result column="extend" property="extend" /> - </resultMap> + <!-- ������������������������ --> + <resultMap id="BaseResultMap" type="com.moral.api.entity.Device"> + <id column="id" property="id"/> + <result column="name" property="name"/> + <result column="mac" property="mac"/> + <result column="address" property="address"/> + <result column="longitude" property="longitude"/> + <result column="latitude" property="latitude"/> + <result column="state" property="state"/> + <result column="operate_ids" property="operateIds"/> + <result column="monitor_point_id" property="monitorPointId"/> + <result column="organization_id" property="organizationId"/> + <result column="guid" property="guid"/> + <result column="device_version_id" property="deviceVersionId"/> + <result column="profession" property="profession"/> + <result column="tech" property="tech"/> + <result column="detector" property="detector"/> + <result column="purchaser" property="purchaser"/> + <result column="create_time" property="createTime"/> + <result column="update_time" property="updateTime"/> + <result column="install_time" property="installTime"/> + <result column="is_delete" property="isDelete"/> + <result column="extend" property="extend"/> + <result column="town_code" property="townCode"/> + <result column="dev_num" property="devNum"/> + </resultMap> + <!--���������������������������--> + <select id="getTrendChartData" resultType="java.util.Map"> + SELECT mac, + DATE_FORMAT(`time`,#{dateFormat}) AS `time`, + `value`->'$.${sensorCode}' AS '${sensorCode}' + FROM history_${timeUnits} + WHERE mac IN + <foreach collection="macs" item="mac" index="index" open="(" close=")" separator=","> + #{mac} + </foreach> + AND `time` <![CDATA[>=]]> #{start} + AND `time` <![CDATA[<]]> #{end} + ORDER BY `time` + </select> + <select id="deviceList" resultType="java.util.Map"> + SELECT + t.latitude as latitude, + t.longitude as longitude, + t.mac as mac, + t.state,(hf.value ->> #{type} )+0 as ${sensorCode} + FROM + device t + inner JOIN monitor_point p on p.id = t.monitor_point_id and p.is_delete = 0 + and p.organization_id in ( + SELECT id FROM ( + SELECT id, parent_id, name FROM organization WHERE id = #{organizationId} + UNION ALL + SELECT i.id, i.parent_id, i.name + FROM organization i + INNER JOIN ( + SELECT * FROM ( + SELECT id, parent_id, name FROM organization WHERE id = #{organizationId} + UNION ALL + SELECT id, parent_id, name FROM organization WHERE parent_id = #{organizationId} + ) t1 + ) t2 ON i.parent_id = t2.id + where i.is_delete = 0 + ) t3 + ) + <if test="region != null"> + and p.${region} = #{regionCode} + </if> + <if test="endHourlyTime !=null and endHourlyTime != ''"> + left join history_hourly_${times} hf on hf.time =#{endHourlyTime} and t.mac = hf.mac + </if> + <if test="endHourlyTime ==null"> + left join history_five_minutely_${times} hf on hf.time = (select max(time) from history_five_minutely_${times} LIMIT 1 + ) and t.mac = hf.mac + </if> + + + WHERE + t.state <![CDATA[ <> ]]> '0' and t.is_delete = 0 + order by t.id desc + </select> + + <select id="deviceIdList" resultType="java.lang.Integer"> + SELECT + t.id + FROM + device t + INNER JOIN monitor_point p ON p.id = t.monitor_point_id + AND p.is_delete = 0 + AND p.organization_id IN ( + SELECT + id + FROM + ( + SELECT + id, + parent_id, + NAME + FROM + organization + WHERE + id = #{organizationId} UNION ALL + SELECT + i.id, + i.parent_id, + i.NAME + FROM + organization i + INNER JOIN ( + SELECT + * + FROM + ( + SELECT + id, + parent_id, + NAME + FROM + organization + WHERE + id = #{organizationId} UNION ALL + SELECT + id, + parent_id, + NAME + FROM + organization + WHERE + parent_id = #{organizationId} + ) t1 + ) t2 ON i.parent_id = t2.id + WHERE + i.is_delete = 0 + ) t3 + ) + WHERE + t.is_delete = 0 + </select> + + <select id="deviceOrgIdList" resultType="java.lang.Integer"> + SELECT + id + FROM + ( + SELECT + id, + parent_id, + NAME + FROM + organization + WHERE + id = #{organizationId} UNION ALL + SELECT + i.id, + i.parent_id, + i.NAME + FROM + organization i + INNER JOIN ( + SELECT + * + FROM + ( + SELECT + id, + parent_id, + NAME + FROM + organization + WHERE + id = #{organizationId} UNION ALL + SELECT + id, + parent_id, + NAME + FROM + organization + WHERE + parent_id = #{organizationId} + ) t1 + ) t2 ON i.parent_id = t2.id + WHERE + i.is_delete = 0 + ) t3 + </select> + <select id="deviceMacs" resultType="java.lang.String"> + select mac from device where organization_id = #{organizationId} order by id desc + + </select> </mapper> \ No newline at end of file -- Gitblit v1.8.0