Example usage for org.hibernate.criterion Restrictions in

List of usage examples for org.hibernate.criterion Restrictions in

Introduction

In this page you can find the example usage for org.hibernate.criterion Restrictions in.

Prototype

public static Criterion in(String propertyName, Collection values) 

Source Link

Document

Apply an "in" constraint to the named property.

Usage

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

/**
 * /*from  www  .  j a  va2  s .  c  o m*/
 * Gets a list of violations with their associated defects(VsdChannelDefect) by their statuses
 * 
 * @author Eldon Barrows
 * @param dsContext
 * @param retrieveArabicData
 * @param statuses
 * @param testStatus
 * @param reportedDate
 * @param isViolationDefect
 * @return List<VsdViolation>
 * @throws VSDDataAccessException
 */
public List<VsdViolation> getViolationsWithDefectsByStatuses(DataServiceContext dsContext,
        boolean retrieveArabicData, List<Long> violationStatusIds, String testStatus, Date reportedDate,
        Character isViolationDefect) throws VSDDataAccessException {
    logger.info("getViolationsWithDefectsByStatuses -- START");
    List<VsdViolation> violations = null;
    try {
        Session session = (Session) dsContext.getInternalContext();

        Criteria criteria = session.createCriteria(VsdViolation.class, "violations")
                .add(Restrictions.eq("violations.isDeleted", IDataService.BOOL_FALSE))
                .add(Restrictions.eq("violations.reportedDate", reportedDate))
                .createCriteria("violations.vsdInspections", "i", Criteria.LEFT_JOIN,
                        Restrictions.eq("i.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("i.vsdPlateConditionByFrontPlateConditionId", "fpc", Criteria.LEFT_JOIN,
                        Restrictions.eq("fpc.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("i.vsdPlateConditionByRearPlateConditionId", "rpc", Criteria.LEFT_JOIN,
                        Restrictions.eq("rpc.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("i.vsdVehicleInfo", "vi", Criteria.LEFT_JOIN,
                        Restrictions.eq("vi.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("vi.vsdDriverInfos", "di", Criteria.LEFT_JOIN,
                        Restrictions.eq("di.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("vi.vsdOwnerInfos", "oi", Criteria.LEFT_JOIN,
                        Restrictions.eq("oi.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("violations.vsdSeverityLevel", "s", Criteria.LEFT_JOIN,
                        Restrictions.eq("s.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("violations.vsdChannelDefects", "cd", Criteria.LEFT_JOIN,
                        Restrictions.eq("cd.isDeleted", IDataService.BOOL_FALSE))
                .add(Restrictions.eq("cd.isViolationDefect", isViolationDefect))
                .createCriteria("cd.vsdDefect", "def", Criteria.LEFT_JOIN,
                        Restrictions.eq("def.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));
        if (testStatus != null) {
            criteria.add(Restrictions.eq("ct.testStatus", testStatus));
        }
        criteria.createCriteria("violations.vsdViolationStatus", "vs", Criteria.LEFT_JOIN,
                Restrictions.eq("vs.isDeleted", IDataService.BOOL_FALSE))
                .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY)
                .add(Restrictions.in("vs.violationStatusId", violationStatusIds));
        violations = criteria.list();
        logger.info("getViolationsWithDefectsByStatuses -- END");
        return violations;
    } catch (Exception ex) {
        logger.error("An error occured in getViolationsWithDefectsByStatuses()");
        logger.error(ex);
        throw new VSDDataAccessException(ex.getMessage(), ex);
    }
}

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

/**
 * //from  ww  w  .ja v a 2  s .  c o m
 * Gets a list of violations with their associated defects(VsdChannelDefect) by their statuses and due date
 * 
 * @author Eldon Barrows
 * @param dsContext
 * @param retrieveArabicData
 * @param statuses
 * @param testStatus
 * @param dueDate
 * @return List<VsdViolation>
 * @throws VSDDataAccessException
 */
public List<VsdViolation> getViolationsWithDefectsByStatusesAndDueDate(DataServiceContext dsContext,
        boolean retrieveArabicData, List<Long> violationStatusIds, String testStatus, Date dueDate)
        throws VSDDataAccessException {
    logger.info("getViolationsWithDefectsByStatusesAndDueDate -- START");
    List<VsdViolation> violations = null;
    try {
        Session session = (Session) dsContext.getInternalContext();

        Criteria criteria = session.createCriteria(VsdViolation.class, "violations")
                .add(Restrictions.eq("violations.isDeleted", IDataService.BOOL_FALSE))
                .add(Restrictions.eq("violations.dueDate", dueDate))
                .createCriteria("violations.vsdInspections", "i", Criteria.LEFT_JOIN,
                        Restrictions.eq("i.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("i.vsdPlateConditionByFrontPlateConditionId", "fpc", Criteria.LEFT_JOIN,
                        Restrictions.eq("fpc.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("i.vsdPlateConditionByRearPlateConditionId", "rpc", Criteria.LEFT_JOIN,
                        Restrictions.eq("rpc.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("i.vsdVehicleInfo", "vi", Criteria.LEFT_JOIN,
                        Restrictions.eq("vi.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("vi.vsdDriverInfos", "di", Criteria.LEFT_JOIN,
                        Restrictions.eq("di.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("vi.vsdOwnerInfos", "oi", Criteria.LEFT_JOIN,
                        Restrictions.eq("oi.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("violations.vsdSeverityLevel", "s", Criteria.LEFT_JOIN,
                        Restrictions.eq("s.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("violations.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));
        if (testStatus != null) {
            criteria.add(Restrictions.eq("ct.testStatus", testStatus));
        }
        criteria.createCriteria("violations.vsdViolationStatus", "vs", Criteria.LEFT_JOIN,
                Restrictions.eq("vs.isDeleted", IDataService.BOOL_FALSE))
                .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY)
                .add(Restrictions.in("vs.violationStatusId", violationStatusIds));
        violations = criteria.list();
        logger.info("getViolationsWithDefectsByStatusesAndDueDate -- END");
        return violations;
    } catch (Exception ex) {
        logger.error("An error occured in getViolationsWithDefectsByStatusesAndDueDate()");
        logger.error(ex);
        throw new VSDDataAccessException(ex.getMessage(), ex);
    }
}

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

/**
 * //from  www . j  a va2 s  . c  o  m
 * get Violation With Inspections And ChannelDefects By ViolationTicketCode
 * 
 * @author Eldon Barrows
 * @param dsContext
 * @param retrieveArabicData
 * @param violationTicketCode
 * @return VsdViolation
 * @throws VSDDataAccessException
 */
public VsdViolation getViolationWithInspectionsAndChannelDefectsByViolationTicketCode(
        DataServiceContext dsContext, boolean retrieveArabicData, String violationTicketCode,
        List<Long> violationStatusIds) throws VSDDataAccessException {
    logger.info("getViolationWithInspectionsAndChannelDefectsByViolationTicketCode -- START");
    VsdViolation violation = null;
    try {
        Session session = (Session) dsContext.getInternalContext();

        violation = (VsdViolation) session.createCriteria(VsdViolation.class, "violations")
                .add(Restrictions.eq("violations.isDeleted", IDataService.BOOL_FALSE))
                .add(Restrictions.eq("violations.violationTicketCode", violationTicketCode).ignoreCase())
                .createCriteria("violations.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("violations.vsdInspections", "i", Criteria.LEFT_JOIN,
                        Restrictions.eq("i.isDeleted", IDataService.BOOL_FALSE))
                .add(Restrictions.in("violations.vsdViolationStatus.violationStatusId", violationStatusIds))
                .uniqueResult();
        logger.info("getViolationWithInspectionsAndChannelDefectsByViolationTicketCode -- END");
        return violation;
    } catch (Exception ex) {
        logger.error("An error occured in getViolationWithInspectionsAndChannelDefectsByViolationTicketCode()");
        logger.error(ex);
        throw new VSDDataAccessException(ex.getMessage(), ex);
    }
}

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

/**
 * /*from ww  w .  j a v a2 s . c om*/
 * get Violation With Inspections And ChannelDefects By ViolationTicketCode
 * 
 * @author Eldon Barrows
 * @param dsContext
 * @param retrieveArabicData
 * @param violationTicketCode
 * @param violationStatusIds
 * @param isViolationDefect
 * @return VsdViolation
 * @throws VSDDataAccessException
 */
public VsdViolation getViolationWithInspectionsAndChannelDefectsByViolationTicketCode(
        DataServiceContext dsContext, boolean retrieveArabicData, String violationTicketCode,
        List<Long> violationStatusIds, Character isViolationDefect) throws VSDDataAccessException {
    logger.info("getViolationWithInspectionsAndChannelDefectsByViolationTicketCode -- START");
    VsdViolation violation = null;
    try {
        Session session = (Session) dsContext.getInternalContext();

        violation = (VsdViolation) session.createCriteria(VsdViolation.class, "violations")
                .add(Restrictions.eq("violations.isDeleted", IDataService.BOOL_FALSE))
                .add(Restrictions.eq("violations.violationTicketCode", violationTicketCode).ignoreCase())
                .createCriteria("violations.vsdChannelDefects", "cd", Criteria.LEFT_JOIN,
                        Restrictions.eq("cd.isDeleted", IDataService.BOOL_FALSE))
                .add(Restrictions.eq("cd.isViolationDefect", isViolationDefect))
                .createCriteria("cd.vsdDefect", "d", Criteria.LEFT_JOIN,
                        Restrictions.eq("d.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("violations.vsdInspections", "i", Criteria.LEFT_JOIN,
                        Restrictions.eq("i.isDeleted", IDataService.BOOL_FALSE))
                .add(Restrictions.in("violations.vsdViolationStatus.violationStatusId", violationStatusIds))
                .uniqueResult();
        logger.info("getViolationWithInspectionsAndChannelDefectsByViolationTicketCode -- END");
        return violation;
    } catch (Exception ex) {
        logger.error("An error occured in getViolationWithInspectionsAndChannelDefectsByViolationTicketCode()");
        logger.error(ex);
        throw new VSDDataAccessException(ex.getMessage(), ex);
    }
}

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

/**
 * //from   w  ww. j  a  va 2 s  .  com
 * get List of OpenViolations By ChassisNumber
 * 
 * @author Eldon Barrows
 * @param dsContext
 * @param retrieveArabicData
 * @param chassisNumber
 * @param violationStatusIds
 * @return List<VsdViolation>
 * @throws VSDException
 */
public List<VsdViolation> getOpenViolationsByChassisNumber(final DataServiceContext dsContext,
        boolean retrieveArabicData, String vehicleChassisNumber, List<Long> violationStatusIds)
        throws VSDDataAccessException {
    logger.info("getOpenViolationsByChassisNumber -- START");
    List<VsdViolation> violations = null;
    try {

        Session session = (Session) dsContext.getInternalContext();
        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))
                .createCriteria("i.vsdVehicleInfo", "vi", Criteria.LEFT_JOIN,
                        Restrictions.eq("vi.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("v.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))
                .add(Restrictions.eq("vi.vehicleChassisNumber", vehicleChassisNumber).ignoreCase())
                .add(Restrictions.in("v.vsdViolationStatus.violationStatusId", violationStatusIds))
                .addOrder(Order.asc("v.createdTimestamp")).setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY)
                .list();
    } catch (Exception ex) {
        ex.printStackTrace();
        logger.error(ex.getMessage());
        logger.error("An error occured in getOpenViolationsByChassisNumber()");
        throw new VSDDataAccessException(ex.getMessage(), ex);
    }
    logger.info("getOpenViolationsByChassisNumber -- END");
    return violations;
}

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

/**
 * /*from  w  ww. jav  a2 s . c o m*/
 * get List of OpenViolations By VehiclePlate
 * 
 * @author Eldon Barrows
 * @param dsContext
 * @param retrieveArabicData
 * @param vehiclePlate
 * @param violationStatusIds
 * @return List<VsdViolation>
 * @throws VSDException
 */
public List<VsdViolation> getOpenViolationsByVehiclePlate(final DataServiceContext dsContext,
        boolean retrieveArabicData, VehiclePlate vehiclePlate, List<Long> violationStatusIds)
        throws VSDDataAccessException {
    logger.info("getOpenViolationsByVehiclePlate -- START");
    List<VsdViolation> violations = null;
    try {

        Session session = (Session) dsContext.getInternalContext();
        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))
                .createCriteria("i.vsdVehicleInfo", "vi", Criteria.LEFT_JOIN,
                        Restrictions.eq("vi.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("v.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))
                .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())
                .add(Restrictions.in("v.vsdViolationStatus.violationStatusId", violationStatusIds))
                .addOrder(Order.asc("v.createdTimestamp")).setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY)
                .list();
    } catch (Exception ex) {
        logger.error("An error occured in getOpenViolationsByVehiclePlate()");
        throw new VSDDataAccessException(ex.getMessage(), ex);
    }
    logger.info("getOpenViolationsByVehiclePlate -- END");
    return violations;
}

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

/**
 * //from w  w  w. j  a  v a2s  . c o  m
 * Gets a list of violations by the violation status ids, test status and test date provided. 
 * 
 * @author Eldon Barrows
 * @param dsContext
 * @param retrieveArabicData
 * @param testStatus
 * @param startDate
 * @param endDate
 * @param violationStatusIds
 * @return List<VsdViolation>
 * @throws VSDDataAccessException
 */
public List<VsdViolation> getViolationsByTestStatusTestDateAndViolationStatusId(DataServiceContext dsContext,
        boolean retrieveArabicData, String testStatus, Date startDate, Date endDate,
        List<Long> violationStatusIds) throws VSDDataAccessException {
    logger.info("getViolationsByTestStatusTestDateAndViolationStatusId -- START");
    List<VsdViolation> violations = null;
    try {
        //         Calendar startDate = Calendar.getInstance();
        //         startDate.setTime(testDate);
        //         startDate.set(Calendar.HOUR_OF_DAY, 0);
        //         startDate.set(Calendar.MINUTE, 0);
        //         startDate.set(Calendar.SECOND, 0);         
        //         startDate.set(Calendar.MILLISECOND, 0);
        //         
        //         Calendar endDate = Calendar.getInstance();
        //         endDate.setTime(testDate);
        //         endDate.set(Calendar.HOUR_OF_DAY, 23);
        //         endDate.set(Calendar.MINUTE, 59);
        //         endDate.set(Calendar.SECOND, 59);
        //         endDate.set(Calendar.MILLISECOND, 999);

        Session session = (Session) dsContext.getInternalContext();
        violations = session.createCriteria(VsdViolation.class, "v")
                .add(Restrictions.eq("v.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("v.vsdViolationStatus", "vs", Criteria.LEFT_JOIN,
                        Restrictions.eq("vs.isDeleted", IDataService.BOOL_FALSE))
                .add(Restrictions.in("vs.violationStatusId", violationStatusIds))
                .createCriteria("v.vsdViolationTestFees", "vtf", Criteria.LEFT_JOIN,
                        Restrictions.eq("vtf.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("vtf.vsdTestFee", "tf", Criteria.LEFT_JOIN,
                        Restrictions.eq("tf.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("tf.vsdChannelTests", "ct", Criteria.LEFT_JOIN,
                        Restrictions.eq("ct.isDeleted", IDataService.BOOL_FALSE))
                .add(Restrictions.eq("ct.testStatus", testStatus))
                .add(Restrictions.between("ct.createdTimestamp", startDate, endDate))
                .createCriteria("v.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))
                .createCriteria("v.vsdSeverityLevel", "svl", Criteria.LEFT_JOIN,
                        Restrictions.eq("svl.isDeleted", IDataService.BOOL_FALSE))
                .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY).list();

        logger.info("getViolationsByTestStatusTestDateAndViolationStatusId -- END");
        return violations;
    } catch (Exception ex) {
        logger.error("An error occured in getViolationsByTestStatusTestDateAndViolationStatusId()");
        logger.error(ex);
        throw new VSDDataAccessException(ex.getMessage(), ex);
    }
}

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

/**
 * // ww w .  jav a2 s  .co m
 * Gets a list of violations for those vehicles whose plate has been confiscated and the violation has the status provided and the inspection occurred on the specified date.
 * 
 * @author Eldon Barrows
 * @param dsContext
 * @param retrieveArabicData
 * @param violationStatusIds
 * @param startDate
 * @param endDate
 * @return List<VsdViolation>
 * @throws VSDDataAccessException
 */
public List<VsdViolation> getPlateConfiscatedViolationsByViolationStatusIdAndInspectionDate(
        DataServiceContext dsContext, boolean retrieveArabicData, List<Long> violationStatusIds,
        Long severityLevelId, Date startDate, Date endDate) throws VSDDataAccessException {
    logger.info("getPlateConfiscatedViolationsByViolationStatusIdAndInspectionDate -- START");
    List<VsdViolation> violations = null;
    try {
        //         Calendar startDate = Calendar.getInstance();
        //         startDate.setTime(inspectionDate);
        //         startDate.set(Calendar.HOUR_OF_DAY, 0);
        //         startDate.set(Calendar.MINUTE, 0);
        //         startDate.set(Calendar.SECOND, 0);         
        //         startDate.set(Calendar.MILLISECOND, 0);
        //         
        //         Calendar endDate = Calendar.getInstance();
        //         endDate.setTime(inspectionDate);
        //         endDate.set(Calendar.HOUR_OF_DAY, 23);
        //         endDate.set(Calendar.MINUTE, 59);
        //         endDate.set(Calendar.SECOND, 59);
        //         endDate.set(Calendar.MILLISECOND, 999);
        Session session = (Session) dsContext.getInternalContext();
        violations = session.createCriteria(VsdViolation.class, "v")
                .add(Restrictions.eq("v.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("v.vsdSeverityLevel", "sl", Criteria.LEFT_JOIN,
                        Restrictions.eq("sl.isDeleted", IDataService.BOOL_FALSE))
                .add(Restrictions.eq("sl.severityLevelId", severityLevelId))
                .createCriteria("v.vsdInspections", "i", Criteria.LEFT_JOIN,
                        Restrictions.eq("i.isDeleted", IDataService.BOOL_FALSE))
                .add(Restrictions.between("i.inspectionTimestamp", startDate, endDate))
                .add(Restrictions.eq("i.isPlateConfiscated", IDataService.BOOL_TRUE))
                .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))
                .createCriteria("v.vsdViolationStatus", "vs", Criteria.LEFT_JOIN,
                        Restrictions.eq("vs.isDeleted", IDataService.BOOL_FALSE))
                .add(Restrictions.in("vs.violationStatusId", violationStatusIds))
                .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY).list();
        logger.info("getPlateConfiscatedViolationsByViolationStatusIdAndInspectionDate -- END");
        return violations;
    } catch (Exception ex) {
        logger.error("An error occured in getPlateConfiscatedViolationsByViolationStatusIdAndInspectionDate()");
        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 av a 2 s .co 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

/**
 * //ww  w.j  a  va2 s .  com
 * Get a list of violations from the vehicle plate details, severity level and violations status ids provided
 * 
 * @author Eldon Barrows
 * @param dsContext
 * @param retrieveArabicData
 * @param plateDetails
 * @param severityLevels
 * @param violationStatusId
 * @return Long
 * @throws VSDDataAccessException
 */
public Long getViolationsByVehiclePlateSeverityLevelsAndViolationStatuses(DataServiceContext dsContext,
        boolean retrieveArabicData, VehiclePlate plateDetails, List<Long> severityLevels,
        List<Long> violationStatusIds) throws VSDDataAccessException {
    logger.info("getViolationsByVehiclePlateSeverityLevelsAndViolationStatuses -- START");
    try {

        Session session = (Session) dsContext.getInternalContext();
        Criteria crit = 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))
                .createCriteria("i.vsdVehicleInfo", "vi", Criteria.LEFT_JOIN,
                        Restrictions.eq("vi.isDeleted", IDataService.BOOL_FALSE))
                .add(Restrictions.eq("vi.vehiclePlateCategory", plateDetails.getPlateCategory()).ignoreCase())
                .add(Restrictions.eq("vi.vehiclePlateCode", plateDetails.getPlateCode()).ignoreCase())
                .add(Restrictions.eq("vi.vehiclePlateSource", plateDetails.getPlateSource()).ignoreCase())
                .add(Restrictions.eq("vi.vehiclePlateNumber", plateDetails.getPlateNumber()).ignoreCase())
                .createCriteria("v.vsdSeverityLevel", "sl", Criteria.LEFT_JOIN,
                        Restrictions.eq("sl.isDeleted", IDataService.BOOL_FALSE))
                .add(Restrictions.in("sl.severityLevel", severityLevels))
                .createCriteria("v.vsdViolationStatus", "vs", Criteria.LEFT_JOIN,
                        Restrictions.eq("vs.isDeleted", IDataService.BOOL_FALSE))
                .add(Restrictions.in("vs.violationStatusId", violationStatusIds))
                .setProjection(Projections.countDistinct("v.violationId"));
        Long count = (Long) crit.uniqueResult();
        logger.info("getViolationsByVehiclePlateSeverityLevelsAndViolationStatuses -- END");
        return count;
    } catch (Exception ex) {
        logger.error("An error occured in getViolationsByVehiclePlateSeverityLevelsAndViolationStatuses()");
        throw new VSDDataAccessException(ex.getMessage(), ex);
    }
}