/** {@inheritDoc} */ @Override public void transform(final Criteria criteria, final SearchCriteria searchCrit) { final PatientSearchCriteria crit = (PatientSearchCriteria) searchCrit; // Nom if (StringUtils.isNotEmpty(crit.getNom())) { CriteriaMakerUtils.addSqlCritere(criteria, "this_.nom", crit.getNom()); } // Prénom if (StringUtils.isNotEmpty(crit.getPrenom())) { CriteriaMakerUtils.addSqlCritere(criteria, "this_.prenom", crit.getPrenom()); } // Prénom if (StringUtils.isNotEmpty(crit.getInitiales())) { CriteriaMakerUtils.addSqlCritere(criteria, "this_.initiales", crit.getInitiales()); } // Numéro IPP if (StringUtils.isNotEmpty(crit.getNumeroIpp())) { CriteriaMakerUtils.addSqlCritere(criteria, "this_.numeroIpp", crit.getNumeroIpp()); } // Numéro IPP if (StringUtils.isNotEmpty(crit.getNumeroIppExact())) { CriteriaMakerUtils.addCritere(criteria, "numeroIpp", crit.getNumeroIppExact()); } this.handleCriteriaEssai(criteria, crit); this.handleCriteriaByTypeInclusion(criteria, crit); this.handleCriteriaNumeroIppOrNomOrPrenom(criteria, crit); }
/** * Méthode en charge de traiter le critère posé sur numéro IPP ou nom ou prénom. * * @param criteria Criteria Hibernate. * @param crit Critère de recherche Patient. */ private void handleCriteriaNumeroIppOrNomOrPrenom( final Criteria criteria, final PatientSearchCriteria crit) { if (StringUtils.isNotEmpty(crit.getNumeroIppOrNomOrPrenom())) { final Disjunction dij = Restrictions.disjunction(); // Numéro interne CriteriaMakerUtils.addSqlCritere(dij, "this_.numeroIpp", crit.getNumeroIppOrNomOrPrenom()); // Nom CriteriaMakerUtils.addSqlCritere(dij, "this_.nom", crit.getNumeroIppOrNomOrPrenom()); // Promoteur CriteriaMakerUtils.addSqlCritere(dij, "this_.prenom", crit.getNumeroIppOrNomOrPrenom()); criteria.add(dij); } }