细节调整

This commit is contained in:
陈超
2022-08-16 14:32:22 +08:00
parent a24e8931ae
commit 34eb0b5f66
6 changed files with 38 additions and 38 deletions

View File

@@ -17,7 +17,7 @@ import javax.validation.constraints.NotNull;
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@ApiModel @ApiModel
public class AreaDeviceOnlineParam extends DeviceInfoParam.BusinessParam { public class AreaCensusParam extends DeviceInfoParam.BusinessParam {
/** /**
* 监测点等级 * 监测点等级

View File

@@ -6,7 +6,7 @@ import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.response.HttpResult; import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil; import com.njcn.common.utils.HttpResultUtil;
import com.njcn.common.utils.LogUtil; import com.njcn.common.utils.LogUtil;
import com.njcn.device.pojo.param.AreaDeviceOnlineParam; import com.njcn.device.pojo.param.AreaCensusParam;
import com.njcn.device.pojo.vo.AreaDeviceOnlineVO; import com.njcn.device.pojo.vo.AreaDeviceOnlineVO;
import com.njcn.device.pojo.vo.AreaIntegrityVO; import com.njcn.device.pojo.vo.AreaIntegrityVO;
import com.njcn.device.service.AreaDeviceOnlineService; import com.njcn.device.service.AreaDeviceOnlineService;
@@ -34,10 +34,10 @@ import java.util.List;
@Validated @Validated
@Slf4j @Slf4j
@RestController @RestController
@RequestMapping("/areaDeviceOnline") @RequestMapping("/areaCensus")
@Api(tags = "区域统计") @Api(tags = "区域统计")
@AllArgsConstructor @AllArgsConstructor
public class AreaDeviceOnlineController extends BaseController { public class AreaCensusController extends BaseController {
private final AreaDeviceOnlineService areaDeviceOnlineService; private final AreaDeviceOnlineService areaDeviceOnlineService;
@@ -46,11 +46,11 @@ public class AreaDeviceOnlineController extends BaseController {
@OperateInfo(info = LogEnum.BUSINESS_COMMON) @OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/getAreaDeviceOnline") @PostMapping("/getAreaDeviceOnline")
@ApiOperation("获取区域终端在线率") @ApiOperation("获取区域终端在线率")
@ApiImplicitParam(name = "areaDeviceOnlineParam", value = "查询参数实体", required = true) @ApiImplicitParam(name = "areaCensusParam", value = "区域统计查询参数", required = true)
public HttpResult<List<AreaDeviceOnlineVO>> getAreaDeviceOnline(@RequestBody @Validated AreaDeviceOnlineParam areaDeviceOnlineParam) { public HttpResult<List<AreaDeviceOnlineVO>> getAreaDeviceOnline(@RequestBody @Validated AreaCensusParam areaCensusParam) {
String methodDescribe = getMethodDescribe("getAreaDeviceOnline"); String methodDescribe = getMethodDescribe("getAreaDeviceOnline");
LogUtil.njcnDebug(log, "{}", methodDescribe, areaDeviceOnlineParam); LogUtil.njcnDebug(log, "{}", methodDescribe, areaCensusParam);
List<AreaDeviceOnlineVO> result = areaDeviceOnlineService.getAreaDeviceOnline(areaDeviceOnlineParam); List<AreaDeviceOnlineVO> result = areaDeviceOnlineService.getAreaDeviceOnline(areaCensusParam);
if (CollectionUtils.isEmpty(result)) { if (CollectionUtils.isEmpty(result)) {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.NO_DATA, null, methodDescribe); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.NO_DATA, null, methodDescribe);
} else { } else {
@@ -62,11 +62,11 @@ public class AreaDeviceOnlineController extends BaseController {
@OperateInfo(info = LogEnum.BUSINESS_COMMON) @OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/getAreaIntegrity") @PostMapping("/getAreaIntegrity")
@ApiOperation("获取区域数据完整性") @ApiOperation("获取区域数据完整性")
@ApiImplicitParam(name = "areaDeviceOnlineParam", value = "查询参数实体", required = true) @ApiImplicitParam(name = "areaCensusParam", value = "查询参数实体", required = true)
public HttpResult<List<AreaIntegrityVO>> getAreaIntegrity(@RequestBody @Validated AreaDeviceOnlineParam areaDeviceOnlineParam) { public HttpResult<List<AreaIntegrityVO>> getAreaIntegrity(@RequestBody @Validated AreaCensusParam areaCensusParam) {
String methodDescribe = getMethodDescribe("getAreaIntegrity"); String methodDescribe = getMethodDescribe("getAreaIntegrity");
LogUtil.njcnDebug(log, "{}", methodDescribe, areaDeviceOnlineParam); LogUtil.njcnDebug(log, "{}", methodDescribe, areaCensusParam);
List<AreaIntegrityVO> result = areaIntegrityService.getAreaIntegrity(areaDeviceOnlineParam); List<AreaIntegrityVO> result = areaIntegrityService.getAreaIntegrity(areaCensusParam);
if (CollectionUtils.isEmpty(result)) { if (CollectionUtils.isEmpty(result)) {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.NO_DATA, null, methodDescribe); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.NO_DATA, null, methodDescribe);
} else { } else {

View File

@@ -1,6 +1,6 @@
package com.njcn.device.service; package com.njcn.device.service;
import com.njcn.device.pojo.param.AreaDeviceOnlineParam; import com.njcn.device.pojo.param.AreaCensusParam;
import com.njcn.device.pojo.vo.AreaDeviceOnlineVO; import com.njcn.device.pojo.vo.AreaDeviceOnlineVO;
import java.util.List; import java.util.List;
@@ -12,6 +12,6 @@ import java.util.List;
*/ */
public interface AreaDeviceOnlineService { public interface AreaDeviceOnlineService {
List<AreaDeviceOnlineVO> getAreaDeviceOnline(AreaDeviceOnlineParam areaDeviceOnlineParam); List<AreaDeviceOnlineVO> getAreaDeviceOnline(AreaCensusParam areaCensusParam);
} }

View File

@@ -1,6 +1,6 @@
package com.njcn.device.service; package com.njcn.device.service;
import com.njcn.device.pojo.param.AreaDeviceOnlineParam; import com.njcn.device.pojo.param.AreaCensusParam;
import com.njcn.device.pojo.vo.AreaIntegrityVO; import com.njcn.device.pojo.vo.AreaIntegrityVO;
import java.util.List; import java.util.List;
@@ -12,6 +12,6 @@ import java.util.List;
*/ */
public interface AreaIntegrityService { public interface AreaIntegrityService {
List<AreaIntegrityVO> getAreaIntegrity(AreaDeviceOnlineParam areaDeviceOnlineParam); List<AreaIntegrityVO> getAreaIntegrity(AreaCensusParam areaCensusParam);
} }

View File

@@ -5,7 +5,7 @@ import com.njcn.device.controller.GeneralDeviceInfoController;
import com.njcn.device.mapper.AreaDeviceOnlineMapper; import com.njcn.device.mapper.AreaDeviceOnlineMapper;
import com.njcn.device.mapper.DeviceMapper; import com.njcn.device.mapper.DeviceMapper;
import com.njcn.device.pojo.dto.GeneralDeviceDTO; import com.njcn.device.pojo.dto.GeneralDeviceDTO;
import com.njcn.device.pojo.param.AreaDeviceOnlineParam; import com.njcn.device.pojo.param.AreaCensusParam;
import com.njcn.device.pojo.param.DeviceInfoParam; import com.njcn.device.pojo.param.DeviceInfoParam;
import com.njcn.device.pojo.po.Device; import com.njcn.device.pojo.po.Device;
import com.njcn.device.pojo.vo.AreaDeviceOnlineVO; import com.njcn.device.pojo.vo.AreaDeviceOnlineVO;
@@ -45,9 +45,9 @@ public class AreaDeviceOnlineServiceImpl implements AreaDeviceOnlineService {
private final InfluxDbUtils influxDbUtils; private final InfluxDbUtils influxDbUtils;
@Override @Override
public List<AreaDeviceOnlineVO> getAreaDeviceOnline(AreaDeviceOnlineParam areaDeviceOnlineParam) { public List<AreaDeviceOnlineVO> getAreaDeviceOnline(AreaCensusParam areaCensusParam) {
List<AreaDeviceOnlineVO> areaDeviceOnlineVOS = new ArrayList<>(); List<AreaDeviceOnlineVO> areaDeviceOnlineVOS = new ArrayList<>();
List<GeneralDeviceDTO> generalDeviceDTOS = generalDeviceInfoController.getPracticalAllDeviceInfo(areaDeviceOnlineParam).getData(); List<GeneralDeviceDTO> generalDeviceDTOS = generalDeviceInfoController.getPracticalAllDeviceInfo(areaCensusParam).getData();
// //区域下的所有终端id集合 // //区域下的所有终端id集合
// List<String> deviceIds = generalDeviceDTOS.stream().flatMap(dto -> dto.getDeviceIndexes().stream()).collect(Collectors.toList()); // List<String> deviceIds = generalDeviceDTOS.stream().flatMap(dto -> dto.getDeviceIndexes().stream()).collect(Collectors.toList());
@@ -61,11 +61,11 @@ public class AreaDeviceOnlineServiceImpl implements AreaDeviceOnlineService {
continue; continue;
} }
areaDeviceOnlineVO.setAreaName(generalDeviceDTO.getName()); areaDeviceOnlineVO.setAreaName(generalDeviceDTO.getName());
switch (areaDeviceOnlineParam.getLineLevel()) { switch (areaCensusParam.getLineLevel()) {
case 0: case 0:
// 查全部 // 查全部
areaDeviceOnlineVO.setNumber(deviceIndexes.size()); areaDeviceOnlineVO.setNumber(deviceIndexes.size());
areaDeviceOnlineVO = deviceToAreaDeviceOnlineVO(deviceIndexes, areaDeviceOnlineVO, areaDeviceOnlineParam); areaDeviceOnlineVO = deviceToAreaDeviceOnlineVO(deviceIndexes, areaDeviceOnlineVO, areaCensusParam);
break; break;
case 1: case 1:
@@ -73,7 +73,7 @@ public class AreaDeviceOnlineServiceImpl implements AreaDeviceOnlineService {
String firstLevel = "486927bc1c09c14f1e54a5b1757bf5c4"; String firstLevel = "486927bc1c09c14f1e54a5b1757bf5c4";
int deviceNumberFirst = getDeviceNumber(firstLevel, deviceIndexes, generalDeviceDTO.getLineIndexes()); int deviceNumberFirst = getDeviceNumber(firstLevel, deviceIndexes, generalDeviceDTO.getLineIndexes());
areaDeviceOnlineVO.setNumber(deviceNumberFirst); areaDeviceOnlineVO.setNumber(deviceNumberFirst);
areaDeviceOnlineVO = deviceToAreaDeviceOnlineVO(deviceIndexes, areaDeviceOnlineVO, areaDeviceOnlineParam); areaDeviceOnlineVO = deviceToAreaDeviceOnlineVO(deviceIndexes, areaDeviceOnlineVO, areaCensusParam);
break; break;
case 2: case 2:
@@ -81,7 +81,7 @@ public class AreaDeviceOnlineServiceImpl implements AreaDeviceOnlineService {
String secLevel = "eae449e73806a5c810fa2d3b01bc3e50"; String secLevel = "eae449e73806a5c810fa2d3b01bc3e50";
int deviceNumberSec = getDeviceNumber(secLevel, deviceIndexes, generalDeviceDTO.getLineIndexes()); int deviceNumberSec = getDeviceNumber(secLevel, deviceIndexes, generalDeviceDTO.getLineIndexes());
areaDeviceOnlineVO.setNumber(deviceNumberSec); areaDeviceOnlineVO.setNumber(deviceNumberSec);
areaDeviceOnlineVO = deviceToAreaDeviceOnlineVO(deviceIndexes, areaDeviceOnlineVO, areaDeviceOnlineParam); areaDeviceOnlineVO = deviceToAreaDeviceOnlineVO(deviceIndexes, areaDeviceOnlineVO, areaCensusParam);
break; break;
case 3: case 3:
@@ -89,7 +89,7 @@ public class AreaDeviceOnlineServiceImpl implements AreaDeviceOnlineService {
String thiLevel = "64b4afe96e874c3c3dc634ea3ef79a21"; String thiLevel = "64b4afe96e874c3c3dc634ea3ef79a21";
int deviceNumberThi = getDeviceNumber(thiLevel, deviceIndexes, generalDeviceDTO.getLineIndexes()); int deviceNumberThi = getDeviceNumber(thiLevel, deviceIndexes, generalDeviceDTO.getLineIndexes());
areaDeviceOnlineVO.setNumber(deviceNumberThi); areaDeviceOnlineVO.setNumber(deviceNumberThi);
areaDeviceOnlineVO = deviceToAreaDeviceOnlineVO(deviceIndexes, areaDeviceOnlineVO, areaDeviceOnlineParam); areaDeviceOnlineVO = deviceToAreaDeviceOnlineVO(deviceIndexes, areaDeviceOnlineVO, areaCensusParam);
break; break;
case 4: case 4:
@@ -97,7 +97,7 @@ public class AreaDeviceOnlineServiceImpl implements AreaDeviceOnlineService {
String fourLevel = "d3dac5ffa1daf6564e29e989e465135e"; String fourLevel = "d3dac5ffa1daf6564e29e989e465135e";
int deviceNumberFour = getDeviceNumber(fourLevel, deviceIndexes, generalDeviceDTO.getLineIndexes()); int deviceNumberFour = getDeviceNumber(fourLevel, deviceIndexes, generalDeviceDTO.getLineIndexes());
areaDeviceOnlineVO.setNumber(deviceNumberFour); areaDeviceOnlineVO.setNumber(deviceNumberFour);
areaDeviceOnlineVO = deviceToAreaDeviceOnlineVO(deviceIndexes, areaDeviceOnlineVO, areaDeviceOnlineParam); areaDeviceOnlineVO = deviceToAreaDeviceOnlineVO(deviceIndexes, areaDeviceOnlineVO, areaCensusParam);
break; break;
} }
@@ -109,7 +109,7 @@ public class AreaDeviceOnlineServiceImpl implements AreaDeviceOnlineService {
} }
private AreaDeviceOnlineVO deviceToAreaDeviceOnlineVO(List<String> deviceIndexes, AreaDeviceOnlineVO areaDeviceOnlineVO, AreaDeviceOnlineParam areaDeviceOnlineParam) { private AreaDeviceOnlineVO deviceToAreaDeviceOnlineVO(List<String> deviceIndexes, AreaDeviceOnlineVO areaDeviceOnlineVO, AreaCensusParam areaCensusParam) {
List<Device> devices = deviceMapper.selectBatchIds(deviceIndexes); List<Device> devices = deviceMapper.selectBatchIds(deviceIndexes);
BiFunction<Integer, List<String>, Long> integerListLongBiFunction = countDeviceRunStatus(devices); BiFunction<Integer, List<String>, Long> integerListLongBiFunction = countDeviceRunStatus(devices);
areaDeviceOnlineVO.setNormal(integerListLongBiFunction.apply(0, deviceIndexes).intValue()); areaDeviceOnlineVO.setNormal(integerListLongBiFunction.apply(0, deviceIndexes).intValue());
@@ -121,7 +121,7 @@ public class AreaDeviceOnlineServiceImpl implements AreaDeviceOnlineService {
areaDeviceOnlineVO.setBreaksRate(new BigDecimal(breaksRate).setScale(2, RoundingMode.HALF_UP).doubleValue()); areaDeviceOnlineVO.setBreaksRate(new BigDecimal(breaksRate).setScale(2, RoundingMode.HALF_UP).doubleValue());
double shutdownRate = areaDeviceOnlineVO.getShutdown().doubleValue() / deviceIndexes.size() * 100; double shutdownRate = areaDeviceOnlineVO.getShutdown().doubleValue() / deviceIndexes.size() * 100;
areaDeviceOnlineVO.setShutdownRate(new BigDecimal(shutdownRate).setScale(2, RoundingMode.HALF_UP).doubleValue()); areaDeviceOnlineVO.setShutdownRate(new BigDecimal(shutdownRate).setScale(2, RoundingMode.HALF_UP).doubleValue());
List<LineInfluxDbOnlineVO> onlineData = getOnlineData(deviceIndexes, areaDeviceOnlineParam); List<LineInfluxDbOnlineVO> onlineData = getOnlineData(deviceIndexes, areaCensusParam);
if (!CollectionUtils.isEmpty(onlineData)) { if (!CollectionUtils.isEmpty(onlineData)) {
double avgOnline = onlineData.stream().mapToDouble(LineInfluxDbOnlineVO::getOnlineRate).sum() / onlineData.size(); double avgOnline = onlineData.stream().mapToDouble(LineInfluxDbOnlineVO::getOnlineRate).sum() / onlineData.size();
areaDeviceOnlineVO.setOnlineRate(new BigDecimal(avgOnline).setScale(2, RoundingMode.HALF_UP).doubleValue()); areaDeviceOnlineVO.setOnlineRate(new BigDecimal(avgOnline).setScale(2, RoundingMode.HALF_UP).doubleValue());

View File

@@ -4,7 +4,7 @@ import cn.hutool.core.date.DateUtil;
import com.njcn.device.controller.GeneralDeviceInfoController; import com.njcn.device.controller.GeneralDeviceInfoController;
import com.njcn.device.mapper.AreaDeviceOnlineMapper; import com.njcn.device.mapper.AreaDeviceOnlineMapper;
import com.njcn.device.pojo.dto.GeneralDeviceDTO; import com.njcn.device.pojo.dto.GeneralDeviceDTO;
import com.njcn.device.pojo.param.AreaDeviceOnlineParam; import com.njcn.device.pojo.param.AreaCensusParam;
import com.njcn.device.pojo.param.DeviceInfoParam; import com.njcn.device.pojo.param.DeviceInfoParam;
import com.njcn.device.pojo.vo.AreaIntegrityVO; import com.njcn.device.pojo.vo.AreaIntegrityVO;
import com.njcn.device.pojo.vo.LineInfluxDbInegrityVO; import com.njcn.device.pojo.vo.LineInfluxDbInegrityVO;
@@ -39,9 +39,9 @@ public class AreaIntegrityServiceImpl implements AreaIntegrityService {
private final InfluxDbUtils influxDbUtils; private final InfluxDbUtils influxDbUtils;
@Override @Override
public List<AreaIntegrityVO> getAreaIntegrity(AreaDeviceOnlineParam areaDeviceOnlineParam) { public List<AreaIntegrityVO> getAreaIntegrity(AreaCensusParam areaCensusParam) {
List<AreaIntegrityVO> areaIntegrityVOS = new ArrayList<>(); List<AreaIntegrityVO> areaIntegrityVOS = new ArrayList<>();
List<GeneralDeviceDTO> generalDeviceDTOS = generalDeviceInfoController.getPracticalAllDeviceInfo(areaDeviceOnlineParam).getData(); List<GeneralDeviceDTO> generalDeviceDTOS = generalDeviceInfoController.getPracticalAllDeviceInfo(areaCensusParam).getData();
if (!CollectionUtils.isEmpty(generalDeviceDTOS)) { if (!CollectionUtils.isEmpty(generalDeviceDTOS)) {
for (GeneralDeviceDTO generalDeviceDTO : generalDeviceDTOS) { for (GeneralDeviceDTO generalDeviceDTO : generalDeviceDTOS) {
AreaIntegrityVO areaIntegrityVO = new AreaIntegrityVO(); AreaIntegrityVO areaIntegrityVO = new AreaIntegrityVO();
@@ -52,11 +52,11 @@ public class AreaIntegrityServiceImpl implements AreaIntegrityService {
continue; continue;
} }
areaIntegrityVO.setAreaName(generalDeviceDTO.getName()); areaIntegrityVO.setAreaName(generalDeviceDTO.getName());
switch (areaDeviceOnlineParam.getLineLevel()) { switch (areaCensusParam.getLineLevel()) {
case 0: case 0:
// 查全部 // 查全部
areaIntegrityVO.setNumber(lineIndexes.size()); areaIntegrityVO.setNumber(lineIndexes.size());
areaIntegrityVO = lineIdsToAreaOnlineVO(lineIndexes, areaIntegrityVO, areaDeviceOnlineParam); areaIntegrityVO = lineIdsToAreaOnlineVO(lineIndexes, areaIntegrityVO, areaCensusParam);
areaIntegrityVOS.add(areaIntegrityVO); areaIntegrityVOS.add(areaIntegrityVO);
break; break;
@@ -66,7 +66,7 @@ public class AreaIntegrityServiceImpl implements AreaIntegrityService {
List<String> firstLineIdList = areaDeviceOnlineMapper.selectLineIdBylineLevel(firstLevel); List<String> firstLineIdList = areaDeviceOnlineMapper.selectLineIdBylineLevel(firstLevel);
List<String> firstResult = firstLineIdList.stream().filter(item -> lineIndexes.contains(item)).collect(Collectors.toList()); List<String> firstResult = firstLineIdList.stream().filter(item -> lineIndexes.contains(item)).collect(Collectors.toList());
areaIntegrityVO.setNumber(firstResult.size()); areaIntegrityVO.setNumber(firstResult.size());
areaIntegrityVO = lineIdsToAreaOnlineVO(lineIndexes, areaIntegrityVO, areaDeviceOnlineParam); areaIntegrityVO = lineIdsToAreaOnlineVO(lineIndexes, areaIntegrityVO, areaCensusParam);
areaIntegrityVOS.add(areaIntegrityVO); areaIntegrityVOS.add(areaIntegrityVO);
break; break;
@@ -76,7 +76,7 @@ public class AreaIntegrityServiceImpl implements AreaIntegrityService {
List<String> secLineIdList = areaDeviceOnlineMapper.selectLineIdBylineLevel(secLevel); List<String> secLineIdList = areaDeviceOnlineMapper.selectLineIdBylineLevel(secLevel);
List<String> secResult = secLineIdList.stream().filter(item -> lineIndexes.contains(item)).collect(Collectors.toList()); List<String> secResult = secLineIdList.stream().filter(item -> lineIndexes.contains(item)).collect(Collectors.toList());
areaIntegrityVO.setNumber(secResult.size()); areaIntegrityVO.setNumber(secResult.size());
areaIntegrityVO = lineIdsToAreaOnlineVO(lineIndexes, areaIntegrityVO, areaDeviceOnlineParam); areaIntegrityVO = lineIdsToAreaOnlineVO(lineIndexes, areaIntegrityVO, areaCensusParam);
areaIntegrityVOS.add(areaIntegrityVO); areaIntegrityVOS.add(areaIntegrityVO);
break; break;
@@ -86,7 +86,7 @@ public class AreaIntegrityServiceImpl implements AreaIntegrityService {
List<String> thiLineIdList = areaDeviceOnlineMapper.selectLineIdBylineLevel(thiLevel); List<String> thiLineIdList = areaDeviceOnlineMapper.selectLineIdBylineLevel(thiLevel);
List<String> thiResult = thiLineIdList.stream().filter(item -> lineIndexes.contains(item)).collect(Collectors.toList()); List<String> thiResult = thiLineIdList.stream().filter(item -> lineIndexes.contains(item)).collect(Collectors.toList());
areaIntegrityVO.setNumber(thiResult.size()); areaIntegrityVO.setNumber(thiResult.size());
areaIntegrityVO = lineIdsToAreaOnlineVO(lineIndexes, areaIntegrityVO, areaDeviceOnlineParam); areaIntegrityVO = lineIdsToAreaOnlineVO(lineIndexes, areaIntegrityVO, areaCensusParam);
areaIntegrityVOS.add(areaIntegrityVO); areaIntegrityVOS.add(areaIntegrityVO);
break; break;
@@ -96,7 +96,7 @@ public class AreaIntegrityServiceImpl implements AreaIntegrityService {
List<String> fourLineIdList = areaDeviceOnlineMapper.selectLineIdBylineLevel(fourLevel); List<String> fourLineIdList = areaDeviceOnlineMapper.selectLineIdBylineLevel(fourLevel);
List<String> fourResult = fourLineIdList.stream().filter(item -> lineIndexes.contains(item)).collect(Collectors.toList()); List<String> fourResult = fourLineIdList.stream().filter(item -> lineIndexes.contains(item)).collect(Collectors.toList());
areaIntegrityVO.setNumber(fourResult.size()); areaIntegrityVO.setNumber(fourResult.size());
areaIntegrityVO = lineIdsToAreaOnlineVO(lineIndexes, areaIntegrityVO, areaDeviceOnlineParam); areaIntegrityVO = lineIdsToAreaOnlineVO(lineIndexes, areaIntegrityVO, areaCensusParam);
areaIntegrityVOS.add(areaIntegrityVO); areaIntegrityVOS.add(areaIntegrityVO);
break; break;
@@ -108,8 +108,8 @@ public class AreaIntegrityServiceImpl implements AreaIntegrityService {
return areaIntegrityVOS; return areaIntegrityVOS;
} }
private AreaIntegrityVO lineIdsToAreaOnlineVO(List<String> lineIndexes, AreaIntegrityVO areaIntegrityVO, AreaDeviceOnlineParam areaDeviceOnlineParam) { private AreaIntegrityVO lineIdsToAreaOnlineVO(List<String> lineIndexes, AreaIntegrityVO areaIntegrityVO, AreaCensusParam areaCensusParam) {
List<LineInfluxDbInegrityVO> integrityData = getIntegrityData(lineIndexes, areaDeviceOnlineParam); List<LineInfluxDbInegrityVO> integrityData = getIntegrityData(lineIndexes, areaCensusParam);
if (!CollectionUtils.isEmpty(integrityData)) { if (!CollectionUtils.isEmpty(integrityData)) {
double avgIntegrity = integrityData.stream().mapToDouble(LineInfluxDbInegrityVO::getIntegrity).sum() / integrityData.size(); double avgIntegrity = integrityData.stream().mapToDouble(LineInfluxDbInegrityVO::getIntegrity).sum() / integrityData.size();
areaIntegrityVO.setIntegrity(new BigDecimal(avgIntegrity).setScale(2, RoundingMode.HALF_UP).doubleValue()); areaIntegrityVO.setIntegrity(new BigDecimal(avgIntegrity).setScale(2, RoundingMode.HALF_UP).doubleValue());