List of usage examples for org.hibernate.criterion Projections distinct
public static Projection distinct(Projection projection)
From source file:org.openmrs.module.patientaccesscontrol.api.db.hibernate.HibernateRolePatientDAO.java
License:Open Source License
/** * @see org.openmrs.module.patientaccesscontrol.api.RolePatientService#getRoles(Patient) *//*from w w w. j a va 2 s. com*/ @Override @SuppressWarnings("unchecked") public List<Role> getRoles(Patient patient) throws DAOException { return sessionFactory.getCurrentSession().createCriteria(RolePatient.class) .add(Restrictions.eq("patient", patient)) .setProjection(Projections.distinct(Projections.property("role"))).list(); }
From source file:org.openmrs.module.patientaccesscontrol.api.db.hibernate.HibernateRolePatientDAO.java
License:Open Source License
/** * @see // w w w . j ava 2 s . co m * org.openmrs.module.patientaccesscontrol.api.RolePatientService#getExcludedPatients(Set<Role * >) */ @SuppressWarnings("unchecked") @Override public List<Integer> getExcludedPatients(Set<Role> roles) { DetachedCriteria subquery = DetachedCriteria.forClass(RolePatient.class).add(Restrictions.in("role", roles)) .setProjection(Projections.distinct(Projections.property("patient"))); return sessionFactory.getCurrentSession().createCriteria(RolePatient.class) .add(Subqueries.propertyNotIn("patient", subquery)).createAlias("patient", "p") .setProjection(Projections.distinct(Projections.property("p.patientId"))).list(); }
From source file:org.openmrs.module.patientaccesscontrol.api.db.hibernate.HibernateRolePatientDAO.java
License:Open Source License
/** * @see //www . j a va 2 s . c o m * org.openmrs.module.patientaccesscontrol.api.RolePatientService#getExcludedPatients(Set<Role * >) */ @SuppressWarnings("unchecked") @Override public List<Integer> getExplicitlyIncludedPatients(Set<Role> roles) { return sessionFactory.getCurrentSession().createCriteria(RolePatient.class) .add(Restrictions.in("role", roles)).createAlias("patient", "p") .setProjection(Projections.distinct(Projections.property("p.patientId"))).list(); }
From source file:org.openmrs.module.patientaccesscontrol.api.db.hibernate.HibernateRoleProgramDAO.java
License:Open Source License
/** * @see org.openmrs.module.patientaccesscontrol.api.RoleProgramService#getRoles(Program) *///from w w w. j a v a 2 s . co m @Override @SuppressWarnings("unchecked") public List<Role> getRoles(Program program) throws DAOException { if (program == null) { return sessionFactory.getCurrentSession().createCriteria(RoleProgram.class) .add(Restrictions.isNull("program")) .setProjection(Projections.distinct(Projections.property("role"))).list(); } else { return sessionFactory.getCurrentSession().createCriteria(RoleProgram.class) .add(Restrictions.eq("program", program)) .setProjection(Projections.distinct(Projections.property("role"))).list(); } }
From source file:org.openmrs.module.patientaccesscontrol.api.db.hibernate.HibernateRoleProgramDAO.java
License:Open Source License
/** * @see org.openmrs.module.patientaccesscontrol.api.RoleProgramService#getPrograms() *///w ww. j av a 2s.co m @SuppressWarnings("unchecked") @Override public List<Program> getPrograms(Set<Role> roles) throws DAOException { return sessionFactory.getCurrentSession().createCriteria(RoleProgram.class).createAlias("role", "role") .createAlias("program", "program").add(Restrictions.in("role", roles)) .setProjection(Projections.distinct(Projections.property("program"))).list(); }
From source file:org.openmrs.module.patientaccesscontrol.api.db.hibernate.HibernateRoleProgramDAO.java
License:Open Source License
/** * @see PatientAccessControlDAO#getPatients(String, String, List, boolean, Integer, Integer, * boolean)//from w w w . ja va 2 s.com */ @Override @SuppressWarnings("unchecked") public List<Integer> getIncludedPatients(String name, String identifier, List<PatientIdentifierType> identifierTypes, boolean matchIdentifierExactly, List<Program> includePrograms) throws DAOException { if (includePrograms.isEmpty()) { return new ArrayList<Integer>(); } Criteria criteria = createPatientCriteria(includePrograms); criteria = new PatientSearchCriteria(sessionFactory, criteria) .prepareCriteria(name, identifier, identifierTypes, matchIdentifierExactly, false) .setProjection(Projections.distinct(Projections.property("patientId"))); return criteria.list(); }
From source file:org.openmrs.module.patientaccesscontrol.api.db.hibernate.HibernateRoleProgramDAO.java
License:Open Source License
@SuppressWarnings("unchecked") @Override/*from ww w .ja va 2 s. c o m*/ public List<Integer> getExcludedPatients(Collection<Program> programs) { if (programs.isEmpty()) { return sessionFactory.getCurrentSession().createCriteria(PatientProgram.class) .createAlias("patient", "p") .setProjection(Projections.distinct(Projections.property("p.patientId"))).list(); } else { DetachedCriteria subquery = DetachedCriteria.forClass(PatientProgram.class) .add(Restrictions.in("program", programs)) .setProjection(Projections.distinct(Projections.property("patient"))); return sessionFactory.getCurrentSession().createCriteria(PatientProgram.class) .add(Subqueries.propertyNotIn("patient", subquery)).createAlias("patient", "p") .setProjection(Projections.distinct(Projections.property("p.patientId"))).list(); } }
From source file:org.openmrs.module.patientaccesscontrol.api.db.hibernate.HibernateUserPatientDAO.java
License:Open Source License
/** * @see org.openmrs.module.patientaccesscontrol.api.UserPatientService#getUsers(Patient) *//* w w w .ja v a 2 s . co m*/ @Override @SuppressWarnings("unchecked") public List<User> getUsers(Patient patient) throws DAOException { return sessionFactory.getCurrentSession().createCriteria(UserPatient.class) .add(Restrictions.eq("patient", patient)) .setProjection(Projections.distinct(Projections.property("user"))).list(); }
From source file:org.openmrs.module.patientaccesscontrol.api.db.hibernate.HibernateUserPatientDAO.java
License:Open Source License
/** * @see org.openmrs.module.patientaccesscontrol.api.UserPatientService#getExcludedPatients(user) *//*w w w .j a v a2 s. co m*/ @SuppressWarnings("unchecked") @Override public List<Integer> getIncludedPatients(User user) { return sessionFactory.getCurrentSession().createCriteria(UserPatient.class) .add(Restrictions.eq("user", user)).createAlias("patient", "p") .setProjection(Projections.distinct(Projections.property("p.patientId"))).list(); }
From source file:org.openmrs.module.rwandasphstudyreports.api.db.hibernate.HibernateCDCReportsDAO.java
License:Open Source License
@Override public List<Patient> getHIVPositivePatientsOnARVTreatment() { String hivStatus = Context.getAdministrationService() .getGlobalProperty(GlobalPropertyConstants.HIV_STATUS_CONCEPTID); String hivPositive = Context.getAdministrationService() .getGlobalProperty(GlobalPropertyConstants.HIV_POSITIVE_CONCEPTID); List<Person> obsList = getSessionFactory().getCurrentSession().createCriteria(Obs.class) .add(Restrictions.eq("concept", StringUtils.isNotBlank(hivStatus) ? Context.getConceptService().getConcept(Integer.parseInt(hivStatus)) : Context.getConceptService().getConcept(2169))) .add(Restrictions.eq("valueCoded", StringUtils.isNotBlank(hivPositive) ? Context.getConceptService().getConcept(Integer.parseInt(hivPositive)) : Context.getConceptService().getConcept(703))) .setProjection(Projections.distinct(Projections.property("person"))) .setFetchMode("Order", FetchMode.JOIN).add(Restrictions.in("concept", getHIVDrugsConcepts())) .list();/*from w w w. ja va 2 s . c o m*/ List<Patient> pList = new ArrayList<Patient>(); for (Person p : obsList) pList.add(new Patient(p)); return pList; }