浏览代码

添加求和数据

yq 4 年之前
父节点
当前提交
5db13b5822

+ 16 - 0
fiveep-service/src/main/java/com/bizmatics/service/impl/DeviceServiceImpl.java

@@ -1,5 +1,6 @@
 package com.bizmatics.service.impl;
 
+import com.bizmatics.model.AlarmPower;
 import com.bizmatics.model.Device;
 import com.bizmatics.persistence.mapper.DeviceMapper;
 import com.bizmatics.service.DeviceService;
@@ -13,6 +14,7 @@ import org.springframework.stereotype.Service;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
+import java.util.Optional;
 
 /**
  * <p>
@@ -54,4 +56,18 @@ public class DeviceServiceImpl extends AbstractCrudService<DeviceMapper, Device>
         deviceCountVo.setVideoCount(video);
         return deviceCountVo;
     }
+
+    /**
+     * 汇总
+     * @param list
+     * @param deviceStatus
+     * @param type
+     * @return
+     */
+    public Long getCount(List<Device> list, Integer deviceStatus, Integer type){
+        return list.stream()
+                .filter(device -> Optional.ofNullable(deviceStatus).map(ds -> ds.equals(device.getDeviceStatus())).orElse(true))
+                .filter(device -> Optional.ofNullable(type).map(ds -> ds.equals(device.getDeviceType())).orElse(true))
+                .count();
+    }
 }

+ 20 - 0
fiveep-service/src/main/java/com/bizmatics/service/impl/HtAnalogDataServiceImpl.java

@@ -2,6 +2,7 @@ package com.bizmatics.service.impl;
 
 import com.bizmatics.common.core.exception.BusinessException;
 import com.bizmatics.common.core.util.DateUtils;
+import com.bizmatics.model.AlarmPower;
 import com.bizmatics.model.HtAnalogData;
 import com.bizmatics.persistence.mapper.HtAnalogDataMapper;
 import com.bizmatics.service.HtAnalogDataService;
@@ -196,5 +197,24 @@ public class HtAnalogDataServiceImpl extends AbstractCrudService<HtAnalogDataMap
         return Arith.sub(descHadEpp,ascHadEpp);
     }
 
+
+
+    /**
+     * 汇总
+     * @param list
+     * @param handlingStatus
+     * @param startTime
+     * @param endTime
+     * @param digitalStatus
+     */
+    public Long getCount(List<AlarmPower> list, Integer handlingStatus, Date startTime, Date endTime, Integer digitalStatus, String measName){
+        return list.stream()
+                .filter(alarmPower -> alarmPower.getSendingTime().after(startTime) && alarmPower.getSendingTime().before(endTime))
+                .filter(alarmPower -> Optional.ofNullable(handlingStatus).map(hand -> hand.equals(alarmPower.getHandlingStatus())).orElse(true))
+                .filter(alarmPower -> Optional.ofNullable(digitalStatus).map(dig -> dig.equals(alarmPower.getDigitalValue())).orElse(true))
+                .filter(alarmPower -> Optional.ofNullable(measName).map(means -> means.equals(alarmPower.getMeasName())).orElse(true))
+                .count();
+    }
+
 }