From 615f8a8a6b12067fd790b564b0cd6dd9875f942d Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Tue, 2 Aug 2022 17:03:59 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E3=80=90=E6=94=BF=E7=AD=96=E6=89=BE?= =?UTF-8?q?=E4=BA=BA=E3=80=91=E4=BF=AE=E5=A4=8D=EF=BC=9A=E5=B9=B4=E9=BE=84?= =?UTF-8?q?-=E4=B8=8D=E4=B8=BA=E7=A9=BA=EF=BC=8C=E6=8A=A5NumberFormatExcep?= =?UTF-8?q?tion?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dataaggre/service/impl/ResiServiceImpl.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/impl/ResiServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/impl/ResiServiceImpl.java index 8ea7d871d5..6c35d40b73 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/impl/ResiServiceImpl.java +++ b/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) { 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); r.setQueryType(revertQueryType(r.getQueryType())); r.setColVal(birthday.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))); @@ -209,7 +210,16 @@ public class ResiServiceImpl implements ResiService, ResultDataResolver { 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) { From d3e93bfce4ee7ef99bf259b0f72193d689c17415 Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Tue, 2 Aug 2022 17:07:18 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E3=80=90=E6=94=BF=E7=AD=96=E6=89=BE?= =?UTF-8?q?=E4=BA=BA=E3=80=91=E4=BF=AE=E5=A4=8D=EF=BC=9A=E5=B9=B4=E9=BE=84?= =?UTF-8?q?-=E4=B8=8D=E4=B8=BA=E7=A9=BA=EF=BC=8C=E6=8A=A5NumberFormatExcep?= =?UTF-8?q?tion?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dataaggre/service/impl/ResiServiceImpl.java | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/impl/ResiServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/impl/ResiServiceImpl.java index 6c35d40b73..59810ea97b 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/impl/ResiServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/impl/ResiServiceImpl.java @@ -149,11 +149,17 @@ public class ResiServiceImpl implements ResiService, ResultDataResolver { // 使用年龄计算出生日期 if (resiRule != null) { resiRule.stream().forEach((r) -> { - // 对生日列计算,并且内容是数字,才计算 - if ("BIRTHDAY".equals(r.getColKey()) && StringUtils.isNumeric(r.getColVal())) { - LocalDate birthday = LocalDate.now().minus(Long.valueOf(r.getColVal()), ChronoUnit.YEARS); - r.setQueryType(revertQueryType(r.getQueryType())); - r.setColVal(birthday.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))); + // 对生日列计算 + if ("BIRTHDAY".equals(r.getColKey())) { + if ("is_null".equals(r.getQueryType()) || "is_not_null".equals(r.getQueryType())) { + // 如果是is_null、is_not_null,那么直接用这个条件 + return; + } else { + //如果不是is_null、is_not_null,那么需要转换为出生日期 + LocalDate birthday = LocalDate.now().minus(Long.valueOf(r.getColVal()), ChronoUnit.YEARS); + r.setQueryType(revertQueryType(r.getQueryType())); + r.setColVal(birthday.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))); + } } }); }