添加水电双计设备瞬时流量,实时流量数据同步

This commit is contained in:
蒾酒
2025-01-01 20:29:09 +08:00
parent 40cf501ddf
commit a26f00914d
3 changed files with 89 additions and 9 deletions

View File

@ -116,9 +116,22 @@ public class DeviceOtherMsgConsumer {
// if(i<1){
// System.err.println("--------------------------保存使用记录失败!---------------------------");
// }
//同步设备运行状态
LambdaUpdateChainWrapper<DeviceReportInfo> up = new LambdaUpdateChainWrapper<>(deviceReportInfoMapper)
.eq(DeviceReportInfo::getSerialNumber, serialNumber);
//获取流量计累计用水量/瞬时流量
Float meterSum = data1.getFloat("meterSum");
Float meterIns = data1.getFloat("meterIns");
//获取设备当前运行状态
Integer valveState = data1.getInt("valveState");
//获取地址值/类型
Integer flowModel = data1.getInt("meterType");
Integer addr = data1.getInt("meterAddr");
//获取水单价
Float waterFees = data1.getFloat("waterFees");
Integer runStatus = null;
if(valveState==0){
runStatus=2;
@ -126,23 +139,77 @@ public class DeviceOtherMsgConsumer {
runStatus=1;
}
if(runStatus!=null){
new LambdaUpdateChainWrapper<>(deviceReportInfoMapper).set(DeviceReportInfo::getRunStatus,runStatus).eq(DeviceReportInfo::getSerialNumber,serialNumber).update();
up.set(DeviceReportInfo::getRunStatus,runStatus);
}
//获取流量计累计用水量/瞬时流量
Float meterSum = data1.getFloat("meterSum");
Float meterIns = data1.getFloat("meterIns");
if(flowModel!=null){
up.set(DeviceReportInfo::getFlowModel,flowModel);
}
if(addr!=null){
up.set(DeviceReportInfo::getAddr,addr);
}
if(waterFees!=null){
up.set(DeviceReportInfo::getWaterFree,waterFees);
}
if(meterIns!=null){
up.set(DeviceReportInfo::getInsFlow,meterIns);
}
if(meterSum!=null){
up.set(DeviceReportInfo::getSumFlow,meterSum);
}
//同步数据
up.update();
}
//收到关阀时定时报文
else if(JSONUtil.parseObj(data1).get("action").equals("safeMsg")){
//续费在线状态
updateDeviceOnlineStatus( productId,serialNumber);
//保存数据
pumpUsageRecords.setMessageContent(JSONUtil.toJsonStr(jsonObject));
// int i = ngWaterPumpUsageRecordsMapper.insertNgWaterPumpUsageRecords(pumpUsageRecords);
// if(i<1){
// System.err.println("--------------------------保存使用记录失败!---------------------------");
// }
LambdaUpdateChainWrapper<DeviceReportInfo> up = new LambdaUpdateChainWrapper<>(deviceReportInfoMapper)
.eq(DeviceReportInfo::getSerialNumber, serialNumber);
//获取流量计累计用水量/瞬时流量
Float meterSum = data1.getFloat("meterSum");
Float meterIns = data1.getFloat("meterIns");
//获取设备当前运行状态
Integer valveState = data1.getInt("valveState");
//获取地址值/类型
Integer flowModel = data1.getInt("meterType");
Integer addr = data1.getInt("meterAddr");
//获取水单价
Float waterFees = data1.getFloat("waterFees");
Integer runStatus = null;
if(valveState==0){
runStatus=2;
} else if (valveState==1) {
runStatus=1;
}
if(runStatus!=null){
up.set(DeviceReportInfo::getRunStatus,runStatus);
}
if(flowModel!=null){
up.set(DeviceReportInfo::getFlowModel,flowModel);
}
if(addr!=null){
up.set(DeviceReportInfo::getAddr,addr);
}
if(waterFees!=null){
up.set(DeviceReportInfo::getWaterFree,waterFees);
}
if(meterIns!=null){
up.set(DeviceReportInfo::getInsFlow,meterIns);
}
if(meterSum!=null){
up.set(DeviceReportInfo::getSumFlow,meterSum);
}
//同步数据
up.update();
}
//开阀门,关阀门
else if(JSONUtil.parseObj(data1).get("action").equals("startPump")||JSONUtil.parseObj(data1).get("action").equals("stopPump")){