bug修改
This commit is contained in:
parent
5a994f83ab
commit
92a350d244
@ -498,5 +498,44 @@ public class ParamEnum {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 污水类型
|
||||
*/
|
||||
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
|
||||
public enum SewageTypeEnum implements BaseEnum {
|
||||
PH_VALUE(1, "PH值"),
|
||||
TURBIDITY_VALUE(2, "浊度值"),
|
||||
CONDUCTIVITY(3, "电导率"),
|
||||
DISSOLVED_OXYGEN(4, "溶解氧"),
|
||||
WATER_TEMPERATURE(5, "水温"),
|
||||
FLOW_RATE(6, "流速"),
|
||||
WATER_LEVEL(7, "水位"),
|
||||
;
|
||||
|
||||
SewageTypeEnum(Integer value, String desc) {
|
||||
this.value = value;
|
||||
this.desc = desc;
|
||||
}
|
||||
|
||||
private Integer value;
|
||||
private String desc;
|
||||
|
||||
public Integer getValue() {
|
||||
return value;
|
||||
}
|
||||
|
||||
public void setValue(Integer value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
public String getDesc() {
|
||||
return desc;
|
||||
}
|
||||
|
||||
public void setDesc(String desc) {
|
||||
this.desc = desc;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -1,6 +1,8 @@
|
||||
package com.zhgd.xmgl.modules.sewage.controller;
|
||||
|
||||
import com.zhgd.xmgl.modules.sewage.entity.SewageAlarm;
|
||||
import com.zhgd.xmgl.modules.sewage.entity.SewageData;
|
||||
import com.zhgd.xmgl.modules.sewage.entity.vo.CountSewageAlarmVo;
|
||||
import com.zhgd.xmgl.security.entity.UserInfo;
|
||||
import com.zhgd.xmgl.security.util.SecurityUtils;
|
||||
import io.swagger.annotations.Api;
|
||||
@ -64,6 +66,7 @@ public class SewageAlarmController {
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "pageNo", value = "第几页", paramType = "query", required = true, dataType = "Integer"),
|
||||
@ApiImplicitParam(name = "pageSize", value = "每页显示条数", paramType = "query", required = true, dataType = "Integer"),
|
||||
@ApiImplicitParam(name = "type", value = "1今日", paramType = "query", required = false, dataType = "Integer"),
|
||||
})
|
||||
@GetMapping(value = "/page")
|
||||
public Result<IPage<SewageAlarm>> queryPageList(@ApiIgnore @RequestParam HashMap<String, Object> paramMap) {
|
||||
@ -191,4 +194,25 @@ public class SewageAlarmController {
|
||||
return mv;
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation(value = "告警数据对比", notes = "告警数据对比", httpMethod = "POST")
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "projectSn", value = "项目sn", paramType = "body", required = true, dataType = "String"),
|
||||
@ApiImplicitParam(name = "devSn", value = "设备sn", paramType = "body", required = true, dataType = "String"),
|
||||
})
|
||||
@PostMapping(value = "/waringDataContrast")
|
||||
public Result<SewageData> waringDataContrast(@ApiIgnore @RequestBody HashMap<String, Object> paramMap) {
|
||||
return Result.success(sewageAlarmService.waringDataContrast(paramMap));
|
||||
}
|
||||
|
||||
@ApiOperation(value = "实时告警统计", notes = "实时告警统计", httpMethod = "POST")
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "projectSn", value = "项目sn", paramType = "body", required = true, dataType = "String"),
|
||||
@ApiImplicitParam(name = "devSn", value = "设备sn", paramType = "body", required = false, dataType = "String"),
|
||||
@ApiImplicitParam(name = "type", value = "1今日", paramType = "body", required = false, dataType = "Integer"),
|
||||
})
|
||||
@PostMapping(value = "/countSewageAlarm")
|
||||
public Result<CountSewageAlarmVo> countSewageAlarm(@ApiIgnore @RequestBody HashMap<String, Object> paramMap) {
|
||||
return Result.success(sewageAlarmService.countSewageAlarm(paramMap));
|
||||
}
|
||||
}
|
||||
|
||||
@ -193,4 +193,5 @@ public class SewageDataController {
|
||||
public Result<List<SewageData>> countSewageDataTrend(@ApiIgnore @RequestBody HashMap<String, Object> paramMap) {
|
||||
return Result.success(sewageDataService.countSewageDataTrend(paramMap));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -131,13 +131,14 @@ public class SewageAlarm implements Serializable {
|
||||
@ApiModelProperty(value = "报警状态 1预警 2告警")
|
||||
private java.lang.Integer alarmType;
|
||||
|
||||
@ApiModelProperty(value = "污水数据id")
|
||||
private java.lang.Long sewageDataId;
|
||||
@ApiModelProperty(value = "污水类型")
|
||||
private java.lang.Integer sewageType;
|
||||
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "设备名称")
|
||||
private java.lang.String devName;
|
||||
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "污水数据id")
|
||||
private java.lang.Long sewageDataId;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -114,4 +114,13 @@ public class SewageData implements Serializable {
|
||||
@ApiModelProperty(value = "是否报警")
|
||||
private java.lang.Boolean isWarning;
|
||||
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "电导率(μS/cm)对比报警阈值比率")
|
||||
private java.lang.Double conductivityRate;
|
||||
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "水温(℃)对比报警阈值比率")
|
||||
private java.lang.Double waterTemperatureRate;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -0,0 +1,13 @@
|
||||
package com.zhgd.xmgl.modules.sewage.entity.vo;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class CountSewageAlarmVo {
|
||||
@ApiModelProperty("今日报警数量")
|
||||
private Integer alarmNumToday;
|
||||
@ApiModelProperty("今日预警数量")
|
||||
private Integer warningNumToday;
|
||||
|
||||
}
|
||||
@ -4,11 +4,14 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.zhgd.xmgl.modules.sewage.entity.vo.CountSewageAlarmVo;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import com.zhgd.xmgl.modules.sewage.entity.SewageAlarm;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
/**
|
||||
* @Description: 污水预警
|
||||
* @author: pds
|
||||
@ -19,4 +22,8 @@ import org.apache.ibatis.annotations.Param;
|
||||
public interface SewageAlarmMapper extends BaseMapper<SewageAlarm> {
|
||||
|
||||
IPage<SewageAlarm> queryPageList(Page<SewageAlarm> page, @Param(Constants.WRAPPER) QueryWrapper<SewageAlarm> queryWrapper);
|
||||
|
||||
CountSewageAlarmVo countSewageAlarm(HashMap<String, Object> paramMap);
|
||||
|
||||
SewageAlarm getNewestOne(HashMap<String, Object> paramMap);
|
||||
}
|
||||
|
||||
@ -7,4 +7,38 @@
|
||||
join sewage_dev sd on sd.dev_sn=sa.dev_sn
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
<select id="countSewageAlarm" resultType="com.zhgd.xmgl.modules.sewage.entity.vo.CountSewageAlarmVo">
|
||||
select
|
||||
ifnull(sum(if(alarm_type=1,1,0)),0) alarmNumToday,
|
||||
ifnull(sum(if(alarm_type=2,1,0)),0) warningNumToday
|
||||
from sewage_alarm
|
||||
where 1=1
|
||||
<if test="projectSn != null and projectSn != ''">
|
||||
and project_sn = #{projectSn}
|
||||
</if>
|
||||
<if test="devSn != null and devSn != ''">
|
||||
and dev_sn = #{devSn}
|
||||
</if>
|
||||
<if test="type == '1'.toString() ">
|
||||
and alarm_time >= current_date
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<select id="getNewestOne" resultType="com.zhgd.xmgl.modules.sewage.entity.SewageAlarm">
|
||||
select *
|
||||
from sewage_alarm
|
||||
where 1=1
|
||||
<if test="projectSn != null and projectSn != ''">
|
||||
and project_sn = #{projectSn}
|
||||
</if>
|
||||
<if test="devSn != null and devSn != ''">
|
||||
and dev_sn = #{devSn}
|
||||
</if>
|
||||
<if test="sewageType != null and sewageType != ''">
|
||||
and sewage_type = #{sewageType}
|
||||
</if>
|
||||
order by alarm_time desc
|
||||
limit 1
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
@ -3,6 +3,8 @@ package com.zhgd.xmgl.modules.sewage.service;
|
||||
import com.zhgd.xmgl.modules.sewage.entity.SewageAlarm;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.zhgd.xmgl.modules.sewage.entity.SewageData;
|
||||
import com.zhgd.xmgl.modules.sewage.entity.vo.CountSewageAlarmVo;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
@ -19,4 +21,7 @@ public interface ISewageAlarmService extends IService<SewageAlarm> {
|
||||
|
||||
List<SewageAlarm> queryList(HashMap<String, Object> paramMap);
|
||||
|
||||
SewageData waringDataContrast(HashMap<String, Object> paramMap);
|
||||
|
||||
CountSewageAlarmVo countSewageAlarm(HashMap<String, Object> paramMap);
|
||||
}
|
||||
|
||||
@ -26,4 +26,5 @@ public interface ISewageDataService extends IService<SewageData> {
|
||||
List<SewageData> countSewageDataTrend(HashMap<String, Object> paramMap);
|
||||
|
||||
SewageData queryNewestData(HashMap<String, Object> paramMap);
|
||||
|
||||
}
|
||||
|
||||
@ -1,19 +1,30 @@
|
||||
package com.zhgd.xmgl.modules.sewage.service.impl;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.zhgd.jeecg.common.system.query.QueryGenerator;
|
||||
import com.zhgd.xmgl.enums.ParamEnum;
|
||||
import com.zhgd.xmgl.modules.sewage.entity.SewageAlarm;
|
||||
import com.zhgd.xmgl.modules.sewage.entity.SewageData;
|
||||
import com.zhgd.xmgl.modules.sewage.entity.SewageWarnThreshold;
|
||||
import com.zhgd.xmgl.modules.sewage.entity.vo.CountSewageAlarmVo;
|
||||
import com.zhgd.xmgl.modules.sewage.mapper.SewageAlarmMapper;
|
||||
import com.zhgd.xmgl.modules.sewage.mapper.SewageWarnThresholdMapper;
|
||||
import com.zhgd.xmgl.modules.sewage.service.ISewageAlarmService;
|
||||
import com.zhgd.xmgl.util.NumberUtils;
|
||||
import com.zhgd.xmgl.util.PageUtil;
|
||||
import com.zhgd.xmgl.util.RefUtil;
|
||||
import org.apache.commons.collections.MapUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* @Description: 污水预警
|
||||
@ -23,6 +34,11 @@ import java.util.List;
|
||||
*/
|
||||
@Service
|
||||
public class SewageAlarmServiceImpl extends ServiceImpl<SewageAlarmMapper, SewageAlarm> implements ISewageAlarmService {
|
||||
@Autowired
|
||||
SewageAlarmMapper sewageAlarmMapper;
|
||||
@Autowired
|
||||
SewageWarnThresholdMapper sewageWarnThresholdMapper;
|
||||
|
||||
@Override
|
||||
public IPage<SewageAlarm> queryPageList(HashMap<String, Object> paramMap) {
|
||||
QueryWrapper<SewageAlarm> queryWrapper = getQueryWrapper(paramMap);
|
||||
@ -38,10 +54,50 @@ public class SewageAlarmServiceImpl extends ServiceImpl<SewageAlarmMapper, Sewag
|
||||
return dealList(this.list(queryWrapper));
|
||||
}
|
||||
|
||||
@Override
|
||||
public SewageData waringDataContrast(HashMap<String, Object> paramMap) {
|
||||
String devSn = MapUtils.getString(paramMap, "devSn");
|
||||
paramMap.put("sewageType", ParamEnum.SewageTypeEnum.CONDUCTIVITY.getValue());
|
||||
SewageAlarm conductivity = sewageAlarmMapper.getNewestOne(paramMap);
|
||||
paramMap.put("sewageType", ParamEnum.SewageTypeEnum.WATER_TEMPERATURE.getValue());
|
||||
SewageAlarm waterTemperature = sewageAlarmMapper.getNewestOne(paramMap);
|
||||
SewageData data = new SewageData();
|
||||
if (conductivity != null) {
|
||||
data.setConductivity(conductivity.getMonitorValue());
|
||||
}
|
||||
if (waterTemperature != null) {
|
||||
data.setWaterTemperature(waterTemperature.getMonitorValue());
|
||||
}
|
||||
SewageWarnThreshold threshold = sewageWarnThresholdMapper.selectOne(new LambdaQueryWrapper<SewageWarnThreshold>()
|
||||
.eq(SewageWarnThreshold::getDevSn, devSn));
|
||||
if (threshold != null) {
|
||||
if (NumberUtils.ge(data.getConductivity(), threshold.getWaterTemperatureHighAlarm())) {
|
||||
data.setConductivityRate(NumberUtils.rate(data.getConductivity(), threshold.getConductivityHighAlarm(), 2));
|
||||
} else if (NumberUtils.le(data.getConductivity(), threshold.getConductivityLowAlarm())) {
|
||||
data.setConductivityRate(NumberUtils.rate(data.getConductivity(), threshold.getConductivityLowAlarm(), 2));
|
||||
}
|
||||
if (NumberUtils.ge(data.getWaterTemperature(), threshold.getWaterTemperatureHighAlarm())) {
|
||||
data.setWaterTemperatureRate(NumberUtils.rate(data.getWaterTemperature(), threshold.getWaterTemperatureHighAlarm(), 2));
|
||||
} else if (NumberUtils.le(data.getWaterTemperature(), threshold.getWaterTemperatureLowAlarm())) {
|
||||
data.setWaterTemperatureRate(NumberUtils.rate(data.getWaterTemperature(), threshold.getWaterTemperatureLowAlarm(), 2));
|
||||
}
|
||||
}
|
||||
return data;
|
||||
}
|
||||
|
||||
@Override
|
||||
public CountSewageAlarmVo countSewageAlarm(HashMap<String, Object> paramMap) {
|
||||
return baseMapper.countSewageAlarm(paramMap);
|
||||
}
|
||||
|
||||
private QueryWrapper<SewageAlarm> getQueryWrapper(HashMap<String, Object> paramMap) {
|
||||
Integer type = MapUtils.getInteger(paramMap, "type");
|
||||
String alias = "sa.";
|
||||
QueryWrapper<SewageAlarm> queryWrapper = QueryGenerator.initPageQueryWrapper(SewageAlarm.class, paramMap, alias);
|
||||
queryWrapper.orderByDesc(alias + RefUtil.fieldNameUlc(SewageAlarm::getId));
|
||||
if (Objects.equals(type, 1)) {
|
||||
queryWrapper.ge(alias + RefUtil.fieldNameUlc(SewageAlarm::getAlarmTime), DateUtil.today());
|
||||
}
|
||||
return queryWrapper;
|
||||
}
|
||||
|
||||
|
||||
@ -1,7 +1,6 @@
|
||||
package com.zhgd.xmgl.modules.sewage.service.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
@ -9,6 +8,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.zhgd.jeecg.common.execption.OpenAlertException;
|
||||
import com.zhgd.jeecg.common.system.query.QueryGenerator;
|
||||
import com.zhgd.xmgl.enums.ParamEnum;
|
||||
import com.zhgd.xmgl.modules.sewage.entity.SewageAlarm;
|
||||
import com.zhgd.xmgl.modules.sewage.entity.SewageData;
|
||||
import com.zhgd.xmgl.modules.sewage.entity.SewageDev;
|
||||
@ -81,37 +81,37 @@ public class SewageDataServiceImpl extends ServiceImpl<SewageDataMapper, SewageD
|
||||
//插入报警
|
||||
SewageWarnThreshold threshold = sewageWarnThresholdMapper.selectOne(new LambdaQueryWrapper<SewageWarnThreshold>()
|
||||
.eq(SewageWarnThreshold::getDevSn, dev.getDevSn()));
|
||||
insertAlarmIfLe(sd.getPhValue(), threshold.getPhValueLowWarn(), dev, "PH值", 1);
|
||||
insertAlarmIfLe(sd.getTurbidityValue(), threshold.getTurbidityValueLowWarn(), dev, "浊度值", 1);
|
||||
insertAlarmIfLe(sd.getConductivity(), threshold.getConductivityLowWarn(), dev, "电导率", 1);
|
||||
insertAlarmIfLe(sd.getDissolvedOxygen(), threshold.getDissolvedOxygenLowWarn(), dev, "溶解氧", 1);
|
||||
insertAlarmIfLe(sd.getWaterTemperature(), threshold.getWaterTemperatureLowWarn(), dev, "水温", 1);
|
||||
insertAlarmIfLe(sd.getFlowVelocity(), threshold.getFlowVelocityLowWarn(), dev, "流速", 1);
|
||||
insertAlarmIfLe(sd.getWaterLevel(), threshold.getWaterLevelLowWarn(), dev, "水位", 1);
|
||||
insertAlarmIfLe(sd.getPhValue(), threshold.getPhValueLowWarn(), dev, ParamEnum.SewageTypeEnum.PH_VALUE.getDesc(), 1, sd, ParamEnum.SewageTypeEnum.PH_VALUE.getValue());
|
||||
insertAlarmIfLe(sd.getTurbidityValue(), threshold.getTurbidityValueLowWarn(), dev, ParamEnum.SewageTypeEnum.TURBIDITY_VALUE.getDesc(), 1, sd, ParamEnum.SewageTypeEnum.TURBIDITY_VALUE.getValue());
|
||||
insertAlarmIfLe(sd.getConductivity(), threshold.getConductivityLowWarn(), dev, ParamEnum.SewageTypeEnum.CONDUCTIVITY.getDesc(), 1, sd, ParamEnum.SewageTypeEnum.CONDUCTIVITY.getValue());
|
||||
insertAlarmIfLe(sd.getDissolvedOxygen(), threshold.getDissolvedOxygenLowWarn(), dev, ParamEnum.SewageTypeEnum.DISSOLVED_OXYGEN.getDesc(), 1, sd, ParamEnum.SewageTypeEnum.DISSOLVED_OXYGEN.getValue());
|
||||
insertAlarmIfLe(sd.getWaterTemperature(), threshold.getWaterTemperatureLowWarn(), dev, ParamEnum.SewageTypeEnum.WATER_TEMPERATURE.getDesc(), 1, sd, ParamEnum.SewageTypeEnum.WATER_TEMPERATURE.getValue());
|
||||
insertAlarmIfLe(sd.getFlowVelocity(), threshold.getFlowVelocityLowWarn(), dev, ParamEnum.SewageTypeEnum.FLOW_RATE.getDesc(), 1, sd, ParamEnum.SewageTypeEnum.FLOW_RATE.getValue());
|
||||
insertAlarmIfLe(sd.getWaterLevel(), threshold.getWaterLevelLowWarn(), dev, ParamEnum.SewageTypeEnum.WATER_LEVEL.getDesc(), 1, sd, ParamEnum.SewageTypeEnum.WATER_LEVEL.getValue());
|
||||
|
||||
insertAlarmIfLe(sd.getPhValue(), threshold.getPhValueLowAlarm(), dev, "PH值", 2);
|
||||
insertAlarmIfLe(sd.getTurbidityValue(), threshold.getTurbidityValueLowAlarm(), dev, "浊度值", 2);
|
||||
insertAlarmIfLe(sd.getConductivity(), threshold.getConductivityLowAlarm(), dev, "电导率", 2);
|
||||
insertAlarmIfLe(sd.getDissolvedOxygen(), threshold.getDissolvedOxygenLowAlarm(), dev, "溶解氧", 2);
|
||||
insertAlarmIfLe(sd.getWaterTemperature(), threshold.getWaterTemperatureLowAlarm(), dev, "水温", 2);
|
||||
insertAlarmIfLe(sd.getFlowVelocity(), threshold.getFlowVelocityLowAlarm(), dev, "流速", 2);
|
||||
insertAlarmIfLe(sd.getWaterLevel(), threshold.getWaterLevelLowAlarm(), dev, "水位", 2);
|
||||
insertAlarmIfLe(sd.getPhValue(), threshold.getPhValueLowAlarm(), dev, ParamEnum.SewageTypeEnum.PH_VALUE.getDesc(), 2, sd, ParamEnum.SewageTypeEnum.PH_VALUE.getValue());
|
||||
insertAlarmIfLe(sd.getTurbidityValue(), threshold.getTurbidityValueLowAlarm(), dev, ParamEnum.SewageTypeEnum.TURBIDITY_VALUE.getDesc(), 2, sd, ParamEnum.SewageTypeEnum.TURBIDITY_VALUE.getValue());
|
||||
insertAlarmIfLe(sd.getConductivity(), threshold.getConductivityLowAlarm(), dev, ParamEnum.SewageTypeEnum.CONDUCTIVITY.getDesc(), 2, sd, ParamEnum.SewageTypeEnum.CONDUCTIVITY.getValue());
|
||||
insertAlarmIfLe(sd.getDissolvedOxygen(), threshold.getDissolvedOxygenLowAlarm(), dev, ParamEnum.SewageTypeEnum.DISSOLVED_OXYGEN.getDesc(), 2, sd, ParamEnum.SewageTypeEnum.DISSOLVED_OXYGEN.getValue());
|
||||
insertAlarmIfLe(sd.getWaterTemperature(), threshold.getWaterTemperatureLowAlarm(), dev, ParamEnum.SewageTypeEnum.WATER_TEMPERATURE.getDesc(), 2, sd, ParamEnum.SewageTypeEnum.WATER_TEMPERATURE.getValue());
|
||||
insertAlarmIfLe(sd.getFlowVelocity(), threshold.getFlowVelocityLowAlarm(), dev, ParamEnum.SewageTypeEnum.FLOW_RATE.getDesc(), 2, sd, ParamEnum.SewageTypeEnum.FLOW_RATE.getValue());
|
||||
insertAlarmIfLe(sd.getWaterLevel(), threshold.getWaterLevelLowAlarm(), dev, ParamEnum.SewageTypeEnum.WATER_LEVEL.getDesc(), 2, sd, ParamEnum.SewageTypeEnum.WATER_LEVEL.getValue());
|
||||
|
||||
insertAlarmIfGe(sd.getPhValue(), threshold.getPhValueHighWarn(), dev, "PH值", 1);
|
||||
insertAlarmIfGe(sd.getTurbidityValue(), threshold.getTurbidityValueHighWarn(), dev, "浊度值", 1);
|
||||
insertAlarmIfGe(sd.getConductivity(), threshold.getConductivityHighWarn(), dev, "电导率", 1);
|
||||
insertAlarmIfGe(sd.getDissolvedOxygen(), threshold.getDissolvedOxygenHighWarn(), dev, "溶解氧", 1);
|
||||
insertAlarmIfGe(sd.getWaterTemperature(), threshold.getWaterTemperatureHighWarn(), dev, "水温", 1);
|
||||
insertAlarmIfGe(sd.getFlowVelocity(), threshold.getFlowVelocityHighWarn(), dev, "流速", 1);
|
||||
insertAlarmIfGe(sd.getWaterLevel(), threshold.getWaterLevelHighWarn(), dev, "水位", 1);
|
||||
insertAlarmIfGe(sd.getPhValue(), threshold.getPhValueHighWarn(), dev, ParamEnum.SewageTypeEnum.PH_VALUE.getDesc(), 1, sd, ParamEnum.SewageTypeEnum.PH_VALUE.getValue());
|
||||
insertAlarmIfGe(sd.getTurbidityValue(), threshold.getTurbidityValueHighWarn(), dev, ParamEnum.SewageTypeEnum.TURBIDITY_VALUE.getDesc(), 1, sd, ParamEnum.SewageTypeEnum.TURBIDITY_VALUE.getValue());
|
||||
insertAlarmIfGe(sd.getConductivity(), threshold.getConductivityHighWarn(), dev, ParamEnum.SewageTypeEnum.CONDUCTIVITY.getDesc(), 1, sd, ParamEnum.SewageTypeEnum.CONDUCTIVITY.getValue());
|
||||
insertAlarmIfGe(sd.getDissolvedOxygen(), threshold.getDissolvedOxygenHighWarn(), dev, ParamEnum.SewageTypeEnum.DISSOLVED_OXYGEN.getDesc(), 1, sd, ParamEnum.SewageTypeEnum.DISSOLVED_OXYGEN.getValue());
|
||||
insertAlarmIfGe(sd.getWaterTemperature(), threshold.getWaterTemperatureHighWarn(), dev, ParamEnum.SewageTypeEnum.WATER_TEMPERATURE.getDesc(), 1, sd, ParamEnum.SewageTypeEnum.WATER_TEMPERATURE.getValue());
|
||||
insertAlarmIfGe(sd.getFlowVelocity(), threshold.getFlowVelocityHighWarn(), dev, ParamEnum.SewageTypeEnum.FLOW_RATE.getDesc(), 1, sd, ParamEnum.SewageTypeEnum.FLOW_RATE.getValue());
|
||||
insertAlarmIfGe(sd.getWaterLevel(), threshold.getWaterLevelHighWarn(), dev, ParamEnum.SewageTypeEnum.WATER_LEVEL.getDesc(), 1, sd, ParamEnum.SewageTypeEnum.WATER_LEVEL.getValue());
|
||||
|
||||
insertAlarmIfGe(sd.getPhValue(), threshold.getPhValueHighAlarm(), dev, "PH值", 2);
|
||||
insertAlarmIfGe(sd.getTurbidityValue(), threshold.getTurbidityValueHighAlarm(), dev, "浊度值", 2);
|
||||
insertAlarmIfGe(sd.getConductivity(), threshold.getConductivityHighAlarm(), dev, "电导率", 2);
|
||||
insertAlarmIfGe(sd.getDissolvedOxygen(), threshold.getDissolvedOxygenHighAlarm(), dev, "溶解氧", 2);
|
||||
insertAlarmIfGe(sd.getWaterTemperature(), threshold.getWaterTemperatureHighAlarm(), dev, "水温", 2);
|
||||
insertAlarmIfGe(sd.getFlowVelocity(), threshold.getFlowVelocityHighAlarm(), dev, "流速", 2);
|
||||
insertAlarmIfGe(sd.getWaterLevel(), threshold.getWaterLevelHighAlarm(), dev, "水位", 2);
|
||||
insertAlarmIfGe(sd.getPhValue(), threshold.getPhValueHighAlarm(), dev, ParamEnum.SewageTypeEnum.PH_VALUE.getDesc(), 2, sd, ParamEnum.SewageTypeEnum.PH_VALUE.getValue());
|
||||
insertAlarmIfGe(sd.getTurbidityValue(), threshold.getTurbidityValueHighAlarm(), dev, ParamEnum.SewageTypeEnum.TURBIDITY_VALUE.getDesc(), 2, sd, ParamEnum.SewageTypeEnum.TURBIDITY_VALUE.getValue());
|
||||
insertAlarmIfGe(sd.getConductivity(), threshold.getConductivityHighAlarm(), dev, ParamEnum.SewageTypeEnum.CONDUCTIVITY.getDesc(), 2, sd, ParamEnum.SewageTypeEnum.CONDUCTIVITY.getValue());
|
||||
insertAlarmIfGe(sd.getDissolvedOxygen(), threshold.getDissolvedOxygenHighAlarm(), dev, ParamEnum.SewageTypeEnum.DISSOLVED_OXYGEN.getDesc(), 2, sd, ParamEnum.SewageTypeEnum.DISSOLVED_OXYGEN.getValue());
|
||||
insertAlarmIfGe(sd.getWaterTemperature(), threshold.getWaterTemperatureHighAlarm(), dev, ParamEnum.SewageTypeEnum.WATER_TEMPERATURE.getDesc(), 2, sd, ParamEnum.SewageTypeEnum.WATER_TEMPERATURE.getValue());
|
||||
insertAlarmIfGe(sd.getFlowVelocity(), threshold.getFlowVelocityHighAlarm(), dev, ParamEnum.SewageTypeEnum.FLOW_RATE.getDesc(), 2, sd, ParamEnum.SewageTypeEnum.FLOW_RATE.getValue());
|
||||
insertAlarmIfGe(sd.getWaterLevel(), threshold.getWaterLevelHighAlarm(), dev, ParamEnum.SewageTypeEnum.WATER_LEVEL.getDesc(), 2, sd, ParamEnum.SewageTypeEnum.WATER_LEVEL.getValue());
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -155,7 +155,7 @@ public class SewageDataServiceImpl extends ServiceImpl<SewageDataMapper, SewageD
|
||||
return sewageData;
|
||||
}
|
||||
|
||||
private void insertAlarmIfLe(Double data, Double threshold, SewageDev dev, String c, Integer alarmType) {
|
||||
private void insertAlarmIfLe(Double data, Double threshold, SewageDev dev, String c, Integer alarmType, SewageData sd, Integer sewageType) {
|
||||
if (NumberUtils.le(data, threshold)) {
|
||||
SewageAlarm entity = new SewageAlarm();
|
||||
entity.setDevSn(dev.getDevSn());
|
||||
@ -168,11 +168,13 @@ public class SewageDataServiceImpl extends ServiceImpl<SewageDataMapper, SewageD
|
||||
entity.setProjectSn(dev.getProjectSn());
|
||||
entity.setAlarmType(alarmType);
|
||||
entity.setDevName(dev.getDevName());
|
||||
entity.setSewageDataId(sd.getId());
|
||||
entity.setSewageType(sewageType);
|
||||
sewageAlarmMapper.insert(entity);
|
||||
}
|
||||
}
|
||||
|
||||
private void insertAlarmIfGe(Double data, Double threshold, SewageDev dev, String c, Integer alarmType) {
|
||||
private void insertAlarmIfGe(Double data, Double threshold, SewageDev dev, String c, Integer alarmType, SewageData sd, Integer sewageType) {
|
||||
if (NumberUtils.ge(data, threshold)) {
|
||||
SewageAlarm entity = new SewageAlarm();
|
||||
entity.setDevSn(dev.getDevSn());
|
||||
@ -185,6 +187,8 @@ public class SewageDataServiceImpl extends ServiceImpl<SewageDataMapper, SewageD
|
||||
entity.setProjectSn(dev.getProjectSn());
|
||||
entity.setAlarmType(alarmType);
|
||||
entity.setDevName(dev.getDevName());
|
||||
entity.setSewageDataId(sd.getId());
|
||||
entity.setSewageType(sewageType);
|
||||
sewageAlarmMapper.insert(entity);
|
||||
}
|
||||
}
|
||||
|
||||
@ -18,6 +18,21 @@ public class NumberUtils {
|
||||
return NumberUtil.round(b1 / b2, scale).doubleValue();
|
||||
}
|
||||
|
||||
/**
|
||||
* 涨跌幅比率,b1比b2增长多少
|
||||
*
|
||||
* @param b1
|
||||
* @param b2
|
||||
* @param scale 保留小数位
|
||||
* @return
|
||||
*/
|
||||
public static Double rate(Double b1, Double b2, Integer scale) {
|
||||
if (b1 == null || b2 == null || b2.equals(0D)) {
|
||||
return 0D;
|
||||
}
|
||||
return NumberUtil.round((b1 - b2) / b2 * 100, scale).doubleValue();
|
||||
}
|
||||
|
||||
/**
|
||||
* 大于等于
|
||||
*
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user