yq 3 лет назад
Родитель
Сommit
ab1f05294a

+ 4 - 4
fiveep-persistence/src/main/resources/mapper/mysql/AlarmPowerMapper.xml

@@ -116,7 +116,7 @@
         </where>
     </select>
     <select id="gradeSiteList" resultType="java.util.Map">
-        SELECT us.site_id as siteId,s.site_name as siteName
+        SELECT us.site_id as siteId,s.site_name as siteName,
         (select count(*)
         FROM alarm_power as ap
         WHERE d.device_code = ap.device_code
@@ -140,7 +140,7 @@
         </if>
         <if test="startTime != null and endTime != null">
             and ap.sending_time between #{startTime} and #{endTime}
-        </if>) as twoGrade,
+        </if>) as otherGrade,
         (select count(*)
         FROM alarm_power as ap
         WHERE d.device_code = ap.device_code
@@ -181,13 +181,13 @@
             </if>
             <if test="gradeType == 1 or gradeType == 3">
                 and ap.meas_name in
-                <foreach collection="otherGrads" item="name" index="index" open="(" close=")" separator=",">
+                <foreach collection="grades" item="name" index="index" open="(" close=")" separator=",">
                     #{name}
                 </foreach>
             </if>
             <if test="gradeType == 2">
                 and ap.meas_name not in
-                <foreach collection="otherGrads" item="name" index="index" open="(" close=")" separator=",">
+                <foreach collection="grades" item="name" index="index" open="(" close=")" separator=",">
                     #{name}
                 </foreach>
             </if>

+ 6 - 2
fiveep-service/src/main/java/com/bizmatics/service/impl/HtAnalogDataServiceImpl.java

@@ -1,6 +1,7 @@
 package com.bizmatics.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.bizmatics.common.core.exception.BusinessException;
 import com.bizmatics.common.core.util.Arith;
@@ -298,8 +299,11 @@ public class HtAnalogDataServiceImpl extends AbstractCrudService<HtAnalogDataMap
         Optional.ofNullable(siteDynamicProperties).orElseThrow(() -> new BusinessException("sd不存在"));
         LambdaQueryWrapper<DeviceAttribute> adQuery = Wrappers.lambdaQuery();
         adQuery.eq(DeviceAttribute::getSiteId,device.getSiteId());
-        DeviceAttribute deviceAttribute= deviceAttributeService.getOne(adQuery);
-        Optional.ofNullable(deviceAttribute).orElseThrow(() -> new BusinessException("da不存在"));
+        List<DeviceAttribute> deviceAttributes = deviceAttributeService.list(adQuery);
+        if (CollectionUtils.isEmpty(deviceAttributes)){
+            throw new BusinessException("da不存在");
+        }
+        DeviceAttribute deviceAttribute = deviceAttributes.stream().min(Comparator.comparing(DeviceAttribute::getId)).get();
         List<RealScoreVO> realScoreVOS = new ArrayList<>();
         for (HtAnalogData htAnalogData:list) {
             RtAnalogData rtAnalogData = BeanMapperUtils.map(htAnalogData, RtAnalogData.class);

+ 11 - 3
fiveep-service/src/main/java/com/bizmatics/service/impl/RtAnalogDataServiceImpl.java

@@ -4,6 +4,7 @@ import cn.afterturn.easypoi.excel.ExcelExportUtil;
 import cn.afterturn.easypoi.excel.entity.ExportParams;
 import cn.afterturn.easypoi.excel.entity.params.ExcelExportEntity;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.bizmatics.common.core.exception.BusinessException;
 import com.bizmatics.common.core.util.*;
@@ -131,8 +132,11 @@ public class RtAnalogDataServiceImpl extends AbstractCrudService<RtAnalogDataMap
         Optional.ofNullable(siteDynamicProperties).orElseThrow(() -> new BusinessException("sd不存在"));
         LambdaQueryWrapper<DeviceAttribute> adQuery = Wrappers.lambdaQuery();
         adQuery.eq(DeviceAttribute::getSiteId,device.getSiteId());
-        DeviceAttribute deviceAttribute= deviceAttributeService.getOne(adQuery);
-        Optional.ofNullable(deviceAttribute).orElseThrow(() -> new BusinessException("da不存在"));
+        List<DeviceAttribute> deviceAttributes = deviceAttributeService.list(adQuery);
+        if (CollectionUtils.isEmpty(deviceAttributes)){
+            throw new BusinessException("da不存在");
+        }
+        DeviceAttribute deviceAttribute = deviceAttributes.stream().min(Comparator.comparing(DeviceAttribute::getId)).get();
         return  fillRealScoreData(rtAnalogData,siteDynamicProperties,deviceAttribute);
     }
 
@@ -184,7 +188,7 @@ public class RtAnalogDataServiceImpl extends AbstractCrudService<RtAnalogDataMap
             score+=20;
         }
         //功率
-        if (realScoreVo.getCOS() <= 0.15){
+        if (realScoreVo.getCos() <= 0.15){
             score+=20;
         }
         realScoreVo.setScore(score);
@@ -210,6 +214,10 @@ public class RtAnalogDataServiceImpl extends AbstractCrudService<RtAnalogDataMap
      * @return
      */
     public Double checkBalun(List<Double> list){
+        long count = list.stream().filter(code -> 0.00 == code).count();
+        if (3 == count){
+            return 0.00;
+        }
         Double max = list.stream().max(Double::compareTo).get();
         Double min = list.stream().min(Double::compareTo).get();
         return Arith.div(Arith.sub(max,min),max);

+ 1 - 1
fiveep-service/src/main/java/com/bizmatics/service/vo/RealScoreVO.java

@@ -43,7 +43,7 @@ public class RealScoreVO {
     /**
      * 功率因素
       */
-    private Double COS;
+    private Double cos;
     /**
      * 电流不平衡
      */