添加水电双计设备历史数据保存逻辑,同步在线状态定时任务

This commit is contained in:
蒾酒
2025-01-02 13:34:34 +08:00
parent f8dc8d154f
commit 24344e870a
4 changed files with 80 additions and 8 deletions

View File

@ -123,6 +123,11 @@ public class DeviceOtherMsgConsumer {
//获取流量计累计用水量/瞬时流量
Float meterSum = data1.getFloat("meterSum");
Float meterIns = data1.getFloat("meterIns");
//获取瞬时功率/累计电量
Float insPower = data1.getFloat("insPower");
Float sumEle = data1.getFloat("sumEle");
//获取设备当前运行状态
Integer valveState = data1.getInt("valveState");
@ -158,6 +163,22 @@ public class DeviceOtherMsgConsumer {
}
//同步数据
up.update();
//保存历史数据
NgWaterPumpUsageRecords historyData = new NgWaterPumpUsageRecords();
//瞬时流量
historyData.setInsFlow(String.valueOf(meterIns));
//累计流量
historyData.setSumFlow(String.valueOf(meterSum));
//瞬时功率
historyData.setInsPower(String.valueOf(insPower));
//累计用电量
historyData.setSumEle(String.valueOf(sumEle));
//实时时间
historyData.setRealTime(DateUtils.getNowDate());
int i = ngWaterPumpUsageRecordsMapper.insertNgWaterPumpUsageRecords(historyData);
if(i<1){
log.error("保存灌溉控制器历史数据失败");
}
}
//收到关阀时定时报文
else if(JSONUtil.parseObj(data1).get("action").equals("safeMsg")){
@ -174,6 +195,9 @@ public class DeviceOtherMsgConsumer {
//获取流量计累计用水量/瞬时流量
Float meterSum = data1.getFloat("meterSum");
Float meterIns = data1.getFloat("meterIns");
//获取瞬时功率/累计电量
Float insPower = data1.getFloat("insPower");
Float sumEle = data1.getFloat("sumEle");
//获取设备当前运行状态
Integer valveState = data1.getInt("valveState");
@ -209,6 +233,22 @@ public class DeviceOtherMsgConsumer {
}
//同步数据
up.update();
//保存历史数据
NgWaterPumpUsageRecords historyData = new NgWaterPumpUsageRecords();
//瞬时流量
historyData.setInsFlow(String.valueOf(meterIns));
//累计流量
historyData.setSumFlow(String.valueOf(meterSum));
//瞬时功率
historyData.setInsPower(String.valueOf(insPower));
//累计用电量
historyData.setSumEle(String.valueOf(sumEle));
//实时时间
historyData.setRealTime(DateUtils.getNowDate());
int i = ngWaterPumpUsageRecordsMapper.insertNgWaterPumpUsageRecords(historyData);
if(i<1){
log.error("保存灌溉控制器历史数据失败");
}
}
//开阀门,关阀门
@ -377,13 +417,7 @@ public class DeviceOtherMsgConsumer {
}catch (Exception e){
}
}
deviceCmdAckHandler(new String(data));
updateDeviceOnlineStatus( productId,serialNumber);
// updateDeviceOnlineStatusDb(serialNumber);