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

Loading…
Cancel
Save