bug修复
This commit is contained in:
parent
cd869ac16e
commit
977c07c308
@ -439,13 +439,16 @@
|
||||
<select id="selectTowerRingRatioCount" resultType="java.util.Map">
|
||||
select tp.*,
|
||||
round(TRUNCATE((IFNULL(todayDevOnlineNum, 0) - IFNULL(yesterdayDevOnlineNum, 0)) /
|
||||
IFNULL(yesterdayDevOnlineNum, 0), 4) * 100, 2) ringRatio
|
||||
IFNULL(yesterdayDevOnlineNum, 0), 4) * 100, 2) ringRatio,
|
||||
ifnull(round((tp.pass_dev_online_num+tp.todayDevOnlineNum)/(tp.pass_dev_num+tp.devNum)*100,2),0) weekOnlineRatio
|
||||
from (
|
||||
SELECT count(1) devNum,
|
||||
IFNULL(SUM((case
|
||||
when round((UNIX_TIMESTAMP(now()) - UNIX_TIMESTAMP(w1.real_time)) / 60) <= 30 then 1
|
||||
else 0 end)), 0) todayDevOnlineNum,
|
||||
IFNULL(SUM(IFNULL(st.dev_online_num, 0)), 0) yesterdayDevOnlineNum
|
||||
IFNULL(SUM(IFNULL(st.dev_online_num, 0)), 0) yesterdayDevOnlineNum,
|
||||
st1.dev_online_num as pass_dev_online_num,
|
||||
st1.dev_num as pass_dev_num
|
||||
from tower w1
|
||||
INNER JOIN project a ON w1.project_sn = a.project_sn
|
||||
INNER JOIN company cp ON a.company_sn = cp.company_sn
|
||||
@ -458,6 +461,13 @@
|
||||
AND dev_type = 4
|
||||
GROUP BY project_sn
|
||||
) st ON w1.project_sn = a.project_sn
|
||||
LEFT JOIN (
|
||||
SELECT project_sn, IFNULL(SUM(dev_online_num), 0) dev_online_num,IFNULL(SUM(dev_num), 0) dev_num
|
||||
from project_dev_statistics
|
||||
WHERE query_time >= DATE_FORMAT(DATE_ADD(NOW(), INTERVAL -7 DAY), '%Y-%m-%d')
|
||||
AND dev_type = 4
|
||||
GROUP BY project_sn
|
||||
) st1 ON w1.project_sn = a.project_sn
|
||||
<where>
|
||||
<if test="companyType == '1'.toString()">
|
||||
and f.headquarters_sn = #{sn}
|
||||
|
||||
@ -60,11 +60,22 @@
|
||||
</if>
|
||||
</select>
|
||||
<select id="selectWeekTowerList" resultType="java.util.Map">
|
||||
SELECT IFNULL(SUM(IFNULL(w1.dev_num,0)),0) devNum,IFNULL(SUM(IFNULL(w1.dev_online_num,0)),0) devOnlineNum,w1.query_time titleName
|
||||
SELECT IFNULL(SUM(IFNULL(if(w1.query_time=current_date,t1.devNum,w1.dev_num),0)),0)
|
||||
devNum,IFNULL(SUM(IFNULL(if(w1.query_time=current_date,t1.devOnlineNum,w1.dev_online_num),0)),0)
|
||||
devOnlineNum,w1.query_time titleName
|
||||
from project_dev_statistics w1 INNER JOIN project a ON (w1.project_sn=a.project_sn AND w1.dev_type=4)
|
||||
INNER JOIN company cp ON a.company_sn=cp.company_sn
|
||||
INNER JOIN company b ON cp.parent_id=b.company_id
|
||||
Left JOIN company f ON b.parent_id=f.company_id
|
||||
LEFT JOIN (
|
||||
SELECT count( 1 ) devNum,
|
||||
IFNULL(SUM((CASE WHEN round(( UNIX_TIMESTAMP( now()) - UNIX_TIMESTAMP( real_time )) / 60 ) <![CDATA[<=]]> 30
|
||||
THEN 1 ELSE 0 END)),0) devOnlineNum,
|
||||
project_sn,
|
||||
CURRENT_DATE titleName
|
||||
from tower
|
||||
group by project_sn
|
||||
)t1 ON t1.titleName=w1.query_time and t1.project_sn=w1.project_sn
|
||||
where w1.query_time >=DATE_ADD(CURDATE(),INTERVAL -weekday(CURDATE()) day)
|
||||
<if test="companyType == '1'.toString()">
|
||||
and f.headquarters_sn=#{sn}
|
||||
@ -83,7 +94,6 @@
|
||||
</if>
|
||||
group by titleName
|
||||
order by titleName
|
||||
|
||||
</select>
|
||||
<select id="selectProjectDevStatisticList" resultType="java.util.Map">
|
||||
SELECT
|
||||
|
||||
@ -3,6 +3,7 @@ package com.zhgd.xmgl.modules.sewage.controller;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.gexin.fastjson.JSON;
|
||||
import com.zhgd.jeecg.common.api.vo.Result;
|
||||
import com.zhgd.xmgl.enums.ParamEnum;
|
||||
import com.zhgd.xmgl.modules.sewage.entity.SewageData;
|
||||
import com.zhgd.xmgl.modules.sewage.service.ISewageDataService;
|
||||
import io.swagger.annotations.Api;
|
||||
@ -194,4 +195,11 @@ public class SewageDataController {
|
||||
return Result.success(sewageDataService.countSewageDataTrend(paramMap));
|
||||
}
|
||||
|
||||
@ApiOperation(value = "获取污水类型信息", notes = "获取污水类型信息")
|
||||
@GetMapping(value = "/getSewageTypeEnum")
|
||||
public Result<ParamEnum.SewageTypeEnum[]> getSewageTypeEnum() {
|
||||
ParamEnum.SewageTypeEnum[] values = ParamEnum.SewageTypeEnum.values();
|
||||
return Result.success(values);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
package com.zhgd.xmgl.modules.sewage.entity;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
@ -122,5 +123,30 @@ public class SewageData implements Serializable {
|
||||
@ApiModelProperty(value = "水温(℃)对比报警阈值比率")
|
||||
private java.lang.Double waterTemperatureRate;
|
||||
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "污水预警列表")
|
||||
private List<SewageAlarm> alarmList;
|
||||
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "PH值状态:0正常 1预警 2告警")
|
||||
private Integer phValueStatus;
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "浊度值(NTU)状态:0正常 1预警 2告警")
|
||||
private Integer turbidityValueStatus;
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "电导率(μS/cm)状态:0正常 1预警 2告警")
|
||||
private Integer conductivityStatus;
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "溶解氧(mg/L)状态:0正常 1预警 2告警")
|
||||
private Integer dissolvedOxygenStatus;
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "水温(℃)状态:0正常 1预警 2告警")
|
||||
private Integer waterTemperatureStatus;
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "流速(m/s)状态:0正常 1预警 2告警")
|
||||
private Integer flowVelocityStatus;
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "水位(m)状态:0正常 1预警 2告警")
|
||||
private Integer waterLevelStatus;
|
||||
|
||||
}
|
||||
|
||||
@ -155,9 +155,75 @@ public class SewageDataServiceImpl extends ServiceImpl<SewageDataMapper, SewageD
|
||||
} else {
|
||||
sewageData.setIsWarning(false);
|
||||
}
|
||||
sewageData.setAlarmList(sewageAlarms);
|
||||
setAlarmStatus(sewageData, sewageAlarms);
|
||||
return sewageData;
|
||||
}
|
||||
|
||||
private void setAlarmStatus(SewageData sewageData, List<SewageAlarm> sewageAlarms) {
|
||||
if (CollUtil.isNotEmpty(sewageAlarms)) {
|
||||
Map<Integer, SewageAlarm> alarmMap = sewageAlarms.stream().filter(sewageAlarm -> Objects.equals(sewageAlarm.getAlarmType(), 2)).collect(Collectors.toMap(SewageAlarm::getSewageType, Function.identity(), (sewageAlarm, sewageAlarm2) -> sewageAlarm));
|
||||
Map<Integer, SewageAlarm> warnMap = sewageAlarms.stream().filter(sewageAlarm -> Objects.equals(sewageAlarm.getAlarmType(), 1)).collect(Collectors.toMap(SewageAlarm::getSewageType, Function.identity(), (sewageAlarm, sewageAlarm2) -> sewageAlarm));
|
||||
//
|
||||
if (alarmMap.get(ParamEnum.SewageTypeEnum.PH_VALUE.getValue()) != null) {
|
||||
sewageData.setPhValueStatus(2);
|
||||
} else if (warnMap.get(ParamEnum.SewageTypeEnum.PH_VALUE.getValue()) != null) {
|
||||
sewageData.setPhValueStatus(1);
|
||||
} else {
|
||||
sewageData.setPhValueStatus(0);
|
||||
}
|
||||
//
|
||||
if (alarmMap.get(ParamEnum.SewageTypeEnum.TURBIDITY_VALUE.getValue()) != null) {
|
||||
sewageData.setTurbidityValueStatus(2);
|
||||
} else if (warnMap.get(ParamEnum.SewageTypeEnum.TURBIDITY_VALUE.getValue()) != null) {
|
||||
sewageData.setTurbidityValueStatus(1);
|
||||
} else {
|
||||
sewageData.setTurbidityValueStatus(0);
|
||||
}
|
||||
//
|
||||
if (alarmMap.get(ParamEnum.SewageTypeEnum.CONDUCTIVITY.getValue()) != null) {
|
||||
sewageData.setConductivityStatus(2);
|
||||
} else if (warnMap.get(ParamEnum.SewageTypeEnum.CONDUCTIVITY.getValue()) != null) {
|
||||
sewageData.setConductivityStatus(1);
|
||||
} else {
|
||||
sewageData.setConductivityStatus(0);
|
||||
}
|
||||
//
|
||||
if (alarmMap.get(ParamEnum.SewageTypeEnum.DISSOLVED_OXYGEN.getValue()) != null) {
|
||||
sewageData.setDissolvedOxygenStatus(2);
|
||||
} else if (warnMap.get(ParamEnum.SewageTypeEnum.DISSOLVED_OXYGEN.getValue()) != null) {
|
||||
sewageData.setDissolvedOxygenStatus(1);
|
||||
} else {
|
||||
sewageData.setDissolvedOxygenStatus(0);
|
||||
}
|
||||
//
|
||||
if (alarmMap.get(ParamEnum.SewageTypeEnum.WATER_TEMPERATURE.getValue()) != null) {
|
||||
sewageData.setWaterTemperatureStatus(2);
|
||||
} else if (warnMap.get(ParamEnum.SewageTypeEnum.WATER_TEMPERATURE.getValue()) != null) {
|
||||
sewageData.setWaterTemperatureStatus(1);
|
||||
} else {
|
||||
sewageData.setWaterTemperatureStatus(0);
|
||||
}
|
||||
//
|
||||
if (alarmMap.get(ParamEnum.SewageTypeEnum.FLOW_RATE.getValue()) != null) {
|
||||
sewageData.setFlowVelocityStatus(2);
|
||||
} else if (warnMap.get(ParamEnum.SewageTypeEnum.FLOW_RATE.getValue()) != null) {
|
||||
sewageData.setFlowVelocityStatus(1);
|
||||
} else {
|
||||
sewageData.setFlowVelocityStatus(0);
|
||||
}
|
||||
//
|
||||
if (alarmMap.get(ParamEnum.SewageTypeEnum.WATER_LEVEL.getValue()) != null) {
|
||||
sewageData.setWaterLevelStatus(2);
|
||||
} else if (warnMap.get(ParamEnum.SewageTypeEnum.WATER_LEVEL.getValue()) != null) {
|
||||
sewageData.setWaterLevelStatus(1);
|
||||
} else {
|
||||
sewageData.setWaterLevelStatus(0);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
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();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user