Przeglądaj źródła

统计数据bug修改

hxf 2 lat temu
rodzic
commit
eea2ebe8be

+ 1 - 1
neim-biz/src/main/java/com/jiayue/biz/job/AirDensityJob.java

@@ -59,7 +59,7 @@ public class AirDensityJob {
 
     @Scheduled(cron = "0 0 15 * * ?")
     public void AirDensityCalculation() {
-        List<WindTowerInfo> windTowerInfoList = windTowerInfoService.lambdaQuery().eq(WindTowerInfo::getEquipmentNo,"5302").list();
+        List<WindTowerInfo> windTowerInfoList = windTowerInfoService.list();
         // 统计概述信息
         List<StatisticsSituation> statisticsSituations = statisticsSituationService.list();
         // 设备属性信息

+ 5 - 5
neim-biz/src/main/java/com/jiayue/biz/util/CalculationUtil.java

@@ -358,7 +358,7 @@ public class CalculationUtil {
         BigDecimal total = BigDecimal.ZERO;
 
         for (String maxHeight : heights) {
-            if(maxHeight.contains( "A")){
+            if (maxHeight.contains("A")) {
                 continue;
             }
             List<BigDecimal> maxHeightForWsList = prophaseAnemometryData.stream().filter(p -> p.getLayerHeight().equals(maxHeight)).map(p -> {
@@ -369,7 +369,7 @@ public class CalculationUtil {
             List<String> heightList = new ArrayList<>(Arrays.asList(heights)).stream().filter(s -> Integer.valueOf(CalculationUtil.getNumberFromString(maxHeight)) > Integer.valueOf(CalculationUtil.getNumberFromString(s))).collect(Collectors.toList());
             //计算风切变
             for (String minHeight : heightList) {
-                if(minHeight.contains( "A")){
+                if (minHeight.contains("A")) {
                     continue;
                 }
                 List<BigDecimal> minHeightForWsList = prophaseAnemometryData.stream().filter(p -> p.getLayerHeight().equals(minHeight)).map(p -> {
@@ -377,11 +377,11 @@ public class CalculationUtil {
                 }).collect(Collectors.toList());
                 //计算平均风速
                 BigDecimal wsAveMin = getAvgWind(minHeightForWsList);
-                double z = new BigDecimal(getNumberFromString(maxHeight)).divide(new BigDecimal(getNumberFromString(minHeight)),8,RoundingMode.HALF_UP).doubleValue();
+                double z = new BigDecimal(getNumberFromString(maxHeight)).divide(new BigDecimal(getNumberFromString(minHeight)), 8, RoundingMode.HALF_UP).doubleValue();
                 //计算log 层高
                 double z1 = Math.log10(z);
-                if(wsAveMin.compareTo(BigDecimal.ZERO) > 0){
-                    BigDecimal shear = Convert.toBigDecimal(Math.log10(Convert.toDouble(wsAveForMax.divide(wsAveMin,8,RoundingMode.HALF_UP))))
+                if (wsAveForMax.compareTo(BigDecimal.ZERO) > 0 && wsAveMin.compareTo(BigDecimal.ZERO) > 0 && z1 != 0) {
+                    BigDecimal shear = Convert.toBigDecimal(Math.log10(Convert.toDouble(wsAveForMax.divide(wsAveMin, 8, RoundingMode.HALF_UP))))
                             .divide(BigDecimal.valueOf(z1), 8, RoundingMode.HALF_UP);
                     sumWShear = sumWShear.add(shear);
                     total = total.add(BigDecimal.ONE);