From 3f57080c162308e970cbfd77309ec46fad2dda6d Mon Sep 17 00:00:00 2001 From: akulikov Date: Thu, 22 Aug 2024 17:45:25 +0300 Subject: [PATCH] reports-service: http://jira.mfd.msk:8088/browse/CLS-711 --- .../clearing/reports/db_direct/DBPredicateBuilder.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/db_direct/DBPredicateBuilder.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/db_direct/DBPredicateBuilder.java index bd66a4760..ab47d61ac 100644 --- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/db_direct/DBPredicateBuilder.java +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/db_direct/DBPredicateBuilder.java @@ -42,16 +42,19 @@ public class DBPredicateBuilder extends ImdgPredicateBuilderHazelcast { @Override public ImdgPredicate equals(String key, Object value) { + if (value == null) return isNull(key); return new DBPredicate(" (%s = %s) ".formatted(replaceKey(key), replaceValue(value))); } @Override public ImdgPredicate greatEqual(String key, Comparable value) { + if (value == null) return isNull(key); return new DBPredicate(" (%s >= %s) ".formatted(replaceKey(key), replaceValue(value))); } @Override public ImdgPredicate lessEqual(String key, Comparable value) { + if (value == null) return isNull(key); return new DBPredicate(" (%s <= %s) ".formatted(replaceKey(key), replaceValue(value))); } @@ -77,6 +80,9 @@ public class DBPredicateBuilder extends ImdgPredicateBuilderHazelcast { @Override public ImdgPredicate in(String key, Comparable... values) { + if (values == null || values.length == 0) { + return new DBPredicate(" (false) "); + } return new DBPredicate( " (%s in (%s)) ".formatted( replaceKey(key), @@ -94,7 +100,7 @@ public class DBPredicateBuilder extends ImdgPredicateBuilderHazelcast { @Override public ImdgPredicate not(ImdgPredicate param) { - throw new UnsupportedOperationException("not implemented"); + return new DBPredicate(" (not (%s)) ".formatted(param.toString())); } @Override