Example usage for org.hibernate.criterion Projections projectionList

List of usage examples for org.hibernate.criterion Projections projectionList

Introduction

In this page you can find the example usage for org.hibernate.criterion Projections projectionList.

Prototype

public static ProjectionList projectionList() 

Source Link

Document

Create a new projection list.

Usage

From source file:com.rta.vsd.data.service.impl.ViolationDataServiceImpl.java

/**
 * //  w  w  w .j a  va  2  s  .co 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

/**
 * /*  w w  w.  ja va 2s  .c  om*/
 * 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

/**
 * //from ww w  .  j  a v a 2 s .  c  o m
 * Gets a list of defect fine amount from the violation id and partner code provided.
 * 
 * @author Eldon Barrows
 * @param dsContext
 * @param retrieveArabicData
 * @param violationId
 * @param partnerCode
 * @return List<DefectFineAmount>
 * @throws VSDDataAccessException
 */
public List<DefectFineAmount> getDefectAndFineAmountByViolationIdPartnerCode(DataServiceContext dsContext,
        boolean retrieveArabicData, Long violationId, String partnerCode) throws VSDDataAccessException {
    logger.info("getDefectAndFineAmountByViolationIdPartnerCode -- START");
    List<DefectFineAmount> defectFineAmounts = null;
    try {
        Session session = (Session) dsContext.getInternalContext();
        ProjectionList projectionList = Projections.projectionList();
        projectionList.add(Projections.property("d.defectName"), "defectName");
        projectionList.add(Projections.property("cdf.fineAmount"), "fineAmount");

        defectFineAmounts = session.createCriteria(VsdViolation.class, "v")
                .add(Restrictions.eq("v.isDeleted", IDataService.BOOL_FALSE))
                .add(Restrictions.eq("v.violationId", violationId))
                .createCriteria("v.vsdChannelDefects", "cd", Criteria.INNER_JOIN,
                        Restrictions.eq("cd.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("cd.vsdChannelDefectFines", "cdf", Criteria.INNER_JOIN,
                        Restrictions.eq("cdf.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("cdf.vsdVCatDefSevFine", "vcdsf", Criteria.INNER_JOIN,
                        Restrictions.eq("vcdsf.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("vcdsf.vsdPartnerFine", "pf", Criteria.INNER_JOIN,
                        Restrictions.eq("pf.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("pf.vsdPartner", "p", Criteria.INNER_JOIN,
                        Restrictions.eq("p.isDeleted", IDataService.BOOL_FALSE))
                .add(Restrictions.eq("p.partnerCode", partnerCode).ignoreCase())
                .createCriteria("cd.vsdDefect", "d", Criteria.INNER_JOIN,
                        Restrictions.eq("d.isDeleted", IDataService.BOOL_FALSE))
                .setProjection(projectionList)
                .setResultTransformer(new AliasToBeanResultTransformer(DefectFineAmount.class)).list();
        logger.info("getDefectAndFineAmountByViolationIdPartnerCode -- END");
        return defectFineAmounts;
    } catch (Exception ex) {
        logger.error("An error occured in getDefectAndFineAmountByViolationIdPartnerCode()");
        logger.error(ex);
        throw new VSDDataAccessException(ex.getMessage(), ex);
    }
}

From source file:com.rta.vsd.data.service.impl.ViolationDataServiceImpl.java

/**
 * //from w  w  w.j a  v 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 .ja  v  a  2 s.co m*/
 * 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

/**
 * /*  w  w  w. j a v  a  2s. c  o m*/
 * 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.salesmanager.core.service.catalog.impl.db.dao.ReviewDao.java

License:Open Source License

public Counter countAverageRatingByProduct(long productId) {
    try {//w  ww.j a v a2s  .  c o m
        Criteria c = super.getSession().createCriteria(Review.class)
                .add(Restrictions.eq("productId", productId));

        c.setProjection(
                Projections.projectionList().add(Projections.avg("reviewRating")).add(Projections.rowCount()));

        List resp = c.list();

        Counter counter = new Counter();
        if (resp != null && resp.size() > 0) {
            Iterator i = resp.iterator();
            while (i.hasNext()) {
                Object[] o = (Object[]) i.next();
                counter.setAverage(((Double) o[0]));
                counter.setCount((Integer) o[1]);
            }
        }

        return counter;
    } catch (RuntimeException re) {
        log.error("get failed", re);
        throw re;
    }
}

From source file:com.segundo.piso.daos.impl.DAOReportImpl.java

@Override
@Transactional//from   w ww . j  a v a  2  s .c  o  m
public List<ReporteAlumno> getStudentsByExpiredMovement(int clasesRestantes) {
    System.out.println(sessionFactory);
    StringBuilder restriction = new StringBuilder();
    restriction.append("date_add(movimiento1_.fecha_inicio, interval 31 day) > curdate() ").append(
            "and date_add(movimiento1_.fecha_inicio, interval 31 day) < date_add(current_date(), interval 10 day)")
            .append("and movimiento1_.id_movimiento = asistencia2_.id_movimiento ");

    return this.sessionFactory.getCurrentSession().createCriteria(Alumno.class, "alumno")
            .createAlias("alumno.movimientoList", "movimiento")
            .createAlias("alumno.asistenciaList", "asistencia").createAlias("movimiento.idEvento", "evento")
            .setProjection(Projections.projectionList().add(Projections.property("alumno.codigo"), "codigo")
                    .add(Projections.property("alumno.nombre"), "nombre")
                    .add(Projections.min("asistencia.diasRestantes"), "clasesRestantes")
                    .add(Projections.max("movimiento.idMovimiento"))
                    .add(Projections.property("alumno.idAlumno"), "idAlumno")
                    .add(Projections.max("movimiento.fechaInicio"), "fecha")
                    .add(Projections.groupProperty("alumno.idAlumno")))
            .add(Restrictions.sqlRestriction(restriction.toString()))
            .add(Restrictions.eq("movimiento.activo", true)).add(Restrictions.gt("evento.diasMes", 1))
            .setResultTransformer(Transformers.aliasToBean(ReporteAlumno.class))
            .addOrder(Order.desc("asistencia.diasRestantes")).list();
}

From source file:com.segundo.piso.daos.impl.DAOReportImpl.java

private ReporteMovimientosAlumno totalMovements(Criteria criteria) {
    ReporteMovimientosAlumno reporte = (ReporteMovimientosAlumno) criteria
            .setProjection(Projections.projectionList().add(Projections.sum("costo"), "totalCosto")
                    .add(Projections.sum("pago"), "total").add(Projections.sum("descuento"), "totalDescuento"))
            .setResultTransformer(Transformers.aliasToBean(ReporteMovimientosAlumno.class)).uniqueResult();

    return reporte;
}

From source file:com.segundo.piso.daos.impl.DAOReportImpl.java

@Override
@Transactional/*from  ww  w  .  j ava  2s.  c  o  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();
}