Skip to content
This repository was archived by the owner on May 5, 2021. It is now read-only.

Commit fb80d9a

Browse files
author
barnabartha
committed
SORMAS-Foundation#4008 - cases merge filter fix
1 parent 57da589 commit fb80d9a

1 file changed

Lines changed: 7 additions & 1 deletion

File tree

sormas-backend/src/main/java/de/symeda/sormas/backend/caze/CaseFacadeEjb.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1350,7 +1350,12 @@ public List<CaseIndexDto[]> getCasesForDuplicateMerging(CaseCriteria criteria, b
13501350
cb.function("date_part", Long.class, cb.parameter(String.class, "date_type"), symptoms2.get(Symptoms.ONSET_DATE)))),
13511351
new Long(30 * 24 * 60 * 60) // 30 days
13521352
));
1353-
Predicate creationDateFilter = cb.lessThan(root.get(Case.CREATION_DATE), root2.get(Case.CREATION_DATE));
1353+
1354+
Predicate creationDateFilter = cb.or(
1355+
cb.lessThan(root.get(Case.CREATION_DATE), root2.get(Case.CREATION_DATE)),
1356+
cb.or(
1357+
cb.lessThan(root2.get(Case.CREATION_DATE), DateHelper.getEndOfDay(criteria.getCreationDateFrom())),
1358+
cb.greaterThan(root2.get(Case.CREATION_DATE), DateHelper.getStartOfDay(criteria.getCreationDateTo()))));
13541359

13551360
Predicate filter = cb.and(caseService.createDefaultFilter(cb, root), caseService.createDefaultFilter(cb, root2));
13561361
if (userFilter != null) {
@@ -1376,6 +1381,7 @@ public List<CaseIndexDto[]> getCasesForDuplicateMerging(CaseCriteria criteria, b
13761381
filter = cb.and(filter, cb.or(sexFilter, birthDateFilter));
13771382
filter = cb.and(filter, onsetDateFilter);
13781383
filter = cb.and(filter, creationDateFilter);
1384+
filter = cb.and(filter, cb.notEqual(root.get(Case.ID), root2.get(Case.ID)));
13791385

13801386
cq.where(filter);
13811387
cq.multiselect(root.get(Case.ID), root2.get(Case.ID), root.get(Case.CREATION_DATE));

0 commit comments

Comments
 (0)