From d3e93bfce4ee7ef99bf259b0f72193d689c17415 Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Tue, 2 Aug 2022 17:07:18 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E6=94=BF=E7=AD=96=E6=89=BE=E4=BA=BA?= =?UTF-8?q?=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=A5NumberFormatExcept?= =?UTF-8?q?ion?= 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"))); + } } }); }