Browse Source

【政策找人】修复:年龄-不为空,报NumberFormatException

master
wangxianzhang 3 years ago
parent
commit
615f8a8a6b
  1. 14
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/impl/ResiServiceImpl.java

14
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/impl/ResiServiceImpl.java

@ -149,7 +149,8 @@ public class ResiServiceImpl implements ResiService, ResultDataResolver {
// 使用年龄计算出生日期 // 使用年龄计算出生日期
if (resiRule != null) { if (resiRule != null) {
resiRule.stream().forEach((r) -> { resiRule.stream().forEach((r) -> {
if ("BIRTHDAY".equals(r.getColKey())) { // 对生日列计算,并且内容是数字,才计算
if ("BIRTHDAY".equals(r.getColKey()) && StringUtils.isNumeric(r.getColVal())) {
LocalDate birthday = LocalDate.now().minus(Long.valueOf(r.getColVal()), ChronoUnit.YEARS); LocalDate birthday = LocalDate.now().minus(Long.valueOf(r.getColVal()), ChronoUnit.YEARS);
r.setQueryType(revertQueryType(r.getQueryType())); r.setQueryType(revertQueryType(r.getQueryType()));
r.setColVal(birthday.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))); r.setColVal(birthday.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
@ -209,7 +210,16 @@ public class ResiServiceImpl implements ResiService, ResultDataResolver {
resultResis.stream().forEach((r) -> { resultResis.stream().forEach((r) -> {
// 小区名称 // 小区名称
r.setNeighborHoodName(gridIdAndName.get(r.getGridId()).concat("-").concat(neighborhoodIdAndName.get(r.getNeighborhoodId()))); String gridName = gridIdAndName.get(r.getGridId());
String neighborhoodName = neighborhoodIdAndName.get(r.getNeighborhoodId());
if (StringUtils.isNoneBlank(gridName, neighborhoodName)) {
// 网格或者小区都能找到,给填充数据
r.setNeighborHoodName(gridIdAndName.get(r.getGridId()).concat("-").concat(neighborhoodIdAndName.get(r.getNeighborhoodId())));
} else {
// 网格或者小区中任何一个找不到,给个空
r.setNeighborHoodName("");
}
// 出生日期 & 年龄 // 出生日期 & 年龄
if (r.getBirthday() != null) { if (r.getBirthday() != null) {

Loading…
Cancel
Save