|
@@ -48,10 +48,10 @@ public class DataServiceImpl implements DataService {
|
|
|
Integer unitId = deviceCode.getUnitId();
|
|
|
//小口径水表
|
|
|
if ("01".equals(devType) || "02".equals(devType)){
|
|
|
- saveShui(devType,voltage,originalData,timestamp,nodeEui,payload,farmId,unitId,deviceCode.getUnitName(),deviceCode.getRemark());
|
|
|
+ saveShui(devType,voltage,originalData,timestamp,nodeEui,payload,farmId,unitId,deviceCode.getUnitName(),deviceCode.getRemark(),deviceCode.getTransformer(),deviceCode.getDifference());
|
|
|
}
|
|
|
if ("03".equals(devType)){
|
|
|
- saveDian(devType,voltage,originalData,timestamp,nodeEui,payload,farmId,unitId,deviceCode.getUnitName(),deviceCode.getRemark());
|
|
|
+ saveDian(devType,voltage,originalData,timestamp,nodeEui,payload,farmId,unitId,deviceCode.getUnitName(),deviceCode.getRemark(),deviceCode.getTransformer(),deviceCode.getDifference());
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -60,7 +60,7 @@ public class DataServiceImpl implements DataService {
|
|
|
|
|
|
|
|
|
private void saveDian(String devType ,String voltage, Integer originalData, String timestamp, String nodeEui,String payload
|
|
|
- ,Integer farmId,Integer unitId,String unitName,String farmName) throws ParseException {
|
|
|
+ ,Integer farmId,Integer unitId,String unitName,String farmName,int transformer,int difference) throws ParseException {
|
|
|
EnergyElectricity one = energyElectricityService.getOne(new QueryWrapper<EnergyElectricity>().eq("chip_code", nodeEui).orderByDesc("id").last("limit 1"));
|
|
|
String lastData ="0";
|
|
|
if (ObjectUtil.isNotEmpty(one)){
|
|
@@ -76,32 +76,35 @@ public class DataServiceImpl implements DataService {
|
|
|
envWater.setUploadDate(new Date(Long.parseLong(timestamp)));
|
|
|
envWater.setFarmId(farmId);
|
|
|
envWater.setUnitId(unitId);
|
|
|
- envWater.setOriginalValue(originalData+"");
|
|
|
+ envWater.setOriginalValue((originalData-difference)+"");
|
|
|
envWater.setChipCode(nodeEui);
|
|
|
envWater.setOriginalDate(payload);
|
|
|
envWater.setOther1(unitName);
|
|
|
envWater.setOther2(farmName);
|
|
|
envWater.setDeviceType(Integer.parseInt(devType));
|
|
|
if(str <0 ){
|
|
|
- envWater.setElectricityValue( String.format("%.1f", (double)originalData/10.0));
|
|
|
+ envWater.setElectricityValue( String.format("%.1f", (double)originalData*transformer/10.0));
|
|
|
}else if (str == 0){
|
|
|
envWater.setElectricityValue("0");
|
|
|
}else {
|
|
|
- envWater.setElectricityValue( String.format("%.1f", (double)str/10.0));
|
|
|
+ envWater.setElectricityValue( String.format("%.1f", (double)str*transformer/10.0));
|
|
|
}
|
|
|
envWater.setVoltage(voltage);
|
|
|
energyElectricityService.save(envWater);
|
|
|
}
|
|
|
|
|
|
private void saveShui(String devType ,String voltage, Integer originalData, String timestamp, String nodeEui
|
|
|
- ,String payload,Integer farmId,Integer unitId,String unitName,String farmName) throws ParseException {
|
|
|
+ ,String payload,Integer farmId,Integer unitId,String unitName,String farmName,int transformer,int difference) throws ParseException {
|
|
|
EnergyWater one = energyWaterService.getOne(new QueryWrapper<EnergyWater>().eq("chip_code", nodeEui).orderByDesc("id").last("limit 1"));
|
|
|
String lastData ="0";
|
|
|
if (ObjectUtil.isNotEmpty(one)){
|
|
|
lastData = one.getOriginalValue();
|
|
|
}
|
|
|
//差值
|
|
|
- Integer str = (originalData - Integer.parseInt(lastData));
|
|
|
+ Integer str = (originalData - Integer.parseInt(lastData) -difference);
|
|
|
+ if (str <0){
|
|
|
+ str = (originalData - Integer.parseInt(lastData));
|
|
|
+ }
|
|
|
|
|
|
// 将时间戳字符串解析为Date对象
|
|
|
EnergyWater envWater = new EnergyWater();
|
|
@@ -110,18 +113,19 @@ public class DataServiceImpl implements DataService {
|
|
|
envWater.setDeviceType(Integer.parseInt(devType));
|
|
|
envWater.setUploadDate(new Date(Long.parseLong(timestamp)));
|
|
|
envWater.setFarmId(farmId);
|
|
|
- envWater.setOriginalValue(originalData+"");
|
|
|
+ envWater.setOriginalValue((originalData-difference)+"");
|
|
|
envWater.setChipCode(nodeEui);
|
|
|
envWater.setUnitId(unitId);
|
|
|
envWater.setOther1(unitName);
|
|
|
envWater.setOther2(farmName);
|
|
|
envWater.setOriginalDate(payload);
|
|
|
if(str <0 ){
|
|
|
- envWater.setWaterValue( String.format("%.1f", (double)originalData/10.0));
|
|
|
+ envWater.setWaterValue( String.format("%.1f", (double)originalData*transformer/10.0));
|
|
|
}else if (str == 0){
|
|
|
envWater.setWaterValue("0");
|
|
|
+
|
|
|
}else {
|
|
|
- envWater.setWaterValue( String.format("%.1f", (double)str/10.0));
|
|
|
+ envWater.setWaterValue( String.format("%.1f", (double)str*transformer/10.0));
|
|
|
}
|
|
|
|
|
|
envWater.setVoltage(voltage);
|