List of usage examples for org.hibernate.criterion Projections distinct
public static Projection distinct(Projection projection)
From source file:com.rta.vsd.data.service.impl.ViolationDataServiceImpl.java
/** * /*from ww w .ja v a 2 s.c o m*/ * get Violations By VehiclePlate for webservice * associated overloaded method * * @author Eldon Barrows * @param dsContext * @param retrieveArabicData * @param trafficFileNumber * @param VehiclePlate * @param firstResult * @param maxResults * @return List<Violation> * @throws VSDDataAccessException */ public List<VsdViolation> getViolationsByVehiclePlateForWS(final DataServiceContext dsContext, boolean retrieveArabicData, VehiclePlate vehiclePlate, int firstResult, int maxResults) throws VSDDataAccessException { logger.info("getViolationsByVehiclePlateForWS -- START"); List<VsdViolation> violations; try { Session session = (Session) dsContext.getInternalContext(); ProjectionList projectionList = Projections.projectionList(); projectionList.add(Projections.property("violation.violationId"), "violationId"); projectionList.add(Projections.property("violation.reportedDate"), "reportedDate"); Criteria projectionCriteria = session.createCriteria(VsdViolation.class, "violation") .add(Restrictions.eq("violation.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("violation.vsdViolationStatus", "vstat", Criteria.LEFT_JOIN, Restrictions.eq("vstat.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("violation.vsdInspections", "i", Criteria.LEFT_JOIN, Restrictions.eq("i.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("i.vsdVehicleInfo", "vi", Criteria.LEFT_JOIN, Restrictions.eq("vi.isDeleted", IDataService.BOOL_FALSE)) .add(Restrictions.eq("vi.vehiclePlateCategory", vehiclePlate.getPlateCategory()).ignoreCase()) .add(Restrictions.eq("vi.vehiclePlateCode", vehiclePlate.getPlateCode()).ignoreCase()) .add(Restrictions.eq("vi.vehiclePlateSource", vehiclePlate.getPlateSource()).ignoreCase()) .add(Restrictions.eq("vi.vehiclePlateNumber", vehiclePlate.getPlateNumber()).ignoreCase()) .createCriteria("vi.vsdOwnerInfos", "oi", Criteria.LEFT_JOIN, Restrictions.eq("oi.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("i.vsdLocation", "loc", Criteria.LEFT_JOIN, Restrictions.eq("loc.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("loc.vsdLocation", "loc2", Criteria.LEFT_JOIN, Restrictions.eq("loc2.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("violation.vsdChannelDefects", "cd", Criteria.LEFT_JOIN, Restrictions.eq("cd.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cd.vsdDefect", "d", Criteria.LEFT_JOIN, Restrictions.eq("d.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cd.vsdChannelDefectFines", "cdf", Criteria.LEFT_JOIN, Restrictions.eq("cdf.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("i.vsdChannelPartInst", "cpi", Criteria.LEFT_JOIN, Restrictions.eq("cpi.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cpi.vsdChannelPartner", "cp", Criteria.LEFT_JOIN, Restrictions.eq("cp.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cp.vsdPartner", "p", Criteria.LEFT_JOIN, Restrictions.eq("p.isDeleted", IDataService.BOOL_FALSE)) .setProjection(Projections.distinct(projectionList)) .addOrder(Order.desc("violation.reportedDate")) .setResultTransformer(new AliasToBeanResultTransformer(VsdViolation.class)) .setFirstResult(firstResult).setMaxResults(maxResults); List list = projectionCriteria.list(); logger.debug("list.size() : " + list.size()); Set resultSet = new HashSet(list); logger.debug("resultSet.size() : " + resultSet.size()); if (resultSet.size() == 0) return new ArrayList(); Iterator iterator = resultSet.iterator(); ArrayList innerQueryList = new ArrayList<Long>(); while (iterator.hasNext()) { VsdViolation vsdViolation = (VsdViolation) iterator.next(); innerQueryList.add(vsdViolation.getViolationId()); } violations = session.createCriteria(VsdViolation.class, "violation") .add(Restrictions.eq("violation.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("violation.vsdViolationStatus", "vstat", Criteria.LEFT_JOIN, Restrictions.eq("vstat.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("violation.vsdSeverityLevel", "sl", Criteria.LEFT_JOIN, Restrictions.eq("sl.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("violation.vsdInspections", "i", Criteria.LEFT_JOIN, Restrictions.eq("i.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("i.vsdVehicleInfo", "vi", Criteria.LEFT_JOIN, Restrictions.eq("vi.isDeleted", IDataService.BOOL_FALSE)) .add(Restrictions.eq("vi.vehiclePlateCategory", vehiclePlate.getPlateCategory()).ignoreCase()) .add(Restrictions.eq("vi.vehiclePlateCode", vehiclePlate.getPlateCode()).ignoreCase()) .add(Restrictions.eq("vi.vehiclePlateSource", vehiclePlate.getPlateSource()).ignoreCase()) .add(Restrictions.eq("vi.vehiclePlateNumber", vehiclePlate.getPlateNumber()).ignoreCase()) .createCriteria("vi.vsdOwnerInfos", "oi", Criteria.LEFT_JOIN, Restrictions.eq("oi.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("i.vsdLocation", "loc", Criteria.LEFT_JOIN, Restrictions.eq("loc.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("loc.vsdLocation", "loc2", Criteria.LEFT_JOIN, Restrictions.eq("loc2.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("violation.vsdChannelDefects", "cd", Criteria.LEFT_JOIN, Restrictions.eq("cd.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cd.vsdDefect", "d", Criteria.LEFT_JOIN, Restrictions.eq("d.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cd.vsdChannelDefectFines", "cdf", Criteria.LEFT_JOIN, Restrictions.eq("cdf.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("i.vsdChannelPartInst", "cpi", Criteria.LEFT_JOIN, Restrictions.eq("cpi.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cpi.vsdChannelPartner", "cp", Criteria.LEFT_JOIN, Restrictions.eq("cp.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cp.vsdPartner", "p", Criteria.LEFT_JOIN, Restrictions.eq("p.isDeleted", IDataService.BOOL_FALSE)) .add(Restrictions.in("violation.violationId", innerQueryList)) .addOrder(Order.desc("violation.reportedDate")) .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY).list(); logger.debug("violations.size() : " + violations.size()); } catch (Exception ex) { logger.error("An error occured in getViolationsByVehiclePlateForWS()"); logger.error(ex); throw new VSDDataAccessException(ex.getMessage(), ex); } logger.info("getViolationsByVehiclePlateForWS -- END"); return violations; }
From source file:com.rta.vsd.data.service.impl.ViolationDataServiceImpl.java
/** * /*from w ww . j ava 2 s. c o m*/ * get Violations By TrafficFileNumber * getViolationsByTrafficFileNumber(dsContext, retrieveArabicData, trafficFileNumber) * getCountForViolationsByTrafficFileNumber(dsContext, retrieveArabicData, trafficFileNumber) * getViolationsByTrafficFileNumber(dsContext, retrieveArabicData, trafficFileNumber, maxResults, firstResult) * @author Eldon Barrows * @param dsContext * @param retrieveArabicData * @param trafficFileNumber * @param maxResults * @param firstResult * @return List<Violation> * @throws VSDDataAccessException */ public List<VsdViolation> getViolationsByTrafficFileNumber(final DataServiceContext dsContext, boolean retrieveArabicData, String trafficFileNumber, int maxResults, int firstResult) throws VSDDataAccessException { logger.info("getViolationsByTrafficFileNumber -- START"); List<VsdViolation> violations; try { Session session = (Session) dsContext.getInternalContext(); ProjectionList projectionList = Projections.projectionList(); projectionList.add(Projections.property("violation.violationId"), "violationId"); projectionList.add(Projections.property("violation.reportedDate"), "reportedDate"); Criteria projectionCriteria = session.createCriteria(VsdViolation.class, "violation") .add(Restrictions.eq("violation.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("violation.vsdInspections", "i", Criteria.LEFT_JOIN, Restrictions.eq("i.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("i.vsdVehicleInfo", "vi", Criteria.LEFT_JOIN, Restrictions.eq("vi.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("vi.vsdOwnerInfos", "oi", Criteria.LEFT_JOIN, Restrictions.eq("oi.isDeleted", IDataService.BOOL_FALSE)) .add(Restrictions.eq("oi.trafficFileNumber", trafficFileNumber).ignoreCase()) .createCriteria("violation.vsdViolationStatus", "vs", Criteria.LEFT_JOIN, Restrictions.eq("vs.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("i.vsdLocation", "l", Criteria.LEFT_JOIN, Restrictions.eq("l.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("l.vsdLocation", "pl", Criteria.LEFT_JOIN, Restrictions.eq("pl.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("i.vsdChannelPartInst", "cpi", Criteria.LEFT_JOIN, Restrictions.eq("cpi.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cpi.vsdChannelPartner", "cp", Criteria.LEFT_JOIN, Restrictions.eq("cp.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cp.vsdPartner", "p", Criteria.LEFT_JOIN, Restrictions.eq("p.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("violation.vsdChannelDefects", "cd", Criteria.LEFT_JOIN, Restrictions.eq("cd.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cd.vsdDefect", "d", Criteria.LEFT_JOIN, Restrictions.eq("d.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("d.vsdDefectCategory", "dc", Criteria.LEFT_JOIN, Restrictions.eq("dc.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cd.vsdChannelDefectFines", "cdf", Criteria.LEFT_JOIN, Restrictions.eq("cdf.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cdf.vsdVCatDefSevFine", "vcdsf", Criteria.LEFT_JOIN, Restrictions.eq("vcdsf.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("vcdsf.vsdPartnerFine", "pf", Criteria.LEFT_JOIN, Restrictions.eq("pf.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("pf.vsdPartner", "partner", Criteria.LEFT_JOIN, Restrictions.eq("partner.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("pf.vsdFine", "vsdFine", Criteria.LEFT_JOIN, Restrictions.eq("vsdFine.isDeleted", IDataService.BOOL_FALSE)) .setProjection(Projections.distinct(projectionList)) .addOrder(Order.desc("violation.reportedDate")) .setResultTransformer(new AliasToBeanResultTransformer(VsdViolation.class)) .setMaxResults(maxResults).setFirstResult(firstResult); List list = projectionCriteria.list(); logger.debug("list.size() : " + list.size()); Set resultSet = new HashSet(list); logger.debug("resultSet.size() : " + resultSet.size()); if (resultSet.size() == 0) return new ArrayList(); Iterator iterator = resultSet.iterator(); ArrayList innerQueryList = new ArrayList<Long>(); while (iterator.hasNext()) { VsdViolation vsdViolation = (VsdViolation) iterator.next(); innerQueryList.add(vsdViolation.getViolationId()); } violations = session.createCriteria(VsdViolation.class, "violation") .add(Restrictions.eq("violation.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("violation.vsdInspections", "i", Criteria.LEFT_JOIN, Restrictions.eq("i.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("i.vsdVehicleInfo", "vi", Criteria.LEFT_JOIN, Restrictions.eq("vi.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("vi.vsdOwnerInfos", "oi", Criteria.LEFT_JOIN, Restrictions.eq("oi.isDeleted", IDataService.BOOL_FALSE)) .add(Restrictions.eq("oi.trafficFileNumber", trafficFileNumber).ignoreCase()) .createCriteria("violation.vsdViolationStatus", "vs", Criteria.LEFT_JOIN, Restrictions.eq("vs.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("i.vsdLocation", "l", Criteria.LEFT_JOIN, Restrictions.eq("l.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("l.vsdLocation", "pl", Criteria.LEFT_JOIN, Restrictions.eq("pl.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("i.vsdChannelPartInst", "cpi", Criteria.LEFT_JOIN, Restrictions.eq("cpi.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cpi.vsdChannelPartner", "cp", Criteria.LEFT_JOIN, Restrictions.eq("cp.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cp.vsdPartner", "p", Criteria.LEFT_JOIN, Restrictions.eq("p.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("violation.vsdChannelDefects", "cd", Criteria.LEFT_JOIN, Restrictions.eq("cd.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cd.vsdDefect", "d", Criteria.LEFT_JOIN, Restrictions.eq("d.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("d.vsdDefectCategory", "dc", Criteria.LEFT_JOIN, Restrictions.eq("dc.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cd.vsdChannelDefectFines", "cdf", Criteria.LEFT_JOIN, Restrictions.eq("cdf.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cdf.vsdVCatDefSevFine", "vcdsf", Criteria.LEFT_JOIN, Restrictions.eq("vcdsf.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("vcdsf.vsdPartnerFine", "pf", Criteria.LEFT_JOIN, Restrictions.eq("pf.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("pf.vsdPartner", "partner", Criteria.LEFT_JOIN, Restrictions.eq("partner.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("pf.vsdFine", "vsdFine", Criteria.LEFT_JOIN, Restrictions.eq("vsdFine.isDeleted", IDataService.BOOL_FALSE)) .add(Restrictions.in("violation.violationId", innerQueryList)) .addOrder(Order.desc("violation.reportedDate")) .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY).list(); logger.debug("violations.size() : " + violations.size()); } catch (Exception ex) { logger.error("An error occured in getViolationsByTrafficFileNumber()"); logger.error(ex); throw new VSDDataAccessException(ex.getMessage(), ex); } logger.info("getViolationsByTrafficFileNumber -- END"); return violations; }
From source file:com.rta.vsd.data.service.impl.ViolationDataServiceImpl.java
/** * // w w w .java 2s .c o m * get Violations with tests By TrafficFileNumber And ChassisNumber * associated overloaded method * * @author Eldon Barrows * @param dsContext * @param retrieveArabicData * @param trafficFileNumber * @param vehicleChassisNumber * @return List<Violation> * @throws VSDDataAccessException */ public List<VsdViolation> getViolationsWithTestsByTrafficFileNumberAndChassisNumber( final DataServiceContext dsContext, boolean retrieveArabicData, String trafficFileNumber, String vehicleChassisNumber, int maxResults) throws VSDDataAccessException { logger.info("getViolationsWithTestsByTrafficFileNumberAndChassisNumber -- START"); List<VsdViolation> violations; try { Session session = (Session) dsContext.getInternalContext(); ProjectionList projectionList = Projections.projectionList(); projectionList.add(Projections.property("violation.violationId"), "violationId"); projectionList.add(Projections.property("violation.reportedDate"), "reportedDate"); Criteria projectionCriteria = session.createCriteria(VsdViolation.class, "violation") .add(Restrictions.eq("violation.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("violation.vsdInspections", "i", Criteria.LEFT_JOIN, Restrictions.eq("i.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("i.vsdVehicleInfo", "vi", Criteria.LEFT_JOIN, Restrictions.eq("vi.isDeleted", IDataService.BOOL_FALSE)) .add(Restrictions.eq("vi.vehicleChassisNumber", vehicleChassisNumber).ignoreCase()) .createCriteria("vi.vsdOwnerInfos", "oi", Criteria.LEFT_JOIN, Restrictions.eq("oi.isDeleted", IDataService.BOOL_FALSE)) .add(Restrictions.eq("oi.trafficFileNumber", trafficFileNumber).ignoreCase()) .createCriteria("violation.vsdChannelDefects", "cd", Criteria.LEFT_JOIN, Restrictions.eq("cd.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cd.vsdChannelDefectTests", "cdt", Criteria.LEFT_JOIN, Restrictions.eq("cdt.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cdt.vsdChannelTest", "ct", Criteria.LEFT_JOIN, Restrictions.eq("ct.isDeleted", IDataService.BOOL_FALSE)) .add(Restrictions.isNotNull("ct.createdTimestamp")) .createCriteria("ct.vsdChannelPartInst", "cpi", Criteria.LEFT_JOIN, Restrictions.eq("cpi.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cpi.vsdChannelPartner", "cp", Criteria.LEFT_JOIN, Restrictions.eq("cp.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cp.vsdPartner", "p", Criteria.LEFT_JOIN, Restrictions.eq("p.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("ct.vsdTestType", "tt", Criteria.LEFT_JOIN, Restrictions.eq("tt.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cd.vsdChannelDefectFines", "cdf", Criteria.LEFT_JOIN, Restrictions.eq("cdf.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cdf.vsdVCatDefSevFine", "vcdsf", Criteria.LEFT_JOIN, Restrictions.eq("vcdsf.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("vcdsf.vsdPartnerFine", "pf", Criteria.LEFT_JOIN, Restrictions.eq("pf.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("pf.vsdPartner", "part", Criteria.LEFT_JOIN, Restrictions.eq("part.isDeleted", IDataService.BOOL_FALSE)) .setProjection(Projections.distinct(projectionList)) .addOrder(Order.desc("violation.reportedDate")) .setResultTransformer(new AliasToBeanResultTransformer(VsdViolation.class)) .setMaxResults(maxResults); List list = projectionCriteria.list(); logger.debug("list.size() : " + list.size()); Set resultSet = new HashSet(list); logger.debug("resultSet.size() : " + resultSet.size()); if (resultSet.size() == 0) return new ArrayList(); Iterator iterator = resultSet.iterator(); ArrayList innerQueryList = new ArrayList<Long>(); while (iterator.hasNext()) { VsdViolation vsdViolation = (VsdViolation) iterator.next(); innerQueryList.add(vsdViolation.getViolationId()); } violations = session.createCriteria(VsdViolation.class, "violation") .add(Restrictions.eq("violation.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("violation.vsdInspections", "i", Criteria.LEFT_JOIN, Restrictions.eq("i.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("i.vsdVehicleInfo", "vi", Criteria.LEFT_JOIN, Restrictions.eq("vi.isDeleted", IDataService.BOOL_FALSE)) .add(Restrictions.eq("vi.vehicleChassisNumber", vehicleChassisNumber).ignoreCase()) .createCriteria("vi.vsdOwnerInfos", "oi", Criteria.LEFT_JOIN, Restrictions.eq("oi.isDeleted", IDataService.BOOL_FALSE)) .add(Restrictions.eq("oi.trafficFileNumber", trafficFileNumber).ignoreCase()) .createCriteria("violation.vsdChannelDefects", "cd", Criteria.LEFT_JOIN, Restrictions.eq("cd.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cd.vsdChannelDefectTests", "cdt", Criteria.LEFT_JOIN, Restrictions.eq("cdt.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cdt.vsdChannelTest", "ct", Criteria.LEFT_JOIN, Restrictions.eq("ct.isDeleted", IDataService.BOOL_FALSE)) .add(Restrictions.isNotNull("ct.createdTimestamp")) .createCriteria("ct.vsdChannelPartInst", "cpi", Criteria.LEFT_JOIN, Restrictions.eq("cpi.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cpi.vsdChannelPartner", "cp", Criteria.LEFT_JOIN, Restrictions.eq("cp.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cp.vsdPartner", "p", Criteria.LEFT_JOIN, Restrictions.eq("p.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("ct.vsdTestType", "tt", Criteria.LEFT_JOIN, Restrictions.eq("tt.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cd.vsdChannelDefectFines", "cdf", Criteria.LEFT_JOIN, Restrictions.eq("cdf.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cdf.vsdVCatDefSevFine", "vcdsf", Criteria.LEFT_JOIN, Restrictions.eq("vcdsf.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("vcdsf.vsdPartnerFine", "pf", Criteria.LEFT_JOIN, Restrictions.eq("pf.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("pf.vsdPartner", "part", Criteria.LEFT_JOIN, Restrictions.eq("part.isDeleted", IDataService.BOOL_FALSE)) .add(Restrictions.in("violation.violationId", innerQueryList)) .addOrder(Order.desc("violation.reportedDate")) .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY).list(); logger.debug("violations.size() : " + violations.size()); } catch (Exception ex) { logger.error("An error occured in getViolationsWithTestsByTrafficFileNumberAndChassisNumber()"); logger.error(ex); throw new VSDDataAccessException(ex.getMessage(), ex); } logger.info("getViolationsWithTestsByTrafficFileNumberAndChassisNumber -- END"); return violations; }
From source file:com.rta.vsd.data.service.impl.ViolationDataServiceImpl.java
/** * /* ww w .j a v a 2 s . c o m*/ * get Violations with tests By TrafficFileNumber * getViolationsWithTestsByTrafficFileNumber(dsContext, retrieveArabicData, trafficFileNumber) * getCountForViolationsWithTestsByTrafficFileNumber(dsContext, retrieveArabicData, trafficFileNumber) * getViolationsWithTestsByTrafficFileNumber(dsContext, retrieveArabicData, trafficFileNumber, maxResults, firstResult) * @author Eldon Barrows * @param dsContext * @param retrieveArabicData * @param trafficFileNumber * @param maxResults * @param firstResult * @return List<Violation> * @throws VSDDataAccessException */ public List<VsdViolation> getViolationsWithTestsByTrafficFileNumber(final DataServiceContext dsContext, boolean retrieveArabicData, String trafficFileNumber, int maxResults, int firstResult) throws VSDDataAccessException { logger.info("getViolationsWithTestsByTrafficFileNumber -- START"); List<VsdViolation> violations; try { Session session = (Session) dsContext.getInternalContext(); ProjectionList projectionList = Projections.projectionList(); projectionList.add(Projections.property("violation.violationId"), "violationId"); projectionList.add(Projections.property("violation.reportedDate"), "reportedDate"); Criteria projectionCriteria = session.createCriteria(VsdViolation.class, "violation") .add(Restrictions.eq("violation.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("violation.vsdInspections", "i", Criteria.LEFT_JOIN, Restrictions.eq("i.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("i.vsdVehicleInfo", "vi", Criteria.LEFT_JOIN, Restrictions.eq("vi.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("vi.vsdOwnerInfos", "oi", Criteria.LEFT_JOIN, Restrictions.eq("oi.isDeleted", IDataService.BOOL_FALSE)) .add(Restrictions.eq("oi.trafficFileNumber", trafficFileNumber).ignoreCase()) .createCriteria("violation.vsdChannelDefects", "cd", Criteria.LEFT_JOIN, Restrictions.eq("cd.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cd.vsdChannelDefectTests", "cdt", Criteria.LEFT_JOIN, Restrictions.eq("cdt.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cdt.vsdChannelTest", "ct", Criteria.LEFT_JOIN, Restrictions.eq("ct.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("ct.vsdChannelPartInst", "cpi", Criteria.LEFT_JOIN, Restrictions.eq("cpi.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("ct.vsdTestType", "tt", Criteria.LEFT_JOIN, Restrictions.eq("tt.isDeleted", IDataService.BOOL_FALSE)) .setProjection(Projections.distinct(projectionList)) .addOrder(Order.desc("violation.reportedDate")) .setResultTransformer(new AliasToBeanResultTransformer(VsdViolation.class)) .setMaxResults(maxResults).setFirstResult(firstResult); List list = projectionCriteria.list(); logger.debug("list.size() : " + list.size()); Set resultSet = new HashSet(list); logger.debug("resultSet.size() : " + resultSet.size()); if (resultSet.size() == 0) return new ArrayList(); Iterator iterator = resultSet.iterator(); ArrayList innerQueryList = new ArrayList<Long>(); while (iterator.hasNext()) { VsdViolation vsdViolation = (VsdViolation) iterator.next(); innerQueryList.add(vsdViolation.getViolationId()); } violations = session.createCriteria(VsdViolation.class, "violation") .add(Restrictions.eq("violation.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("violation.vsdInspections", "i", Criteria.LEFT_JOIN, Restrictions.eq("i.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("i.vsdVehicleInfo", "vi", Criteria.LEFT_JOIN, Restrictions.eq("vi.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("vi.vsdOwnerInfos", "oi", Criteria.LEFT_JOIN, Restrictions.eq("oi.isDeleted", IDataService.BOOL_FALSE)) .add(Restrictions.eq("oi.trafficFileNumber", trafficFileNumber).ignoreCase()) .createCriteria("violation.vsdChannelDefects", "cd", Criteria.LEFT_JOIN, Restrictions.eq("cd.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cd.vsdChannelDefectTests", "cdt", Criteria.LEFT_JOIN, Restrictions.eq("cdt.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cdt.vsdChannelTest", "ct", Criteria.LEFT_JOIN, Restrictions.eq("ct.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("ct.vsdChannelPartInst", "cpi", Criteria.LEFT_JOIN, Restrictions.eq("cpi.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("ct.vsdTestType", "tt", Criteria.LEFT_JOIN, Restrictions.eq("tt.isDeleted", IDataService.BOOL_FALSE)) .add(Restrictions.in("violation.violationId", innerQueryList)) .addOrder(Order.desc("violation.reportedDate")) .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY).list(); logger.debug("violations.size() : " + violations.size()); } catch (Exception ex) { logger.error("An error occured in getViolationsWithTestsByTrafficFileNumber()"); logger.error(ex); throw new VSDDataAccessException(ex.getMessage(), ex); } logger.info("getViolationsWithTestsByTrafficFileNumber -- END"); return violations; }
From source file:com.rta.vsd.data.service.impl.ViolationDataServiceImpl.java
/** * // ww w . j av a 2 s.c o m * get Violations with tests By TrafficFileNumber And ChassisNumber * * @author Eldon Barrows * @param dsContext * @param retrieveArabicData * @param trafficFileNumber * @param List<vehicleChassisNumber> * @return List<Violation> * @throws VSDDataAccessException */ public List<VsdViolation> getViolationsWithTestsByTrafficFileNumberAndChassisNumber( final DataServiceContext dsContext, boolean retrieveArabicData, String trafficFileNumber, List<String> vehicleChassisNumber, int maxResults) throws VSDDataAccessException { logger.info("getViolationsWithTestsByTrafficFileNumberAndChassisNumber -- START"); StringBuffer vehicleChassisNumberString = new StringBuffer(128); vehicleChassisNumberString.append("("); Iterator iterator = vehicleChassisNumber.iterator(); while (iterator.hasNext()) { String chassissNumber = (String) iterator.next(); vehicleChassisNumberString.append("'").append(chassissNumber.toLowerCase()).append("'"); if (iterator.hasNext()) vehicleChassisNumberString.append(", "); } vehicleChassisNumberString.append(")"); List<VsdViolation> violations; try { Session session = (Session) dsContext.getInternalContext(); ProjectionList projectionList = Projections.projectionList(); projectionList.add(Projections.property("violation.violationId"), "violationId"); projectionList.add(Projections.property("violation.reportedDate"), "reportedDate"); Criteria projectionCriteria = session.createCriteria(VsdViolation.class, "violation") .add(Restrictions.eq("violation.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("violation.vsdInspections", "i", Criteria.LEFT_JOIN, Restrictions.eq("i.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("i.vsdVehicleInfo", "vi", Criteria.LEFT_JOIN, Restrictions.eq("vi.isDeleted", IDataService.BOOL_FALSE)) .add(Restrictions.sqlRestriction( "lower ({alias}.VEHICLE_CHASSIS_NUMBER) IN " + vehicleChassisNumberString)) .createCriteria("vi.vsdOwnerInfos", "oi", Criteria.LEFT_JOIN, Restrictions.eq("oi.isDeleted", IDataService.BOOL_FALSE)) .add(Restrictions.eq("oi.trafficFileNumber", trafficFileNumber).ignoreCase()) .createCriteria("violation.vsdChannelDefects", "cd", Criteria.LEFT_JOIN, Restrictions.eq("cd.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cd.vsdChannelDefectTests", "cdt", Criteria.LEFT_JOIN, Restrictions.eq("cdt.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cdt.vsdChannelTest", "ct", Criteria.LEFT_JOIN, Restrictions.eq("ct.isDeleted", IDataService.BOOL_FALSE)) .add(Restrictions.isNotNull("ct.createdTimestamp")) .createCriteria("ct.vsdChannelPartInst", "cpi", Criteria.LEFT_JOIN, Restrictions.eq("cpi.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cpi.vsdChannelPartner", "cp", Criteria.LEFT_JOIN, Restrictions.eq("cp.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cp.vsdPartner", "p", Criteria.LEFT_JOIN, Restrictions.eq("p.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("ct.vsdTestType", "tt", Criteria.LEFT_JOIN, Restrictions.eq("tt.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cd.vsdChannelDefectFines", "cdf", Criteria.LEFT_JOIN, Restrictions.eq("cdf.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cdf.vsdVCatDefSevFine", "vcdsf", Criteria.LEFT_JOIN, Restrictions.eq("vcdsf.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("vcdsf.vsdPartnerFine", "pf", Criteria.LEFT_JOIN, Restrictions.eq("pf.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("pf.vsdPartner", "part", Criteria.LEFT_JOIN, Restrictions.eq("part.isDeleted", IDataService.BOOL_FALSE)) .setProjection(Projections.distinct(projectionList)) .addOrder(Order.desc("violation.reportedDate")) .setResultTransformer(new AliasToBeanResultTransformer(VsdViolation.class)) .setMaxResults(maxResults); List list = projectionCriteria.list(); logger.debug("list.size() : " + list.size()); Set resultSet = new HashSet(list); logger.debug("resultSet.size() : " + resultSet.size()); if (resultSet.size() == 0) return new ArrayList(); iterator = resultSet.iterator(); ArrayList innerQueryList = new ArrayList<Long>(); while (iterator.hasNext()) { VsdViolation vsdViolation = (VsdViolation) iterator.next(); innerQueryList.add(vsdViolation.getViolationId()); } violations = session.createCriteria(VsdViolation.class, "violation") .add(Restrictions.eq("violation.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("violation.vsdInspections", "i", Criteria.LEFT_JOIN, Restrictions.eq("i.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("i.vsdVehicleInfo", "vi", Criteria.LEFT_JOIN, Restrictions.eq("vi.isDeleted", IDataService.BOOL_FALSE)) .add(Restrictions.sqlRestriction( "lower ({alias}.VEHICLE_CHASSIS_NUMBER) IN " + vehicleChassisNumberString)) .createCriteria("vi.vsdOwnerInfos", "oi", Criteria.LEFT_JOIN, Restrictions.eq("oi.isDeleted", IDataService.BOOL_FALSE)) .add(Restrictions.eq("oi.trafficFileNumber", trafficFileNumber).ignoreCase()) .createCriteria("violation.vsdChannelDefects", "cd", Criteria.LEFT_JOIN, Restrictions.eq("cd.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cd.vsdChannelDefectTests", "cdt", Criteria.LEFT_JOIN, Restrictions.eq("cdt.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cdt.vsdChannelTest", "ct", Criteria.LEFT_JOIN, Restrictions.eq("ct.isDeleted", IDataService.BOOL_FALSE)) .add(Restrictions.isNotNull("ct.createdTimestamp")) .createCriteria("ct.vsdChannelPartInst", "cpi", Criteria.LEFT_JOIN, Restrictions.eq("cpi.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cpi.vsdChannelPartner", "cp", Criteria.LEFT_JOIN, Restrictions.eq("cp.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cp.vsdPartner", "p", Criteria.LEFT_JOIN, Restrictions.eq("p.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("ct.vsdTestType", "tt", Criteria.LEFT_JOIN, Restrictions.eq("tt.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cd.vsdChannelDefectFines", "cdf", Criteria.LEFT_JOIN, Restrictions.eq("cdf.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cdf.vsdVCatDefSevFine", "vcdsf", Criteria.LEFT_JOIN, Restrictions.eq("vcdsf.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("vcdsf.vsdPartnerFine", "pf", Criteria.LEFT_JOIN, Restrictions.eq("pf.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("pf.vsdPartner", "part", Criteria.LEFT_JOIN, Restrictions.eq("part.isDeleted", IDataService.BOOL_FALSE)) .add(Restrictions.in("violation.violationId", innerQueryList)) .addOrder(Order.desc("violation.reportedDate")) .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY).list(); logger.debug("violations.size() : " + violations.size()); } catch (Exception ex) { logger.error("An error occured in getViolationsWithTestsByTrafficFileNumberAndChassisNumber()"); logger.error(ex); throw new VSDDataAccessException(ex.getMessage(), ex); } logger.info("getViolationsWithTestsByTrafficFileNumberAndChassisNumber -- END"); return violations; }
From source file:com.rta.vsd.data.service.impl.ViolationDataServiceImpl.java
/** * /*from ww w. j ava 2s . c om*/ * Gets a list of all the violations WithoutPlateConsficationInspections based on the plate details provided * * @author Eldon Barrows * @param dsContext * @param retrieveArabicData * @param vehiclePlateDetails * @param paginationValues * @return List<VsdViolation> * @throws VSDDataAccessException */ public List<VsdViolation> getViolationsWithoutPlateConsficationInspectionsByPlateDetails( final DataServiceContext dsContext, boolean retrieveArabicData, VehiclePlate vehiclePlateDetails, PaginationParam paginationValues) throws VSDDataAccessException { logger.info("getViolationsWithoutPlateConsficationInspectionsByPlateDetails -- START"); List<VsdViolation> violations = null; try { Session session = (Session) dsContext.getInternalContext(); ProjectionList projectionList = Projections.projectionList(); projectionList.add(Projections.property("violaton.violationId"), "violationId"); projectionList.add(Projections.property("violaton.reportedDate"), "reportedDate"); Criteria crit = session.createCriteria(VsdViolation.class, "violaton") .add(Restrictions.eq("violaton.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("vsdInspections", "inspections", Criteria.LEFT_JOIN, Restrictions.eq("inspections.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("vsdVehicleInfo", "vehicleInfo", Criteria.LEFT_JOIN, Restrictions.eq("vehicleInfo.isDeleted", IDataService.BOOL_FALSE)) .add(Restrictions.eq("vehicleInfo.vehiclePlateCategory", vehiclePlateDetails.getPlateCategory()) .ignoreCase()) .add(Restrictions.eq("vehicleInfo.vehiclePlateCode", vehiclePlateDetails.getPlateCode()) .ignoreCase()) .add(Restrictions.eq("vehicleInfo.vehiclePlateSource", vehiclePlateDetails.getPlateSource()) .ignoreCase()) .add(Restrictions.eq("vehicleInfo.vehiclePlateNumber", vehiclePlateDetails.getPlateNumber()) .ignoreCase()) .add(Restrictions.eq("inspections.isPlateConfiscated", Constant.FALSE)) .addOrder(Order.desc("violaton.reportedDate")) .setProjection(Projections.distinct(projectionList)); crit.setResultTransformer(new AliasToBeanResultTransformer(VsdViolation.class)); if (paginationValues.getFirstResult() != null && paginationValues.getFirstResult().longValue() != -1) { crit.setFirstResult(paginationValues.getFirstResult().intValue()); } if (paginationValues.getFetchedSize() != null && paginationValues.getFetchedSize().longValue() != -1) { crit.setMaxResults(paginationValues.getFetchedSize().intValue()); } List list = crit.list(); logger.debug("list.size() : " + list.size()); Set resultSet = new HashSet(list); logger.debug("resultSet.size() : " + resultSet.size()); if (resultSet.size() == 0) return new ArrayList(); Iterator iterator = resultSet.iterator(); ArrayList innerQueryList = new ArrayList<Long>(); while (iterator.hasNext()) { VsdViolation violation = (VsdViolation) iterator.next(); innerQueryList.add(violation.getViolationId()); } Criteria main = session.createCriteria(VsdViolation.class, "violaton") .add(Property.forName("violaton.violationId").in(innerQueryList)) .add(Restrictions.eq("violaton.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("vsdInspections", "inspections", Criteria.LEFT_JOIN, Restrictions.eq("inspections.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("vsdVehicleInfo", "vehicleInfo", Criteria.LEFT_JOIN, Restrictions.eq("vehicleInfo.isDeleted", IDataService.BOOL_FALSE)) .add(Restrictions.eq("vehicleInfo.vehiclePlateCategory", vehiclePlateDetails.getPlateCategory())) .add(Restrictions.eq("vehicleInfo.vehiclePlateCode", vehiclePlateDetails.getPlateCode())) .add(Restrictions.eq("vehicleInfo.vehiclePlateSource", vehiclePlateDetails.getPlateSource())) .add(Restrictions.eq("vehicleInfo.vehiclePlateNumber", vehiclePlateDetails.getPlateNumber())) .add(Restrictions.eq("inspections.isPlateConfiscated", Constant.FALSE)) .addOrder(Order.desc("violaton.reportedDate")); violations = main.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY).list(); logger.info("getViolationsWithoutPlateConsficationInspectionsByPlateDetails -- END"); return violations; } catch (Exception ex) { logger.error("An error occured in getViolationsWithoutPlateConsficationInspectionsByPlateDetails()"); throw new VSDDataAccessException(ex.getMessage(), ex); } }
From source file:com.rta.vsd.data.service.impl.ViolationDataServiceImpl.java
/** * /*from ww w .jav a2 s .c om*/ * Gets all the violations WithoutPlateConsfication for vehicles owned by the owner with the specified trade license number * * @author Eldon Barrows * @param dsContext * @param retrieveArabicData * @param param * @return List<VsdViolation> * @throws VSDDataAccessException */ public List<VsdViolation> getViolationsWithoutPlateConsficationByTraficFileNumber( final DataServiceContext dsContext, boolean retrieveArabicData, String traficFileNo, PaginationParam param) throws VSDDataAccessException { logger.info("getViolationsWithoutPlateConsficationByTraficFileNumber -- START"); List<VsdViolation> violations = null; try { Session session = (Session) dsContext.getInternalContext(); ProjectionList projectionList = Projections.projectionList(); projectionList.add(Projections.property("v.violationId"), "violationId"); projectionList.add(Projections.property("v.reportedDate"), "reportedDate"); violations = session.createCriteria(VsdViolation.class, "v") .add(Restrictions.eq("v.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("v.vsdInspections", "i", Criteria.LEFT_JOIN, Restrictions.eq("i.isDeleted", IDataService.BOOL_FALSE)) .add(Restrictions.eq("i.isPlateConfiscated", Constant.FALSE)) .createCriteria("i.vsdVehicleInfo", "vi", Criteria.LEFT_JOIN, Restrictions.eq("vi.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("vi.vsdOwnerInfos", "oi", Criteria.LEFT_JOIN, Restrictions.eq("oi.isDeleted", IDataService.BOOL_FALSE)) .add(Restrictions.eq("oi.trafficFileNumber", traficFileNo).ignoreCase()) .createCriteria("v.vsdSeverityLevel", "vsl", Criteria.LEFT_JOIN, Restrictions.eq("vsl.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("v.vsdViolationStatus", "vs", Criteria.LEFT_JOIN, Restrictions.eq("vs.isDeleted", IDataService.BOOL_FALSE)) .addOrder(Order.desc("v.reportedDate")).setProjection(Projections.distinct(projectionList)) .setFirstResult(param.getFirstResult().intValue()) .setMaxResults(param.getFetchedSize().intValue()) .setResultTransformer(new AliasToBeanResultTransformer(VsdViolation.class)).list(); if (violations == null || violations.size() == 0) return new ArrayList(); Iterator iterator = violations.iterator(); ArrayList innerQueryList = new ArrayList<Long>(); while (iterator.hasNext()) { VsdViolation violation = (VsdViolation) iterator.next(); innerQueryList.add(violation.getViolationId()); } violations = session.createCriteria(VsdViolation.class, "v") .add(Restrictions.eq("v.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("v.vsdInspections", "i", Criteria.LEFT_JOIN, Restrictions.eq("i.isDeleted", IDataService.BOOL_FALSE)) .add(Restrictions.eq("i.isPlateConfiscated", Constant.FALSE)) .createCriteria("i.vsdVehicleInfo", "vi", Criteria.LEFT_JOIN, Restrictions.eq("vi.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("vi.vsdOwnerInfos", "oi", Criteria.LEFT_JOIN, Restrictions.eq("oi.isDeleted", IDataService.BOOL_FALSE)) .add(Restrictions.eq("oi.trafficFileNumber", traficFileNo).ignoreCase()) .createCriteria("v.vsdSeverityLevel", "vsl", Criteria.LEFT_JOIN, Restrictions.eq("vsl.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("v.vsdViolationStatus", "vs", Criteria.LEFT_JOIN, Restrictions.eq("vs.isDeleted", IDataService.BOOL_FALSE)) .add(Restrictions.in("v.violationId", innerQueryList)).addOrder(Order.desc("v.reportedDate")) .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY).list(); logger.info("getViolationsWithoutPlateConsficationByTraficFileNumber -- END"); return violations; } catch (Exception ex) { logger.error("An error occured in getViolationsWithoutPlateConsficationByTraficFileNumber()"); logger.error(ex); throw new VSDDataAccessException(ex.getMessage(), ex); } }
From source file:com.sccl.attech.modules.sys.service.DictService.java
License:Open Source License
public Page<Dict> find(Page<Dict> page, Dict dict) { // MyBatis /*from www . j a v a2 s.co m*/ // dict.setPage(page); // page.setList(myBatisDictDao.find(dict)); // return page; // Hibernate DetachedCriteria dc = dictDao.createDetachedCriteria(); dc.setProjection(Projections.distinct(Projections.property("type"))); if (StringUtils.isNotEmpty(dict.getLabel())) { dc.add(Restrictions.like("label", "%" + dict.getLabel() + "%")); } if (StringUtils.isNotEmpty(dict.getType())) { dc.add(Restrictions.eq("type", dict.getType())); } System.out.println(dict.getType()); if (StringUtils.isNotEmpty(dict.getDescription())) { dc.add(Restrictions.like("description", "%" + dict.getDescription() + "%")); } // if(StringUtils.isNotEmpty(dict.getParentId())){ // dc.add(Restrictions.sqlRestriction("parent_id = '"+dict.getParentId()+"'")); // dc.add(Restrictions.like("parentIds", "%"+dict.getParentId()+"%"));//? // } // dc.add(Restrictions.sqlRestriction("parent_ids is not null")); dc.add(Restrictions.sqlRestriction("del_flag=0")); dc.add(Restrictions.eq(Dict.FIELD_DEL_FLAG, Dict.DEL_FLAG_NORMAL)); dc.setResultTransformer(dc.DISTINCT_ROOT_ENTITY); return dictDao.find(page, dc); }
From source file:com.segundo.piso.daos.impl.DAOReportImpl.java
@Override @Transactional// w ww .j ava2 s.co m public List<ReporteClases> classesReport(Filters filters) { Criteria criteria = this.sessionFactory.getCurrentSession().createCriteria(Asistencia.class, "attendence") .createAlias("attendence.idClase", "clase").createAlias("attendence.idAlumno", "alumno") .setProjection(Projections.projectionList() .add(Projections.distinct(Projections.property("attendence.idAlumno")), "alumno") .add(Projections.property("attendence.idClase"), "clase")) .addOrder(Order.asc("clase.nombreClase")).addOrder(Order.asc("alumno.nombre")) .setResultTransformer(Transformers.aliasToBean(ReporteClases.class)); addFilters(filters, criteria); return criteria.list(); }
From source file:com.smartitengineering.dao.impl.hibernate.AbstractDAO.java
License:Open Source License
@SuppressWarnings("unchecked") private void processCriteria(Criteria criteria, String element, QueryParameter parameter) { switch (parameter.getParameterType()) { case PARAMETER_TYPE_PROPERTY: { criteria.add(getCriterion(element, parameter)); return;/*from w ww . j a va 2 s . c om*/ } case PARAMETER_TYPE_ORDER_BY: { final Order order; SimpleNameValueQueryParameter<com.smartitengineering.dao.common.queryparam.Order> queryParameter = QueryParameterCastHelper.SIMPLE_PARAM_HELPER .cast(parameter); com.smartitengineering.dao.common.queryparam.Order requestedOrder = queryParameter.getValue(); switch (requestedOrder) { case ASC: { order = Order.asc(element); break; } case DESC: { order = Order.desc(element); break; } default: { order = null; break; } } if (order != null) { criteria.addOrder(order); } return; } case PARAMETER_TYPE_MAX_RESULT: { ValueOnlyQueryParameter<Integer> queryParameter = QueryParameterCastHelper.VALUE_PARAM_HELPER .cast(parameter); criteria.setMaxResults(queryParameter.getValue()); return; } case PARAMETER_TYPE_FIRST_RESULT: { ValueOnlyQueryParameter<Integer> queryParameter = QueryParameterCastHelper.VALUE_PARAM_HELPER .cast(parameter); criteria.setFirstResult(queryParameter.getValue()); return; } case PARAMETER_TYPE_DISJUNCTION: { processDisjunction(criteria, parameter); return; } case PARAMETER_TYPE_CONJUNCTION: { processConjunction(criteria, parameter); return; } case PARAMETER_TYPE_NESTED_PROPERTY: { processNestedParameter(criteria, element, parameter); return; } case PARAMETER_TYPE_COUNT: { final Projection countProjection = Projections.count(element); setProjection(criteria, countProjection); return; } case PARAMETER_TYPE_ROW_COUNT: { final Projection rowCount = Projections.rowCount(); setProjection(criteria, rowCount); return; } case PARAMETER_TYPE_SUM: { final AggregateProjection sum = Projections.sum(element); setProjection(criteria, sum); return; } case PARAMETER_TYPE_MAX: { final AggregateProjection max = Projections.max(element); setProjection(criteria, max); return; } case PARAMETER_TYPE_MIN: { final AggregateProjection min = Projections.min(element); setProjection(criteria, min); return; } case PARAMETER_TYPE_AVG: { final AggregateProjection avg = Projections.avg(element); setProjection(criteria, avg); return; } case PARAMETER_TYPE_GROUP_BY: { final PropertyProjection groupProperty = Projections.groupProperty(element); setProjection(criteria, groupProperty); return; } case PARAMETER_TYPE_COUNT_DISTINCT: { final CountProjection countDistinct = Projections.countDistinct(element); setProjection(criteria, countDistinct); return; } case PARAMETER_TYPE_DISTINCT_PROP: { final Projection distinct = Projections.distinct(Projections.property(element)); setProjection(criteria, distinct); return; } case PARAMETER_TYPE_UNIT_PROP: { final PropertyProjection property = Projections.property(element); setProjection(criteria, property); return; } } }