From e75fc01c1f0920a53e1ee74c2dfd5bab9ac6160a Mon Sep 17 00:00:00 2001
From: jinpengyong <jpy123456>
Date: Thu, 01 Feb 2024 10:23:11 +0800
Subject: [PATCH] fix:补充提交
---
screen-api/src/main/resources/mapper/DeviceMapper.xml | 304 ++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 281 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..24526c4 100644
--- a/screen-api/src/main/resources/mapper/DeviceMapper.xml
+++ b/screen-api/src/main/resources/mapper/DeviceMapper.xml
@@ -2,28 +2,286 @@
<!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 DATE_FORMAT(`time`,'%Y-%m-%d %H') <![CDATA[>=]]> #{start}
+ AND DATE_FORMAT(`time`,'%Y-%m-%d %H') <![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>
+
+ <select id="getDevices" resultType="com.moral.api.pojo.vo.device.AppDeviceVo">
+ SELECT d.id,d.`name`,d.mac,d.special_type FROM device as d
+ where 1=1
+ <if test="organizationId !=null">
+ AND organization_id = #{organizationId}
+ </if>
+ and mac LIKE "%"#{mac}"%" or `name` like "%"#{mac}"%" AND is_delete = 0
+ union
+ SELECT sd.id,sd.`name`,sd.mac,sd.special_type FROM special_device as sd
+ WHERE 1=1
+ <if test="organizationId !=null">
+ AND organization_id = #{organizationId}
+ </if>
+ and mac LIKE "%"#{mac}"%" AND is_delete = 0
+ </select>
+
+
+ <select id="getHeatMap" resultType="com.moral.api.pojo.dto.dataDisplay.HeatMapDTO">
+ SELECT
+ d.mac as mac,
+ d.latitude as lat,
+ d.longitude as lng,
+ d.name as name,
+ (hd.value ->> #{type} ) as count,
+ hd.time
+ FROM
+ device as d
+ inner JOIN organization o on o.id = d.organization_id and o.is_delete = 0
+ <if test="organizationIds != null and organizationIds.size !=0">
+ and organization_id in
+ <foreach collection="organizationIds" item="id" index="index" open="(" close=")" separator=",">
+ #{id}
+ </foreach>
+ </if>
+ <if test="tableName !=null">
+ RIGHT join history_hourly${tableName} hd on hd.time = #{start} and d.mac = hd.mac
+ </if>
+ <if test="tableName ==null ">
+ RIGHT join history_daily hd on hd.time = #{start} and d.mac = hd.mac
+ </if>
+ WHERE
+ d.is_delete = 0
+ order by d.mac
+ </select>
+
+
+ <select id="getHeatMapV1" resultType="com.moral.api.pojo.dto.dataDisplay.HeatMapDTO">
+ SELECT
+ d.mac as mac,
+ d.latitude as lat,
+ d.longitude as lng,
+ d.name as name,
+ (hd.value ->> #{type} ) as count,
+ hd.time,
+ dm.group_id AS groupId
+ FROM
+ device as d
+ inner JOIN organization o on o.id = d.organization_id and o.is_delete = 0
+ <if test="organizationIds != null and organizationIds.size !=0">
+ and organization_id in
+ <foreach collection="organizationIds" item="id" index="index" open="(" close=")" separator=",">
+ #{id}
+ </foreach>
+ </if>
+ inner JOIN device_map_hierarchy as dm on d.id = dm.device_id
+ <if test="tableName !=null">
+ left join history_hourly${tableName} hd on hd.time = #{start} and d.mac = hd.mac
+ </if>
+ <if test="tableName ==null ">
+ left join history_daily hd on hd.time = #{start} and d.mac = hd.mac
+ </if>
+ WHERE
+ d.is_delete = 0
+ order by d.mac
+ </select>
+
+
+ <select id="getPage" resultType="com.moral.api.vo.OnlineRateVo">
+ select d.name,d.state,d.mac from device as d where organization_id=#{organizationId}
+ </select>
+
+
+ <select id="getLists" resultType="com.moral.api.vo.OnlineRateVo">
+ select d.name,d.state,d.mac from device as d where organization_id=#{organizationId} and is_delete=0
+ <if test="state !=null and state == 0" >
+ and state=#{state}
+ </if>
+ <if test="state !=null and state != 0">
+ and state<![CDATA[>=]]>#{state}
+ </if>
+ </select>
</mapper>
\ No newline at end of file
--
Gitblit v1.8.0