ソースを参照

Merge branch 'master' into feature-fiveep-2021-7-12

jichaobo 4 年 前
コミット
3e5b02af00

+ 16 - 0
fiveep-controller/src/main/java/com/bizmatics/controller/web/DeviceController.java

@@ -2,6 +2,8 @@ package com.bizmatics.controller.web;
 
 
 import com.bizmatics.common.core.bean.ApiResult;
+import com.bizmatics.model.Device;
+import com.bizmatics.persistence.mapper.DeviceMapper;
 import com.bizmatics.service.DeviceService;
 import com.bizmatics.service.vo.DeviceCountVO;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -11,6 +13,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 
@@ -26,6 +29,9 @@ public class DeviceController {
     @Autowired
     private DeviceService deviceService;
 
+    @Autowired
+    private DeviceMapper deviceMapper;
+
 
     /**
      * 查询设备总数
@@ -48,5 +54,15 @@ public class DeviceController {
     public ApiResult<DeviceCountVO> selectDeviceCountByType(@RequestParam Integer site){
         return ApiResult.success(deviceService.selectDeviceCountByType(site));
     }
+
+    @GetMapping("/test")
+    public List<String> test(){
+        List<Device> list = deviceMapper.list(1, null, null, null, null, null);
+        List<String> list1 = new ArrayList<>();
+        for (Device device:list) {
+            list1.add(device.getDeviceCode());
+        }
+        return list1;
+    }
 }
 

+ 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();
+    }
 }

+ 22 - 2
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;
@@ -191,10 +192,29 @@ public class HtAnalogDataServiceImpl extends AbstractCrudService<HtAnalogDataMap
     public Double getElectricity(Integer userId,Integer siteId,Date startTime,Date endTime){
         HtAnalogData ascHad = htAnalogDataMapper.selectByStartTime(startTime,endTime, siteId, userId);
         HtAnalogData descHad = htAnalogDataMapper.selectByEndTime(endTime,endTime, siteId, userId);
-        Integer ascHadEpp = Optional.ofNullable(ascHad).map(htAnalogData -> 0).orElse(0);
-        Integer descHadEpp = Optional.ofNullable(descHad).map(htAnalogData -> 0).orElse(0);
+        Double ascHadEpp = Optional.ofNullable(ascHad).map(HtAnalogData::getEpp).orElse(0.00);
+        Double descHadEpp = Optional.ofNullable(descHad).map(HtAnalogData::getEpp).orElse(0.00);
         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();
+    }
+
 }