zbj//1.大屏中间所有数据稳态符合性

This commit is contained in:
zhangbaojian
2023-04-07 09:51:02 +08:00
parent 50d2e2637a
commit 779fa3faa3
5 changed files with 48 additions and 9 deletions

View File

@@ -12,6 +12,7 @@ import com.njcn.system.pojo.enums.StatisticsEnum;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.map.HashedMap;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Service;
import com.njcn.device.pq.api.GeneralDeviceInfoClient;
@@ -19,10 +20,7 @@ import java.math.RoundingMode;
import java.text.NumberFormat;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
/**
@@ -274,6 +272,8 @@ public class LargeScreenServiceImpl implements LargeScreenService {
if (generalDeviceDTO.getDeviceIndexes().size() > 0) {
AllDataVO allDataVO = largeScreenMapper.getFlagCount(generalDeviceDTO.getDeviceIndexes());
allDataVO.setAreaName(generalDeviceDTO.getName());
allDataVO.setIndex(generalDeviceDTO.getIndex());
allDataVO.setSteadyLoad("0.0");
if (generalDeviceDTO.getLineIndexes().size() > 0) {
Map<String, Object> map = largeScreenMapper.getDownCount(generalDeviceDTO.getLineIndexes(), largeScreenParam.getSearchBeginTime(), largeScreenParam.getSearchEndTime());
allDataVO.setEventCounts(map.get("count").toString());
@@ -284,11 +284,13 @@ public class LargeScreenServiceImpl implements LargeScreenService {
} else {
AllDataVO allDataVO = new AllDataVO();
allDataVO.setAreaName(generalDeviceDTO.getName());
allDataVO.setIndex(generalDeviceDTO.getIndex());
allDataVO.setRunning("0");
allDataVO.setHotSpare("0");
allDataVO.setShutdown("0");
allDataVO.setNormal("0");
allDataVO.setBreakdown("0");
allDataVO.setSteadyLoad("0.0");
if (generalDeviceDTO.getLineIndexes().size() > 0) {
Map<String, Object> map = largeScreenMapper.getDownCount(generalDeviceDTO.getLineIndexes(), largeScreenParam.getSearchBeginTime(), largeScreenParam.getSearchEndTime());
allDataVO.setEventCounts(map.get("count").toString());
@@ -298,7 +300,20 @@ public class LargeScreenServiceImpl implements LargeScreenService {
result.add(allDataVO);
}
}
//todo 该接口部分功能未完成 1.稳态符合性 2.综合评估
//部门id集合
List<String> indexIds = generalDeviceDTOList.stream().map(GeneralDeviceDTO::getIndex).collect(Collectors.toList());
List<Map<String, Object>> homeostasisArea = largeScreenMapper.getHomeostasisArea(indexIds, largeScreenParam.getSearchBeginTime(), largeScreenParam.getSearchEndTime());
float f = 0.0f;
for (AllDataVO allDataVO : result) {
for (Map<String, Object> map : homeostasisArea) {
if (Objects.equals(map.get("id"),allDataVO.getIndex())){
f=Float.parseFloat(map.get("avg").toString());
allDataVO.setSteadyLoad(String.valueOf((1-f)*100));
}
}
}
//todo 该接口部分功能未完成 1.综合评估
return result;
}