| | |
| | | if(CollectionUtil.isNotEmpty(dataMap) && Objects.nonNull(dataMap.get("data"))){ |
| | | List<DeviceMqttVO> dataList = JSONArray.parseObject(dataMap.get("data").toString(), new TypeReference<List<DeviceMqttVO>>(){}.getType()); |
| | | //过滤出包含实际电阻值的对象 |
| | | // 处理 NSDQCS.DQCS.DZZ 数据 |
| | | String entrustCode = getValueByDataStream(dataList,DCResistanceMqttConstants.NSDQCS_DQCS_SN); |
| | | BigDecimal value = new BigDecimal(getValueByDataStream(dataList,DCResistanceMqttConstants.NSDQCS_DQCS_DZZ)); |
| | | BigDecimal zxdzzValue = new BigDecimal(getValueByDataStream(dataList,DCResistanceMqttConstants.NSDQCS_DQCS_ZXDZZ)); |
| | | BigDecimal fxdzzValue = new BigDecimal(getValueByDataStream(dataList,DCResistanceMqttConstants.NSDQCS_DQCS_FXDZZ)); |
| | | // BigDecimal testLength = new BigDecimal(getValueByDataStream(dataList,DCResistanceMqttConstants.NSDQCS_DQCS_CD)); |
| | | Double tempValue = new BigDecimal(getValueByDataStream(dataList,DCResistanceMqttConstants.NSDQCS_DQCS_WD)).setScale(2, RoundingMode.HALF_UP).doubleValue(); |
| | | //计算平均电阻值 |
| | | BigDecimal value = zxdzzValue.abs().add(fxdzzValue.abs()).divide(BigDecimal.valueOf(2L), RoundingMode.HALF_UP); |
| | | Long count = collectBridgeMapper.selectCount(Wrappers.<CollectBridge>lambdaQuery().eq(CollectBridge::getEntrustCode, entrustCode)); |
| | | if(count>0L){ |
| | | collectBridgeMapper.update(null,Wrappers.<CollectBridge>lambdaUpdate() |
| | | .set(CollectBridge::getCollectValue,value) |
| | | .set(CollectBridge::getCollectTemperature,tempValue) |
| | | .set(CollectBridge::getLastCollectDate,LocalDateTime.now()) |
| | | .eq(CollectBridge::getEntrustCode,entrustCode)); |
| | | }else{ |
| | | collectBridgeMapper.insert(new CollectBridge(entrustCode,value,LocalDateTime.now(),LocalDateTime.now())); |
| | | collectBridgeMapper.insert(new CollectBridge(entrustCode,value,tempValue,LocalDateTime.now(),LocalDateTime.now())); |
| | | } |
| | | } |
| | | } |