Explorar o código

需量分析调整171、173调整1

jichaobo %!s(int64=3) %!d(string=hai) anos
pai
achega
1e1866852d

+ 4 - 0
fiveep-persistence/src/main/java/com/bizmatics/persistence/mapper/HtAnalogDataMapper.java

@@ -126,6 +126,10 @@ public interface HtAnalogDataMapper extends CrudMapper<HtAnalogData> {
     List<HtAnalogDataVo> demandAnalysisList(@Param("deviceCode") String deviceCode,
                                             @Param("monthDate") String monthDate);
 
+    List<HtAnalogData> getDemandAnalysisList(@Param("deviceCode") String deviceCode,
+                                             @Param("startTime") String startTime,
+                                             @Param("endTime") String endTime,
+                                             @Param("table") String table);
 
     List<HtAnalogDataOneVo> energyUseListOne(@Param("deviceCode") String deviceCode,
                                              @Param("startTime") String startTime,

+ 17 - 0
fiveep-persistence/src/main/resources/mapper/mysql/HtAnalogDataMapper.xml

@@ -1334,6 +1334,23 @@
     </select>
 
 
+    <select id="getDemandAnalysisList" resultType="com.bizmatics.model.HtAnalogData">
+        SELECT
+            *
+        FROM
+            ${table}
+        WHERE
+            deviceName = #{deviceCode}
+        <if test="endTime != null and startTime != null and endTime != '' and startTime != ''">
+            AND freezingTime BETWEEN #{startTime}
+            AND #{endTime}
+        </if>
+
+        GROUP BY
+            freezingTime
+    </select>
+
+
     <select id="yearOnYearThree" parameterType="java.util.List" resultType="com.bizmatics.model.vo.HtAnalogDataVo">
         SELECT
         a.id,

+ 215 - 182
fiveep-service/src/main/java/com/bizmatics/service/impl/HtAnalogDataServiceImpl.java

@@ -390,12 +390,12 @@ public class HtAnalogDataServiceImpl extends AbstractCrudService<HtAnalogDataMap
             String device_code = dataManagementOneVO.getDisplayField().get(i).split("_")[0];
             String display_field = dataManagementOneVO.getDisplayField().get(i).split("_")[1];
             for (int j = 0; j < deviceList.size(); j++) {
-                if (device_code.equals(deviceList.get(j).getDeviceCode())){
-                    if (deviceList.get(j).getDeviceType().equals("1")){
+                if (device_code.equals(deviceList.get(j).getDeviceCode())) {
+                    if (deviceList.get(j).getDeviceType().equals("1")) {
                         fieldDisplayOne183.add(display_field);
-                    }else if (deviceList.get(j).getDeviceType().equals("3")){
+                    } else if (deviceList.get(j).getDeviceType().equals("3")) {
                         fieldDisplayOne171.add(display_field);
-                    }else if (deviceList.get(j).getDeviceType().equals("4")){
+                    } else if (deviceList.get(j).getDeviceType().equals("4")) {
                         fieldDisplayOne173.add(display_field);
                     }
                 }
@@ -405,17 +405,17 @@ public class HtAnalogDataServiceImpl extends AbstractCrudService<HtAnalogDataMap
         List<ContextualDataVo> yearOnYearList1 = new ArrayList<>();
         List<ContextualDataVo> yearOnYearList2 = new ArrayList<>();
         List<ContextualDataVo> yearOnYearList3 = new ArrayList<>();
-        if (fieldDisplayOne183.size()>0){
-            List<String> fieldDisplayList = FieldEscapeUtils.getSyllable(type,valueCalculation,fieldDisplayOne183);
-            yearOnYearList1 = baseMapper.getYearOnYearThree(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(), variableCodingList,fieldDisplayList,"ht_analog_data",0);
+        if (fieldDisplayOne183.size() > 0) {
+            List<String> fieldDisplayList = FieldEscapeUtils.getSyllable(type, valueCalculation, fieldDisplayOne183);
+            yearOnYearList1 = baseMapper.getYearOnYearThree(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(), variableCodingList, fieldDisplayList, "ht_analog_data", 0);
         }
-        if (fieldDisplayOne171.size()>0){
-            List<String> fieldDisplayList = FieldEscapeUtils.getSyllable(type,valueCalculation,fieldDisplayOne171);
-            yearOnYearList2 = baseMapper.getYearOnYearThree(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(), variableCodingList, fieldDisplayList,"ht_analog_171_data",0);
+        if (fieldDisplayOne171.size() > 0) {
+            List<String> fieldDisplayList = FieldEscapeUtils.getSyllable(type, valueCalculation, fieldDisplayOne171);
+            yearOnYearList2 = baseMapper.getYearOnYearThree(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(), variableCodingList, fieldDisplayList, "ht_analog_171_data", 0);
         }
-        if (fieldDisplayOne173.size()>0){
-            List<String> fieldDisplayList = FieldEscapeUtils.getSyllable(type,valueCalculation,fieldDisplayOne173);
-            yearOnYearList3 = baseMapper.getYearOnYearThree(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(), variableCodingList, fieldDisplayList,"ht_analog_173_data",0);
+        if (fieldDisplayOne173.size() > 0) {
+            List<String> fieldDisplayList = FieldEscapeUtils.getSyllable(type, valueCalculation, fieldDisplayOne173);
+            yearOnYearList3 = baseMapper.getYearOnYearThree(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(), variableCodingList, fieldDisplayList, "ht_analog_173_data", 0);
         }
         List<ContextualDataVo> yearOnYearList4 = Stream.of(yearOnYearList1, yearOnYearList2).flatMap(Collection::stream).distinct().collect(Collectors.toList());
         List<ContextualDataVo> yearOnYearList = Stream.of(yearOnYearList3, yearOnYearList4).flatMap(Collection::stream).distinct().collect(Collectors.toList());
@@ -604,12 +604,12 @@ public class HtAnalogDataServiceImpl extends AbstractCrudService<HtAnalogDataMap
             String device_code = dataManagementOneVO.getDisplayField().get(i).split("_")[0];
             String display_field = dataManagementOneVO.getDisplayField().get(i).split("_")[1];
             for (int j = 0; j < deviceList.size(); j++) {
-                if (device_code.equals(deviceList.get(j).getDeviceCode())){
-                    if (deviceList.get(j).getDeviceType().equals("1")){
+                if (device_code.equals(deviceList.get(j).getDeviceCode())) {
+                    if (deviceList.get(j).getDeviceType().equals("1")) {
                         fieldDisplayOne183.add(display_field);
-                    }else if (deviceList.get(j).getDeviceType().equals("3")){
+                    } else if (deviceList.get(j).getDeviceType().equals("3")) {
                         fieldDisplayOne171.add(display_field);
-                    }else if (deviceList.get(j).getDeviceType().equals("4")){
+                    } else if (deviceList.get(j).getDeviceType().equals("4")) {
                         fieldDisplayOne173.add(display_field);
                     }
                 }
@@ -619,17 +619,17 @@ public class HtAnalogDataServiceImpl extends AbstractCrudService<HtAnalogDataMap
         List<ContextualDataVo> yearOnYearList1 = new ArrayList<>();
         List<ContextualDataVo> yearOnYearList2 = new ArrayList<>();
         List<ContextualDataVo> yearOnYearList3 = new ArrayList<>();
-        if (fieldDisplayOne183.size()>0){
-            List<String> fieldDisplayList = FieldEscapeUtils.getSyllable(type,valueCalculation,fieldDisplayOne183);
-            yearOnYearList1 = baseMapper.getYearOnYearThree(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(), variableCodingList,fieldDisplayList,"ht_analog_data",0);
+        if (fieldDisplayOne183.size() > 0) {
+            List<String> fieldDisplayList = FieldEscapeUtils.getSyllable(type, valueCalculation, fieldDisplayOne183);
+            yearOnYearList1 = baseMapper.getYearOnYearThree(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(), variableCodingList, fieldDisplayList, "ht_analog_data", 0);
         }
-        if (fieldDisplayOne171.size()>0){
-            List<String> fieldDisplayList = FieldEscapeUtils.getSyllable(type,valueCalculation,fieldDisplayOne171);
-            yearOnYearList2 = baseMapper.getYearOnYearThree(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(), variableCodingList, fieldDisplayList,"ht_analog_171_data",0);
+        if (fieldDisplayOne171.size() > 0) {
+            List<String> fieldDisplayList = FieldEscapeUtils.getSyllable(type, valueCalculation, fieldDisplayOne171);
+            yearOnYearList2 = baseMapper.getYearOnYearThree(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(), variableCodingList, fieldDisplayList, "ht_analog_171_data", 0);
         }
-        if (fieldDisplayOne173.size()>0){
-            List<String> fieldDisplayList = FieldEscapeUtils.getSyllable(type,valueCalculation,fieldDisplayOne173);
-            yearOnYearList3 = baseMapper.getYearOnYearThree(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(), variableCodingList, fieldDisplayList,"ht_analog_173_data",0);
+        if (fieldDisplayOne173.size() > 0) {
+            List<String> fieldDisplayList = FieldEscapeUtils.getSyllable(type, valueCalculation, fieldDisplayOne173);
+            yearOnYearList3 = baseMapper.getYearOnYearThree(newList, dataManagementOneVO.getStartTime(), dataManagementOneVO.getEndTime(), variableCodingList, fieldDisplayList, "ht_analog_173_data", 0);
         }
         List<ContextualDataVo> yearOnYearList4 = Stream.of(yearOnYearList1, yearOnYearList2).flatMap(Collection::stream).distinct().collect(Collectors.toList());
         List<ContextualDataVo> currentPeriodRingRatioList = Stream.of(yearOnYearList3, yearOnYearList4).flatMap(Collection::stream).distinct().collect(Collectors.toList());
@@ -781,20 +781,20 @@ public class HtAnalogDataServiceImpl extends AbstractCrudService<HtAnalogDataMap
         queryWrapper.eq(Device::getDeviceCode, deviceCode);
         List<Device> deviceList = deviceService.list(queryWrapper);
         String table = "ht_analog_data";
-        if(deviceList.size()>0){
-            if (deviceList.get(0).getDeviceType().equals("1")){
+        if (deviceList.size() > 0) {
+            if (deviceList.get(0).getDeviceType().equals("1")) {
                 table = "ht_analog_data";
-            }else if (deviceList.get(0).getDeviceType().equals("4")){
+            } else if (deviceList.get(0).getDeviceType().equals("4")) {
                 table = "ht_analog_173_data";
-            }else {
+            } else {
                 throw new BusinessException("173用电设备无用电数据采集");
             }
-        }else {
+        } else {
             throw new BusinessException("错误数据,设备不存在");
         }
 
-        List<HtAnalogDataVo> maxMonthlyReport = baseMapper.getEnergyUseList(deviceCode, startTime, endTime, cycle, 1,table);
-        List<HtAnalogDataVo> minMonthlyReport = baseMapper.getEnergyUseList(deviceCode, startTime, endTime, cycle, 2,table);
+        List<HtAnalogDataVo> maxMonthlyReport = baseMapper.getEnergyUseList(deviceCode, startTime, endTime, cycle, 1, table);
+        List<HtAnalogDataVo> minMonthlyReport = baseMapper.getEnergyUseList(deviceCode, startTime, endTime, cycle, 2, table);
         if (maxMonthlyReport.size() > 0) {
             for (int i = 0; i < maxMonthlyReport.size(); i++) {
                 BigDecimal b1 = new BigDecimal(maxMonthlyReport.get(i).getEpp().toString());
@@ -834,41 +834,74 @@ public class HtAnalogDataServiceImpl extends AbstractCrudService<HtAnalogDataMap
         String date = FieldEscapeUtils.getLastDayOfMonth(monthDate);
         String date1 = monthDate + "-01 00:00:00";
         String date2 = date + " 23:59:59";
-        Date startTime;
-        Date endTime;
-        try {
-            startTime = formatter.parse(date1);
-            endTime = formatter.parse(date2);
-        } catch (Exception e) {
-            throw new BusinessException("时间错误");
+        LambdaQueryWrapper<Device> queryWrapper1 = Wrappers.lambdaQuery();
+        queryWrapper1.eq(Device::getDeviceCode, deviceCode);
+        List<Device> deviceList = deviceService.list(queryWrapper1);
+        String table = "ht_analog_data";
+        if (deviceList.size() > 0) {
+            if (deviceList.get(0).getDeviceType().equals("1")) {
+                table = "ht_analog_data";
+            } else if (deviceList.get(0).getDeviceType().equals("4")) {
+                table = "ht_analog_173_data";
+            } else {
+                throw new BusinessException("173用电设备无用电数据采集");
+            }
+        } else {
+            throw new BusinessException("错误数据,设备不存在");
         }
-
-        LambdaQueryWrapper<HtAnalogData> queryWrapper = Wrappers.lambdaQuery();
-        queryWrapper.select(HtAnalogData::getDemand, HtAnalogData::getFreezingTime)
-                .eq(HtAnalogData::getDeviceName, deviceCode)
-                .between(HtAnalogData::getFreezingTime, startTime, endTime)
-                .groupBy(HtAnalogData::getFreezingTime);
-        List<HtAnalogData> list1 = this.list(queryWrapper);
+        List<HtAnalogData> list1 = baseMapper.getDemandAnalysisList(deviceCode, date1,date2 , table);
         List<Object> demandList = new ArrayList<>();
         List<Object> freezingTimesList = new ArrayList<>();
         for (int i = 0; i < list1.size(); i++) {
             demandList.add(list1.get(i).getDemand());
             freezingTimesList.add(formatter1.format(list1.get(i).getFreezingTime()));
         }
-
-
-//        List<Object> demandList = new ArrayList<>();
-//        List<Object> freezingTimesList = new ArrayList<>();
-//        List<HtAnalogDataVo> maxdemandAnalysis = baseMapper.demandAnalysisList(deviceCode, monthDate);
-//        for (int i = 0; i < maxdemandAnalysis.size(); i++){
-//            demandList.add(maxdemandAnalysis.get(i).getDemand());
-//            freezingTimesList.add(maxdemandAnalysis.get(i).getFreezingTimes());
-//        }
         List<CommonIcoVO> list = new ArrayList<>();
         list.add(CommonIcoVO.builder().name("实时有功需量").list(demandList).listDate(freezingTimesList).build());
         return list;
     }
 
+//    public List<CommonIcoVO> demandAnalysis(String deviceCode, String monthDate, int cycle) {
+//        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+//        SimpleDateFormat formatter1 = new SimpleDateFormat("yyyy-MM-dd");
+//        String date = FieldEscapeUtils.getLastDayOfMonth(monthDate);
+//        String date1 = monthDate + "-01 00:00:00";
+//        String date2 = date + " 23:59:59";
+//        Date startTime;
+//        Date endTime;
+//        try {
+//            startTime = formatter.parse(date1);
+//            endTime = formatter.parse(date2);
+//        } catch (Exception e) {
+//            throw new BusinessException("时间错误");
+//        }
+//
+//        LambdaQueryWrapper<HtAnalogData> queryWrapper = Wrappers.lambdaQuery();
+//        queryWrapper.select(HtAnalogData::getDemand, HtAnalogData::getFreezingTime)
+//                .eq(HtAnalogData::getDeviceName, deviceCode)
+//                .between(HtAnalogData::getFreezingTime, startTime, endTime)
+//                .groupBy(HtAnalogData::getFreezingTime);
+//        List<HtAnalogData> list1 = this.list(queryWrapper);
+//        List<Object> demandList = new ArrayList<>();
+//        List<Object> freezingTimesList = new ArrayList<>();
+//        for (int i = 0; i < list1.size(); i++) {
+//            demandList.add(list1.get(i).getDemand());
+//            freezingTimesList.add(formatter1.format(list1.get(i).getFreezingTime()));
+//        }
+//
+//
+////        List<Object> demandList = new ArrayList<>();
+////        List<Object> freezingTimesList = new ArrayList<>();
+////        List<HtAnalogDataVo> maxdemandAnalysis = baseMapper.demandAnalysisList(deviceCode, monthDate);
+////        for (int i = 0; i < maxdemandAnalysis.size(); i++){
+////            demandList.add(maxdemandAnalysis.get(i).getDemand());
+////            freezingTimesList.add(maxdemandAnalysis.get(i).getFreezingTimes());
+////        }
+//        List<CommonIcoVO> list = new ArrayList<>();
+//        list.add(CommonIcoVO.builder().name("实时有功需量").list(demandList).listDate(freezingTimesList).build());
+//        return list;
+//    }
+
     @Override
     public String monthlyReportExport(String deviceCode, String startTime, String endTime, int cycle) {
         DateFormat dFormat = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
@@ -913,30 +946,30 @@ public class HtAnalogDataServiceImpl extends AbstractCrudService<HtAnalogDataMap
         queryWrapper.eq(Device::getDeviceCode, deviceCode);
         List<Device> deviceList = deviceService.list(queryWrapper);
         String table = "ht_analog_data";
-        if(deviceList.size()>0){
-            if (deviceList.get(0).getDeviceType().equals("1")){
+        if (deviceList.size() > 0) {
+            if (deviceList.get(0).getDeviceType().equals("1")) {
                 table = "ht_analog_data";
-            }else if (deviceList.get(0).getDeviceType().equals("4")){
+            } else if (deviceList.get(0).getDeviceType().equals("4")) {
                 table = "ht_analog_173_data";
-            }else {
+            } else {
                 throw new BusinessException("173用电设备无用电数据采集");
             }
-        }else {
+        } else {
             throw new BusinessException("错误数据,设备不存在");
         }
-        List<HtAnalogDataOneVo> maxMonthlyReport = baseMapper.getEnergyUseListOne(deviceCode, startTime, endTime, cycle, 1, 10000, startCurrent,table);
-        List<HtAnalogDataOneVo> minMonthlyReport = baseMapper.getEnergyUseListOne(deviceCode, startTime, endTime, cycle, 2, 10000, startCurrent,table);
+        List<HtAnalogDataOneVo> maxMonthlyReport = baseMapper.getEnergyUseListOne(deviceCode, startTime, endTime, cycle, 1, 10000, startCurrent, table);
+        List<HtAnalogDataOneVo> minMonthlyReport = baseMapper.getEnergyUseListOne(deviceCode, startTime, endTime, cycle, 2, 10000, startCurrent, table);
         if (maxMonthlyReport.size() > 0) {
-            Double epp=0.00;
-            for (int j = 0; j < maxMonthlyReport.size()+1; j++) {
+            Double epp = 0.00;
+            for (int j = 0; j < maxMonthlyReport.size() + 1; j++) {
                 HtAnalogDataOneVo htAnalogDataOneVo = new HtAnalogDataOneVo();
-                if (j==maxMonthlyReport.size()){
+                if (j == maxMonthlyReport.size()) {
                     htAnalogDataOneVo.setEpp(epp);
                     htAnalogDataOneVo.setFreezingTime("合计");
-                }else {
+                } else {
                     BigDecimal b1 = new BigDecimal(maxMonthlyReport.get(j).getEpp().toString());
                     BigDecimal b2 = new BigDecimal(minMonthlyReport.get(j).getEpp().toString());
-                    epp+=b1.subtract(b2).doubleValue();
+                    epp += b1.subtract(b2).doubleValue();
                     htAnalogDataOneVo.setEpp(b1.subtract(b2).doubleValue());
                     htAnalogDataOneVo.setFreezingTime(maxMonthlyReport.get(j).getFreezingTime());
                 }
@@ -947,7 +980,7 @@ public class HtAnalogDataServiceImpl extends AbstractCrudService<HtAnalogDataMap
     }
 
     @Override
-    public SingleLoopReportOneVo SingleLoopReportData(String deviceCode, Date time, int type){
+    public SingleLoopReportOneVo SingleLoopReportData(String deviceCode, Date time, int type) {
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
         SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM");
         String startTime = null;
@@ -965,8 +998,8 @@ public class HtAnalogDataServiceImpl extends AbstractCrudService<HtAnalogDataMap
                 throw new BusinessException("时间错误");
             }
         }
-        List<SingleLoopReportVo> SingleLoopReportList = baseMapper.SingleLoopReportData(deviceCode,startTime,endtime);
-        if (CollectionUtils.isEmpty(SingleLoopReportList)){
+        List<SingleLoopReportVo> SingleLoopReportList = baseMapper.SingleLoopReportData(deviceCode, startTime, endtime);
+        if (CollectionUtils.isEmpty(SingleLoopReportList)) {
             SingleLoopReportOneVo singleLoopReportOneVo = null;
             return singleLoopReportOneVo;
 //            throw new BusinessException("暂无数据");
@@ -980,11 +1013,11 @@ public class HtAnalogDataServiceImpl extends AbstractCrudService<HtAnalogDataMap
         }
 
 
-        return analysisCalculation(SingleLoopReportList,RtAnalogDataList);
+        return analysisCalculation(SingleLoopReportList, RtAnalogDataList);
     }
 
-    public SingleLoopReportOneVo analysisCalculation(List<SingleLoopReportVo> SingleLoopReportList,List<HtAnalogData> RtAnalogDataList){
-        DecimalFormat df   = new DecimalFormat("######0.00");
+    public SingleLoopReportOneVo analysisCalculation(List<SingleLoopReportVo> SingleLoopReportList, List<HtAnalogData> RtAnalogDataList) {
+        DecimalFormat df = new DecimalFormat("######0.00");
         List<Double> checkList = new ArrayList<>();
         SingleLoopReportOneVo singleLoopReportOneVo = BeanMapperUtils.map(SingleLoopReportList.get(0), SingleLoopReportOneVo.class);
 
@@ -994,9 +1027,9 @@ public class HtAnalogDataServiceImpl extends AbstractCrudService<HtAnalogDataMap
         //电流不平衡(平均)
         Double AvgElBalun = checkBalun(checkList) * 100;
         singleLoopReportOneVo.setAvgElBalun(Double.valueOf(df.format(AvgElBalun)));
-        if (AvgElBalun<15){
+        if (AvgElBalun < 15) {
             singleLoopReportOneVo.setAvgElBalunStatus(true);
-        }else {
+        } else {
             singleLoopReportOneVo.setAvgElBalunStatus(false);
         }
 
@@ -1007,9 +1040,9 @@ public class HtAnalogDataServiceImpl extends AbstractCrudService<HtAnalogDataMap
         //电流不平衡(最大)
         Double MaxElBalun = checkBalun(checkList) * 100;
         singleLoopReportOneVo.setMaxElBalun(Double.valueOf(df.format(MaxElBalun)));
-        if (MaxElBalun<15){
+        if (MaxElBalun < 15) {
             singleLoopReportOneVo.setMaxElBalunStatus(true);
-        }else {
+        } else {
             singleLoopReportOneVo.setMaxElBalunStatus(false);
         }
 
@@ -1020,14 +1053,14 @@ public class HtAnalogDataServiceImpl extends AbstractCrudService<HtAnalogDataMap
         //电流不平衡(最小)
         Double MinElBalun = checkBalun(checkList) * 100;
         singleLoopReportOneVo.setMinElBalun(Double.valueOf(df.format(MinElBalun)));
-        if (MinElBalun<15){
+        if (MinElBalun < 15) {
             singleLoopReportOneVo.setMinElBalunStatus(true);
-        }else {
+        } else {
             singleLoopReportOneVo.setMinElBalunStatus(false);
         }
-        if (AvgElBalun<15&&MaxElBalun<15&&MinElBalun<15){
+        if (AvgElBalun < 15 && MaxElBalun < 15 && MinElBalun < 15) {
             singleLoopReportOneVo.setElBalunStatus(true);
-        }else {
+        } else {
             singleLoopReportOneVo.setElBalunStatus(false);
         }
 
@@ -1038,9 +1071,9 @@ public class HtAnalogDataServiceImpl extends AbstractCrudService<HtAnalogDataMap
         //电压不平衡(平均)
         Double AvgVtBalun = checkBalun(checkList) * 100;
         singleLoopReportOneVo.setAvgVtBalun(Double.valueOf(df.format(AvgVtBalun)));
-        if (AvgVtBalun<15){
+        if (AvgVtBalun < 15) {
             singleLoopReportOneVo.setAvgVtBalunStatus(true);
-        }else {
+        } else {
             singleLoopReportOneVo.setAvgVtBalunStatus(false);
         }
 
@@ -1051,9 +1084,9 @@ public class HtAnalogDataServiceImpl extends AbstractCrudService<HtAnalogDataMap
         //电压不平衡(最大)
         Double MaxVtBalun = checkBalun(checkList) * 100;
         singleLoopReportOneVo.setMaxVtBalun(Double.valueOf(df.format(MaxVtBalun)));
-        if (MaxVtBalun<15){
+        if (MaxVtBalun < 15) {
             singleLoopReportOneVo.setMaxVtBalunStatus(true);
-        }else {
+        } else {
             singleLoopReportOneVo.setMaxVtBalunStatus(false);
         }
 
@@ -1064,15 +1097,15 @@ public class HtAnalogDataServiceImpl extends AbstractCrudService<HtAnalogDataMap
         //电压不平衡(最小)
         Double MinVtBalun = checkBalun(checkList) * 100;
         singleLoopReportOneVo.setMinVtBalun(Double.valueOf(df.format(MinVtBalun)));
-        if (MinVtBalun<15){
+        if (MinVtBalun < 15) {
             singleLoopReportOneVo.setMinVtBalunStatus(true);
-        }else {
+        } else {
             singleLoopReportOneVo.setMinVtBalunStatus(false);
         }
 
-        if (AvgVtBalun<15&&MaxVtBalun<15&&MinVtBalun<15){
+        if (AvgVtBalun < 15 && MaxVtBalun < 15 && MinVtBalun < 15) {
             singleLoopReportOneVo.setVtBalunStatus(true);
-        }else {
+        } else {
             singleLoopReportOneVo.setVtBalunStatus(false);
         }
 
@@ -1084,170 +1117,170 @@ public class HtAnalogDataServiceImpl extends AbstractCrudService<HtAnalogDataMap
         checkList.clear();
         checkList.add(SingleLoopReportList.get(0).getAvgUa());
         checkList.add(voltageLevel);
-        Double AvgUaQR = Double.valueOf(df.format(VoltageQr(checkList,voltageLevel)));
-        singleLoopReportOneVo.setAvgUa(df.format(SingleLoopReportList.get(0).getAvgUa())+"kV("+AvgUaQR+"%)");
-        if (AvgUaQR<7.00){
+        Double AvgUaQR = Double.valueOf(df.format(VoltageQr(checkList, voltageLevel)));
+        singleLoopReportOneVo.setAvgUa(df.format(SingleLoopReportList.get(0).getAvgUa()) + "kV(" + AvgUaQR + "%)");
+        if (AvgUaQR < 7.00) {
             singleLoopReportOneVo.setAvgUaStatus(true);
-        }else {
+        } else {
             singleLoopReportOneVo.setAvgUaStatus(false);
         }
         //B相电压合格率(平均)
         checkList.clear();
         checkList.add(SingleLoopReportList.get(0).getAvgUb());
         checkList.add(voltageLevel);
-        Double AvgUbQR = Double.valueOf(df.format(VoltageQr(checkList,voltageLevel)));
-        singleLoopReportOneVo.setAvgUb(df.format(SingleLoopReportList.get(0).getAvgUb())+"kV("+AvgUbQR+"%)");
-        if (AvgUbQR<7.00){
+        Double AvgUbQR = Double.valueOf(df.format(VoltageQr(checkList, voltageLevel)));
+        singleLoopReportOneVo.setAvgUb(df.format(SingleLoopReportList.get(0).getAvgUb()) + "kV(" + AvgUbQR + "%)");
+        if (AvgUbQR < 7.00) {
             singleLoopReportOneVo.setAvgUbStatus(true);
-        }else {
+        } else {
             singleLoopReportOneVo.setAvgUbStatus(false);
         }
         //C相电压合格率(平均)
         checkList.clear();
         checkList.add(SingleLoopReportList.get(0).getAvgUc());
         checkList.add(voltageLevel);
-        Double AvgUcQR = Double.valueOf(df.format(VoltageQr(checkList,voltageLevel)));
-        singleLoopReportOneVo.setAvgUc(df.format(SingleLoopReportList.get(0).getAvgUc())+"kV("+AvgUcQR+"%)");
-        if (AvgUcQR<7.00){
+        Double AvgUcQR = Double.valueOf(df.format(VoltageQr(checkList, voltageLevel)));
+        singleLoopReportOneVo.setAvgUc(df.format(SingleLoopReportList.get(0).getAvgUc()) + "kV(" + AvgUcQR + "%)");
+        if (AvgUcQR < 7.00) {
             singleLoopReportOneVo.setAvgUcStatus(true);
-        }else {
+        } else {
             singleLoopReportOneVo.setAvgUcStatus(false);
         }
         //A相电压合格率(最大)
         checkList.clear();
         checkList.add(SingleLoopReportList.get(0).getMaxUa());
         checkList.add(voltageLevel);
-        Double MaxUaQR = Double.valueOf(df.format(VoltageQr(checkList,voltageLevel)));
-        singleLoopReportOneVo.setMaxUa(df.format(SingleLoopReportList.get(0).getMaxUa())+"kV("+MaxUaQR+"%)");
-        if (MaxUaQR<7.00){
+        Double MaxUaQR = Double.valueOf(df.format(VoltageQr(checkList, voltageLevel)));
+        singleLoopReportOneVo.setMaxUa(df.format(SingleLoopReportList.get(0).getMaxUa()) + "kV(" + MaxUaQR + "%)");
+        if (MaxUaQR < 7.00) {
             singleLoopReportOneVo.setMaxUaStatus(true);
-        }else {
+        } else {
             singleLoopReportOneVo.setMaxUaStatus(false);
         }
         //B相电压合格率(最大)
         checkList.clear();
         checkList.add(SingleLoopReportList.get(0).getMaxUb());
         checkList.add(voltageLevel);
-        Double MaxUbQR = Double.valueOf(df.format(VoltageQr(checkList,voltageLevel)));
-        singleLoopReportOneVo.setMaxUb(df.format(SingleLoopReportList.get(0).getMaxUb())+"kV("+MaxUbQR+"%)");
-        if (MaxUbQR<7.00){
+        Double MaxUbQR = Double.valueOf(df.format(VoltageQr(checkList, voltageLevel)));
+        singleLoopReportOneVo.setMaxUb(df.format(SingleLoopReportList.get(0).getMaxUb()) + "kV(" + MaxUbQR + "%)");
+        if (MaxUbQR < 7.00) {
             singleLoopReportOneVo.setMaxUbStatus(true);
-        }else {
+        } else {
             singleLoopReportOneVo.setMaxUbStatus(false);
         }
         //C相电压合格率(最大)
         checkList.clear();
         checkList.add(SingleLoopReportList.get(0).getMaxUc());
         checkList.add(voltageLevel);
-        Double MaxUcQR = Double.valueOf(df.format(VoltageQr(checkList,voltageLevel)));
-        singleLoopReportOneVo.setMaxUc(df.format(SingleLoopReportList.get(0).getMaxUc())+"kV("+MaxUcQR+"%)");
-        if (MaxUcQR<7.00){
+        Double MaxUcQR = Double.valueOf(df.format(VoltageQr(checkList, voltageLevel)));
+        singleLoopReportOneVo.setMaxUc(df.format(SingleLoopReportList.get(0).getMaxUc()) + "kV(" + MaxUcQR + "%)");
+        if (MaxUcQR < 7.00) {
             singleLoopReportOneVo.setMaxUcStatus(true);
-        }else {
+        } else {
             singleLoopReportOneVo.setMaxUcStatus(false);
         }
         //A相电压合格率(最小)
         checkList.clear();
         checkList.add(SingleLoopReportList.get(0).getMinUa());
         checkList.add(voltageLevel);
-        Double MinUaQR = Double.valueOf(df.format(VoltageQr(checkList,voltageLevel)));
-        singleLoopReportOneVo.setMinUa(df.format(SingleLoopReportList.get(0).getMinUa())+"kV("+MinUaQR+"%)");
-        if (MinUaQR<7.00){
+        Double MinUaQR = Double.valueOf(df.format(VoltageQr(checkList, voltageLevel)));
+        singleLoopReportOneVo.setMinUa(df.format(SingleLoopReportList.get(0).getMinUa()) + "kV(" + MinUaQR + "%)");
+        if (MinUaQR < 7.00) {
             singleLoopReportOneVo.setMinUaStatus(true);
-        }else {
+        } else {
             singleLoopReportOneVo.setMinUaStatus(false);
         }
         //B相电压合格率(最小)
         checkList.clear();
         checkList.add(SingleLoopReportList.get(0).getMinUb());
         checkList.add(voltageLevel);
-        Double MinUbQR = Double.valueOf(df.format(VoltageQr(checkList,voltageLevel)));
-        singleLoopReportOneVo.setMinUb(df.format(SingleLoopReportList.get(0).getMinUb())+"kV("+MinUbQR+"%)");
-        if (MinUbQR<7.00){
+        Double MinUbQR = Double.valueOf(df.format(VoltageQr(checkList, voltageLevel)));
+        singleLoopReportOneVo.setMinUb(df.format(SingleLoopReportList.get(0).getMinUb()) + "kV(" + MinUbQR + "%)");
+        if (MinUbQR < 7.00) {
             singleLoopReportOneVo.setMinUbStatus(true);
-        }else {
+        } else {
             singleLoopReportOneVo.setMinUbStatus(false);
         }
         //C相电压合格率(最小)
         checkList.clear();
         checkList.add(SingleLoopReportList.get(0).getMinUc());
         checkList.add(voltageLevel);
-        Double MinUcQR = Double.valueOf(df.format(VoltageQr(checkList,voltageLevel)));
-        singleLoopReportOneVo.setMinUc(df.format(SingleLoopReportList.get(0).getMinUc())+"kV("+MinUcQR+"%)");
-        if (MinUcQR<7.00){
+        Double MinUcQR = Double.valueOf(df.format(VoltageQr(checkList, voltageLevel)));
+        singleLoopReportOneVo.setMinUc(df.format(SingleLoopReportList.get(0).getMinUc()) + "kV(" + MinUcQR + "%)");
+        if (MinUcQR < 7.00) {
             singleLoopReportOneVo.setMinUcStatus(true);
-        }else {
+        } else {
             singleLoopReportOneVo.setMinUcStatus(false);
         }
 
-        if (AvgUaQR<7.00&&MaxUaQR<7.00&&MinUaQR<7.00){
+        if (AvgUaQR < 7.00 && MaxUaQR < 7.00 && MinUaQR < 7.00) {
             singleLoopReportOneVo.setUaStatus(true);
-        }else {
+        } else {
             singleLoopReportOneVo.setUaStatus(false);
         }
 
-        if (AvgUbQR<7.00&&MaxUbQR<7.00&&MinUbQR<7.00){
+        if (AvgUbQR < 7.00 && MaxUbQR < 7.00 && MinUbQR < 7.00) {
             singleLoopReportOneVo.setUbStatus(true);
-        }else {
+        } else {
             singleLoopReportOneVo.setUbStatus(false);
         }
 
-        if (AvgUcQR<7.00&&MaxUcQR<7.00&&MinUcQR<7.00){
+        if (AvgUcQR < 7.00 && MaxUcQR < 7.00 && MinUcQR < 7.00) {
             singleLoopReportOneVo.setUcStatus(true);
-        }else {
+        } else {
             singleLoopReportOneVo.setUcStatus(false);
         }
 
 
         //频率(平均)
         Double cAvgF = 0.00;
-        if (SingleLoopReportList.get(0).getAvgF()>=50){
-            cAvgF = Double.valueOf(df.format(SingleLoopReportList.get(0).getAvgF()-50.00));
-        }else {
+        if (SingleLoopReportList.get(0).getAvgF() >= 50) {
+            cAvgF = Double.valueOf(df.format(SingleLoopReportList.get(0).getAvgF() - 50.00));
+        } else {
             cAvgF = Double.valueOf(df.format(50.00 - SingleLoopReportList.get(0).getAvgF()));
         }
-        singleLoopReportOneVo.setAvgF(df.format(SingleLoopReportList.get(0).getAvgF())+"Hz("+cAvgF+"Hz)");
-        if (SingleLoopReportList.get(0).getAvgF()<50.2&&SingleLoopReportList.get(0).getAvgF()>49.8){
+        singleLoopReportOneVo.setAvgF(df.format(SingleLoopReportList.get(0).getAvgF()) + "Hz(" + cAvgF + "Hz)");
+        if (SingleLoopReportList.get(0).getAvgF() < 50.2 && SingleLoopReportList.get(0).getAvgF() > 49.8) {
             singleLoopReportOneVo.setAvgFStatus(true);
-        }else {
+        } else {
             singleLoopReportOneVo.setAvgFStatus(false);
         }
         //频率(最大)
         Double cMaxF = 0.00;
-        if (SingleLoopReportList.get(0).getAvgF()>=50){
-            cMaxF = Double.valueOf(df.format( SingleLoopReportList.get(0).getMaxF()-50.00));
-        }else {
+        if (SingleLoopReportList.get(0).getAvgF() >= 50) {
+            cMaxF = Double.valueOf(df.format(SingleLoopReportList.get(0).getMaxF() - 50.00));
+        } else {
             cMaxF = Double.valueOf(df.format(50.00 - SingleLoopReportList.get(0).getMaxF()));
         }
-        singleLoopReportOneVo.setMaxF(df.format(SingleLoopReportList.get(0).getMaxF())+"Hz("+cMaxF+"Hz)");
-        if (SingleLoopReportList.get(0).getMaxF()<50.2&&SingleLoopReportList.get(0).getMaxF()>49.8){
+        singleLoopReportOneVo.setMaxF(df.format(SingleLoopReportList.get(0).getMaxF()) + "Hz(" + cMaxF + "Hz)");
+        if (SingleLoopReportList.get(0).getMaxF() < 50.2 && SingleLoopReportList.get(0).getMaxF() > 49.8) {
             singleLoopReportOneVo.setMaxFStatus(true);
-        }else {
+        } else {
             singleLoopReportOneVo.setMaxFStatus(false);
         }
         //频率(最小)
         Double cMinF = 0.00;
-        if (SingleLoopReportList.get(0).getAvgF()>=50){
-            cMinF = Double.valueOf(df.format(SingleLoopReportList.get(0).getMinF()-50.00));
-        }else {
+        if (SingleLoopReportList.get(0).getAvgF() >= 50) {
+            cMinF = Double.valueOf(df.format(SingleLoopReportList.get(0).getMinF() - 50.00));
+        } else {
             cMinF = Double.valueOf(df.format(50.00 - SingleLoopReportList.get(0).getMinF()));
         }
 
-        singleLoopReportOneVo.setMinF(df.format(SingleLoopReportList.get(0).getMinF())+"Hz("+cMinF+"Hz)");
-        if (SingleLoopReportList.get(0).getMinF()<50.2&&SingleLoopReportList.get(0).getMinF()>49.8){
+        singleLoopReportOneVo.setMinF(df.format(SingleLoopReportList.get(0).getMinF()) + "Hz(" + cMinF + "Hz)");
+        if (SingleLoopReportList.get(0).getMinF() < 50.2 && SingleLoopReportList.get(0).getMinF() > 49.8) {
             singleLoopReportOneVo.setMinFStatus(true);
-        }else {
+        } else {
             singleLoopReportOneVo.setMinFStatus(false);
         }
 
-        if (singleLoopReportOneVo.getAvgFStatus()==true&&singleLoopReportOneVo.getMaxFStatus()==true&&singleLoopReportOneVo.getMaxFStatus()==true){
+        if (singleLoopReportOneVo.getAvgFStatus() == true && singleLoopReportOneVo.getMaxFStatus() == true && singleLoopReportOneVo.getMaxFStatus() == true) {
             singleLoopReportOneVo.setFStatus(true);
-        }else {
+        } else {
             singleLoopReportOneVo.setFStatus(false);
         }
-        if (SingleLoopReportList.get(0).getCos()>0.85){
+        if (SingleLoopReportList.get(0).getCos() > 0.85) {
             singleLoopReportOneVo.setCosStatus(true);
-        }else {
+        } else {
             singleLoopReportOneVo.setCosStatus(false);
         }
 
@@ -1257,15 +1290,15 @@ public class HtAnalogDataServiceImpl extends AbstractCrudService<HtAnalogDataMap
         int OverrunF = 0;
         int OverrunElBalun = 0;
         int OverrunVtBalun = 0;
-        if (RtAnalogDataList.size()>0){
-            for (int i=0;i<RtAnalogDataList.size();i++){
+        if (RtAnalogDataList.size() > 0) {
+            for (int i = 0; i < RtAnalogDataList.size(); i++) {
                 checkList.clear();
                 checkList.add(RtAnalogDataList.get(i).getUa());
                 checkList.add(voltageLevel);
                 Double maxUa = checkList.stream().max(Double::compareTo).get();
                 Double minUa = checkList.stream().min(Double::compareTo).get();
                 Double wantingUa = Arith.sub(maxUa, minUa);
-                if (wantingUa<voltageLevelWanting){
+                if (wantingUa < voltageLevelWanting) {
                     OverrunUa++;
                 }
 
@@ -1275,8 +1308,8 @@ public class HtAnalogDataServiceImpl extends AbstractCrudService<HtAnalogDataMap
                 Double maxUb = checkList.stream().max(Double::compareTo).get();
                 Double minUb = checkList.stream().min(Double::compareTo).get();
                 Double wantingUb = Arith.sub(maxUb, minUb);
-                if (wantingUb<voltageLevelWanting){
-                    OverrunUb ++;
+                if (wantingUb < voltageLevelWanting) {
+                    OverrunUb++;
                 }
 
                 checkList.clear();
@@ -1285,12 +1318,12 @@ public class HtAnalogDataServiceImpl extends AbstractCrudService<HtAnalogDataMap
                 Double maxUc = checkList.stream().max(Double::compareTo).get();
                 Double minUc = checkList.stream().min(Double::compareTo).get();
                 Double wantingUc = Arith.sub(maxUc, minUc);
-                if (wantingUc<voltageLevelWanting){
-                    OverrunUc ++;
+                if (wantingUc < voltageLevelWanting) {
+                    OverrunUc++;
                 }
 
-                if (RtAnalogDataList.get(i).getF()<50.2&&RtAnalogDataList.get(i).getF()>49.8){
-                    OverrunF ++;
+                if (RtAnalogDataList.get(i).getF() < 50.2 && RtAnalogDataList.get(i).getF() > 49.8) {
+                    OverrunF++;
                 }
 
                 checkList.clear();
@@ -1299,8 +1332,8 @@ public class HtAnalogDataServiceImpl extends AbstractCrudService<HtAnalogDataMap
                 checkList.add(RtAnalogDataList.get(i).getIc());
                 //电流不平衡
                 Double ElBalun = checkBalun(checkList);
-                if (ElBalun<0.15){
-                    OverrunElBalun ++;
+                if (ElBalun < 0.15) {
+                    OverrunElBalun++;
                 }
 
                 checkList.clear();
@@ -1309,27 +1342,27 @@ public class HtAnalogDataServiceImpl extends AbstractCrudService<HtAnalogDataMap
                 checkList.add(RtAnalogDataList.get(i).getUc());
                 //电压不平衡
                 Double VtBalunQ = checkBalun(checkList);
-                if (VtBalunQ<0.15){
-                    OverrunVtBalun ++;
+                if (VtBalunQ < 0.15) {
+                    OverrunVtBalun++;
                 }
 
 
             }
         }
-        singleLoopReportOneVo.setProportionUa(singleLoopReportOneVo.getMeasuringPoints()-OverrunUa+"/"+singleLoopReportOneVo.getMeasuringPoints());
-        singleLoopReportOneVo.setProportionUb(singleLoopReportOneVo.getMeasuringPoints()-OverrunUb+"/"+singleLoopReportOneVo.getMeasuringPoints());
-        singleLoopReportOneVo.setProportionUc(singleLoopReportOneVo.getMeasuringPoints()-OverrunUc+"/"+singleLoopReportOneVo.getMeasuringPoints());
-        singleLoopReportOneVo.setProportionF(singleLoopReportOneVo.getMeasuringPoints()-OverrunF+"/"+singleLoopReportOneVo.getMeasuringPoints());
-        singleLoopReportOneVo.setProportionElBalun(singleLoopReportOneVo.getMeasuringPoints()-OverrunElBalun+"/"+singleLoopReportOneVo.getMeasuringPoints());
-        singleLoopReportOneVo.setProportionVtBalun(singleLoopReportOneVo.getMeasuringPoints()-OverrunVtBalun+"/"+singleLoopReportOneVo.getMeasuringPoints());
-        singleLoopReportOneVo.setQrUa(OverrunUa==0?00.00: Double.valueOf(df.format(Double.valueOf(OverrunUa)/Double.valueOf(singleLoopReportOneVo.getMeasuringPoints())*100)));
-        singleLoopReportOneVo.setQrUb(OverrunUb==0?00.00: Double.valueOf(df.format(Double.valueOf(OverrunUb)/Double.valueOf(singleLoopReportOneVo.getMeasuringPoints())*100)));
-        singleLoopReportOneVo.setQrUc(OverrunUc==0?00.00: Double.valueOf(df.format(Double.valueOf(OverrunUc)/Double.valueOf(singleLoopReportOneVo.getMeasuringPoints())*100)));
-        singleLoopReportOneVo.setQrF(OverrunF==0?00.00: Double.valueOf(df.format(Double.valueOf(OverrunF)/Double.valueOf(singleLoopReportOneVo.getMeasuringPoints())*100)));
-        singleLoopReportOneVo.setQrElBalun(OverrunElBalun==0?00.00: Double.valueOf(df.format(Double.valueOf(OverrunElBalun)/Double.valueOf(singleLoopReportOneVo.getMeasuringPoints()))));
-        singleLoopReportOneVo.setQrVtBalun(OverrunVtBalun==0?00.00: Double.valueOf(df.format(Double.valueOf(OverrunVtBalun)/Double.valueOf(singleLoopReportOneVo.getMeasuringPoints()))));
-        singleLoopReportOneVo.setVoltageLevelToplimit(voltageLevel+voltageLevelWanting);
-        singleLoopReportOneVo.setVoltageLevelLowerLimit(voltageLevel-voltageLevelWanting);
+        singleLoopReportOneVo.setProportionUa(singleLoopReportOneVo.getMeasuringPoints() - OverrunUa + "/" + singleLoopReportOneVo.getMeasuringPoints());
+        singleLoopReportOneVo.setProportionUb(singleLoopReportOneVo.getMeasuringPoints() - OverrunUb + "/" + singleLoopReportOneVo.getMeasuringPoints());
+        singleLoopReportOneVo.setProportionUc(singleLoopReportOneVo.getMeasuringPoints() - OverrunUc + "/" + singleLoopReportOneVo.getMeasuringPoints());
+        singleLoopReportOneVo.setProportionF(singleLoopReportOneVo.getMeasuringPoints() - OverrunF + "/" + singleLoopReportOneVo.getMeasuringPoints());
+        singleLoopReportOneVo.setProportionElBalun(singleLoopReportOneVo.getMeasuringPoints() - OverrunElBalun + "/" + singleLoopReportOneVo.getMeasuringPoints());
+        singleLoopReportOneVo.setProportionVtBalun(singleLoopReportOneVo.getMeasuringPoints() - OverrunVtBalun + "/" + singleLoopReportOneVo.getMeasuringPoints());
+        singleLoopReportOneVo.setQrUa(OverrunUa == 0 ? 00.00 : Double.valueOf(df.format(Double.valueOf(OverrunUa) / Double.valueOf(singleLoopReportOneVo.getMeasuringPoints()) * 100)));
+        singleLoopReportOneVo.setQrUb(OverrunUb == 0 ? 00.00 : Double.valueOf(df.format(Double.valueOf(OverrunUb) / Double.valueOf(singleLoopReportOneVo.getMeasuringPoints()) * 100)));
+        singleLoopReportOneVo.setQrUc(OverrunUc == 0 ? 00.00 : Double.valueOf(df.format(Double.valueOf(OverrunUc) / Double.valueOf(singleLoopReportOneVo.getMeasuringPoints()) * 100)));
+        singleLoopReportOneVo.setQrF(OverrunF == 0 ? 00.00 : Double.valueOf(df.format(Double.valueOf(OverrunF) / Double.valueOf(singleLoopReportOneVo.getMeasuringPoints()) * 100)));
+        singleLoopReportOneVo.setQrElBalun(OverrunElBalun == 0 ? 00.00 : Double.valueOf(df.format(Double.valueOf(OverrunElBalun) / Double.valueOf(singleLoopReportOneVo.getMeasuringPoints()))));
+        singleLoopReportOneVo.setQrVtBalun(OverrunVtBalun == 0 ? 00.00 : Double.valueOf(df.format(Double.valueOf(OverrunVtBalun) / Double.valueOf(singleLoopReportOneVo.getMeasuringPoints()))));
+        singleLoopReportOneVo.setVoltageLevelToplimit(voltageLevel + voltageLevelWanting);
+        singleLoopReportOneVo.setVoltageLevelLowerLimit(voltageLevel - voltageLevelWanting);
         singleLoopReportOneVo.setMhz(50.00);
         singleLoopReportOneVo.setFToplimit(50.2);
         singleLoopReportOneVo.setFLowerLimit(49.8);
@@ -1339,7 +1372,7 @@ public class HtAnalogDataServiceImpl extends AbstractCrudService<HtAnalogDataMap
         return singleLoopReportOneVo;
     }
 
-    public Double VoltageQr(List<Double> checkList,Double voltageLevel){
+    public Double VoltageQr(List<Double> checkList, Double voltageLevel) {
         Double max = checkList.stream().max(Double::compareTo).get();
         Double min = checkList.stream().min(Double::compareTo).get();
         Double wanting = Arith.sub(max, min);