Example usage for org.hibernate.criterion Restrictions between

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

Introduction

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

Prototype

public static Criterion between(String propertyName, Object low, Object high) 

Source Link

Document

Apply a "between" constraint to the named property

Usage

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

/**
 * //from  w w  w.  j a va  2s. c  om
 * Gets the history of an alert from the inspection id, alert template id, alert rule id and timestamp provided.
 * 
 * @author Eldon Barrows
 * @param dsContext
 * @param retrieveArabicData
 * @param status
 * @param inspectionId
 * @param alertRuleId
 * @param createdTimeStamp
 * @return VsdAlertHistory
 * @throws VSDDataAccessException
 */
public VsdAlertHistory getAlertHistoryByInspectionAlertRuleStatusTimeStamp(DataServiceContext dsContext,
        boolean retrieveArabicData, String status, Long inspectionId, Long alertRuleId, Date createdTimeStamp)
        throws VSDDataAccessException {
    logger.info("getAlertHistoryByInspectionTemplateRuleTimeStamp -- START");
    logger.info("getAlertHistoryByInspectionAlertRuleStatusTimeStamp -- START");
    VsdAlertHistory alertHistory = null;
    try {

        Calendar startDate = Calendar.getInstance();
        startDate.setTime(createdTimeStamp);
        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(createdTimeStamp);
        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();
        alertHistory = (VsdAlertHistory) session.createCriteria(VsdAlertHistory.class, "ah")
                .add(Restrictions.eq("ah.isDeleted", IDataService.BOOL_FALSE))
                .add(Restrictions.eq("ah.sendStatus", status))
                .add(Restrictions.between("ah.createdTimestamp", startDate.getTime(), endDate.getTime()))
                .createCriteria("ah.vsdInspection", "i", Criteria.INNER_JOIN,
                        Restrictions.eq("i.isDeleted", IDataService.BOOL_FALSE))
                .add(Restrictions.eq("i.inspectionId", inspectionId))
                .createCriteria("ah.vsdAlertRule", "ar", Criteria.INNER_JOIN,
                        Restrictions.eq("ar.isDeleted", IDataService.BOOL_FALSE))
                .add(Restrictions.eq("ar.alertRuleId", alertRuleId)).uniqueResult();
        logger.info("getAlertHistoryByInspectionAlertRuleStatusTimeStamp -- END");
        return alertHistory;
    } catch (Exception ex) {
        logger.error("An error occured in getAlertHistoryByInspectionAlertRuleStatusTimeStamp()");
        logger.error(ex);
        throw new VSDDataAccessException(ex.getMessage(), ex);
    }
}

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

/**
 * // w  ww .ja v a  2s .  com
 * Gets a list of channel tests between the date specified and for a particular vehicle
 * 
 * @author Eldon Barrows
 * @param dsContext
 * @param retrieveArabicData
 * @param plateDetails
 * @param startDate
 * @param endDate
 * @return List<VsdChannelTest>
 * @throws VSDDataAccessException
 */
public List<VsdChannelTest> getChannelTestByVehiclePlateAndCreatedDate(DataServiceContext dsContext,
        boolean retrieveArabicData, VehiclePlate plateDetails, Date startDate, Date endDate)
        throws VSDDataAccessException {
    logger.info("getChannelTestByVehiclePlateAndDate -- START");
    List<VsdChannelTest> channelTests = null;
    try {
        Session session = (Session) dsContext.getInternalContext();

        channelTests = session.createCriteria(VsdChannelTest.class, "ct")
                .add(Restrictions.eq("ct.isDeleted", IDataService.BOOL_FALSE))
                .add(Restrictions.between("ct.createdTimestamp", startDate, endDate))
                .createCriteria("ct.vsdChannelDefectTests", "cdt", Criteria.LEFT_JOIN,
                        Restrictions.eq("cdt.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("cdt.vsdChannelDefect", "cd", Criteria.LEFT_JOIN,
                        Restrictions.eq("cd.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("cd.vsdViolation", "v", Criteria.LEFT_JOIN,
                        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())
                .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY).list();
        logger.info("getChannelTestByVehiclePlateAndDate -- END");
        return channelTests;
    } catch (Exception ex) {
        logger.error("An error occured in getChannelTestByVehiclePlateAndDate()");
        logger.error(ex);
        throw new VSDDataAccessException(ex.getMessage(), ex);
    }
}

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

/**
 * //from w  w  w  . ja  v a2s  .  co  m
 * Gets those inspections which occurred between the given dates that did not lead to a violation
 * 
 * @author Eldon Barrows
 * @param dsContext
 * @param retrieveArabicData
 * @param plateDetails
 * @param startDate
 * @param endDate
 * @return List<VsdInspection>
 * @throws VSDDataAccessException
 */
public List<VsdInspection> getInspectionsWithNoViolationsByVehiclePlateAndReportedDate(
        DataServiceContext dsContext, boolean retrieveArabicData, VehiclePlate plateDetails, Date startDate,
        Date endDate) throws VSDDataAccessException {
    logger.info("getInspectionsWithNoViolationsByVehiclePlateAndReportedDate -- START");
    List<VsdInspection> inspections = null;
    try {

        Session session = (Session) dsContext.getInternalContext();
        inspections = session.createCriteria(VsdInspection.class, "i")
                .add(Restrictions.eq("i.isDeleted", IDataService.BOOL_FALSE))
                .add(Restrictions.between("i.inspectionTimestamp", startDate, endDate))
                .add(Restrictions.isNull("i.vsdViolation"))
                .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())
                .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY).list();
        logger.info("getInspectionsWithNoViolationsByVehiclePlateAndReportedDate -- END");
        return inspections;
    } catch (Exception ex) {
        logger.error("An error occured in getInspectionsWithNoViolationsByVehiclePlateAndReportedDate()");
        throw new VSDDataAccessException(ex.getMessage(), ex);
    }
}

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

/**
 * /*from w  ww .  j  a  v  a  2 s .c  om*/
 * Gets a list of vehicles by risk rating type code and profiling date
 * 
 * @author Eldon Barrows
 * @param dsContext
 * @param retrieveArabicData
 * @param riskRatingTypeCode
 * @param profilingDate
 * @return List<VsdVehicle>
 * @throws VSDDataAccessException
 */
public List<VsdVehicle> getVehiclesByRiskRatingTypeCode(DataServiceContext dsContext,
        boolean retrieveArabicData, String riskRatingTypeCode, Date profilingDate)
        throws VSDDataAccessException {
    logger.info("getVehiclesByRiskRatingTypeCode -- START");
    List<VsdVehicle> vehicles = null;
    try {
        Calendar startDate = Calendar.getInstance();
        startDate.setTime(profilingDate);
        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(profilingDate);
        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();
        vehicles = session.createCriteria(VsdVehicle.class, "v")
                .add(Restrictions.eq("v.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("v.vsdRRProfilings", "rrp", Criteria.LEFT_JOIN,
                        Restrictions.eq("rrp.isDeleted", IDataService.BOOL_FALSE))
                .add(Restrictions.between("rrp.createdTimestamp", startDate.getTime(), endDate.getTime()))
                .createCriteria("rrp.vsdRiskRating", "rr", Criteria.LEFT_JOIN,
                        Restrictions.eq("rr.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("rr.vsdRiskRatingType", "rrt", Criteria.LEFT_JOIN,
                        Restrictions.eq("rrt.isDeleted", IDataService.BOOL_FALSE))
                .add(Restrictions.eq("rrt.ratingTypeCode", riskRatingTypeCode))
                .createCriteria("v.vsdVehicleOwner", "vo", Criteria.LEFT_JOIN,
                        Restrictions.eq("vo.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("vo.vsdVehOwnConDetails", "vocd", Criteria.LEFT_JOIN,
                        Restrictions.eq("vocd.isDeleted", IDataService.BOOL_FALSE))
                .addOrder(Order.desc("rrp.createdTimestamp"))
                .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY).list();
        logger.info("getVehiclesByRiskRatingTypeCode -- END");
        return vehicles;
    } catch (Exception ex) {
        logger.error("An error occured in getVehiclesByRiskRatingTypeCode()");
        logger.error(ex);
        throw new VSDDataAccessException(ex.getMessage(), ex);
    }
}

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

/**
 * //from  w  ww . j a  v  a  2s .c o m
 * Gets a list of vehicles by risk rating profiling date
 * 
 * @author Eldon Barrows
 * @param dsContext
 * @param retrieveArabicData
 * @param profilingDate
 * @return List<VsdVehicle>
 * @throws VSDDataAccessException
 */
public List<VsdVehicle> getVehiclesByProfilingDate(DataServiceContext dsContext, boolean retrieveArabicData,
        Date profilingDate) throws VSDDataAccessException {
    logger.info("getVehiclesByProfilingDate -- START");
    List<VsdVehicle> vehicles = null;
    try {
        Calendar startDate = Calendar.getInstance();
        startDate.setTime(profilingDate);
        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(profilingDate);
        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();
        vehicles = session.createCriteria(VsdVehicle.class, "v")
                .add(Restrictions.eq("v.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("v.vsdRRProfilings", "rrp", Criteria.LEFT_JOIN,
                        Restrictions.eq("rrp.isDeleted", IDataService.BOOL_FALSE))
                .add(Restrictions.between("rrp.createdTimestamp", startDate.getTime(), endDate.getTime()))
                .createCriteria("rrp.vsdRiskRating", "rr", Criteria.LEFT_JOIN,
                        Restrictions.eq("rr.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("rr.vsdRiskRatingType", "rrt", Criteria.LEFT_JOIN,
                        Restrictions.eq("rrt.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("v.vsdVehicleOwner", "vo", Criteria.LEFT_JOIN,
                        Restrictions.eq("vo.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("vo.vsdVehOwnConDetails", "vocd", Criteria.LEFT_JOIN,
                        Restrictions.eq("vocd.isDeleted", IDataService.BOOL_FALSE))
                .addOrder(Order.desc("rrp.createdTimestamp"))
                .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY).list();
        logger.info("getVehiclesByProfilingDate -- END");
        return vehicles;
    } catch (Exception ex) {
        logger.error("An error occured in getVehiclesByProfilingDate()");
        logger.error(ex);
        throw new VSDDataAccessException(ex.getMessage(), ex);
    }
}

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

/**
 * //  ww w.ja v a 2s  . c o m
 * Gets a list of vehicle owners with their contact details(VsdVehOwnConDetails) whose trade license expires on given date.
 * 
 * @author Eldon Barrows
 * @param dsContext
 * @param retrieveArabicData
 * @param tradeLicenseExpiry
 * @return List<VsdVehicleOwner>
 * @throws VSDDataAccessException
 */
public List<VsdVehicleOwner> getVehicleOwnersByTradeLicenseExpiryDate(DataServiceContext dsContext,
        boolean retrieveArabicData, Date tradeLicenseExpiry) throws VSDDataAccessException {
    logger.info("getVehicleOwnersByTradeLicenseExpiryDate -- START");
    List<VsdVehicleOwner> vehicleOwners = null;
    try {
        Calendar startDate = Calendar.getInstance();
        startDate.setTime(tradeLicenseExpiry);
        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(tradeLicenseExpiry);
        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();
        vehicleOwners = session.createCriteria(VsdVehicleOwner.class, "vo")
                .add(Restrictions.eq("vo.isDeleted", IDataService.BOOL_FALSE))
                .add(Restrictions.between("vo.tradeLicenseExpiry", startDate.getTime(), endDate.getTime()))
                .createCriteria("vo.vsdVehOwnConDetails", "cd", Criteria.LEFT_JOIN,
                        Restrictions.eq("cd.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("vo.vsdVehicles", "v", Criteria.LEFT_JOIN,
                        Restrictions.eq("v.isDeleted", IDataService.BOOL_FALSE))
                .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY).list();
        logger.info("getVehicleOwnersByTradeLicenseExpiryDate -- END");
        return vehicleOwners;
    } catch (Exception ex) {
        logger.error("An error occured in getVehicleOwnersByTradeLicenseExpiryDate()");
        logger.error(ex);
        throw new VSDDataAccessException(ex.getMessage(), ex);
    }
}

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

/**
 * //  w w  w.j av a 2 s.co m
 * Gets a list of vehicle owners by risk rating type code and profiling date
 * 
 * @author Eldon Barrows
 * @param dsContext
 * @param retrieveArabicData
 * @param riskRatingTypeCode
 * @param profilingDate
 * @return List<VsdVehicleOwner>
 * @throws VSDDataAccessException
 */
public List<VsdVehicleOwner> getVehicleOwnerByRiskRatingTypeCode(DataServiceContext dsContext,
        boolean retrieveArabicData, String riskRatingTypeCode, Date profilingDate)
        throws VSDDataAccessException {
    logger.info("getVehicleOwnerByRiskRatingTypeCode -- START");
    List<VsdVehicleOwner> vehicleOwners = null;
    try {
        Calendar startDate = Calendar.getInstance();
        startDate.setTime(profilingDate);
        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(profilingDate);
        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();
        vehicleOwners = session.createCriteria(VsdVehicleOwner.class, "vo")
                .add(Restrictions.eq("vo.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("vo.vsdRRProfilings", "rrp", Criteria.LEFT_JOIN,
                        Restrictions.eq("rrp.isDeleted", IDataService.BOOL_FALSE))
                .add(Restrictions.between("rrp.createdTimestamp", startDate.getTime(), endDate.getTime()))
                .createCriteria("rrp.vsdRiskRating", "rr", Criteria.LEFT_JOIN,
                        Restrictions.eq("rr.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("rr.vsdRiskRatingType", "rrt", Criteria.LEFT_JOIN,
                        Restrictions.eq("rrt.isDeleted", IDataService.BOOL_FALSE))
                .add(Restrictions.eq("rrt.ratingTypeCode", riskRatingTypeCode))
                .createCriteria("vo.vsdVehOwnConDetails", "vocd", Criteria.LEFT_JOIN,
                        Restrictions.eq("vocd.isDeleted", IDataService.BOOL_FALSE))
                .addOrder(Order.desc("rrp.createdTimestamp"))
                .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY).list();
        logger.info("getVehicleOwnerByRiskRatingTypeCode -- END");
        return vehicleOwners;
    } catch (Exception ex) {
        logger.error("An error occured in getVehicleOwnerByRiskRatingTypeCode()");
        logger.error(ex);
        throw new VSDDataAccessException(ex.getMessage(), ex);
    }
}

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

/**
 * //from  w ww  .  j  a v a  2  s.c  o m
 * Gets a list of vehicle owners by risk rating profiling date
 * 
 * @author Eldon Barrows
 * @param dsContext
 * @param retrieveArabicData
 * @param profilingDate
 * @return List<VsdVehicleOwner>
 * @throws VSDDataAccessException
 */
public List<VsdVehicleOwner> getVehiclesOwnerByProfilingDate(DataServiceContext dsContext,
        boolean retrieveArabicData, Date profilingDate) throws VSDDataAccessException {
    logger.info("getVehiclesOwnerByProfilingDate -- START");
    List<VsdVehicleOwner> vehicleOwners = null;
    try {
        Calendar startDate = Calendar.getInstance();
        startDate.setTime(profilingDate);
        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(profilingDate);
        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();
        vehicleOwners = session.createCriteria(VsdVehicleOwner.class, "vo")
                .add(Restrictions.eq("vo.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("vo.vsdRRProfilings", "rrp", Criteria.LEFT_JOIN,
                        Restrictions.eq("rrp.isDeleted", IDataService.BOOL_FALSE))
                .add(Restrictions.between("rrp.createdTimestamp", startDate.getTime(), endDate.getTime()))
                .createCriteria("rrp.vsdRiskRating", "rr", Criteria.LEFT_JOIN,
                        Restrictions.eq("rr.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("rr.vsdRiskRatingType", "rrt", Criteria.LEFT_JOIN,
                        Restrictions.eq("rrt.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("vo.vsdVehOwnConDetails", "vocd", Criteria.LEFT_JOIN,
                        Restrictions.eq("vocd.isDeleted", IDataService.BOOL_FALSE))
                .addOrder(Order.desc("rrp.createdTimestamp"))
                .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY).list();
        logger.info("getVehiclesOwnerByProfilingDate -- END");
        return vehicleOwners;
    } catch (Exception ex) {
        logger.error("An error occured in getVehiclesOwnerByProfilingDate()");
        logger.error(ex);
        throw new VSDDataAccessException(ex.getMessage(), ex);
    }
}

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

/**
 * /*  w ww .j a  v  a  2  s . c  om*/
 * get List of OpenViolations By InspectionDate Sorted By SeverityLevelId
 * 
 * @author Eldon Barrows
 * @param dsContext
 * @param retrieveArabicData
 * @return List<VsdViolation>
 * @throws VSDException
 */
public List<VsdViolation> getOpenViolationsByInspectionDateSortedBySeverityLevelId(
        final DataServiceContext dsContext, boolean retrieveArabicData, Date inspectionDate)
        throws VSDDataAccessException {
    logger.info("getOpenViolationsByInspectionDateSortedBySeverityLevelId -- 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))
                .add(Restrictions.eq("v.vsdViolationStatus.violationStatusId", Constant.VIOLATION_STATUS_OPEN))
                .createCriteria("v.vsdInspections", "i", Criteria.LEFT_JOIN,
                        Restrictions.eq("i.isDeleted", IDataService.BOOL_FALSE))
                .add(Restrictions.between("i.inspectionTimestamp", startDate.getTime(), endDate.getTime()))
                .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("v.vsdChannelDefects", "cd", Criteria.LEFT_JOIN,
                        Restrictions.eq("cd.isDeleted", IDataService.BOOL_FALSE))
                .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY)
                .addOrder(Order.desc("v.vsdSeverityLevel.severityLevelId")).list();
    } catch (Exception ex) {
        logger.error("An error occured in getOpenViolationsByInspectionDateSortedBySeverityLevelId()");
        throw new VSDDataAccessException(ex.getMessage(), ex);
    }
    logger.info("getOpenViolationsByInspectionDateSortedBySeverityLevelId -- END");
    return violations;
}

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

/**
 * //www .  ja v a2s  .c  o  m
 * get List of OpenViolations By InspectionDate and SeverityLevelId
 * 
 * @author Eldon Barrows
 * @param dsContext
 * @param retrieveArabicData
 * @param startDate
 * @param endDate
 * @param severityLevelId
 * @return List<VsdViolation>
 * @throws VSDException
 */
public List<VsdViolation> getOpenViolationsByInspectionDateAndSeverityLevelId(
        final DataServiceContext dsContext, boolean retrieveArabicData, Date startDate, Date endDate,
        Long severityLevelId) throws VSDDataAccessException {
    logger.info("getOpenViolationsByInspectionDateAndSeverityLevelId -- 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.vsdViolationStatus", "vs", Criteria.LEFT_JOIN,
                        Restrictions.eq("vs.isDeleted", IDataService.BOOL_FALSE))
                .add(Restrictions.eq("vs.violationStatusId", Constant.VIOLATION_STATUS_OPEN))
                .createCriteria("v.vsdInspections", "i", Criteria.LEFT_JOIN,
                        Restrictions.eq("i.isDeleted", IDataService.BOOL_FALSE))
                .add(Restrictions.between("i.inspectionTimestamp", startDate, endDate))
                .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("v.vsdChannelDefects", "cd", Criteria.LEFT_JOIN,
                        Restrictions.eq("cd.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("v.vsdSeverityLevel", "sl", Criteria.LEFT_JOIN,
                        Restrictions.eq("sl.isDeleted", IDataService.BOOL_FALSE))
                .add(Restrictions.eq("sl.severityLevelId", severityLevelId))
                .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY).list();
    } catch (Exception ex) {
        logger.error("An error occured in getOpenViolationsByInspectionDateAndSeverityLevelId()");
        throw new VSDDataAccessException(ex.getMessage(), ex);
    }
    logger.info("getOpenViolationsByInspectionDateAndSeverityLevelId -- END");
    return violations;
}