预警统计修改
parent
1722e89ca7
commit
e039c4da78
|
|
@ -1015,9 +1015,9 @@ public class QXWarnController {
|
||||||
warnStr.append(stm.getYear()).append("年").append(stm.getMonthValue()).append("月").append(stm.getDayOfMonth()).append("日至")
|
warnStr.append(stm.getYear()).append("年").append(stm.getMonthValue()).append("月").append(stm.getDayOfMonth()).append("日至")
|
||||||
.append(etm.getYear()).append("年").append(etm.getMonthValue()).append("月").append(etm.getDayOfMonth()).append("日,");
|
.append(etm.getYear()).append("年").append(etm.getMonthValue()).append("月").append(etm.getDayOfMonth()).append("日,");
|
||||||
|
|
||||||
List<QXWarning> qxWarnings = service.lambdaQuery().between(QXWarning::getPublishTime, stm, etm).list();
|
// List<QXWarning> qxWarnings = service.lambdaQuery().between(QXWarning::getPublishTime, stm, etm).list();
|
||||||
|
|
||||||
Map<String, List<QXWarning>> map = qxWarnings.stream()
|
Map<String, List<QXWarning>> map = list.stream()
|
||||||
.collect(Collectors.groupingBy(QXWarning::getWarnSignalLevel));
|
.collect(Collectors.groupingBy(QXWarning::getWarnSignalLevel));
|
||||||
List<QXWarning> orange = map.get("橙色");
|
List<QXWarning> orange = map.get("橙色");
|
||||||
List<QXWarning> red = map.get("红色");
|
List<QXWarning> red = map.get("红色");
|
||||||
|
|
@ -1026,35 +1026,48 @@ public class QXWarnController {
|
||||||
warnStr.append("我省共产生橙色气象预警").append(orange.size()).append("次,电话叫应");
|
warnStr.append("我省共产生橙色气象预警").append(orange.size()).append("次,电话叫应");
|
||||||
Map<String, List<QXWarning>> orangeList = orange.stream().collect(Collectors.groupingBy(QXWarning::getCtnm, Collectors.toList()));
|
Map<String, List<QXWarning>> orangeList = orange.stream().collect(Collectors.groupingBy(QXWarning::getCtnm, Collectors.toList()));
|
||||||
|
|
||||||
|
List<String> oraCnnms = Lists.newArrayList();
|
||||||
orangeList.forEach((k, v) -> {
|
orangeList.forEach((k, v) -> {
|
||||||
warnStr.append(getCnnmStr(v));
|
warnStr.append(getCnnmStr(v,oraCnnms));
|
||||||
});
|
});
|
||||||
warnStr.setCharAt(warnStr.length() - 1, '。');
|
|
||||||
|
warnStr.setCharAt(warnStr.length() - 1, '等');
|
||||||
|
warnStr.append(oraCnnms.size()).append("个县市区,").append(orange.stream().filter(o -> Objects.nonNull(o.getCallTime())).count()).append("次。");
|
||||||
|
|
||||||
warnStr.append("红色气象预警").append(red.size()).append("次,电话叫应");
|
warnStr.append("红色气象预警").append(red.size()).append("次,电话叫应");
|
||||||
Map<String, List<QXWarning>> redList = red.stream().collect(Collectors.groupingBy(QXWarning::getCtnm, Collectors.toList()));
|
Map<String, List<QXWarning>> redList = red.stream().collect(Collectors.groupingBy(QXWarning::getCtnm, Collectors.toList()));
|
||||||
|
|
||||||
|
List<String> redCnnms = Lists.newArrayList();
|
||||||
redList.forEach((k, v) -> {
|
redList.forEach((k, v) -> {
|
||||||
warnStr.append(getCnnmStr(v));
|
warnStr.append(getCnnmStr(v,redCnnms));
|
||||||
});
|
});
|
||||||
warnStr.setCharAt(warnStr.length() - 1, '。');
|
warnStr.setCharAt(warnStr.length() - 1, '等');
|
||||||
|
warnStr.append(redCnnms.size()).append("个县市区,").append(red.stream().filter(o -> Objects.nonNull(o.getCallTime())).count()).append("次。");
|
||||||
|
|
||||||
|
|
||||||
} else if (CollectionUtils.isNotEmpty(orange) && CollectionUtils.isEmpty(red)) {
|
} else if (CollectionUtils.isNotEmpty(orange) && CollectionUtils.isEmpty(red)) {
|
||||||
warnStr.append("我省共产生橙色气象预警").append(orange.size()).append("次,电话叫应");
|
warnStr.append("我省共产生橙色气象预警").append(orange.size()).append("次,电话叫应");
|
||||||
Map<String, List<QXWarning>> orangeList = orange.stream().collect(Collectors.groupingBy(QXWarning::getCtnm, Collectors.toList()));
|
Map<String, List<QXWarning>> orangeList = orange.stream().collect(Collectors.groupingBy(QXWarning::getCtnm, Collectors.toList()));
|
||||||
|
|
||||||
|
List<String> oraCnnms = Lists.newArrayList();
|
||||||
|
|
||||||
orangeList.forEach((k, v) -> {
|
orangeList.forEach((k, v) -> {
|
||||||
warnStr.append(getCnnmStr(v));
|
warnStr.append(getCnnmStr(v,oraCnnms));
|
||||||
});
|
});
|
||||||
warnStr.setCharAt(warnStr.length() - 1, '。');
|
|
||||||
|
warnStr.setCharAt(warnStr.length() - 1, '等');
|
||||||
|
warnStr.append(oraCnnms.size()).append("个县市区,").append(orange.stream().filter(o -> Objects.nonNull(o.getCallTime())).count()).append("次。");
|
||||||
|
|
||||||
} else if (CollectionUtils.isNotEmpty(red) && CollectionUtils.isEmpty(orange)) {
|
} else if (CollectionUtils.isNotEmpty(red) && CollectionUtils.isEmpty(orange)) {
|
||||||
warnStr.append("我省共产生红色气象预警").append(red.size()).append("次,电话叫应");
|
warnStr.append("我省共产生红色气象预警").append(red.size()).append("次,电话叫应");
|
||||||
Map<String, List<QXWarning>> redList = red.stream().collect(Collectors.groupingBy(QXWarning::getCtnm, Collectors.toList()));
|
Map<String, List<QXWarning>> redList = red.stream().collect(Collectors.groupingBy(QXWarning::getCtnm, Collectors.toList()));
|
||||||
|
|
||||||
|
List<String> redCnnms = Lists.newArrayList();
|
||||||
redList.forEach((k, v) -> {
|
redList.forEach((k, v) -> {
|
||||||
warnStr.append(getCnnmStr(v));
|
warnStr.append(getCnnmStr(v,redCnnms));
|
||||||
});
|
});
|
||||||
|
warnStr.setCharAt(warnStr.length() - 1, '等');
|
||||||
|
warnStr.append(redCnnms.size()).append("个县市区,").append(red.stream().filter(o -> Objects.nonNull(o.getCallTime())).count()).append("次。");
|
||||||
}
|
}
|
||||||
|
|
||||||
vo.setByWarnStr(warnStr.toString());
|
vo.setByWarnStr(warnStr.toString());
|
||||||
|
|
@ -1064,7 +1077,7 @@ public class QXWarnController {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private StringBuilder getCnnmStr(List<QXWarning> list) {
|
private StringBuilder getCnnmStr(List<QXWarning> list,List<String> cnnms) {
|
||||||
List<String> lists = list.stream().map(QXWarning::getCnnm).distinct().collect(Collectors.toList());
|
List<String> lists = list.stream().map(QXWarning::getCnnm).distinct().collect(Collectors.toList());
|
||||||
|
|
||||||
HashSet<String> cnnmSet = Sets.newHashSet();
|
HashSet<String> cnnmSet = Sets.newHashSet();
|
||||||
|
|
@ -1074,7 +1087,7 @@ public class QXWarnController {
|
||||||
}
|
}
|
||||||
StringBuilder builder = new StringBuilder();
|
StringBuilder builder = new StringBuilder();
|
||||||
cnnmSet.forEach(s -> builder.append(s).append("、"));
|
cnnmSet.forEach(s -> builder.append(s).append("、"));
|
||||||
|
cnnms.addAll(cnnmSet);
|
||||||
return builder;
|
return builder;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -84,6 +84,10 @@ public class QXWarning {
|
||||||
@ApiModelProperty(value = "预警县名称", dataType = "java.lang.String")
|
@ApiModelProperty(value = "预警县名称", dataType = "java.lang.String")
|
||||||
private String cnnm;
|
private String cnnm;
|
||||||
|
|
||||||
|
@TableField(exist = false)
|
||||||
|
@ApiModelProperty(value = "预警通知时间")
|
||||||
|
private Date callTime;
|
||||||
|
|
||||||
@Excel(name = "handleTime")
|
@Excel(name = "handleTime")
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
@ApiModelProperty(value = "预警信息处理时间", dataType = "java.lang.String")
|
@ApiModelProperty(value = "预警信息处理时间", dataType = "java.lang.String")
|
||||||
|
|
|
||||||
|
|
@ -8,12 +8,13 @@
|
||||||
SELECT
|
SELECT
|
||||||
Q.WARN_SIGNAL_LEVEL,
|
Q.WARN_SIGNAL_LEVEL,
|
||||||
Q.CTNM,
|
Q.CTNM,
|
||||||
Q.CNNM
|
Q.CNNM,
|
||||||
|
WF.CALL_TIME
|
||||||
FROM
|
FROM
|
||||||
FXKH_TXL.WARNMSG_FEEDBACK WF
|
FXKH_TXL.WARNMSG_FEEDBACK WF
|
||||||
LEFT JOIN FXKH_TXL.QXWARNING Q ON WF.WARNID = Q.WARNID
|
LEFT JOIN FXKH_TXL.QXWARNING Q ON WF.WARNID = Q.WARNID
|
||||||
WHERE
|
WHERE
|
||||||
WF.HANDLE_TIME BETWEEN #{stm} AND #{etm}
|
Q.PUBLISH_TIME BETWEEN #{stm} AND #{etm}
|
||||||
AND Q.WARN_SIGNAL_LEVEL IS NOT NULL
|
AND Q.WARN_SIGNAL_LEVEL IS NOT NULL
|
||||||
AND Q.CNNM IS NOT NULL
|
AND Q.CNNM IS NOT NULL
|
||||||
ORDER BY Q.WARNID DESC
|
ORDER BY Q.WARNID DESC
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue