mapper抽离

This commit is contained in:
syruan 2024-09-25 10:34:32 +08:00
parent c73675edcd
commit e5332d81ab
6 changed files with 184 additions and 178 deletions

View File

@ -103,6 +103,10 @@ public class DataCenterController extends BaseController {
return service.uploadZnshData(obj);
}
/**
* 安全帽数据上报
* @param obj 设备数据
*/
@PostMapping("/uploadSafetyHatData")
public AjaxResult uploadSafetyHatData(@RequestBody String obj){
return service.uploadSafetyHatData(obj);

View File

@ -77,50 +77,6 @@ public interface DataCenterMapper {
*/
void insertRecordData(DevAttributeVo vo);
/**
* 查询室外感知设备最新的各项监测数据
* @param devId 设备id
*/
List<DevAttributeVo> getDevAttributeLatestInfoById(@Param("devId") Integer devId);
/**
* 查询室外感知设备历史各项10条记录
* @param devId 设备id
*/
List<DevAttributeVo> getDevAttributeRecordByDevId(@Param("devId") Integer devId);
/**
* 查询组塔监测设备当日记录
* @param proId 工程id
*/
List<DevAttributeVo> getTowerDevAttributeRecordByDay(@Param("proId") Integer proId);
/**
* 查询基坑/有限空间 监测设备当日记录
*/
List<DevAttributeVo> getPitDevAttributeRecordByDay(@Param("proId") Integer proId);
/**
* 查询组塔监测设备报警记录 -- 最新10条
*/
List<DevAttributeVo> getTowerDevAttributeWarnRecord(@Param("proId") Integer proId);
/**
* 查询基坑/有限空间 监测设备历史各项监测数据每监测项10条记录
*/
List<DevAttributeVo> getPitDevAttributeRecordByDeviceId(@Param("devId") Integer devId);
/**
* 查询有限空间/基坑设备报警记录 -- 最新10条
* @param proId 工程id
*/
List<DevAttributeVo> getPitDevAttributeWarnRecord(@Param("proId") Integer proId);
/**
* 查询室外环境报警记录 -- 最新20条
*/
List<DevAttributeVo> getPowerDevAttributeRecordByWarn(@Param("proId") Integer proId);
/**
* 更新设备采集数据值
* @param devId

View File

@ -1,7 +1,9 @@
package com.bonus.screen.mapper;
import com.bonus.data.entity.DevAttributeVo;
import com.bonus.screen.vo.DeviceWarnRecordVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@ -17,4 +19,48 @@ public interface TbDeviceDataRecord {
List<DeviceWarnRecordVo> getDeviceWarnRecord(DeviceWarnRecordVo deviceWarnRecordVo);
/**
* 查询室外感知设备最新的各项监测数据
* @param devId 设备id
*/
List<DevAttributeVo> getDevAttributeLatestInfoById(@Param("devId") Integer devId);
/**
* 查询室外感知设备历史各项10条记录
* @param devId 设备id
*/
List<DevAttributeVo> getDevAttributeRecordByDevId(@Param("devId") Integer devId);
/**
* 查询组塔监测设备当日记录
* @param proId 工程id
*/
List<DevAttributeVo> getTowerDevAttributeRecordByDay(@Param("proId") Integer proId);
/**
* 查询基坑/有限空间 监测设备当日记录
*/
List<DevAttributeVo> getPitDevAttributeRecordByDay(@Param("proId") Integer proId);
/**
* 查询组塔监测设备报警记录 -- 最新10条
*/
List<DevAttributeVo> getTowerDevAttributeWarnRecord(@Param("proId") Integer proId);
/**
* 查询基坑/有限空间 监测设备历史各项监测数据每监测项10条记录
*/
List<DevAttributeVo> getPitDevAttributeRecordByDeviceId(@Param("devId") Integer devId);
/**
* 查询有限空间/基坑设备报警记录 -- 最新10条
* @param proId 工程id
*/
List<DevAttributeVo> getPitDevAttributeWarnRecord(@Param("proId") Integer proId);
/**
* 查询室外环境报警记录 -- 最新20条
*/
List<DevAttributeVo> getPowerDevAttributeRecordByWarn(@Param("proId") Integer proId);
}

View File

@ -2,7 +2,7 @@ package com.bonus.screen.service.impl;
import com.bonus.common.core.web.domain.AjaxResult;
import com.bonus.data.entity.DevAttributeVo;
import com.bonus.data.mapper.DataCenterMapper;
import com.bonus.screen.mapper.TbDeviceDataRecord;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -21,15 +21,15 @@ import java.util.stream.Collectors;
public class ProjectDetailsViewServiceImpl {
@Autowired
private DataCenterMapper dataCenterMapper;
private TbDeviceDataRecord tbDeviceDataRecordMapper;
public AjaxResult getDevAttributeLatestInfoById(Integer proId) {
return AjaxResult.success(dataCenterMapper.getDevAttributeLatestInfoById(proId));
return AjaxResult.success(tbDeviceDataRecordMapper.getDevAttributeLatestInfoById(proId));
}
public AjaxResult getDevAttributeRecordByDevId(Integer devId) {
List<DevAttributeVo> records = dataCenterMapper.getDevAttributeRecordByDevId(devId);
List<DevAttributeVo> records = tbDeviceDataRecordMapper.getDevAttributeRecordByDevId(devId);
if (records.isEmpty()) {
return AjaxResult.error("暂无数据");
}
@ -38,7 +38,7 @@ public class ProjectDetailsViewServiceImpl {
}
public AjaxResult getPitDevAttributeRecordByDeviceId(Integer devId) {
List<DevAttributeVo> records = dataCenterMapper.getPitDevAttributeRecordByDeviceId(devId);
List<DevAttributeVo> records = tbDeviceDataRecordMapper.getPitDevAttributeRecordByDeviceId(devId);
if (records.isEmpty()) {
return AjaxResult.error("暂无数据");
}
@ -46,7 +46,7 @@ public class ProjectDetailsViewServiceImpl {
}
public AjaxResult getTowerDevAttributeRecordByDay(Integer proId) {
List<DevAttributeVo> records = dataCenterMapper.getTowerDevAttributeRecordByDay(proId);
List<DevAttributeVo> records = tbDeviceDataRecordMapper.getTowerDevAttributeRecordByDay(proId);
if (records.isEmpty()) {
return AjaxResult.error("暂无数据");
}
@ -54,11 +54,11 @@ public class ProjectDetailsViewServiceImpl {
}
public AjaxResult getPitDevAttributeRecordByDay(Integer proId) {
return AjaxResult.success(dataCenterMapper.getPitDevAttributeRecordByDay(proId));
return AjaxResult.success(tbDeviceDataRecordMapper.getPitDevAttributeRecordByDay(proId));
}
public AjaxResult getTowerDevAttributeWarnRecord(Integer proId) {
List<DevAttributeVo> records = dataCenterMapper.getTowerDevAttributeWarnRecord(proId);
List<DevAttributeVo> records = tbDeviceDataRecordMapper.getTowerDevAttributeWarnRecord(proId);
if (records.isEmpty()) {
return AjaxResult.error("暂无数据");
}
@ -66,7 +66,7 @@ public class ProjectDetailsViewServiceImpl {
}
public AjaxResult getPitDevAttributeWarnRecord(Integer proId) {
List<DevAttributeVo> records = dataCenterMapper.getPitDevAttributeWarnRecord(proId);
List<DevAttributeVo> records = tbDeviceDataRecordMapper.getPitDevAttributeWarnRecord(proId);
if (records.isEmpty()) {
return AjaxResult.error("暂无数据");
}
@ -74,7 +74,7 @@ public class ProjectDetailsViewServiceImpl {
}
public AjaxResult getPowerDevAttributeRecordByWarn(Integer proId) {
return AjaxResult.success(dataCenterMapper.getPowerDevAttributeRecordByWarn(proId));
return AjaxResult.success(tbDeviceDataRecordMapper.getPowerDevAttributeRecordByWarn(proId));
}
}

View File

@ -101,128 +101,4 @@
and status=0
and dict_value LIKE CONCAT("%",#{relType},',',"%")
</select>
<select id="getDevAttributeLatestInfoById" resultType="com.bonus.data.entity.DevAttributeVo">
select
tddr.dev_id,tddr.dev_name,tddr.dev_type,tddr.attribute_name as jcName,tddr.attribute_val as jcValue,
tddr.is_warn,tddr.create_time as jcTime
from tb_dev_data_record tddr
where tddr.dev_id = #{devId}
and tddr.merger_id = (
select merger_id
from tb_dev_data_record
where dev_id = #{devId}
order by create_time desc limit 1
)
</select>
<select id="getDevAttributeRecordByDevId" resultType="com.bonus.data.entity.DevAttributeVo">
SELECT
tddr.dev_id,tddr.dev_name,tddr.dev_type,tddr.attribute_name as jcName,tddr.attribute_val as jcValue,
tddr.is_warn,tddr.create_time as jcTime
FROM tb_dev_data_record AS tddr
WHERE tddr.dev_id = #{devId}
AND tddr.attribute_name IN ('温度', '湿度', '风速','噪声','pm25','pm10')
AND (
SELECT COUNT(*)
FROM tb_dev_data_record AS sub
WHERE sub.dev_id = tddr.dev_id
AND sub.attribute_name = tddr.attribute_name
AND sub.create_time >= tddr.create_time
) &lt;= 10
ORDER BY tddr.attribute_name, tddr.create_time DESC;
</select>
<select id="getTowerDevAttributeRecordByDay" resultType="com.bonus.data.entity.DevAttributeVo">
SELECT
tddr.dev_id,tddr.dev_name,tddr.dev_type,tddr.attribute_name as jcName,tddr.attribute_val as jcValue,
tddr.is_warn,tddr.create_time as jcTime
FROM tb_dev_data_record AS tddr
LEFT JOIN tb_device device ON device.id = tddr.dev_id
LEFT JOIN tb_bd_device_record tbdr ON tbdr.id = device.bd_id
WHERE
tddr.create_time >= DATE_SUB(NOW(), INTERVAL 1 DAY)
AND tbdr.pro_id = #{proId} AND tddr.dev_type IN ('angle','pull')
ORDER BY
tddr.create_time DESC
</select>
<select id="getTowerDevAttributeWarnRecord" resultType="com.bonus.data.entity.DevAttributeVo">
SELECT
tddr.dev_id,tddr.dev_name,tddr.dev_type,tddr.attribute_name as jcName,tddr.attribute_val as jcValue,
tddr.is_warn,tddr.create_time as jcTime
FROM
tb_dev_data_record AS tddr
LEFT JOIN tb_device device ON device.id = tddr.dev_id
LEFT JOIN tb_bd_device_record tbdr ON tbdr.id = device.bd_id
WHERE
tddr.is_warn = '1'
AND tbdr.pro_id = #{proId} AND tddr.dev_type IN ('angle','pull')
ORDER BY
tddr.create_time DESC
limit 10
</select>
<select id="getPitDevAttributeRecordByDeviceId" resultType="com.bonus.data.entity.DevAttributeVo">
SELECT
tddr.dev_id,tddr.dev_name,tddr.dev_type,tddr.attribute_name as jcName,tddr.attribute_val as jcValue,
tddr.is_warn,tddr.create_time as jcTime
FROM tb_dev_data_record AS tddr
WHERE tddr.dev_id = #{devId}
AND tddr.attribute_name IN ('一氧化碳', '可燃气体', '含氧量','硫化氢')
AND (
SELECT COUNT(*)
FROM tb_dev_data_record AS sub
WHERE sub.dev_id = tddr.dev_id
AND sub.attribute_name = tddr.attribute_name
AND sub.create_time >= tddr.create_time
) &lt;= 10
ORDER BY tddr.attribute_name, tddr.create_time DESC;
</select>
<select id="getPitDevAttributeWarnRecord" resultType="com.bonus.data.entity.DevAttributeVo">
SELECT
tddr.dev_id,tddr.dev_name,tddr.dev_type,tddr.attribute_name as jcName,tddr.attribute_val as jcValue,
tddr.is_warn,tddr.create_time as jcTime
FROM
tb_dev_data_record AS tddr
LEFT JOIN tb_device device ON device.id = tddr.dev_id
LEFT JOIN tb_bd_device_record tbdr ON tbdr.id = device.bd_id
WHERE
tddr.is_warn = '1'
AND tbdr.pro_id = #{proId} AND tddr.dev_type = 'limited'
ORDER BY
tddr.create_time DESC
limit 10
</select>
<select id="getPowerDevAttributeRecordByWarn" resultType="com.bonus.data.entity.DevAttributeVo">
SELECT
tddr.dev_id,tddr.dev_name,tddr.dev_type,tddr.attribute_name as jcName,tddr.attribute_val as jcValue,
tddr.is_warn,tddr.create_time as jcTime
FROM
tb_dev_data_record AS tddr
LEFT JOIN tb_device device ON device.id = tddr.dev_id
LEFT JOIN tb_bd_device_record tbdr ON tbdr.id = device.bd_id
WHERE
tddr.is_warn = '1'
AND tbdr.pro_id = #{proId} AND tddr.dev_type = 'environmental'
ORDER BY
tddr.create_time DESC
limit 20
</select>
<select id="getPitDevAttributeRecordByDay" resultType="com.bonus.data.entity.DevAttributeVo">
SELECT
tddr.dev_id,tddr.dev_name,tddr.dev_type,tddr.attribute_name as jcName,tddr.attribute_val as jcValue,
tddr.is_warn,tddr.create_time as jcTime
FROM tb_dev_data_record AS tddr
LEFT JOIN tb_device device ON device.id = tddr.dev_id
LEFT JOIN tb_bd_device_record tbdr ON tbdr.id = device.bd_id
WHERE
tddr.create_time >= DATE_SUB(NOW(), INTERVAL 1 DAY)
AND tbdr.pro_id = #{proId} AND tddr.dev_type = 'limited'
ORDER BY
tddr.create_time DESC
</select>
</mapper>

View File

@ -25,4 +25,128 @@
</if>
GROUP BY tddr.id
</select>
<select id="getDevAttributeLatestInfoById" resultType="com.bonus.data.entity.DevAttributeVo">
select
tddr.dev_id,tddr.dev_name,tddr.dev_type,tddr.attribute_name as jcName,tddr.attribute_val as jcValue,
tddr.is_warn,tddr.create_time as jcTime
from tb_dev_data_record tddr
where tddr.dev_id = #{devId}
and tddr.merger_id = (
select merger_id
from tb_dev_data_record
where dev_id = #{devId}
order by create_time desc limit 1
)
</select>
<select id="getDevAttributeRecordByDevId" resultType="com.bonus.data.entity.DevAttributeVo">
SELECT
tddr.dev_id,tddr.dev_name,tddr.dev_type,tddr.attribute_name as jcName,tddr.attribute_val as jcValue,
tddr.is_warn,tddr.create_time as jcTime
FROM tb_dev_data_record AS tddr
WHERE tddr.dev_id = #{devId}
AND tddr.attribute_name IN ('温度', '湿度', '风速','噪声','pm25','pm10')
AND (
SELECT COUNT(*)
FROM tb_dev_data_record AS sub
WHERE sub.dev_id = tddr.dev_id
AND sub.attribute_name = tddr.attribute_name
AND sub.create_time >= tddr.create_time
) &lt;= 10
ORDER BY tddr.attribute_name, tddr.create_time DESC;
</select>
<select id="getTowerDevAttributeRecordByDay" resultType="com.bonus.data.entity.DevAttributeVo">
SELECT
tddr.dev_id,tddr.dev_name,tddr.dev_type,tddr.attribute_name as jcName,tddr.attribute_val as jcValue,
tddr.is_warn,tddr.create_time as jcTime
FROM tb_dev_data_record AS tddr
LEFT JOIN tb_device device ON device.id = tddr.dev_id
LEFT JOIN tb_bd_device_record tbdr ON tbdr.id = device.bd_id
WHERE
tddr.create_time >= DATE_SUB(NOW(), INTERVAL 1 DAY)
AND tbdr.pro_id = #{proId} AND tddr.dev_type IN ('angle','pull')
ORDER BY
tddr.create_time DESC
</select>
<select id="getTowerDevAttributeWarnRecord" resultType="com.bonus.data.entity.DevAttributeVo">
SELECT
tddr.dev_id,tddr.dev_name,tddr.dev_type,tddr.attribute_name as jcName,tddr.attribute_val as jcValue,
tddr.is_warn,tddr.create_time as jcTime
FROM
tb_dev_data_record AS tddr
LEFT JOIN tb_device device ON device.id = tddr.dev_id
LEFT JOIN tb_bd_device_record tbdr ON tbdr.id = device.bd_id
WHERE
tddr.is_warn = '1'
AND tbdr.pro_id = #{proId} AND tddr.dev_type IN ('angle','pull')
ORDER BY
tddr.create_time DESC
limit 10
</select>
<select id="getPitDevAttributeRecordByDeviceId" resultType="com.bonus.data.entity.DevAttributeVo">
SELECT
tddr.dev_id,tddr.dev_name,tddr.dev_type,tddr.attribute_name as jcName,tddr.attribute_val as jcValue,
tddr.is_warn,tddr.create_time as jcTime
FROM tb_dev_data_record AS tddr
WHERE tddr.dev_id = #{devId}
AND tddr.attribute_name IN ('一氧化碳', '可燃气体', '含氧量','硫化氢')
AND (
SELECT COUNT(*)
FROM tb_dev_data_record AS sub
WHERE sub.dev_id = tddr.dev_id
AND sub.attribute_name = tddr.attribute_name
AND sub.create_time >= tddr.create_time
) &lt;= 10
ORDER BY tddr.attribute_name, tddr.create_time DESC;
</select>
<select id="getPitDevAttributeWarnRecord" resultType="com.bonus.data.entity.DevAttributeVo">
SELECT
tddr.dev_id,tddr.dev_name,tddr.dev_type,tddr.attribute_name as jcName,tddr.attribute_val as jcValue,
tddr.is_warn,tddr.create_time as jcTime
FROM
tb_dev_data_record AS tddr
LEFT JOIN tb_device device ON device.id = tddr.dev_id
LEFT JOIN tb_bd_device_record tbdr ON tbdr.id = device.bd_id
WHERE
tddr.is_warn = '1'
AND tbdr.pro_id = #{proId} AND tddr.dev_type = 'limited'
ORDER BY
tddr.create_time DESC
limit 10
</select>
<select id="getPowerDevAttributeRecordByWarn" resultType="com.bonus.data.entity.DevAttributeVo">
SELECT
tddr.dev_id,tddr.dev_name,tddr.dev_type,tddr.attribute_name as jcName,tddr.attribute_val as jcValue,
tddr.is_warn,tddr.create_time as jcTime
FROM
tb_dev_data_record AS tddr
LEFT JOIN tb_device device ON device.id = tddr.dev_id
LEFT JOIN tb_bd_device_record tbdr ON tbdr.id = device.bd_id
WHERE
tddr.is_warn = '1'
AND tbdr.pro_id = #{proId} AND tddr.dev_type = 'environmental'
ORDER BY
tddr.create_time DESC
limit 20
</select>
<select id="getPitDevAttributeRecordByDay" resultType="com.bonus.data.entity.DevAttributeVo">
SELECT
tddr.dev_id,tddr.dev_name,tddr.dev_type,tddr.attribute_name as jcName,tddr.attribute_val as jcValue,
tddr.is_warn,tddr.create_time as jcTime
FROM tb_dev_data_record AS tddr
LEFT JOIN tb_device device ON device.id = tddr.dev_id
LEFT JOIN tb_bd_device_record tbdr ON tbdr.id = device.bd_id
WHERE
tddr.create_time >= DATE_SUB(NOW(), INTERVAL 1 DAY)
AND tbdr.pro_id = #{proId} AND tddr.dev_type = 'limited'
ORDER BY
tddr.create_time DESC
</select>
</mapper>