Forráskód Böngészése

数据质量图表数据错误;catch中的异常统一处理为抛出;报警处理完成次数=处理完成+已忽略

lixing 3 éve
szülő
commit
b8af45491a

+ 3 - 6
src/main/java/com/persagy/apm/report/common/utils/DataUtils.java

@@ -89,8 +89,7 @@ public class DataUtils {
                             try {
                                 return declaredField.get(obj) != null;
                             } catch (IllegalAccessException e) {
-                                e.printStackTrace();
-                                return false;
+                                throw new RuntimeException(e);
                             }
                         }).collect(Collectors.toList());
                 if (CollectionUtils.isEmpty(notNullList)) {
@@ -101,8 +100,7 @@ public class DataUtils {
                                 try {
                                     return new BigDecimal(declaredField.get(obj).toString());
                                 } catch (IllegalAccessException e) {
-                                    e.printStackTrace();
-                                    return new BigDecimal("0");
+                                    throw new RuntimeException(e);
                                 }
                             }).reduce(BigDecimal::add).
                             map(BigDecimal::doubleValue).orElse(0d));
@@ -111,8 +109,7 @@ public class DataUtils {
             }
             return result;
         } catch (Exception e) {
-            e.printStackTrace();
-            return null;
+            throw new RuntimeException(e);
         }
     }
 

+ 2 - 2
src/main/java/com/persagy/apm/report/dependencies/centermiddleware/service/impl/ICenterMiddlewareWebServiceImp.java

@@ -45,7 +45,7 @@ public class ICenterMiddlewareWebServiceImp implements ICenterMiddlewareWebServi
                 resultMap.put(energyDataInfoVO.getItemId(), dateDataMap);
             }
         } catch (Exception e) {
-            log.error("数据平台获取能耗数据失败:" + e);
+            throw new RuntimeException("数据平台获取能耗数据失败", e);
         }
         return resultMap;
     }
@@ -74,7 +74,7 @@ public class ICenterMiddlewareWebServiceImp implements ICenterMiddlewareWebServi
                 }
             }
         } catch (Exception e) {
-            log.error("查询中台对象信息时异常:", e);
+            throw new RuntimeException("查询中台对象信息时异常", e);
         }
         log.info("查询对象信息列表结束");
         return resultList;

+ 2 - 1
src/main/java/com/persagy/apm/report/dependencies/dmpalarm/enums/EnumAlarmTreatState.java

@@ -17,7 +17,8 @@ public enum EnumAlarmTreatState {
      */
     UN_HANDLE(1, "未处理"),
     HANDLING(2, "处理中"),
-    DONE(3, "处理完成");
+    DONE(3, "处理完成"),
+    IGNORE(4, "处理完成");
 
     @Setter
     @Getter

+ 1 - 1
src/main/java/com/persagy/apm/report/dependencies/iotdataanalysis/service/impl/IDataAnalysisWebServiceImpl.java

@@ -51,7 +51,7 @@ public class IDataAnalysisWebServiceImpl implements IDataAnalysisWebService {
                 }
             }
         } catch (Exception e) {
-            log.error("获取数据质量服务变损数据异常", e);
+            throw new RuntimeException("获取数据质量服务变损数据异常", e);
         }
         return null;
     }

+ 1 - 2
src/main/java/com/persagy/apm/report/dependencies/manualfilling/service/impl/IEnergyItemDataServiceImpl.java

@@ -101,7 +101,7 @@ public class IEnergyItemDataServiceImpl implements IEnergyItemDataService {
             }
             return resultList;
         } catch (Exception e) {
-            log.error("查询分项数据异常", e);
+            throw new RuntimeException("查询分项数据异常", e);
         }
         return Lists.newArrayList();
     }
@@ -136,7 +136,6 @@ public class IEnergyItemDataServiceImpl implements IEnergyItemDataService {
                 manualFillingDataService.batchSave(manualFillingDataList);
             }
         } catch (Exception e) {
-            log.error("保存分项录入数据异常", e);
             throw new IllegalArgumentException("保存分项录入数据异常", e);
         }
     }

+ 2 - 3
src/main/java/com/persagy/apm/report/dependencies/saasweb/service/impl/SaasWebServiceImpl.java

@@ -922,7 +922,7 @@ public class SaasWebServiceImpl implements ISaasWebService {
                     result.add(projectId);
                 }
             } catch (Exception e) {
-                log.error("时间转换异常", e);
+                throw new RuntimeException("时间转换异常", e);
             }
         }
         return result;
@@ -940,8 +940,7 @@ public class SaasWebServiceImpl implements ISaasWebService {
             try {
                 return isComparable(reportMonth, businessOpeningTime);
             } catch (Exception e) {
-                log.error("时间转换异常", e);
-                return false;
+                throw new RuntimeException("时间转换异常", e);
             }
         }).collect(Collectors.toList());
         ReportAreaVO reportAreaAreaInfo = getReportAreaAreaInfo(comparableProjects);

+ 3 - 3
src/main/java/com/persagy/apm/report/indicator/factory/EnergyEfficiencyFactory.java

@@ -56,7 +56,7 @@ public class EnergyEfficiencyFactory {
         String monthlyEnergyEfficiency = energyEfficiencyService.getMonthlyEnergyEfficiency(
                 energyEfficiencyDefine.getTargetCode(), projectId, reportMonth);
         return new AttrValueVO(ProjectEnergyEfficiencyContentCodes.currentMonth.name(),
-                monthlyEnergyEfficiency, AttrValueTypeEnum.number);
+                monthlyEnergyEfficiency, AttrValueTypeEnum.number_2);
     }
 
     /**
@@ -242,7 +242,7 @@ public class EnergyEfficiencyFactory {
         }
         // 将能效值降序排序
         List<Double> efficiencyList = Lists.newArrayList(efficiencyDateListMap.keySet());
-        Collections.reverse(efficiencyList);
+        efficiencyList = efficiencyList.stream().sorted(Comparator.reverseOrder()).collect(Collectors.toList());
 
         Double maxValue = efficiencyList.get(0);
         List<String> maxDays = efficiencyDateListMap.get(maxValue);
@@ -269,7 +269,7 @@ public class EnergyEfficiencyFactory {
         }
         // 将能效值升序排序
         List<Double> efficiencyList = Lists.newArrayList(efficiencyDateListMap.keySet());
-        Collections.sort(efficiencyList);
+        efficiencyList = efficiencyList.stream().sorted().collect(Collectors.toList());
 
         Double minValue = efficiencyList.get(0);
         List<String> minDays = efficiencyDateListMap.get(minValue);

+ 3 - 1
src/main/java/com/persagy/apm/report/indicator/factory/EnvFactory.java

@@ -170,7 +170,9 @@ public class EnvFactory {
         String handledAlarmCount = null;
         if (!CollectionUtils.isEmpty(relAlarmRecords)) {
             long count = relAlarmRecords.stream().filter(
-                    alarmRecord -> EnumAlarmTreatState.DONE.getType().equals(alarmRecord.getTreatState())).count();
+                    alarmRecord -> EnumAlarmTreatState.DONE.getType().equals(alarmRecord.getTreatState()) ||
+                            EnumAlarmTreatState.IGNORE.getType().equals(alarmRecord.getTreatState())
+                    ).count();
             handledAlarmCount = String.valueOf(count);
         }
         return new AttrValueVO(ProjectEnvContentCodes.handledAlarmCount.name(),

+ 1 - 1
src/main/java/com/persagy/apm/report/indicator/factory/IotFactory.java

@@ -66,7 +66,7 @@ public class IotFactory {
     public AttrValueVO getCurrentMonth(IotDefine iotDefine, String projectId, Date date) {
         Double currentMonthValue = getCurrentMonthValue(iotDefine, projectId, date);
         if (currentMonthValue != null) {
-            // 达标率返回值百分比的分子,这里除以100,返回原始数据
+            // 达标率返回值为百分比数值(返回值是1000其实是1000%),这里除以100,返回原始数据
             currentMonthValue = DataUtils.doubleDivide(currentMonthValue, 100d);
         }
         String currentMonthStr = currentMonthValue == null ? null : String.valueOf(currentMonthValue);

+ 1 - 1
src/main/java/com/persagy/apm/report/paragraphs/service/impl/iot/AreaIotBuilder.java

@@ -81,7 +81,7 @@ public class AreaIotBuilder extends AreaIndicatorsParagraphBuilder {
             // 统计各项目报告月取值
             GraphItemVO graphItemVO = new GraphItemVO(simpleProjectInfo.getProjectLocalName(),
                     DataUtils.parseDouble(attrValueMap.get(ProjectIotContentCodes.currentMonth.name()).getValue()),
-                    AttrValueTypeEnum.number_2, DataConstants.PERCENT);
+                    AttrValueTypeEnum.percent_2, DataConstants.PERCENT);
             currentMonthValueList.add(graphItemVO);
             // 统计不合格项目数
             String isQualifiedDesc = attrValueMap.get(ProjectIotContentCodes.isQualified.name()).getValue();

+ 13 - 2
src/main/java/com/persagy/apm/report/paragraphs/utils/ParagraphUtils.java

@@ -37,7 +37,18 @@ public class ParagraphUtils {
         return itemMap;
     }
 
-    public static Map<String, Object> convertMapMemberType(Map<String, String> map, String memberName, Class<?> memberType) {
+    /**
+     * map中value值数据类型转换
+     *
+     * @param map 源数据
+     * @param memberName 需要修改value类型的key
+     * @param memberType 需要修改成的类型
+     * @return 修改后的map
+     * @author lixing
+     * @version V1.0 2021/9/7 2:26 下午
+     */
+    public static Map<String, Object> convertMapMemberType(
+            Map<String, String> map, String memberName, Class<?> memberType) {
         if (CollectionUtils.isEmpty(map) || memberName == null || memberType == null) {
             return null;
         }
@@ -60,7 +71,7 @@ public class ParagraphUtils {
                 }
             }
         } catch (Exception e) {
-            e.printStackTrace();
+            throw new RuntimeException("类型转换发生异常", e);
         }
 
         return anotherMap;

+ 15 - 0
src/test/java/com/persagy/apm/report/indicator/factory/EnergyEfficiencyFactoryTest.java

@@ -18,4 +18,19 @@ public class EnergyEfficiencyFactoryTest extends TestCase {
         AttrValueVO dailyData = energyEfficiencyFactory.getDailyData(dailyEnergyEfficiency, new Date());
         System.out.println(dailyData);
     }
+
+    public void testGetMaxDays() {
+        EnergyEfficiencyFactory energyEfficiencyFactory = new EnergyEfficiencyFactory();
+        List<EnergyEfficiencyDataVO> dailyEnergyEfficiency = Lists.newArrayList(
+             new EnergyEfficiencyDataVO("2021-08-01 00:00:00", "10"),
+             new EnergyEfficiencyDataVO("2021-08-02 00:00:00", "20"),
+             new EnergyEfficiencyDataVO("2021-08-03 00:00:00", "10"),
+             new EnergyEfficiencyDataVO("2021-08-04 00:00:00", "40"),
+             new EnergyEfficiencyDataVO("2021-08-05 00:00:00", "5"),
+             new EnergyEfficiencyDataVO("2021-08-06 00:00:00", "5"),
+             new EnergyEfficiencyDataVO("2021-08-07 00:00:00", "10")
+        );
+        AttrValueVO maxDays = energyEfficiencyFactory.getMinDays(dailyEnergyEfficiency);
+        System.out.println(maxDays.getValue());
+    }
 }