change - 温度传感器报警定时

master
yinq 4 months ago
parent 3b36181ff8
commit 45505e1344

@ -10,6 +10,8 @@ import com.ruoyi.system.mapper.TArraytemperaturedataMapper;
import com.ruoyi.system.mapper.TSetmonitorthresholdvalueMapper;
import com.ruoyi.system.mapper.T_Alarm_DataMapper;
import com.ruoyi.system.mapper.T_W_TemperturedataMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import com.ruoyi.common.utils.StringUtils;
@ -19,6 +21,7 @@ import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.HashMap;
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;
/**
@ -29,6 +32,7 @@ import java.util.stream.Collectors;
@Component("ryTask")
public class RyTask {
private static final Logger log = LoggerFactory.getLogger(RyTask.class);
@Autowired
private TArraytemperaturedataMapper tArraytemperaturedataMapper;
@ -109,14 +113,14 @@ public class RyTask {
String nowTime = DateUtils.getTime();
String beginTime = LocalDateTime
.parse(nowTime, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))
.plusMinutes(-2) // 加一分钟
.plusMinutes(-30) // 加一分钟
.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
T_W_Temperturedata selectData = new T_W_Temperturedata();
HashMap<String, Object> selectMap = new HashMap<>();
selectMap.put("beginTime", beginTime);
selectMap.put("endTime", nowTime);
selectData.setParams(selectMap);
List<T_W_Temperturedata> dataList = tWTemperturedataMapper.selectT_W_illdataList(selectData);
List<T_W_Temperturedata> dataList = tWTemperturedataMapper.selectT_W_Max_dataList(selectData);
T_Alarm_Data alarmData = new T_Alarm_Data();
alarmData.setAlarmStatus(1); //0-已处理 1-未处理
@ -131,10 +135,13 @@ public class RyTask {
if (alarmList.contains(monitorId)){
continue;
}
for (TSetmonitorthresholdvalue value : thresholdlist) {
List<TSetmonitorthresholdvalue> collect = thresholdlist.stream().filter(e -> e.getMonitorId().equals(monitorId)).collect(Collectors.toList());
if (collect.size() > 0){
TSetmonitorthresholdvalue value = collect.get(0);
if (value.getMonitorId().equals(monitorId)){
BigDecimal temperatureMax = value.getTemperatureMax();
BigDecimal temperatureMin = value.getTemperatureMin();
System.out.println("temperatureAlarm:monitorId" + monitorId + "|temperatureMax" + temperatureMax + "|Tempreture" + data.getTempreture());
if (StringUtils.isNotNull(temperatureMax) && data.getTempreture().compareTo(temperatureMax) > 0){
T_Alarm_Data insertData = new T_Alarm_Data();
insertData.setMonitorId(data.getMonitorId());
@ -145,19 +152,17 @@ public class RyTask {
insertData.setAlarmData(data.getTempreture());
insertData.setCause(value.gettMaxIdea() != null ? value.gettMaxIdea() : "温度过高");
tAlarmDataMapper.insertT_Alarm_Data(insertData);
}
if (StringUtils.isNotNull(temperatureMin) && temperatureMin.compareTo(data.getTempreture()) > 0){
} else if (StringUtils.isNotNull(temperatureMin) && temperatureMin.compareTo(data.getTempreture()) > 0){
T_Alarm_Data insertData = new T_Alarm_Data();
insertData.setMonitorId(data.getMonitorId());
insertData.setCollectTime(DateUtils.getNowDate());
insertData.setAlarmType(0);//0-过高报警 1-过低报警
insertData.setAlarmType(1);//0-过高报警 1-过低报警
insertData.setMonitorType(16);
insertData.setAlarmStatus(1);
insertData.setAlarmData(data.getTempreture());
insertData.setCause(value.gettMinIdea() != null ? value.gettMinIdea() : "温度过底");
tAlarmDataMapper.insertT_Alarm_Data(insertData);
}
break;
}
}
}

@ -85,5 +85,6 @@ public interface T_W_TemperturedataMapper
public List<T_W_Temperturedata> selectT_W_illdataFirstList(T_W_Temperturedata t_W_Temperturedata);
public List<T_W_Temperturedata> selectT_W_illdataList(T_W_Temperturedata t_W_Temperturedata);
public List<T_W_Temperturedata> selectT_W_Max_dataList(T_W_Temperturedata t_W_Temperturedata);
public List<T_W_Temperturedata> selectill_max_min_avg(T_W_Temperturedata t_W_Temperturedata);
}

@ -124,6 +124,23 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</where>
</select>
<select id="selectT_W_Max_dataList" parameterType="T_W_Temperturedata" resultMap="T_W_TemperturedataResult">
select t1.objid,
t1.monitorId,
tw.collectTime,
tw.tempreture,
tw.recodeTime
from (select monitorId, max(objid) objid
from T_W_TempertureData
<where>
<if test="monitorId != null and monitorId != ''"> and t1.monitorId = #{monitorId}</if>
<if test="startTime != null and startTime != '' and endTime != null and endTime != ''"> and t1.collectTime between #{startTime} and #{endTime}</if>
</where>
group by monitorId) t1
left join T_W_TempertureData tw on tw.objid = t1.objid
left join T_Monitor t2 on t2.monitorId = t1.monitorId
</select>
<select id="select_max_min_avg" parameterType="T_W_Temperturedata" resultMap="T_W_TemperturedataResult">
select t1.monitorId,CONVERT(varchar(100),MAX (t1.collectTime),20) AS endTime,CONVERT(varchar(100),MIN (t1.collectTime),20) AS startTime,MAX (t1.tempreture) AS temmaxNumber,MIN (t1.tempreture) AS temminNumber,AVG(t1.tempreture) AS temavgNumber,
MAX (t1.humidity) AS hummaxNumber,MIN (t1.humidity) AS humminNumber,AVG(t1.humidity) AS humavgNumber,

Loading…
Cancel
Save