Commit e92d197f authored by lisong's avatar lisong

修改设备指标单位获取数据源

parent db9af26e
...@@ -609,7 +609,7 @@ public class MqttReceiveServiceImpl implements MqttReceiveService { ...@@ -609,7 +609,7 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
BigDecimal minValue = getBigDecimal(map.get("minValues")); BigDecimal minValue = getBigDecimal(map.get("minValues"));
BigDecimal maxValue = getBigDecimal(map.get("maxValues")); BigDecimal maxValue = getBigDecimal(map.get("maxValues"));
BigDecimal nowValue = getBigDecimal(iotDataVO.getValue()); BigDecimal nowValue = getBigDecimal(iotDataVO.getValue());
BigDecimal checkValue = checkUnit(iotDataVO.getKey().toLowerCase(), nowValue); BigDecimal checkValue = checkUnit(equipmentSpecificIndex.getEquipmentSpecificId(),iotDataVO.getKey().toLowerCase() , nowValue);
if (!ObjectUtils.isEmpty(checkValue)){ if (!ObjectUtils.isEmpty(checkValue)){
nowValue =checkValue; nowValue =checkValue;
} }
...@@ -682,7 +682,7 @@ public class MqttReceiveServiceImpl implements MqttReceiveService { ...@@ -682,7 +682,7 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
} }
nowValue = add.divide(new BigDecimal(i), 2, RoundingMode.HALF_UP); nowValue = add.divide(new BigDecimal(i), 2, RoundingMode.HALF_UP);
} }
BigDecimal checkValue = checkUnit(iotDataVO.getKey().toLowerCase(), nowValue); BigDecimal checkValue = checkUnit(equipmentSpecificIndex.getEquipmentSpecificId(),iotDataVO.getKey().toLowerCase() , nowValue);
if (!ObjectUtils.isEmpty(checkValue)){ if (!ObjectUtils.isEmpty(checkValue)){
nowValue =checkValue; nowValue =checkValue;
} }
...@@ -724,14 +724,16 @@ public class MqttReceiveServiceImpl implements MqttReceiveService { ...@@ -724,14 +724,16 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
return alarmFlag; return alarmFlag;
} }
private BigDecimal checkUnit(String indexKey, BigDecimal nowValue){ private BigDecimal checkUnit(Long equipmentSpecificId, String indexKey,BigDecimal nowValue){
LambdaQueryWrapper<EquipmentIndex> eq = new QueryWrapper<EquipmentIndex>().lambda().eq(EquipmentIndex::getPerfQuotaDefinitionId, indexKey); LambdaQueryWrapper<EquipmentSpecificIndex> lambda = new QueryWrapper<EquipmentSpecificIndex>().lambda();
EquipmentIndex one = equipmentIndexService.getOne(eq); lambda.eq(EquipmentSpecificIndex :: getEquipmentSpecificId, equipmentSpecificId);
if (!ObjectUtils.isEmpty(one) || !ObjectUtils.isEmpty(one.getUnit())){ lambda.eq(EquipmentSpecificIndex :: getEquipmentIndexKey, indexKey);
if (UnitEnum.MM.getKey().equalsIgnoreCase(one.getUnit()) || UnitEnum.MM.getName().equals(one.getUnit())){ EquipmentSpecificIndex equipmentSpecificIndex = equipmentSpecificIndexMapper.selectOne(lambda);
if (!ObjectUtils.isEmpty(equipmentSpecificIndex) || !ObjectUtils.isEmpty(equipmentSpecificIndex.getUnit())){
if (UnitEnum.MM.getKey().equalsIgnoreCase(equipmentSpecificIndex.getUnit()) || UnitEnum.MM.getName().equals(equipmentSpecificIndex.getUnit())){
BigDecimal divide = new BigDecimal(1000); BigDecimal divide = new BigDecimal(1000);
nowValue = nowValue.divide(divide,2,BigDecimal.ROUND_HALF_UP); nowValue = nowValue.divide(divide,2,BigDecimal.ROUND_HALF_UP);
}else if (UnitEnum.CM.getKey().equalsIgnoreCase(one.getUnit()) || UnitEnum.CM.getName().equals(one.getUnit())){ }else if (UnitEnum.CM.getKey().equalsIgnoreCase(equipmentSpecificIndex.getUnit()) || UnitEnum.CM.getName().equals(equipmentSpecificIndex.getUnit())){
BigDecimal divide = new BigDecimal(100); BigDecimal divide = new BigDecimal(100);
nowValue = nowValue.divide(divide,2,BigDecimal.ROUND_HALF_UP); nowValue = nowValue.divide(divide,2,BigDecimal.ROUND_HALF_UP);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment