Example usage for org.hibernate.criterion CriteriaSpecification DISTINCT_ROOT_ENTITY

List of usage examples for org.hibernate.criterion CriteriaSpecification DISTINCT_ROOT_ENTITY

Introduction

In this page you can find the example usage for org.hibernate.criterion CriteriaSpecification DISTINCT_ROOT_ENTITY.

Prototype

ResultTransformer DISTINCT_ROOT_ENTITY

To view the source code for org.hibernate.criterion CriteriaSpecification DISTINCT_ROOT_ENTITY.

Click Source Link

Document

Each row of results is a distinct instance of the root entity

Usage

From source file:org.egov.works.letterofacceptance.service.LetterOfAcceptanceService.java

License:Open Source License

public List<WorkOrder> searchLOAsToCancel(
        final SearchRequestLetterOfAcceptance searchRequestLetterOfAcceptance) {
    final Criteria criteria = entityManager.unwrap(Session.class).createCriteria(WorkOrder.class, "wo")
            .addOrder(Order.asc("workOrderDate")).createAlias("wo.contractor", "woc")
            .createAlias("egwStatus", "status");
    if (searchRequestLetterOfAcceptance != null) {
        if (searchRequestLetterOfAcceptance.getWorkOrderNumber() != null)
            criteria.add(Restrictions//from  ww w  . j  a  va  2s. c  om
                    .eq("workOrderNumber", searchRequestLetterOfAcceptance.getWorkOrderNumber()).ignoreCase());
        if (searchRequestLetterOfAcceptance.getContractor() != null) {
            criteria.add(Restrictions.or(
                    Restrictions.eq("woc.name", searchRequestLetterOfAcceptance.getContractor()).ignoreCase(),
                    Restrictions.eq("woc.code", searchRequestLetterOfAcceptance.getContractor()).ignoreCase()));
        }
        if (searchRequestLetterOfAcceptance.getDepartmentName() != null) {
            final List<String> estimateNumbers = lineEstimateDetailsRepository
                    .findEstimateNumbersForDepartment(searchRequestLetterOfAcceptance.getDepartmentName());
            if (estimateNumbers.isEmpty())
                estimateNumbers.add("");
            criteria.add(Restrictions.in("estimateNumber", estimateNumbers));
        }
        if (searchRequestLetterOfAcceptance.getWorkIdentificationNumber() != null) {
            final List<String> estimateNumbers = lineEstimateDetailsRepository
                    .findEstimateNumbersForWorkIdentificationNumber(
                            searchRequestLetterOfAcceptance.getWorkIdentificationNumber());
            if (estimateNumbers.isEmpty())
                estimateNumbers.add("");
            criteria.add(Restrictions.in("estimateNumber", estimateNumbers));
        }
        if (searchRequestLetterOfAcceptance.getEgwStatus() != null)
            criteria.add(Restrictions.eq("status.code", searchRequestLetterOfAcceptance.getEgwStatus()));
    }
    criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY);
    return criteria.list();
}

From source file:org.egov.works.lineestimate.service.LineEstimateService.java

License:Open Source License

public List<LineEstimate> searchLineEstimates(final LineEstimateSearchRequest lineEstimateSearchRequest) {
    final Criteria criteria = entityManager.unwrap(Session.class).createCriteria(LineEstimate.class)
            .createAlias("lineEstimateDetails", "lineEstimateDetail");
    if (lineEstimateSearchRequest != null) {
        if (lineEstimateSearchRequest.getAdminSanctionNumber() != null)
            criteria.add(//w ww  .  j  av  a  2s  .c o m
                    Restrictions.eq("adminSanctionNumber", lineEstimateSearchRequest.getAdminSanctionNumber())
                            .ignoreCase());
        if (lineEstimateSearchRequest.getBudgetHead() != null)
            criteria.add(Restrictions.eq("budgetHead.id", lineEstimateSearchRequest.getBudgetHead()));
        if (lineEstimateSearchRequest.getExecutingDepartment() != null)
            criteria.add(Restrictions.eq("executingDepartment.id",
                    lineEstimateSearchRequest.getExecutingDepartment()));
        if (lineEstimateSearchRequest.getFunction() != null)
            criteria.add(Restrictions.eq("function.id", lineEstimateSearchRequest.getFunction()));
        if (lineEstimateSearchRequest.getFund() != null)
            criteria.add(Restrictions.eq("fund.id", lineEstimateSearchRequest.getFund().intValue()));
        if (lineEstimateSearchRequest.getEstimateNumber() != null)
            criteria.add(Restrictions.eq("lineEstimateNumber", lineEstimateSearchRequest.getEstimateNumber())
                    .ignoreCase());
        if (lineEstimateSearchRequest.getAdminSanctionFromDate() != null)
            criteria.add(
                    Restrictions.ge("adminSanctionDate", lineEstimateSearchRequest.getAdminSanctionFromDate()));
        if (lineEstimateSearchRequest.getAdminSanctionToDate() != null)
            criteria.add(
                    Restrictions.le("adminSanctionDate", lineEstimateSearchRequest.getAdminSanctionToDate()));

        criteria.add(Restrictions.eq("spillOverFlag", lineEstimateSearchRequest.isSpillOverFlag()));

    }

    criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY);
    return criteria.list();
}

From source file:org.egov.works.lineestimate.service.LineEstimateService.java

License:Open Source License

public List<LineEstimateDetails> searchLineEstimatesForLoa(
        final LineEstimateForLoaSearchRequest lineEstimateForLoaSearchRequest) {

    final List<String> lineEstimateNumbers = lineEstimateDetailsRepository
            .findEstimateNumbersToSearchLineEstimatesForLoa(WorksConstants.CANCELLED_STATUS);

    if (!lineEstimateNumbers.isEmpty()) {
        final Criteria criteria = entityManager.unwrap(Session.class).createCriteria(LineEstimateDetails.class)
                .createAlias("lineEstimate", "lineEstimate").createAlias("lineEstimate.status", "status")
                .createAlias("projectCode", "projectCode");
        if (lineEstimateForLoaSearchRequest != null) {
            if (lineEstimateForLoaSearchRequest.getAdminSanctionNumber() != null)
                criteria.add(Restrictions.ilike("lineEstimate.adminSanctionNumber",
                        lineEstimateForLoaSearchRequest.getAdminSanctionNumber()));
            if (lineEstimateForLoaSearchRequest.getExecutingDepartment() != null)
                criteria.add(Restrictions.eq("lineEstimate.executingDepartment.id",
                        lineEstimateForLoaSearchRequest.getExecutingDepartment()));
            if (lineEstimateForLoaSearchRequest.getEstimateNumber() != null)
                criteria.add(//from w w w.j a  va2 s.co m
                        Restrictions.eq("estimateNumber", lineEstimateForLoaSearchRequest.getEstimateNumber())
                                .ignoreCase());
            if (lineEstimateForLoaSearchRequest.getAdminSanctionFromDate() != null)
                criteria.add(Restrictions.ge("lineEstimate.adminSanctionDate",
                        lineEstimateForLoaSearchRequest.getAdminSanctionFromDate()));
            if (lineEstimateForLoaSearchRequest.getAdminSanctionToDate() != null)
                criteria.add(Restrictions.le("lineEstimate.adminSanctionDate",
                        lineEstimateForLoaSearchRequest.getAdminSanctionToDate()));
            if (lineEstimateForLoaSearchRequest.getLineEstimateCreatedBy() != null)
                criteria.add(Restrictions.eq("lineEstimate.createdBy.id",
                        lineEstimateForLoaSearchRequest.getLineEstimateCreatedBy()));
            if (lineEstimateForLoaSearchRequest.getWorkIdentificationNumber() != null)
                criteria.add(Restrictions
                        .eq("projectCode.code", lineEstimateForLoaSearchRequest.getWorkIdentificationNumber())
                        .ignoreCase());
            criteria.add(Restrictions.in("estimateNumber", lineEstimateNumbers));
            criteria.add(Restrictions.eq("status.code", LineEstimateStatus.TECHNICAL_SANCTIONED.toString()));

            criteria.add(Restrictions.eq("lineEstimate.spillOverFlag",
                    lineEstimateForLoaSearchRequest.isSpillOverFlag()));
        }

        criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY);
        return criteria.list();
    } else
        return new ArrayList<>();
}

From source file:org.egov.works.lineestimate.service.LineEstimateService.java

License:Open Source License

public List<LineEstimate> searchLineEstimatesToCancel(
        final LineEstimateSearchRequest lineEstimateSearchRequest) {
    final Criteria criteria = entityManager.unwrap(Session.class).createCriteria(LineEstimate.class)
            .createAlias("lineEstimateDetails", "led").createAlias("executingDepartment", "ed")
            .createAlias("led.projectCode", "pc").createAlias("status", "status");
    if (lineEstimateSearchRequest != null) {
        if (lineEstimateSearchRequest.getExecutingDepartment() != null)
            criteria.add(Restrictions.eq("ed.id", lineEstimateSearchRequest.getExecutingDepartment()));
        if (lineEstimateSearchRequest.getLineEstimateNumber() != null)
            criteria.add(Restrictions//from   www.ja  va2s  .  c om
                    .eq("lineEstimateNumber", lineEstimateSearchRequest.getLineEstimateNumber()).ignoreCase());
        if (lineEstimateSearchRequest.getWorkIdentificationNumber() != null)
            criteria.add(Restrictions.ilike("pc.code", lineEstimateSearchRequest.getWorkIdentificationNumber(),
                    MatchMode.ANYWHERE));

        if (lineEstimateSearchRequest.getCreatedBy() != null)
            criteria.add(Restrictions.eq("createdBy.id", lineEstimateSearchRequest.getCreatedBy()));
        if (lineEstimateSearchRequest.isSpillOverFlag())
            criteria.add(Restrictions.eq("spillOverFlag", lineEstimateSearchRequest.isSpillOverFlag()));
    }

    criteria.add(
            Restrictions.eq("status.code", LineEstimateStatus.TECHNICAL_SANCTIONED.toString()).ignoreCase());
    criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY);
    return criteria.list();
}

From source file:org.egov.works.master.service.ContractorService.java

License:Open Source License

public void searchContractor(final Map<String, Object> criteriaMap) {
    if (logger.isDebugEnabled())
        logger.debug("Inside searchContractor");
    final String contractorName = (String) criteriaMap.get(WorksConstants.CONTRACTOR_NAME);
    final String contractorCode = (String) criteriaMap.get(WorksConstants.CONTRACTOR_CODE);
    final Long departmentId = (Long) criteriaMap.get(WorksConstants.DEPARTMENT_ID);
    final Long gradeId = (Long) criteriaMap.get(WorksConstants.GRADE_ID);
    final Date searchDate = (Date) criteriaMap.get(WorksConstants.SEARCH_DATE);
    final List<AppConfigValues> configList = worksService.getAppConfigValue("Works", "CONTRACTOR_STATUS");
    final String status = configList.get(0).getValue();

    final Criteria criteria = getSession().createCriteria(Contractor.class);
    if (org.apache.commons.lang.StringUtils.isNotEmpty(contractorCode))
        criteria.add(Restrictions.sqlRestriction("lower({alias}.code) like lower(?)",
                "%" + contractorCode.trim() + "%", StringType.INSTANCE));

    if (org.apache.commons.lang.StringUtils.isNotEmpty(contractorName))
        criteria.add(Restrictions.sqlRestriction("lower({alias}.name) like lower(?)",
                "%" + contractorName.trim() + "%", StringType.INSTANCE));

    criteria.createAlias("contractorDetails", "detail").createAlias("detail.status", "status");
    criteria.add(Restrictions.eq("status.description", status));
    if (departmentId != null)
        criteria.add(Restrictions.eq("detail.department.id", departmentId));

    if (gradeId != null)
        criteria.add(Restrictions.eq("detail.grade.id", gradeId));

    if (searchDate != null)
        criteria.add(Restrictions.le("detail.validity.startDate", searchDate))
                .add(Restrictions.or(Restrictions.ge("detail.validity.endDate", searchDate),
                        Restrictions.isNull("detail.validity.endDate")));

    criteria.addOrder(Order.asc("name"));
    criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY);
    criteria.list();/*from  ww  w .j a  v a 2s . com*/
}

From source file:org.egov.works.master.service.MilestoneTemplateService.java

License:Open Source License

public List<MilestoneTemplate> searchMilestoneTemplate(
        final SearchRequestMilestoneTemplate searchRequestMilestoneTemplate) {
    final Criteria criteria = entityManager.unwrap(Session.class).createCriteria(MilestoneTemplate.class);
    if (searchRequestMilestoneTemplate != null) {
        if (searchRequestMilestoneTemplate.getName() != null)
            criteria.add(/*www  .j a v  a2  s.  c om*/
                    Restrictions.ilike("name", searchRequestMilestoneTemplate.getName(), MatchMode.ANYWHERE));
        if (searchRequestMilestoneTemplate.getDescription() != null)
            criteria.add(Restrictions.ilike("description", searchRequestMilestoneTemplate.getDescription(),
                    MatchMode.ANYWHERE));
        if (searchRequestMilestoneTemplate.getTypeOfWork() != null)
            criteria.add(Restrictions.eq("typeOfWork.id", searchRequestMilestoneTemplate.getTypeOfWork()));
        if (searchRequestMilestoneTemplate.getSubTypeOfWork() != null)
            criteria.add(
                    Restrictions.eq("subTypeOfWork.id", searchRequestMilestoneTemplate.getSubTypeOfWork()));
    }
    criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY);
    return criteria.list();
}

From source file:org.egov.works.milestone.service.MilestoneService.java

License:Open Source License

public List<Milestone> searchMilestone(final SearchRequestMilestone searchRequestMilestone) {
    final Criteria criteria = entityManager.unwrap(Session.class).createCriteria(Milestone.class)
            .createAlias("workOrderEstimate", "woe").createAlias("woe.estimate", "estimate")
            .createAlias("estimate.lineEstimateDetails", "led").createAlias("led.lineEstimate", "le")
            .createAlias("status", "status").createAlias("woe.workOrder", "wo")
            .createAlias("led.projectCode", "projectCode")
            .createAlias("trackMilestone", "tm", JoinType.LEFT_OUTER_JOIN)
            .createAlias("tm.status", "trackStatus", JoinType.LEFT_OUTER_JOIN);

    if (searchRequestMilestone != null) {
        if (searchRequestMilestone.getDepartment() != null)
            criteria.add(Restrictions.eq("le.executingDepartment.id", searchRequestMilestone.getDepartment()));
        if (searchRequestMilestone.getMilestoneFromDate() != null)
            criteria.add(Restrictions.ge("createdDate", searchRequestMilestone.getMilestoneFromDate()));
        if (searchRequestMilestone.getMilestoneToDate() != null) {
            final DateTime dateTime = new DateTime(searchRequestMilestone.getMilestoneToDate().getTime())
                    .plusDays(1);// w  w w  .java2 s . c o m
            criteria.add(Restrictions.le("createdDate", dateTime.toDate()));
        }
        if (searchRequestMilestone.getStatus() != null)
            criteria.add(Restrictions.eq("status.code", searchRequestMilestone.getStatus()));
        if (searchRequestMilestone.getSubTypeOfWork() != null)
            criteria.add(Restrictions.eq("le.subTypeOfWork.id", searchRequestMilestone.getSubTypeOfWork()));
        if (searchRequestMilestone.getTypeOfWork() != null)
            criteria.add(Restrictions.eq("le.typeOfWork.id", searchRequestMilestone.getTypeOfWork()));
        if (searchRequestMilestone.getWorkIdentificationNumber() != null)
            criteria.add(Restrictions
                    .eq("projectCode.code", searchRequestMilestone.getWorkIdentificationNumber()).ignoreCase());
        if (searchRequestMilestone.getWorkOrderNumber() != null)
            criteria.add(Restrictions.ilike("wo.workOrderNumber", searchRequestMilestone.getWorkOrderNumber(),
                    MatchMode.ANYWHERE));
    }

    criteria.add(Restrictions.or(Restrictions.isEmpty("trackMilestone"),
            Restrictions.or(Restrictions.eq("tm.projectCompleted", false),
                    Restrictions.eq("trackStatus.code", WorksConstants.CANCELLED_STATUS))));
    criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY);

    return criteria.list();
}

From source file:org.egov.works.milestone.service.MilestoneService.java

License:Open Source License

public List<Milestone> searchMilestoneForView(final SearchRequestMilestone searchRequestMilestone) {
    final Criteria criteria = entityManager.unwrap(Session.class).createCriteria(Milestone.class)
            .createAlias("workOrderEstimate", "woe").createAlias("woe.estimate", "estimate")
            .createAlias("estimate.lineEstimateDetails", "led").createAlias("led.lineEstimate", "le")
            .createAlias("status", "status").createAlias("woe.workOrder", "wo")
            .createAlias("led.projectCode", "projectCode");

    if (searchRequestMilestone != null) {
        if (searchRequestMilestone.getDepartment() != null)
            criteria.add(Restrictions.eq("le.executingDepartment.id", searchRequestMilestone.getDepartment()));
        if (searchRequestMilestone.getMilestoneFromDate() != null)
            criteria.add(Restrictions.ge("createdDate", searchRequestMilestone.getMilestoneFromDate()));
        if (searchRequestMilestone.getMilestoneToDate() != null) {
            final DateTime dateTime = new DateTime(searchRequestMilestone.getMilestoneToDate().getTime())
                    .plusDays(1);/*from   www .  jav  a2s .c om*/
            criteria.add(Restrictions.le("createdDate", dateTime.toDate()));
        }
        if (searchRequestMilestone.getStatus() != null)
            criteria.add(Restrictions.eq("status.code", searchRequestMilestone.getStatus()));
        if (searchRequestMilestone.getSubTypeOfWork() != null)
            criteria.add(Restrictions.eq("le.subTypeOfWork.id", searchRequestMilestone.getSubTypeOfWork()));
        if (searchRequestMilestone.getTypeOfWork() != null)
            criteria.add(Restrictions.eq("le.typeOfWork.id", searchRequestMilestone.getTypeOfWork()));
        if (searchRequestMilestone.getWorkIdentificationNumber() != null)
            criteria.add(Restrictions
                    .eq("projectCode.code", searchRequestMilestone.getWorkIdentificationNumber()).ignoreCase());
        if (searchRequestMilestone.getWorkOrderNumber() != null)
            criteria.add(Restrictions.ilike("wo.workOrderNumber", searchRequestMilestone.getWorkOrderNumber(),
                    MatchMode.ANYWHERE));
    }
    criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY);
    return criteria.list();
}

From source file:org.egov.works.milestone.service.MilestoneService.java

License:Open Source License

public List<Milestone> searchMilestonesToCancel(final SearchRequestMilestone searchRequestMilestone) {
    final Criteria criteria = entityManager.unwrap(Session.class).createCriteria(Milestone.class)
            .createAlias("workOrderEstimate", "woe").createAlias("woe.estimate", "estimate")
            .createAlias("estimate.lineEstimateDetails", "led").createAlias("status", "status")
            .createAlias("woe.workOrder", "wo").createAlias("wo.contractor", "contractor")
            .createAlias("led.projectCode", "projectCode");

    if (searchRequestMilestone != null) {
        if (searchRequestMilestone.getWorkIdentificationNumber() != null)
            criteria.add(Restrictions.ilike("projectCode.code",
                    searchRequestMilestone.getWorkIdentificationNumber(), MatchMode.ANYWHERE));
        if (searchRequestMilestone.getStatus() != null)
            criteria.add(Restrictions.eq("status.code", searchRequestMilestone.getStatus()));
        if (searchRequestMilestone.getWorkOrderNumber() != null)
            criteria.add(Restrictions.eq("wo.workOrderNumber", searchRequestMilestone.getWorkOrderNumber()));
        if (searchRequestMilestone.getContractor() != null)
            criteria.add(/*from ww  w .ja  v a2s .c o  m*/
                    Restrictions.eq("contractor.name", searchRequestMilestone.getContractor()).ignoreCase());
    }
    criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY);
    return criteria.list();
}

From source file:org.egov.works.milestone.service.TrackMilestoneService.java

License:Open Source License

public List<TrackMilestone> searchTrackMilestone(final SearchRequestMilestone searchRequestMilestone) {
    final Criteria criteria = entityManager.unwrap(Session.class).createCriteria(TrackMilestone.class)
            .createAlias("milestone", "milestone").createAlias("milestone.workOrderEstimate", "woe")
            .createAlias("woe.estimate", "estimate").createAlias("estimate.lineEstimateDetails", "led")
            .createAlias("led.lineEstimate", "le").createAlias("status", "status")
            .createAlias("woe.workOrder", "wo").createAlias("led.projectCode", "projectCode");

    if (searchRequestMilestone != null) {
        if (searchRequestMilestone.getDepartment() != null)
            criteria.add(Restrictions.eq("le.executingDepartment.id", searchRequestMilestone.getDepartment()));
        if (searchRequestMilestone.getTrackMilestoneFromDate() != null)
            criteria.add(Restrictions.ge("createdDate", searchRequestMilestone.getTrackMilestoneFromDate()));
        if (searchRequestMilestone.getTrackMilestoneToDate() != null) {
            final DateTime dateTime = new DateTime(searchRequestMilestone.getTrackMilestoneToDate().getTime())
                    .plusDays(1);// w  ww.  j av  a2 s. co m
            criteria.add(Restrictions.le("createdDate", dateTime.toDate()));
        }
        if (searchRequestMilestone.getStatus() != null)
            criteria.add(Restrictions.eq("status.code", searchRequestMilestone.getStatus()));
        if (searchRequestMilestone.getSubTypeOfWork() != null)
            criteria.add(Restrictions.eq("le.subTypeOfWork.id", searchRequestMilestone.getSubTypeOfWork()));
        if (searchRequestMilestone.getTypeOfWork() != null)
            criteria.add(Restrictions.eq("le.typeOfWork.id", searchRequestMilestone.getTypeOfWork()));
        if (searchRequestMilestone.getWorkIdentificationNumber() != null)
            criteria.add(Restrictions
                    .eq("projectCode.code", searchRequestMilestone.getWorkIdentificationNumber()).ignoreCase());
        if (searchRequestMilestone.getWorkOrderNumber() != null)
            criteria.add(Restrictions.ilike("wo.workOrderNumber", searchRequestMilestone.getWorkOrderNumber(),
                    MatchMode.ANYWHERE));
    }
    criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY);
    return criteria.list();
}