环境监测后端
This commit is contained in:
parent
f70ff5f5a6
commit
ed9a85816c
|
|
@ -0,0 +1,65 @@
|
||||||
|
package com.securitycontrol.entity.screen.dto;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 环境监测分析
|
||||||
|
* @author fly
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class EnvironmentDto extends ScreenParamDto {
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "日期")
|
||||||
|
private String currentDay;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "时辰")
|
||||||
|
private String hours;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "工程名称")
|
||||||
|
private String proName;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "边坡位移")
|
||||||
|
private String slopeDisplacement;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "温度")
|
||||||
|
private String temperature;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "湿度")
|
||||||
|
private String humidity;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "空气质量")
|
||||||
|
private String airQualityIndex;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "噪音")
|
||||||
|
private String noiseLevel;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "光照度")
|
||||||
|
private String illumination;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "GIS安装环境温度")
|
||||||
|
private String gisInstallationTemp;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "GIS安装环境湿度")
|
||||||
|
private String gisInstallationHumidity;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "GIS安装环境粉尘")
|
||||||
|
private String gisInstallationDustConcentration;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "有限空间氧气浓度(单位:%)")
|
||||||
|
private String confinedSpaceOxygen;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "有限空间一氧化碳气体浓度(单位:ppm)")
|
||||||
|
private String confinedSpaceCarbonMonoxide;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "有限空间硫化氢气体浓度(单位:ppm)")
|
||||||
|
private String confinedSpaceHydrogenSulfide;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "有限空间可燃气体浓度(单位:%LEL)")
|
||||||
|
private String confinedSpaceCombustibleGas;
|
||||||
|
|
||||||
|
private List<EnvironmentDto> list;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,34 @@
|
||||||
|
package com.securitycontrol.screen.controller;
|
||||||
|
|
||||||
|
import com.securitycontrol.common.core.web.controller.BaseController;
|
||||||
|
import com.securitycontrol.common.core.web.domain.AjaxResult;
|
||||||
|
import com.securitycontrol.common.log.annotation.Log;
|
||||||
|
import com.securitycontrol.common.log.enums.OperationType;
|
||||||
|
import com.securitycontrol.entity.screen.dto.EnvironmentDto;
|
||||||
|
import com.securitycontrol.screen.service.EnvironmentService;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 环境监测分析
|
||||||
|
* @author fly
|
||||||
|
*/
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/largeScreen/environment/")
|
||||||
|
@Slf4j
|
||||||
|
public class EnvironmentController extends BaseController {
|
||||||
|
@Resource(name = "EnvironmentService")
|
||||||
|
private EnvironmentService service;
|
||||||
|
|
||||||
|
@ApiOperation(value = "环境监测分析")
|
||||||
|
@GetMapping("getEnvironmentList")
|
||||||
|
@Log(title = "环境监测分析", menu = "数据分析->环境监测分析", grade = OperationType.QUERY_BUSINESS, details = "环境监测分析", type = "业务日志")
|
||||||
|
public AjaxResult getEnvironmentList(EnvironmentDto dto) {
|
||||||
|
return service.getEnvironmentList(dto);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,21 @@
|
||||||
|
package com.securitycontrol.screen.mapper;
|
||||||
|
|
||||||
|
import com.securitycontrol.entity.screen.dto.AlarmMgeDto;
|
||||||
|
import com.securitycontrol.entity.screen.dto.EnvironmentDto;
|
||||||
|
import com.securitycontrol.entity.screen.vo.AlarmMgeVo;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 环境监测分析
|
||||||
|
* @author fly
|
||||||
|
*/
|
||||||
|
@Repository(value = "EnvironmentMapper")
|
||||||
|
public interface EnvironmentMapper {
|
||||||
|
|
||||||
|
EnvironmentDto getEnvironmentList(EnvironmentDto dto);
|
||||||
|
|
||||||
|
List<EnvironmentDto> getEnvironmentListByDate(@Param("startDate") String s,@Param("endDate") String today);
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,22 @@
|
||||||
|
package com.securitycontrol.screen.service;
|
||||||
|
|
||||||
|
import com.securitycontrol.common.core.domain.Result;
|
||||||
|
import com.securitycontrol.common.core.web.domain.AjaxResult;
|
||||||
|
import com.securitycontrol.entity.screen.dto.AlarmMgeDto;
|
||||||
|
import com.securitycontrol.entity.screen.dto.EnvironmentDto;
|
||||||
|
import com.securitycontrol.entity.screen.vo.AlarmMgeVo;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 环境监测分析
|
||||||
|
* @author fly
|
||||||
|
*/
|
||||||
|
public interface EnvironmentService {
|
||||||
|
/**
|
||||||
|
* 告警管理 -列表
|
||||||
|
* @param dto
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
AjaxResult getEnvironmentList(EnvironmentDto dto);
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,54 @@
|
||||||
|
package com.securitycontrol.screen.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
|
import com.securitycontrol.common.core.domain.Result;
|
||||||
|
import com.securitycontrol.common.core.web.domain.AjaxResult;
|
||||||
|
import com.securitycontrol.common.security.utils.SecurityUtils;
|
||||||
|
import com.securitycontrol.entity.screen.dto.AlarmMgeDto;
|
||||||
|
import com.securitycontrol.entity.screen.dto.EnvironmentDto;
|
||||||
|
import com.securitycontrol.entity.screen.vo.AlarmMgeVo;
|
||||||
|
import com.securitycontrol.entity.screen.vo.TowerAssInspectVo;
|
||||||
|
import com.securitycontrol.entity.system.SystemGlobal;
|
||||||
|
import com.securitycontrol.screen.mapper.AlarmMgeMapper;
|
||||||
|
import com.securitycontrol.screen.mapper.EnvironmentMapper;
|
||||||
|
import com.securitycontrol.screen.service.AlarmMgeService;
|
||||||
|
import com.securitycontrol.screen.service.EnvironmentService;
|
||||||
|
import com.securitycontrol.system.api.model.LoginUser;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 环境监测分析
|
||||||
|
* @author fly
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
@Service(value = "EnvironmentService")
|
||||||
|
public class EnvironmentServiceImpl implements EnvironmentService {
|
||||||
|
|
||||||
|
@Resource(name = "EnvironmentMapper")
|
||||||
|
private EnvironmentMapper mapper;
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public AjaxResult getEnvironmentList(EnvironmentDto dto) {
|
||||||
|
EnvironmentDto vo = null;
|
||||||
|
try {
|
||||||
|
//先查固定时间-- currentDay:2021-05-01 hours:9
|
||||||
|
vo = mapper.getEnvironmentList(dto);
|
||||||
|
//在查最近七天,每天的平均值
|
||||||
|
String today = DateUtil.today();
|
||||||
|
// 获取七天前的日期,subtract方法可以用来减去指定的时间间隔
|
||||||
|
Date sevenDaysAgo = DateUtil.offsetDay(DateUtil.date(), -7);
|
||||||
|
List<EnvironmentDto> list = mapper.getEnvironmentListByDate(DateUtil.format(sevenDaysAgo, "yyyy-MM-dd"),today);
|
||||||
|
vo.setList(list);
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("环境监测分析-查询失败", e);
|
||||||
|
}
|
||||||
|
return AjaxResult.success(vo);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,56 @@
|
||||||
|
<?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.securitycontrol.screen.mapper.EnvironmentMapper">
|
||||||
|
|
||||||
|
<select id="getEnvironmentList" resultType="com.securitycontrol.entity.screen.dto.EnvironmentDto">
|
||||||
|
SELECT
|
||||||
|
id,
|
||||||
|
pro_id,
|
||||||
|
current_day,
|
||||||
|
`hour`,
|
||||||
|
slope_displacement,
|
||||||
|
temperature,
|
||||||
|
humidity,
|
||||||
|
air_quality_index,
|
||||||
|
noise_level,
|
||||||
|
illumination,
|
||||||
|
gis_installation_temp,
|
||||||
|
gis_installation_humidity,
|
||||||
|
gis_installation_dust_concentration,
|
||||||
|
confined_space_oxygen,
|
||||||
|
confined_space_carbon_monoxide,
|
||||||
|
confined_space_hydrogen_sulfide,
|
||||||
|
confined_space_combustible_gas
|
||||||
|
FROM
|
||||||
|
wide_sensor_data
|
||||||
|
WHERE
|
||||||
|
pro_id = #{proId}
|
||||||
|
AND current_day = #{currentDay}
|
||||||
|
AND `hour` = #{hour}
|
||||||
|
</select>
|
||||||
|
<select id="getEnvironmentListByDate" resultType="com.securitycontrol.entity.screen.dto.EnvironmentDto">
|
||||||
|
SELECT
|
||||||
|
current_day,
|
||||||
|
AVG(slope_displacement) AS avg_slope_displacement,
|
||||||
|
AVG(temperature) AS avg_temperature,
|
||||||
|
AVG(humidity) AS avg_humidity,
|
||||||
|
AVG(air_quality_index) AS avg_air_quality_index,
|
||||||
|
AVG(noise_level) AS avg_noise_level,
|
||||||
|
AVG(illumination) AS avg_illumination,
|
||||||
|
AVG(gis_installation_temp) AS avg_gis_installation_temp,
|
||||||
|
AVG(gis_installation_humidity) AS avg_gis_installation_humidity,
|
||||||
|
AVG(gis_installation_dust_concentration) AS avg_gis_installation_dust_concentration,
|
||||||
|
AVG(confined_space_oxygen) AS avg_confined_space_oxygen,
|
||||||
|
AVG(confined_space_carbon_monoxide) AS avg_confined_space_carbon_monoxide,
|
||||||
|
AVG(confined_space_hydrogen_sulfide) AS avg_confined_space_hydrogen_sulfide,
|
||||||
|
AVG(confined_space_combustible_gas) AS avg_confined_space_combustible_gas
|
||||||
|
FROM
|
||||||
|
wide_sensor_data
|
||||||
|
WHERE
|
||||||
|
current_day between #{startDate} AND #{endDate}
|
||||||
|
GROUP BY
|
||||||
|
current_day
|
||||||
|
ORDER BY
|
||||||
|
current_day ASC
|
||||||
|
</select>
|
||||||
|
</mapper>
|
||||||
Loading…
Reference in New Issue