From 01e3dc01abce9e7bba876181632c5e0c198533cb Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Tue, 2 Aug 2022 15:59:28 +0800 Subject: [PATCH 1/4] =?UTF-8?q?colVal=E5=8F=AF=E7=A9=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/dto/form/policy/IcPolicyRuleDetailDTO.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/policy/IcPolicyRuleDetailDTO.java b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/policy/IcPolicyRuleDetailDTO.java index d9f15f9637..910a5b2e38 100644 --- a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/policy/IcPolicyRuleDetailDTO.java +++ b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/policy/IcPolicyRuleDetailDTO.java @@ -64,7 +64,7 @@ public class IcPolicyRuleDetailDTO { /** * 参数值 */ - @NotBlank(message = "参数值不能为空", groups = {ResiRulerShowGroup.class,HouseRulerShowGroup.class,StatRulerShowGroup.class}) + // @NotBlank(message = "参数值不能为空", groups = {ResiRulerShowGroup.class,HouseRulerShowGroup.class,StatRulerShowGroup.class}) private String colVal; /** From fa1a116aa454e8c329b20e98b8d9d328632f7d4f Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Tue, 2 Aug 2022 16:11:04 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E3=80=90=E6=94=BF=E7=AD=96=E6=89=BE?= =?UTF-8?q?=E4=BA=BA=E3=80=91=E6=9F=A5=E8=AF=A2=E5=88=97=E8=A1=A8=E5=8A=A8?= =?UTF-8?q?=E4=BD=9C=EF=BC=8C=E6=94=AF=E6=8C=81=E4=BC=A0=E5=85=A5is=5Fnull?= =?UTF-8?q?/is=5Fnot=5Fnull?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/epmetuser/IcResiUserDao.xml | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/IcResiUserDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/IcResiUserDao.xml index adcb55f269..cc7cf00738 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/IcResiUserDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/IcResiUserDao.xml @@ -116,13 +116,24 @@ and - ${rule.colTable}.${rule.colKey} ${rule.queryType} - - CONCAT('%',#{rule.colVal} ,'%') + + + (${rule.colTable}.${rule.colKey} is null or ${rule.colTable}.${rule.colKey} = '') + + + (${rule.colTable}.${rule.colKey} is not null and ${rule.colTable}.${rule.colKey} != '') - #{rule.colVal} + ${rule.colTable}.${rule.colKey} ${rule.queryType} + + + CONCAT('%',#{rule.colVal} ,'%') + + + #{rule.colVal} + + ${rule.nextLogicalRel} From 615f8a8a6b12067fd790b564b0cd6dd9875f942d Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Tue, 2 Aug 2022 17:03:59 +0800 Subject: [PATCH 3/4] =?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 4/4] =?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"))); + } } }); }