有限空间基坑、组塔监测、当日报警api

This commit is contained in:
syruan 2024-09-24 15:46:28 +08:00
parent 50e640a758
commit d9ec7b0860
4 changed files with 169 additions and 4 deletions

View File

@ -8,7 +8,6 @@ import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
import java.util.Map;
/**
* @author 黑子
@ -90,6 +89,28 @@ public interface DataCenterMapper {
*/
List<DevAttributeVo> getDevAttributeRecordByDevId(@Param("devId") Integer devId);
/**
* 查询组塔监测设备当日记录
* @param proId 工程id
*/
List<DevAttributeVo> getTowerDevAttributeRecordByDay(@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);
/**
* 更新设备采集数据值
* @param devId

View File

@ -4,7 +4,6 @@ import com.bonus.base.service.TbPeopleService;
import com.bonus.common.core.web.controller.BaseController;
import com.bonus.common.core.web.domain.AjaxResult;
import com.bonus.screen.service.impl.ProjectDetailsViewServiceImpl;
import com.bonus.screen.service.impl.ProjectViewServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
@ -27,19 +26,71 @@ public class ProjectDetailsViewController extends BaseController {
@Autowired
private ProjectDetailsViewServiceImpl projectDetailsViewService;
/**
* 查询工程人员安全帽定位信息
* @param proId 工程id
*/
@GetMapping("/queryPeoplePositionByProject")
public AjaxResult queryPeoplePositionByProject(Integer proId) {
return AjaxResult.success(tbPeopleService.queryPeoplePositionByProId(proId));
}
/**
* 查询设备最新各项监测数据
* @param devId 设备id
*/
@GetMapping("/getDevAttributeLatestInfoById")
public AjaxResult getDevAttributeLatestInfoById(Integer devId) {
return AjaxResult.success(projectDetailsViewService.getDevAttributeLatestInfoById(devId));
}
/**
* 查询查询室外感知设备历史各项数据 / 每项10条
* @param devId 设备id
*/
@GetMapping("/getDevAttributeRecordById")
public AjaxResult getDevAttributeRecordByDevId(Integer devId) {
return AjaxResult.success(projectDetailsViewService.getDevAttributeRecordByDevId(devId));
return projectDetailsViewService.getDevAttributeRecordByDevId(devId);
}
/**
* 查询有限空间监测设备历史数据 / 每监测项各10条数据
* @param devId 设备id
*/
@GetMapping("/getPitDevAttributeRecordByDevice")
public AjaxResult getPitDevAttributeRecordByDevice(Integer devId) {
return projectDetailsViewService.getPitDevAttributeRecordByDeviceId(devId);
}
/**
* 查询组塔监测设备 -- 当日监测数据
* @param proId 工程id
*/
@GetMapping("/getPowerDevAttributeRecordByDay")
public AjaxResult getPowerDevAttributeRecordByProId(Integer proId) {
return projectDetailsViewService.getPowerDevAttributeRecordByProId(proId);
}
/**
* 查询组塔监测设备 -- 预警数据最新10条
* @param proId 工程id
*/
@GetMapping("/getPowerDevAttributeRecordByWarn")
public AjaxResult getPowerDevAttributeRecordByWarn(Integer proId) {
return projectDetailsViewService.getTowerDevAttributeWarnRecord(proId);
}
/**
* 查询有限空间监测设备 -- 预警数据最新10条
* @param proId 工程id
*/
@GetMapping("/getPitDevAttributeRecordByWarn")
public AjaxResult getPitDevAttributeWarnRecord(Integer proId) {
return projectDetailsViewService.getPitDevAttributeWarnRecord(proId);
}
}

View File

@ -3,7 +3,6 @@ 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.data.service.DataCenterService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -38,5 +37,36 @@ public class ProjectDetailsViewServiceImpl {
return AjaxResult.success(listMap);
}
public AjaxResult getPitDevAttributeRecordByDeviceId(Integer devId) {
List<DevAttributeVo> records = dataCenterMapper.getPitDevAttributeRecordByDeviceId(devId);
if (records.isEmpty()) {
return AjaxResult.error("暂无数据");
}
return AjaxResult.success(records);
}
public AjaxResult getPowerDevAttributeRecordByProId(Integer proId) {
List<DevAttributeVo> records = dataCenterMapper.getTowerDevAttributeRecordByDay(proId);
if (records.isEmpty()) {
return AjaxResult.error("暂无数据");
}
return AjaxResult.success(records);
}
public AjaxResult getTowerDevAttributeWarnRecord(Integer proId) {
List<DevAttributeVo> records = dataCenterMapper.getTowerDevAttributeWarnRecord(proId);
if (records.isEmpty()) {
return AjaxResult.error("暂无数据");
}
return AjaxResult.success(records);
}
public AjaxResult getPitDevAttributeWarnRecord(Integer proId) {
List<DevAttributeVo> records = dataCenterMapper.getPitDevAttributeWarnRecord(proId);
if (records.isEmpty()) {
return AjaxResult.error("暂无数据");
}
return AjaxResult.success(records);
}
}

View File

@ -132,4 +132,67 @@
) &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>
</mapper>