|
@@ -492,99 +492,87 @@ public class WindTowerDataParentTableServiceImpl extends ServiceImpl<WindTowerDa
|
|
|
|
|
|
//通道数据保存
|
|
|
public void saveDataForTunnel(HashMap<String, BigDecimal> dataMap, HashSet<Integer> heightSet, String equipmentNo, String time) {
|
|
|
- WindTowerDataParentTable windTowerDataParentTable = new WindTowerDataParentTable();
|
|
|
- List<WindTowerInfo> windTowerInfos = windTowerInfoService.lambdaQuery().eq(WindTowerInfo::getType, "2").eq(WindTowerInfo::getEquipmentNo, "3002").list();
|
|
|
- String id = String.valueOf(UUID.randomUUID());
|
|
|
- List<EquipmentAttribute> equipmentAttributes = equipmentAttributeService.lambdaQuery().eq(EquipmentAttribute::getAttributeFunction, "height").list();
|
|
|
- List<WindTowerDataChildTable> windTowerDataChildTableList = new ArrayList<>();
|
|
|
+
|
|
|
+// List<WindTowerInfo> windTowerInfos = windTowerInfoService.lambdaQuery().eq(WindTowerInfo::getType, "2").eq(WindTowerInfo::getEquipmentNo, "3002").list();
|
|
|
+// List<EquipmentAttribute> equipmentAttributes = equipmentAttributeService.lambdaQuery().eq(EquipmentAttribute::getAttributeFunction, "height").list();
|
|
|
for (Integer height : heightSet) {
|
|
|
- List<EquipmentAttribute> eqHeight = equipmentAttributes.stream().filter(e -> e.getFieldName().equals(height.toString())).collect(Collectors.toList());
|
|
|
- WindTowerDataChildTable windTowerDataChildTable = new WindTowerDataChildTable();
|
|
|
- windTowerDataChildTable.setParentId(id);
|
|
|
- windTowerDataChildTable.setLayerHeight(eqHeight.get(0).getId());
|
|
|
- windTowerDataChildTable.setWsAve(CalculationUtil.getBigDecimal(dataMap.get("wsAve" + height) == null ? null : dataMap.get("wsAve" + height).toString()));
|
|
|
- windTowerDataChildTable.setWsMin(CalculationUtil.getBigDecimal(dataMap.get("wsMin" + height) == null ? null : dataMap.get("wsMin" + height).toString()));
|
|
|
- windTowerDataChildTable.setWsMax(CalculationUtil.getBigDecimal(dataMap.get("wsMax" + height) == null ? null : dataMap.get("wsMax" + height).toString()));
|
|
|
- windTowerDataChildTable.setWsSta(CalculationUtil.getBigDecimal(dataMap.get("wsSta" + height) == null ? null : dataMap.get("wsSta" + height).toString()));
|
|
|
- windTowerDataChildTable.setWsInst(CalculationUtil.getBigDecimal(dataMap.get("wsInst" + height) == null ? null : dataMap.get("wsInst" + height).toString()));
|
|
|
- windTowerDataChildTable.setWsGust(CalculationUtil.getBigDecimal(dataMap.get("wsGust" + height) == null ? null : dataMap.get("wsGust" + height).toString()));
|
|
|
- windTowerDataChildTable.setWsGreat(CalculationUtil.getBigDecimal(dataMap.get("wsGreat" + height) == null ? null : dataMap.get("wsGreat" + height).toString()));
|
|
|
- windTowerDataChildTable.setWdAve(CalculationUtil.getBigDecimal(dataMap.get("wdAve" + height) == null ? null : dataMap.get("wdAve" + height).toString()));
|
|
|
- windTowerDataChildTable.setWdMax(CalculationUtil.getBigDecimal(dataMap.get("wdMax" + height) == null ? null : dataMap.get("wdMax" + height).toString()));
|
|
|
- windTowerDataChildTable.setWdMin(CalculationUtil.getBigDecimal(dataMap.get("wdMin" + height) == null ? null : dataMap.get("wdMin" + height).toString()));
|
|
|
- windTowerDataChildTable.setWdSta(CalculationUtil.getBigDecimal(dataMap.get("wdSta" + height) == null ? null : dataMap.get("wdSta" + height).toString()));
|
|
|
- windTowerDataChildTable.setWdInst(CalculationUtil.getBigDecimal(dataMap.get("wdInst" + height) == null ? null : dataMap.get("wdInst" + height).toString()));
|
|
|
- windTowerDataChildTable.setWdOnWs(CalculationUtil.getBigDecimal(dataMap.get("wdOnWs" + height) == null ? null : dataMap.get("wdOnWs" + height).toString()));
|
|
|
- windTowerDataChildTable.setWdNow(CalculationUtil.getBigDecimal(dataMap.get("wdNow" + height) == null ? null : dataMap.get("wdNow" + height).toString()));
|
|
|
- windTowerDataChildTableList.add(windTowerDataChildTable);
|
|
|
+// List<EquipmentAttribute> eqHeight = equipmentAttributes.stream().filter(e -> e.getFieldName().equals(height.toString())).collect(Collectors.toList());
|
|
|
+ ProphaseAnemometryData prophaseAnemometryData = new ProphaseAnemometryData();
|
|
|
+
|
|
|
+ prophaseAnemometryData.setLayerHeight(height.toString());
|
|
|
+
|
|
|
+ prophaseAnemometryData.setWsAve(CalculationUtil.getBigDecimal(dataMap.get("wsAve" + height) == null ? null : dataMap.get("wsAve" + height).toString()).floatValue());
|
|
|
+ prophaseAnemometryData.setWsMin(CalculationUtil.getBigDecimal(dataMap.get("wsMin" + height) == null ? null : dataMap.get("wsMin" + height).toString()).floatValue());
|
|
|
+ prophaseAnemometryData.setWsMax(CalculationUtil.getBigDecimal(dataMap.get("wsMax" + height) == null ? null : dataMap.get("wsMax" + height).toString()).floatValue());
|
|
|
+ prophaseAnemometryData.setWsSta(CalculationUtil.getBigDecimal(dataMap.get("wsSta" + height) == null ? null : dataMap.get("wsSta" + height).toString()).floatValue());
|
|
|
+ prophaseAnemometryData.setWsInst(CalculationUtil.getBigDecimal(dataMap.get("wsInst" + height) == null ? null : dataMap.get("wsInst" + height).toString()).floatValue());
|
|
|
+ prophaseAnemometryData.setWsGust(CalculationUtil.getBigDecimal(dataMap.get("wsGust" + height) == null ? null : dataMap.get("wsGust" + height).toString()).floatValue());
|
|
|
+ prophaseAnemometryData.setWdAve(CalculationUtil.getBigDecimal(dataMap.get("wdAve" + height) == null ? null : dataMap.get("wdAve" + height).toString()).floatValue());
|
|
|
+ prophaseAnemometryData.setWdMax(CalculationUtil.getBigDecimal(dataMap.get("wdMax" + height) == null ? null : dataMap.get("wdMax" + height).toString()).floatValue());
|
|
|
+ prophaseAnemometryData.setWdMin(CalculationUtil.getBigDecimal(dataMap.get("wdMin" + height) == null ? null : dataMap.get("wdMin" + height).toString()).floatValue());
|
|
|
+ prophaseAnemometryData.setWdSta(CalculationUtil.getBigDecimal(dataMap.get("wdSta" + height) == null ? null : dataMap.get("wdSta" + height).toString()).floatValue());
|
|
|
+ prophaseAnemometryData.setWdInst(CalculationUtil.getBigDecimal(dataMap.get("wdInst" + height) == null ? null : dataMap.get("wdInst" + height).toString()).floatValue());
|
|
|
+ prophaseAnemometryData.setEquipmentId(equipmentNo);
|
|
|
+
|
|
|
+ prophaseAnemometryDataOrgService.insertOneWithNew(prophaseAnemometryData);
|
|
|
+ prophaseAnemometryDataService.insertOneWithNew(prophaseAnemometryData);
|
|
|
}
|
|
|
|
|
|
- windTowerDataParentTable.setEquipmentId(windTowerInfos.get(0).getEquipmentNo());
|
|
|
- windTowerDataParentTable.setId(id);
|
|
|
+ ProphaseWeatherData prophaseWeatherData = new ProphaseWeatherData();
|
|
|
+
|
|
|
+
|
|
|
+ prophaseWeatherData.setEquipmentId(equipmentNo);
|
|
|
//设置时间
|
|
|
- windTowerDataParentTable.setTime(DateUtil.parseDate(time));
|
|
|
+ prophaseWeatherData.setTs(new Timestamp(DateUtil.parseDate(time).getTime()));
|
|
|
if (dataMap.get("paMax") != null)
|
|
|
//kpa转hpa
|
|
|
if (BigDecimal.valueOf(Double.parseDouble(dataMap.get("paMax").toString())).compareTo(new BigDecimal(200)) < 0)
|
|
|
- windTowerDataParentTable.setPaMax(CalculationUtil.getBigDecimal(dataMap.get("paMax").toString()).multiply(new BigDecimal(10)).setScale(4, RoundingMode.HALF_UP));
|
|
|
+ prophaseWeatherData.setPaMax(CalculationUtil.getBigDecimal(dataMap.get("paMax").toString()).multiply(new BigDecimal(10)).setScale(4, RoundingMode.HALF_UP).floatValue());
|
|
|
else
|
|
|
- windTowerDataParentTable.setPaMax(CalculationUtil.getBigDecimal(dataMap.get("paMax").toString()));
|
|
|
+ prophaseWeatherData.setPaMax(CalculationUtil.getBigDecimal(dataMap.get("paMax").toString()).floatValue());
|
|
|
if (dataMap.get("paMin") != null)
|
|
|
//kpa转hpa
|
|
|
if (BigDecimal.valueOf(Double.parseDouble(dataMap.get("paMin").toString())).compareTo(new BigDecimal(200)) < 0)
|
|
|
- windTowerDataParentTable.setPaMin(CalculationUtil.getBigDecimal(dataMap.get("paMin").toString()).multiply(new BigDecimal(10)).setScale(4, RoundingMode.HALF_UP));
|
|
|
+ prophaseWeatherData.setPaMin(CalculationUtil.getBigDecimal(dataMap.get("paMin").toString()).multiply(new BigDecimal(10)).setScale(4, RoundingMode.HALF_UP).floatValue());
|
|
|
else
|
|
|
- windTowerDataParentTable.setPaMin(CalculationUtil.getBigDecimal(dataMap.get("paMin").toString()));
|
|
|
+ prophaseWeatherData.setPaMin(CalculationUtil.getBigDecimal(dataMap.get("paMin").toString()).floatValue());
|
|
|
if (dataMap.get("paInst") != null)
|
|
|
//kpa转hpa
|
|
|
if (BigDecimal.valueOf(Double.parseDouble(dataMap.get("paInst").toString())).compareTo(new BigDecimal(200)) < 0)
|
|
|
- windTowerDataParentTable.setPaMin(CalculationUtil.getBigDecimal(dataMap.get("paInst").toString()).multiply(new BigDecimal(10)).setScale(4, RoundingMode.HALF_UP));
|
|
|
+ prophaseWeatherData.setPaMin(CalculationUtil.getBigDecimal(dataMap.get("paInst").toString()).multiply(new BigDecimal(10)).setScale(4, RoundingMode.HALF_UP).floatValue());
|
|
|
else
|
|
|
- windTowerDataParentTable.setPaMin(CalculationUtil.getBigDecimal(dataMap.get("paInst").toString()));
|
|
|
+ prophaseWeatherData.setPaMin(CalculationUtil.getBigDecimal(dataMap.get("paInst").toString()).floatValue());
|
|
|
if (dataMap.get("paAve") != null)
|
|
|
//kpa转hpa
|
|
|
if (BigDecimal.valueOf(Double.parseDouble(dataMap.get("paAve").toString())).compareTo(new BigDecimal(200)) < 0)
|
|
|
- windTowerDataParentTable.setPaAve(CalculationUtil.getBigDecimal(dataMap.get("paAve").toString()).multiply(new BigDecimal(10)).setScale(4, RoundingMode.HALF_UP));
|
|
|
+ prophaseWeatherData.setPaAve(CalculationUtil.getBigDecimal(dataMap.get("paAve").toString()).multiply(new BigDecimal(10)).setScale(4, RoundingMode.HALF_UP).floatValue());
|
|
|
else
|
|
|
- windTowerDataParentTable.setPaAve(CalculationUtil.getBigDecimal(dataMap.get("paAve").toString()));
|
|
|
- windTowerDataParentTable.setPaSta(CalculationUtil.getBigDecimal(dataMap.get("paSta") == null ? null : dataMap.get("paSta").toString()));
|
|
|
- windTowerDataParentTable.setPaNow(CalculationUtil.getBigDecimal(dataMap.get("paNow") == null ? null : dataMap.get("paNow").toString()));
|
|
|
-
|
|
|
- windTowerDataParentTable.setTMax(CalculationUtil.getBigDecimal(dataMap.get("tMax") == null ? null : dataMap.get("tMax").toString()));
|
|
|
- windTowerDataParentTable.setTMin(CalculationUtil.getBigDecimal(dataMap.get("tMin") == null ? null : dataMap.get("tMin").toString()));
|
|
|
- windTowerDataParentTable.setTAve(CalculationUtil.getBigDecimal(dataMap.get("tAve") == null ? null : dataMap.get("tAve").toString()));
|
|
|
- windTowerDataParentTable.setTSta(CalculationUtil.getBigDecimal(dataMap.get("tSta") == null ? null : dataMap.get("tSta").toString()));
|
|
|
- windTowerDataParentTable.setTInst(CalculationUtil.getBigDecimal(dataMap.get("tInst") == null ? null : dataMap.get("tInst").toString()));
|
|
|
- windTowerDataParentTable.setTNow(CalculationUtil.getBigDecimal(dataMap.get("tNow") == null ? null : dataMap.get("tNow").toString()));
|
|
|
-
|
|
|
- windTowerDataParentTable.setRhMax(CalculationUtil.getBigDecimal(dataMap.get("rhMax") == null ? null : dataMap.get("rhMax").toString()));
|
|
|
- windTowerDataParentTable.setRhMin(CalculationUtil.getBigDecimal(dataMap.get("rhMin") == null ? null : dataMap.get("rhMin").toString()));
|
|
|
- windTowerDataParentTable.setRhAve(CalculationUtil.getBigDecimal(dataMap.get("rhAve") == null ? null : dataMap.get("rhAve").toString()));
|
|
|
- windTowerDataParentTable.setRhSta(CalculationUtil.getBigDecimal(dataMap.get("rhSta") == null ? null : dataMap.get("rhSta").toString()));
|
|
|
- windTowerDataParentTable.setRhInst(CalculationUtil.getBigDecimal(dataMap.get("rhInst") == null ? null : dataMap.get("rhInst").toString()));
|
|
|
- windTowerDataParentTable.setRhNow(CalculationUtil.getBigDecimal(dataMap.get("rhNow") == null ? null : dataMap.get("rhNow").toString()));
|
|
|
-
|
|
|
- windTowerDataParentTable.setVMax(CalculationUtil.getBigDecimal(dataMap.get("vMax") == null ? null : dataMap.get("vMax").toString()));
|
|
|
- windTowerDataParentTable.setVMin(CalculationUtil.getBigDecimal(dataMap.get("vMin") == null ? null : dataMap.get("vMin").toString()));
|
|
|
- windTowerDataParentTable.setVAve(CalculationUtil.getBigDecimal(dataMap.get("vAve") == null ? null : dataMap.get("vAve").toString()));
|
|
|
- windTowerDataParentTable.setVSta(CalculationUtil.getBigDecimal(dataMap.get("vSta") == null ? null : dataMap.get("vSta").toString()));
|
|
|
- windTowerDataParentTable.setVInst(CalculationUtil.getBigDecimal(dataMap.get("vInst") == null ? null : dataMap.get("vInst").toString()));
|
|
|
- windTowerDataParentTable.setVNow(CalculationUtil.getBigDecimal(dataMap.get("vNow") == null ? null : dataMap.get("vNow").toString()));
|
|
|
+ prophaseWeatherData.setPaAve(CalculationUtil.getBigDecimal(dataMap.get("paAve").toString()).floatValue());
|
|
|
+ prophaseWeatherData.setPaSta(CalculationUtil.getBigDecimal(dataMap.get("paSta") == null ? null : dataMap.get("paSta").toString()).floatValue());
|
|
|
+
|
|
|
+ prophaseWeatherData.setTMax(CalculationUtil.getBigDecimal(dataMap.get("tMax") == null ? null : dataMap.get("tMax").toString()).floatValue());
|
|
|
+ prophaseWeatherData.setTMin(CalculationUtil.getBigDecimal(dataMap.get("tMin") == null ? null : dataMap.get("tMin").toString()).floatValue());
|
|
|
+ prophaseWeatherData.setTAve(CalculationUtil.getBigDecimal(dataMap.get("tAve") == null ? null : dataMap.get("tAve").toString()).floatValue());
|
|
|
+ prophaseWeatherData.setTSta(CalculationUtil.getBigDecimal(dataMap.get("tSta") == null ? null : dataMap.get("tSta").toString()).floatValue());
|
|
|
+ prophaseWeatherData.setTInst(CalculationUtil.getBigDecimal(dataMap.get("tInst") == null ? null : dataMap.get("tInst").toString()).floatValue());
|
|
|
+
|
|
|
+ prophaseWeatherData.setRhMax(CalculationUtil.getBigDecimal(dataMap.get("rhMax") == null ? null : dataMap.get("rhMax").toString()).floatValue());
|
|
|
+ prophaseWeatherData.setRhMin(CalculationUtil.getBigDecimal(dataMap.get("rhMin") == null ? null : dataMap.get("rhMin").toString()).floatValue());
|
|
|
+ prophaseWeatherData.setRhAve(CalculationUtil.getBigDecimal(dataMap.get("rhAve") == null ? null : dataMap.get("rhAve").toString()).floatValue());
|
|
|
+ prophaseWeatherData.setRhSta(CalculationUtil.getBigDecimal(dataMap.get("rhSta") == null ? null : dataMap.get("rhSta").toString()).floatValue());
|
|
|
+ prophaseWeatherData.setRhInst(CalculationUtil.getBigDecimal(dataMap.get("rhInst") == null ? null : dataMap.get("rhInst").toString()).floatValue());
|
|
|
+
|
|
|
|
|
|
//计算空气密度
|
|
|
if (dataMap.get("TAve") != null && dataMap.get("paAve") != null) {
|
|
|
BigDecimal airDensity = BigDecimal.valueOf(1.293).multiply(new BigDecimal(273).divide(new BigDecimal(273).add(dataMap.get("TAve")), 2, RoundingMode.HALF_UP)).multiply(dataMap.get("paAve")).divide(new BigDecimal(1013), 2, RoundingMode.HALF_UP);
|
|
|
- windTowerDataParentTable.setAirDensity(airDensity);
|
|
|
+ prophaseWeatherData.setAirDensity(airDensity.floatValue());
|
|
|
}
|
|
|
- ArrayList<WindTowerDataParentTable> windTowerDataParentTableList = new ArrayList<>();
|
|
|
- windTowerDataParentTableList.add(windTowerDataParentTable);
|
|
|
- // TODO 目前没有异常数据校验
|
|
|
-// windTowerDataParentTable.setAbnormalData(dataMap.get("abnormalData") == null ? null : dataMap.get("abnormalData").toString());
|
|
|
-// windTowerDataParentTable.setAbnormalType(dataMap.get("abnormalType") == null ? null : dataMap.get("abnormalType").toString());
|
|
|
-// windTowerDataParentTableList.add(windTowerDataParentTable);
|
|
|
+
|
|
|
+ prophaseWeatherDataService.insertOne(prophaseWeatherData);
|
|
|
+ prophaseWeatherDataOrgService.insertOne(prophaseWeatherData);
|
|
|
|
|
|
|
|
|
- this.saveBatchById(windTowerDataParentTableList, windTowerDataChildTableList, "station_" + equipmentNo);
|
|
|
}
|
|
|
|
|
|
|