细节修改
This commit is contained in:
@@ -6,7 +6,6 @@ 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.AreaCensusParam;
|
import com.njcn.device.pojo.param.AreaCensusParam;
|
||||||
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;
|
||||||
import com.njcn.device.pojo.vo.LineInfluxDbOnlineVO;
|
import com.njcn.device.pojo.vo.LineInfluxDbOnlineVO;
|
||||||
@@ -121,7 +120,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, areaCensusParam);
|
List<LineInfluxDbOnlineVO> onlineData = getOnlineData(deviceIndexes, areaCensusParam.getSearchBeginTime(), areaCensusParam.getSearchEndTime());
|
||||||
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());
|
||||||
@@ -129,6 +128,7 @@ public class AreaDeviceOnlineServiceImpl implements AreaDeviceOnlineService {
|
|||||||
return areaDeviceOnlineVO;
|
return areaDeviceOnlineVO;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private int getDeviceNumber(String lineLevel, List<String> deviceIndexes, List<String> lineIndexes) {
|
private int getDeviceNumber(String lineLevel, List<String> deviceIndexes, List<String> lineIndexes) {
|
||||||
List<String> lineIdList = areaDeviceOnlineMapper.selectLineIdBylineLevel(lineLevel);
|
List<String> lineIdList = areaDeviceOnlineMapper.selectLineIdBylineLevel(lineLevel);
|
||||||
List<String> result = lineIdList.stream().filter(item -> lineIndexes.contains(item)).collect(Collectors.toList());
|
List<String> result = lineIdList.stream().filter(item -> lineIndexes.contains(item)).collect(Collectors.toList());
|
||||||
@@ -152,10 +152,10 @@ public class AreaDeviceOnlineServiceImpl implements AreaDeviceOnlineService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** 获取按终端分组的终端在线率*/
|
/** 获取按终端分组的终端在线率*/
|
||||||
public List<LineInfluxDbOnlineVO> getOnlineData(List<String> deviceIndexes, DeviceInfoParam.BusinessParam deviceInfoParam) {
|
public List<LineInfluxDbOnlineVO> getOnlineData(List<String> deviceIndexes, String searchBeginTime, String searchEndTime) {
|
||||||
//组装sql语句
|
//组装sql语句
|
||||||
StringBuilder stringBuilder = new StringBuilder();
|
StringBuilder stringBuilder = new StringBuilder();
|
||||||
stringBuilder.append("time >= '").append(DateUtil.beginOfDay(DateUtil.parse(deviceInfoParam.getSearchBeginTime()))).append("' and ").append("time <= '").append(DateUtil.endOfDay(DateUtil.parse(deviceInfoParam.getSearchEndTime()))).append("' and ");
|
stringBuilder.append("time >= '").append(DateUtil.beginOfDay(DateUtil.parse(searchBeginTime))).append("' and ").append("time <= '").append(DateUtil.endOfDay(DateUtil.parse(searchEndTime))).append("' and ");
|
||||||
|
|
||||||
for (int i = 0; i < deviceIndexes.size(); i++) {
|
for (int i = 0; i < deviceIndexes.size(); i++) {
|
||||||
if (deviceIndexes.size() - i != 1) {
|
if (deviceIndexes.size() - i != 1) {
|
||||||
|
|||||||
Reference in New Issue
Block a user