Commit 8b8ed8fd authored by zhangsen's avatar zhangsen

逆变器统计bug

parent a85fdf0f
......@@ -1883,9 +1883,17 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator {
//
// return numMap;
String sql = " SELECT * FROM indicators_" + gatewayId + " WHERE (equipmentIndexName ='待机' or equipmentIndexName ='故障停机' or equipmentIndexName ='告警运行' or equipmentIndexName ='限额运行' or equipmentIndexName ='停机') and value = 'true'";
List<IndicatorsDto> indicatorsDtoList = influxDButils.getListData(sql, IndicatorsDto.class);
String totalSql = "SELECT * FROM indicators_" + gatewayId + " WHERE frontModule = '逆变器' and equipmentIndexName = '运行'";
List<IndicatorsDto> totalEquipmentList = influxDButils.getListData(totalSql, IndicatorsDto.class);
// 逆变器总数量
Integer totalNumber = totalEquipmentList.size();
List<String> zcEquipmentNumberList = totalEquipmentList.stream().filter(t -> "true".equals(t.getValue())).map(IndicatorsDto::getEquipmentNumber).collect(Collectors.toList());
// List<String> equipmentNumberList = totalEquipmentList.stream().map(IndicatorsDto::getEquipmentNumber).collect(Collectors.toList());
String sql = " SELECT * FROM indicators_" + gatewayId + " WHERE (equipmentIndexName ='待机' or equipmentIndexName ='故障停机' or equipmentIndexName ='告警运行' or equipmentIndexName ='限额运行' or equipmentIndexName ='停机' or equipmentIndexName = '通讯故障' or equipmentIndexName = '降额运行') and value = 'true'";
List<IndicatorsDto> indicatorsDtoList = influxDButils.getListData(sql, IndicatorsDto.class);
List<String> equipmentNumberList = indicatorsDtoList.stream().map(IndicatorsDto::getEquipmentNumber).distinct().collect(Collectors.toList());
int djNum = 0;
int gzNum = 0;
int gjNum = 0;
......@@ -1894,55 +1902,45 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator {
int txNum = 0;
int tjNum = 0;
int zcNum = 0;
Map<String, Object> numMap = new HashMap<>();
Set<String> equipNum = new HashSet<>();
for (IndicatorsDto indicatorsDto : indicatorsDtoList) {
switch (indicatorsDto.getEquipmentIndexName()) {
case "待机":
djNum += 1;
break;
case "故障停机":
gzNum += 1;
break;
case "告警运行":
gjNum += 1;
break;
case "限额运行":
xeNum += 1;
equipNum.add(indicatorsDto.getEquipmentNumber());
break;
case "停机":
tjNum += 1;
break;
}
}
String xesql = " SELECT * FROM indicators_" + gatewayId + " WHERE equipmentIndexName ='限电运行' and frontModule = '逆变器' and value = 'true'";
List<IndicatorsDto> xeList = influxDButils.getListData(xesql, IndicatorsDto.class);
for (IndicatorsDto dto : xeList) {
if (!ValidationUtil.isEmpty(equipNum) && equipNum.contains(dto.getEquipmentNumber())) {
xdNum += 1;
if (equipmentNumberList.contains(indicatorsDto.getEquipmentNumber()) && !zcEquipmentNumberList.contains(indicatorsDto.getEquipmentNumber())) {
switch (indicatorsDto.getEquipmentIndexName()) {
case "待机":
djNum += 1;
equipmentNumberList.remove(indicatorsDto.getEquipmentNumber());
break;
case "故障停机":
gzNum += 1;
equipmentNumberList.remove(indicatorsDto.getEquipmentNumber());
break;
case "告警运行":
gjNum += 1;
equipmentNumberList.remove(indicatorsDto.getEquipmentNumber());
break;
case "限额运行":
xeNum += 1;
equipmentNumberList.remove(indicatorsDto.getEquipmentNumber());
equipNum.add(indicatorsDto.getEquipmentNumber());
break;
case "停机":
tjNum += 1;
equipmentNumberList.remove(indicatorsDto.getEquipmentNumber());
break;
case "通讯故障":
xdNum += 1;
equipmentNumberList.remove(indicatorsDto.getEquipmentNumber());
break;
case "降额运行":
txNum += 1;
equipmentNumberList.remove(indicatorsDto.getEquipmentNumber());
break;
}
}
}
String querySql = " SELECT * FROM indicators_" + gatewayId + " where equipmentIndexName ='运行' and value = 'true'";
List<IndicatorsDto> queryList = influxDButils.getListData(querySql, IndicatorsDto.class);
if (!ValidationUtil.isEmpty(queryList)) {
List<String> collect = queryList.stream().map(IndicatorsDto::getEquipmentNumber).collect(Collectors.toList());
Set<String> strings = new HashSet<>(collect);
zcNum = collect.size() - strings.size();
}
String querySql1 = " SELECT * FROM indicators_" + gatewayId + " where equipmentIndexName ='通讯异常' and value = 'true'";
List<IndicatorsDto> queryList1 = influxDButils.getListData(querySql1, IndicatorsDto.class);
if (!ValidationUtil.isEmpty(queryList1)) {
List<String> collect1 = queryList.stream().map(IndicatorsDto::getEquipmentNumber).collect(Collectors.toList());
Set<String> strings1 = new HashSet<>(collect1);
txNum = collect1.size() - strings1.size();
}
zcNum = totalNumber - djNum - gzNum - gjNum - xeNum - xdNum - txNum - tjNum;
Page<Map<String, Object>> mapPage = new Page<>();
ArrayList<Map<String, Object>> resultList = new ArrayList<>();
HashMap<String, Object> map = new HashMap<>();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment