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.ptis.domain.dao.property.CategoryHibDao.java

License:Open Source License

/**
 * Returns Category object by CategoryName and Usage by passing criterion as
 * a parameter//w w w  .j  av  a  2 s .  c o  m
 * 
 * @param criterion
 * @return Category.
 **/

@Override
public Category getCategoryByCategoryNameAndUsage(Criterion criterion) {
    Criteria criteria = getCurrentSession().createCriteria(Category.class);
    Category category = null;
    if (criterion != null) {
        Criterion dateCondn1 = Restrictions.and(Restrictions.le(FROM_DATE, new Date()),
                Restrictions.isNull(TO_DATE));
        Criterion dateCondn2 = Restrictions.and(Restrictions.le(FROM_DATE, new Date()),
                Restrictions.ge(TO_DATE, new Date()));
        Criterion dateCondn = Restrictions.or(dateCondn1, dateCondn2);

        criteria.add(criterion);
        criteria.add(dateCondn);
        criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY);
        category = (Category) criteria.uniqueResult();
    }
    return category;
}

From source file:org.egov.ptis.domain.dao.property.CategoryHibDao.java

License:Open Source License

/**
 * Returns ategory by category amount and usage id by passing criterion as a
 * parameter/*  w  w w. java  2s.com*/
 * 
 * @param criterion
 * @return List Category.
 **/

@Override
public List<Category> getCategoryByCatAmtAndUsage(Criterion criterion) {
    Criteria criteria = getCurrentSession().createCriteria(Category.class);
    if (criterion != null) {
        Criterion dateCondn1 = Restrictions.and(Restrictions.le(FROM_DATE, new Date()),
                Restrictions.isNull(TO_DATE));
        Criterion dateCondn2 = Restrictions.and(Restrictions.le(FROM_DATE, new Date()),
                Restrictions.ge(TO_DATE, new Date()));
        Criterion dateCondn = Restrictions.or(dateCondn1, dateCondn2);

        criteria.add(criterion);
        criteria.add(dateCondn);
        criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY);
    }
    return criteria.list();
}

From source file:org.egov.ptis.domain.dao.property.CategoryHibDao.java

License:Open Source License

/**
 * //from ww w.j  a v a2 s.  c  om
 * @param criterion
 * @return List Category
 */

@Override
public List<Category> getCategoryByRateUsageAndStructClass(Criterion criterion) {
    Criteria criteria = getCurrentSession().createCriteria(Category.class);
    if (criterion != null) {
        criteria.add(criterion);
        criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY);
    }
    return criteria.list();
}

From source file:org.egov.ptis.domain.service.report.ReportService.java

License:Open Source License

/**
 * @param zoneId/*from w  w  w . j a va2 s .  c  om*/
 * @param wardId
 * @param areaId
 * @param localityId
 * @return
 */
@ReadOnly
public List<PropertyMaterlizeView> prepareQueryforArrearRegisterReport(final Long zoneId, final Long wardId,
        final Long areaId, final Long localityId) {
    // Get current installment
    final Installment currentInst = propertyTaxCommonUtils.getCurrentInstallment();
    final StringBuffer query = new StringBuffer(300);
    // Query that retrieves all the properties that has arrears.
    query.append("select distinct pmv from PropertyMaterlizeView pmv,InstDmdCollMaterializeView idc where "
            + "pmv.basicPropertyID = idc.propMatView.basicPropertyID and pmv.isActive = true and idc.installment.fromDate not between  ('"
            + currentInst.getFromDate() + "') and ('" + currentInst.getToDate() + "') ");
    if (propertyTaxUtil.isWard(localityId))
        query.append(" and pmv.locality.id= :localityId ");
    if (propertyTaxUtil.isWard(zoneId))
        query.append(" and pmv.zone.id= :zoneId ");
    if (propertyTaxUtil.isWard(wardId))
        query.append("  and pmv.ward.id= :wardId ");
    if (propertyTaxUtil.isWard(areaId))
        query.append("  and pmv.block.id= :areaId ");
    query.append(" order by pmv.basicPropertyID ");
    final Query qry = propPerServ.getSession().createQuery(query.toString());
    if (propertyTaxUtil.isWard(localityId))
        qry.setParameter("localityId", localityId);
    if (propertyTaxUtil.isWard(zoneId))
        qry.setParameter("zoneId", zoneId);
    if (propertyTaxUtil.isWard(wardId))
        qry.setParameter("wardId", wardId);
    if (propertyTaxUtil.isWard(areaId))
        qry.setParameter("areaId", areaId);
    @SuppressWarnings("unchecked")
    final List<PropertyMaterlizeView> propertyViewList = qry
            .setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY).list();
    return propertyViewList;
}

From source file:org.egov.works.contractorbill.service.ContractorBillRegisterService.java

License:Open Source License

public List<ContractorBillRegister> searchContractorBill(
        final SearchRequestContractorBill searchRequestContractorBill) {
    // TODO Need TO handle in single query
    final Criteria criteria = entityManager.unwrap(Session.class).createCriteria(ContractorBillRegister.class)
            .createAlias("workOrder", "cbrwo").createAlias("cbrwo.contractor", "cbrwocont");

    if (searchRequestContractorBill != null) {
        if (searchRequestContractorBill.getBillFromDate() != null)
            criteria.add(Restrictions.ge("billdate", searchRequestContractorBill.getBillFromDate()));
        if (searchRequestContractorBill.getBillToDate() != null)
            criteria.add(Restrictions.le("billdate", searchRequestContractorBill.getBillToDate()));
        if (searchRequestContractorBill.getBillType() != null)
            criteria.add(Restrictions.eq("billtype", searchRequestContractorBill.getBillType()));
        if (searchRequestContractorBill.getBillNumber() != null)
            criteria.add(Restrictions.ilike("billnumber", searchRequestContractorBill.getBillNumber(),
                    MatchMode.ANYWHERE));
        if (searchRequestContractorBill.getStatus() != null)
            criteria.add(Restrictions.eq("billstatus", searchRequestContractorBill.getStatus()));
        if (searchRequestContractorBill.getWorkIdentificationNumber() != null) {
            final List<String> estimateNumbersforWIN = lineEstimateService
                    .getEstimateNumbersForWorkIdentificationNumber(
                            searchRequestContractorBill.getWorkIdentificationNumber());
            if (estimateNumbersforWIN.isEmpty())
                estimateNumbersforWIN.add("");
            criteria.add(Restrictions.in("cbrwo.estimateNumber", estimateNumbersforWIN));
        }/*w ww . ja v  a 2s  .  c om*/
        if (searchRequestContractorBill.getContractorName() != null)
            criteria.add(Restrictions.eq("cbrwocont.name", searchRequestContractorBill.getContractorName())
                    .ignoreCase());
        if (searchRequestContractorBill.getDepartment() != null) {
            final List<String> estimateNumbers = lineEstimateService
                    .getEstimateNumberForDepartment(searchRequestContractorBill.getDepartment());
            if (estimateNumbers.isEmpty())
                estimateNumbers.add("");
            criteria.add(Restrictions.in("cbrwo.estimateNumber", estimateNumbers));
        }
        if (searchRequestContractorBill.isSpillOverFlag()) {
            final List<String> estimateNumbersforSpillOverFlag = lineEstimateService
                    .getEstimateNumbersForSpillOverFlag(searchRequestContractorBill.isSpillOverFlag());
            criteria.add(Restrictions.in("cbrwo.estimateNumber", estimateNumbersforSpillOverFlag));
        }
    }
    criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY);
    return criteria.list();
}

From source file:org.egov.works.contractorbill.service.ContractorBillRegisterService.java

License:Open Source License

public List<ContractorBillRegister> searchContractorBillsToCancel(
        final SearchRequestContractorBill searchRequestContractorBill) {
    // TODO Need TO handle in single query
    final Criteria criteria = entityManager.unwrap(Session.class).createCriteria(ContractorBillRegister.class)
            .createAlias("workOrder", "cbrwo").createAlias("cbrwo.contractor", "cbrwocont");

    if (searchRequestContractorBill != null) {
        if (searchRequestContractorBill.getBillNumber() != null)
            criteria.add(Restrictions.ilike("billnumber", searchRequestContractorBill.getBillNumber(),
                    MatchMode.ANYWHERE));
        if (searchRequestContractorBill.getStatus() != null)
            criteria.add(Restrictions.eq("billstatus", searchRequestContractorBill.getStatus()));
        if (searchRequestContractorBill.getWorkIdentificationNumber() != null) {
            final List<String> estimateNumbersforWIN = lineEstimateService
                    .getEstimateNumbersForWorkIdentificationNumber(
                            searchRequestContractorBill.getWorkIdentificationNumber());
            if (estimateNumbersforWIN.isEmpty())
                estimateNumbersforWIN.add("");
            criteria.add(Restrictions.in("cbrwo.estimateNumber", estimateNumbersforWIN));
        }//from www  .j a va2 s.c om
        if (searchRequestContractorBill.getDepartment() != null) {
            final List<String> estimateNumbers = lineEstimateService
                    .getEstimateNumberForDepartment(searchRequestContractorBill.getDepartment());
            if (estimateNumbers.isEmpty())
                estimateNumbers.add("");
            criteria.add(Restrictions.in("cbrwo.estimateNumber", estimateNumbers));
        }
        if (searchRequestContractorBill.getWorkOrderNumber() != null) {
            final List<String> workOrderNumbers = contractorBillRegisterRepository.findWorkOrderNumbersToCancel(
                    "%" + searchRequestContractorBill.getWorkOrderNumber() + "%",
                    ContractorBillRegister.BillStatus.APPROVED.toString());
            if (workOrderNumbers.isEmpty())
                workOrderNumbers.add("");
            criteria.add(Restrictions.in("cbrwo.workOrderNumber", workOrderNumbers));
        }
    }
    criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY);
    return criteria.list();
}

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

License:Open Source License

public List<WorkOrder> searchLetterOfAcceptance(
        final SearchRequestLetterOfAcceptance searchRequestLetterOfAcceptance) {
    // TODO Need TO handle in single query
    final List<String> estimateNumbers = lineEstimateDetailsRepository
            .findEstimateNumbersForDepartment(searchRequestLetterOfAcceptance.getDepartmentName());
    if (estimateNumbers.isEmpty())
        estimateNumbers.add("");
    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/*  ww w.  j a  va 2s.c  o  m*/
                    .eq("workOrderNumber", searchRequestLetterOfAcceptance.getWorkOrderNumber()).ignoreCase());
        if (searchRequestLetterOfAcceptance.getFromDate() != null)
            criteria.add(Restrictions.ge("workOrderDate", searchRequestLetterOfAcceptance.getFromDate()));
        if (searchRequestLetterOfAcceptance.getToDate() != null)
            criteria.add(Restrictions.le("workOrderDate", searchRequestLetterOfAcceptance.getToDate()));
        if (searchRequestLetterOfAcceptance.getName() != null)
            criteria.add(Restrictions.eq("woc.name", searchRequestLetterOfAcceptance.getName()).ignoreCase());
        if (searchRequestLetterOfAcceptance.getFileNumber() != null)
            criteria.add(Restrictions.ilike("fileNumber", searchRequestLetterOfAcceptance.getFileNumber(),
                    MatchMode.ANYWHERE));
        if (searchRequestLetterOfAcceptance.getEstimateNumber() != null)
            criteria.add(Restrictions.eq("estimateNumber", searchRequestLetterOfAcceptance.getEstimateNumber())
                    .ignoreCase());
        if (searchRequestLetterOfAcceptance.getDepartmentName() != null)
            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.letterofacceptance.service.LetterOfAcceptanceService.java

License:Open Source License

public List<WorkOrder> searchLetterOfAcceptanceForContractorBill(
        final SearchRequestLetterOfAcceptance searchRequestLetterOfAcceptance) {
    final List<String> estimateNumbers = lineEstimateService
            .getEstimateNumberForDepartment(searchRequestLetterOfAcceptance.getDepartmentName());
    if (estimateNumbers.isEmpty())
        estimateNumbers.add("");
    // TODO: replace fetching workorders by query with criteria alias
    final List<String> workOrderNumbers = letterOfAcceptanceRepository
            .getDistinctNonCancelledWorkOrderNumbersByBillType(
                    ContractorBillRegister.BillStatus.CANCELLED.toString(), BillTypes.Final_Bill.toString());
    final Criteria criteria = entityManager.unwrap(Session.class).createCriteria(WorkOrder.class, "wo")
            .createAlias("contractor", "woc").createAlias("egwStatus", "status");

    if (searchRequestLetterOfAcceptance != null) {
        if (searchRequestLetterOfAcceptance.getWorkOrderNumber() != null)
            criteria.add(Restrictions/*from   ww  w .  j a v a 2s .  c o m*/
                    .eq("workOrderNumber", searchRequestLetterOfAcceptance.getWorkOrderNumber()).ignoreCase());
        if (searchRequestLetterOfAcceptance.getFromDate() != null)
            criteria.add(Restrictions.ge("workOrderDate", searchRequestLetterOfAcceptance.getFromDate()));
        if (searchRequestLetterOfAcceptance.getToDate() != null)
            criteria.add(Restrictions.le("workOrderDate", searchRequestLetterOfAcceptance.getToDate()));
        if (searchRequestLetterOfAcceptance.getName() != null)
            criteria.add(Restrictions.eq("woc.name", searchRequestLetterOfAcceptance.getName()).ignoreCase());
        if (searchRequestLetterOfAcceptance.getFileNumber() != null)
            criteria.add(Restrictions.ilike("fileNumber", searchRequestLetterOfAcceptance.getFileNumber(),
                    MatchMode.ANYWHERE));
        if (searchRequestLetterOfAcceptance.getEstimateNumber() != null)
            criteria.add(Restrictions.eq("estimateNumber", searchRequestLetterOfAcceptance.getEstimateNumber())
                    .ignoreCase());
        if (searchRequestLetterOfAcceptance.getDepartmentName() != null)
            criteria.add(Restrictions.in("estimateNumber", estimateNumbers));
        if (workOrderNumbers != null && !workOrderNumbers.isEmpty())
            criteria.add(Restrictions.not(Restrictions.in("workOrderNumber", workOrderNumbers)));
    }
    criteria.add(Restrictions.eq("status.code", WorksConstants.APPROVED));
    criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY);
    return criteria.list();
}

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

License:Open Source License

public List<ContractorDetail> searchContractorDetails(final SearchRequestContractor searchRequestContractor) {
    final Criteria criteria = entityManager.unwrap(Session.class).createCriteria(ContractorDetail.class, "cd")
            .createAlias("contractor", "contractor").createAlias("cd.status", "status");
    if (searchRequestContractor != null) {
        if (searchRequestContractor.getDepartment() != null)
            criteria.add(Restrictions.eq("department.id", searchRequestContractor.getDepartment()));
        if (searchRequestContractor.getContractorClass() != null)
            criteria.add(Restrictions.ge("grade.id", searchRequestContractor.getContractorClass()));
        if (searchRequestContractor.getContractorCode() != null)
            criteria.add(Restrictions.eq("contractor.code", searchRequestContractor.getContractorCode())
                    .ignoreCase());/*from  www. j  a va 2 s  .  c o  m*/
        if (searchRequestContractor.getNameOfAgency() != null)
            criteria.add(Restrictions.ilike("contractor.name", searchRequestContractor.getNameOfAgency(),
                    MatchMode.ANYWHERE));
    }
    criteria.add(Restrictions.eq("status.code", WorksConstants.ACTIVE).ignoreCase());
    criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY);
    return criteria.list();
}

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

License:Open Source License

public List<WorkOrder> searchLetterOfAcceptanceToModify(
        final SearchRequestLetterOfAcceptance searchRequestLetterOfAcceptance) {
    // TODO Need TO handle in single query
    final List<String> estimateNumbers = lineEstimateDetailsRepository
            .findEstimateNumbersForDepartment(searchRequestLetterOfAcceptance.getDepartmentName());
    final List<String> workOrderNumbers = letterOfAcceptanceRepository.findWorkOrderNumbersToModifyLoa(
            WorksConstants.APPROVED, ContractorBillRegister.BillStatus.CANCELLED.toString(),
            BillTypes.Final_Bill.toString());
    if (estimateNumbers.isEmpty())
        estimateNumbers.add("");
    if (workOrderNumbers.isEmpty())
        workOrderNumbers.add("");
    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   w  w  w .  ja  v a2s  .  com
                    .eq("workOrderNumber", searchRequestLetterOfAcceptance.getWorkOrderNumber()).ignoreCase());
        if (searchRequestLetterOfAcceptance.getFromDate() != null)
            criteria.add(Restrictions.ge("workOrderDate", searchRequestLetterOfAcceptance.getFromDate()));
        if (searchRequestLetterOfAcceptance.getToDate() != null)
            criteria.add(Restrictions.le("workOrderDate", searchRequestLetterOfAcceptance.getToDate()));
        if (searchRequestLetterOfAcceptance.getName() != null)
            criteria.add(Restrictions.eq("woc.name", searchRequestLetterOfAcceptance.getName()).ignoreCase());
        if (searchRequestLetterOfAcceptance.getFileNumber() != null)
            criteria.add(Restrictions.ilike("fileNumber", searchRequestLetterOfAcceptance.getFileNumber(),
                    MatchMode.ANYWHERE));
        if (searchRequestLetterOfAcceptance.getEstimateNumber() != null)
            criteria.add(Restrictions.eq("estimateNumber", searchRequestLetterOfAcceptance.getEstimateNumber())
                    .ignoreCase());
        if (searchRequestLetterOfAcceptance.getDepartmentName() != null)
            criteria.add(Restrictions.in("estimateNumber", estimateNumbers));

    }
    criteria.add(Restrictions.in("workOrderNumber", workOrderNumbers));
    criteria.add(Restrictions.eq("status.code", WorksConstants.APPROVED));
    criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY);
    return criteria.list();
}