|
@@ -11,6 +11,7 @@ import com.huimv.env.common.service.IEnergyElectricityService;
|
|
|
import com.huimv.env.common.service.IEnergyEnvDeviceService;
|
|
|
import com.huimv.env.common.service.IEnergyWaterService;
|
|
|
import com.huimv.env.device.service.DataService;
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
import org.checkerframework.checker.units.qual.A;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
@@ -43,6 +44,7 @@ public class DataServiceImpl implements DataService {
|
|
|
String voltage = String.format("%.1f", (double)Integer.parseInt(payload.substring(8, 10),16)/10.0);
|
|
|
// 数值
|
|
|
Integer originalData = Integer.parseInt(payload.substring(10),16);
|
|
|
+ System.out.println(originalData +" = originalData");
|
|
|
EnergyEnvDevice deviceCode = energyEnvDeviceService.getOne(new QueryWrapper<EnergyEnvDevice>().eq("device_code", nodeEui));
|
|
|
if (ObjectUtil.isNotEmpty(deviceCode)){
|
|
|
Integer farmId = deviceCode.getFarmId();
|
|
@@ -67,6 +69,9 @@ public class DataServiceImpl implements DataService {
|
|
|
if (ObjectUtil.isNotEmpty(one)){
|
|
|
lastData = one.get(0).getOriginalValue();
|
|
|
}
|
|
|
+ if (originalData == null){
|
|
|
+ originalData = 0;
|
|
|
+ }
|
|
|
//差值
|
|
|
Integer str = (originalData - Integer.parseInt(lastData));
|
|
|
|
|
@@ -84,7 +89,12 @@ public class DataServiceImpl implements DataService {
|
|
|
envWater.setOther2(farmName);
|
|
|
|
|
|
envWater.setDeviceType(Integer.parseInt(devType));
|
|
|
- BigDecimal bigDecimal = new BigDecimal(one.get(0).getOther3());
|
|
|
+ String other3 = one.get(0).getOther3();
|
|
|
+
|
|
|
+ if (StringUtils.isBlank(other3)){
|
|
|
+ other3 = (originalData-difference)+"";
|
|
|
+ }
|
|
|
+ BigDecimal bigDecimal = new BigDecimal(other3);
|
|
|
if(str <0 ){
|
|
|
envWater.setElectricityValue( String.format("%.1f", (double)originalData*transformer/10.0));
|
|
|
BigDecimal bigDecimal1 = new BigDecimal(String.format("%.1f", (double) originalData * transformer / 10.0));
|