zbj//1.大屏中间终端异常信息
This commit is contained in:
@@ -15,6 +15,8 @@ import org.apache.commons.collections.map.HashedMap;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.njcn.device.pq.api.GeneralDeviceInfoClient;
|
||||
|
||||
import java.math.RoundingMode;
|
||||
import java.text.NumberFormat;
|
||||
import java.time.LocalDate;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.ArrayList;
|
||||
@@ -310,7 +312,7 @@ public class LargeScreenServiceImpl implements LargeScreenService {
|
||||
deviceInfoParam.setDeptIndex(largeScreenParam.getDeptIndex());
|
||||
//统计类型
|
||||
SimpleDTO simpleDTO = new SimpleDTO();
|
||||
simpleDTO.setCode(String.valueOf(StatisticsEnum.POWER_NETWORK));
|
||||
simpleDTO.setCode(String.valueOf(StatisticsEnum.LOAD_TYPE));
|
||||
deviceInfoParam.setStatisticalType(simpleDTO);
|
||||
//添加时间
|
||||
deviceInfoParam.setSearchBeginTime(largeScreenParam.getSearchBeginTime());
|
||||
@@ -322,7 +324,59 @@ public class LargeScreenServiceImpl implements LargeScreenService {
|
||||
//获取所有监测点集合
|
||||
List<String> lineIds = generalDeviceDTOList.stream().flatMap(dto -> dto.getLineIndexes().stream()).collect(Collectors.toList());
|
||||
return largeScreenMapper.getMiddleDown(lineIds, largeScreenParam.getSearchBeginTime(), largeScreenParam.getSearchEndTime());
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 大屏中间终端异常信息
|
||||
*/
|
||||
@Override
|
||||
public List<MiddleTerminalVO> getMiddleTerminal(LargeScreenParam largeScreenParam) {
|
||||
//创建返回VO
|
||||
List<MiddleTerminalVO> result = new ArrayList<>();
|
||||
DeviceInfoParam.BusinessParam deviceInfoParam = new DeviceInfoParam.BusinessParam();
|
||||
//部门索引
|
||||
deviceInfoParam.setDeptIndex(largeScreenParam.getDeptIndex());
|
||||
//统计类型
|
||||
SimpleDTO simpleDTO = new SimpleDTO();
|
||||
simpleDTO.setCode(String.valueOf(StatisticsEnum.POWER_NETWORK));
|
||||
deviceInfoParam.setStatisticalType(simpleDTO);
|
||||
//添加时间
|
||||
deviceInfoParam.setSearchBeginTime(largeScreenParam.getSearchBeginTime());
|
||||
deviceInfoParam.setSearchEndTime(largeScreenParam.getSearchEndTime());
|
||||
|
||||
// 获取所有数据
|
||||
List<GeneralDeviceDTO> generalDeviceDTOList = generalDeviceInfoClient.getPracticalAllDeviceInfo(deviceInfoParam).getData();
|
||||
//获取所有监测点集合
|
||||
List<String> deviceIds = generalDeviceDTOList.stream().flatMap(dto -> dto.getDeviceIndexes().stream()).collect(Collectors.toList());
|
||||
List<Map<String, Object>> map = largeScreenMapper.getMiddleTerminal(deviceIds, largeScreenParam.getSearchBeginTime(), largeScreenParam.getSearchEndTime());
|
||||
|
||||
float base = 0.0f;
|
||||
float ream = 0.0f;
|
||||
float statusValue = 0.0f;
|
||||
float v = 0.0f;
|
||||
String s = "";
|
||||
for (Map<String, Object> stringObjectMap : map) {
|
||||
MiddleTerminalVO vo = new MiddleTerminalVO();
|
||||
base = Float.parseFloat(stringObjectMap.get("base").toString());
|
||||
ream = Float.parseFloat(stringObjectMap.get("ream").toString());
|
||||
statusValue = Float.parseFloat(stringObjectMap.get("statusValue").toString());
|
||||
statusValue = statusValue / 1024.0f/1024.0f;
|
||||
v = statusValue / (base + ream);
|
||||
s = formatFloat(v);
|
||||
vo.setName(stringObjectMap.get("name").toString());
|
||||
vo.setIp(stringObjectMap.get("ip").toString());
|
||||
vo.setPort(stringObjectMap.get("port").toString());
|
||||
vo.setComFlag(stringObjectMap.get("comFlag").toString());
|
||||
vo.setProportion(s+"%");
|
||||
result.add(vo);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public static String formatFloat(Float value) {
|
||||
NumberFormat nf = NumberFormat.getNumberInstance();
|
||||
nf.setMaximumFractionDigits(2);//保留两位小数,即四舍五入到小数点后两位
|
||||
nf.setRoundingMode(RoundingMode.HALF_UP);//设置四舍五入模式为四舍五入
|
||||
return nf.format(value);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,4 +25,5 @@ public interface LargeScreenService {
|
||||
|
||||
List<EventVO> getMiddleDown(LargeScreenParam largeScreenParam);
|
||||
|
||||
List<MiddleTerminalVO> getMiddleTerminal(LargeScreenParam largeScreenParam);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user