@@ -183,8 +183,9 @@ public Sample getReferredFrom(String sampleUuid) {
183183 CriteriaBuilder cb = em .getCriteriaBuilder ();
184184 CriteriaQuery <Sample > cq = cb .createQuery (getElementClass ());
185185 Root <Sample > from = cq .from (getElementClass ());
186+ Join <Sample , Sample > referredJoin = from .join (Sample .REFERRED_TO , JoinType .LEFT );
186187
187- cq .where (cb .equal (from .get (Sample . REFERRED_TO ), getByUuid ( sampleUuid ) ));
188+ cq .where (cb .equal (referredJoin .get (AbstractDomainObject . UUID ), sampleUuid ));
188189 try {
189190 return em .createQuery (cq ).getSingleResult ();
190191 } catch (NoResultException e ) {
@@ -406,24 +407,28 @@ public Predicate buildCriteriaFilter(SampleCriteria criteria, CriteriaBuilder cb
406407 filter = CriteriaBuilderHelper .and (cb , filter , cb .equal (joins .getContact ().get (Contact .UUID ), criteria .getContact ().getUuid ()));
407408 }
408409 if (criteria .getEventParticipant () != null ) {
409- filter = CriteriaBuilderHelper .and (cb , filter , cb .equal (joins .getEventParticipant ().get (EventParticipant .UUID ), criteria .getEventParticipant ().getUuid ()));
410+ filter = CriteriaBuilderHelper
411+ .and (cb , filter , cb .equal (joins .getEventParticipant ().get (EventParticipant .UUID ), criteria .getEventParticipant ().getUuid ()));
410412 }
411413 if (criteria .getSampleReportDateFrom () != null && criteria .getSampleReportDateTo () != null ) {
412414 filter = CriteriaBuilderHelper .and (
413415 cb ,
414416 filter ,
415417 cb .between (sample .get (Sample .SAMPLE_DATE_TIME ), criteria .getSampleReportDateFrom (), criteria .getSampleReportDateTo ()));
416418 } else if (criteria .getSampleReportDateFrom () != null ) {
417- filter = CriteriaBuilderHelper .and (cb , filter , cb .greaterThanOrEqualTo (sample .get (Sample .SAMPLE_DATE_TIME ), criteria .getSampleReportDateFrom ()));
419+ filter = CriteriaBuilderHelper
420+ .and (cb , filter , cb .greaterThanOrEqualTo (sample .get (Sample .SAMPLE_DATE_TIME ), criteria .getSampleReportDateFrom ()));
418421 } else if (criteria .getSampleReportDateTo () != null ) {
419- filter = CriteriaBuilderHelper .and (cb , filter , cb .lessThanOrEqualTo (sample .get (Sample .SAMPLE_DATE_TIME ), criteria .getSampleReportDateTo ()));
422+ filter =
423+ CriteriaBuilderHelper .and (cb , filter , cb .lessThanOrEqualTo (sample .get (Sample .SAMPLE_DATE_TIME ), criteria .getSampleReportDateTo ()));
420424 }
421425 if (criteria .getSpecimenCondition () != null ) {
422426 filter = CriteriaBuilderHelper .and (cb , filter , cb .equal (sample .get (Sample .SPECIMEN_CONDITION ), criteria .getSpecimenCondition ()));
423427 }
424428 if (criteria .getRelevanceStatus () != null ) {
425429 if (criteria .getRelevanceStatus () == EntityRelevanceStatus .ACTIVE ) {
426- filter = CriteriaBuilderHelper .and (cb , filter , cb .or (cb .equal (joins .getCaze ().get (Case .ARCHIVED ), false ), cb .isNull (joins .getCaze ().get (Case .ARCHIVED ))));
430+ filter = CriteriaBuilderHelper
431+ .and (cb , filter , cb .or (cb .equal (joins .getCaze ().get (Case .ARCHIVED ), false ), cb .isNull (joins .getCaze ().get (Case .ARCHIVED ))));
427432 } else if (criteria .getRelevanceStatus () == EntityRelevanceStatus .ARCHIVED ) {
428433 filter = CriteriaBuilderHelper .and (cb , filter , cb .equal (joins .getCaze ().get (Case .ARCHIVED ), true ));
429434 }
0 commit comments