2021与蓝度共同重构项目,服务端
zhanzhiqin
2022-05-20 d35545d88b9123b92b50aaf1b0fa4e3f20fd2209
ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightService.java
@@ -100,7 +100,7 @@
    public List<LightBo> listLight(int pageNo, int pageSize, String keyword) {
        Long clientId = SecurityUtils.getClientId();
      //  PageHelper.startPage(pageNo, pageSize);
        PageHelper.startPage(pageNo, pageSize);
        List<LightBo> listLight = baseMapper.listLight(clientId, keyword);
@@ -109,19 +109,19 @@
        //拆分list
        List<List<String>> split = CollectionUtil.split(deviceCodeList, 100);
        List<BatchGetDeviceStateResponse.DeviceStatus> deviceStatuses=null;
        List<BatchGetDeviceStateResponse.DeviceStatus> deviceStatuses = null;
        for (List<String> splist : split) {
            deviceStatuses=MainBoardInvokeSyncService.getInstance().batchGetDeviceState(splist);
            deviceStatuses = MainBoardInvokeSyncService.getInstance().batchGetDeviceState(splist);
            if (deviceStatuses != null) {
                for (LightBo lightBo : listLight) {
                    for (BatchGetDeviceStateResponse.DeviceStatus deviceStatus : deviceStatuses) {
                        if (lightBo.getDeviceCode() != null && lightBo.getDeviceCode().equals(deviceStatus.getDeviceName())) {
                            if("ONLINE".equals(deviceStatus.getStatus()) ){
                            if ("ONLINE".equals(deviceStatus.getStatus())) {
                                lightBo.setOnlineStatus(0);
                            }else if("OFFLINE".equals(deviceStatus.getStatus())){
                            } else if ("OFFLINE".equals(deviceStatus.getStatus())) {
                                lightBo.setOnlineStatus(1);
                            }else {
                            } else {
                                lightBo.setOnlineStatus(2);
                            }
@@ -230,7 +230,9 @@
                map.put("deviceCode", param.getDeviceCode());
                WrapResponseCommonFrame<A5LightBrightnessRespInnerFrame> frame
                        = MainBoardInvokeSyncService.getInstance().sendRRPC(param.getDeviceCode(), a5Frame, A5LightBrightnessRespInnerFrame.class);
                //存储控制帧指令
                StoreOperationRecordsUtils.storeInnerFrameData(param.getDeviceCode(), "单灯帧-亮度控制", a5Frame, frame);
                if (frame == null) {
                    map.put("status", DeviceRespStatusEnums.OTHER_ERROR.getCode());
                    resultList.add(map);
@@ -334,7 +336,7 @@
                currentWeekValue = 7;
            }
            map = new LinkedHashMap();
            map.put("time",localDateTime.minusDays(i).format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
            map.put("time", localDateTime.minusDays(i).format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
            map.put("value", getlist(currentWeekValue));
            temp.add(map);
        }
@@ -406,7 +408,7 @@
                currentWeekValue = 7;
            }
            map = new LinkedHashMap();
            map.put("time",localDateTime.minusDays(i).format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
            map.put("time", localDateTime.minusDays(i).format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
            map.put("value", getlistEnergy(currentWeekValue));
            temp.add(map);
        }
@@ -623,20 +625,22 @@
                for (int i = 0; i < controlLightCommandVOS.size(); i++) {
                    //得到时长*亮度
                    BigDecimal bigEnergy1 = calculateEnergyConsumption(startTime, controlLightCommandVOS.get(i));
//                    //计算能耗(总   时长*亮度*功率)
                    BigDecimal totalEnergy = totalEnergy(bigEnergy1, Task.getLightAdress(), poleTaskLightPowerBos);
                    bigEnergy[0] = bigEnergy[0].add(totalEnergy);
//                    BigDecimal totalEnergy4 = totalEnergy(bigEnergy1, Task.getLightAdress(), poleTaskLightPowerBos);
//                    bigEnergy[0] = bigEnergy[0].add(totalEnergy4);
                    //判断 Energy==0 则不计算
                    if (bigEnergy1.compareTo(new BigDecimal(0)) != 0) {
                        //计算能耗(总   时长*亮度*功率)
                        BigDecimal totalEnergy = totalEnergy(bigEnergy1, Task.getLightAdress(), poleTaskLightPowerBos);
                        bigEnergy[0] = bigEnergy[0].add(totalEnergy);
                    }
                    if (controlLightCommandVOS.size() == (i + 1)) {
                        BigDecimal bigEnergy2 = calculateEnergyConsumption(controlLightCommandVOS.get(i), endTime);
                        System.out.println(bigEnergy2 + "时长*亮度===========================");
                        //计算能耗(总   时长*亮度*功率)
                        BigDecimal totalEnergy3 = totalEnergy(bigEnergy2, Task.getLightAdress(), poleTaskLightPowerBos);
//                        saving.add(bigDecimal1);
                        bigEnergy[0] = bigEnergy[0].add(totalEnergy3);
                      if(bigEnergy2.compareTo(new BigDecimal(0)) != 0){
                          BigDecimal totalEnergy3 = totalEnergy(bigEnergy2, Task.getLightAdress(), poleTaskLightPowerBos);
                          bigEnergy[0] = bigEnergy[0].add(totalEnergy3);
                      }
                        break;
                    }
                    startTime = controlLightCommandVOS.get(i);
@@ -646,9 +650,14 @@
                //计算能耗(部分   时长*亮度)
                BigDecimal Energy = calculateEnergyConsumption(startTime, endTime);
                //计算能耗(总   时长*亮度*功率)
                BigDecimal totalEnergy = totalEnergy(Energy, Task.getLightAdress(), poleTaskLightPowerBos);
           //判断 Energy==0 则不计算
                if (Energy.compareTo(new BigDecimal(0)) != 0) {
                    BigDecimal totalEnergy = totalEnergy(Energy, Task.getLightAdress(), poleTaskLightPowerBos);
                    bigEnergy[0] = bigEnergy[0].add(totalEnergy);
                }
//                saving.add(bigDecimal);
                bigEnergy[0] = bigEnergy[0].add(totalEnergy);
            }
        });
        return bigEnergy[0];