Example usage for org.hibernate.criterion Projections groupProperty

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

Introduction

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

Prototype

public static PropertyProjection groupProperty(String propertyName) 

Source Link

Document

A grouping property value projection

Usage

From source file:com.square.core.dao.implementations.ModeleEmailDaoImplementation.java

License:Open Source License

@SuppressWarnings("unchecked")
@Override//www  . ja  v  a  2s  .  c om
public List<IdentifiantLibelleDto> rechercherListeModelesEmails(DimensionCriteresRechercheDto criteres) {

    final Criteria criteria = createCriteria(ModeleEmail.class);
    criteria.setProjection(Projections.projectionList().add(Projections.groupProperty("id"))
            .add(Projections.groupProperty("libelle")).add(Projections.groupProperty("ordre")));

    // Critre sur l'identifiant
    if (criteres.getId() != null) {
        criteria.add(Restrictions.eq("id", criteres.getId()));
    }
    // Critre sur le libelle
    if (criteres.getLibelle() != null && !criteres.getLibelle().equals("")) {
        criteria.add(Restrictions.ilike("libelle", criteres.getLibelle().toLowerCase() + "%"));
    }
    // Critre sur la visibilit
    if (criteres.getVisible() != null) {
        criteria.add(Restrictions.eq("visible", criteres.getVisible()));
    }
    // Maxresults
    if (criteres.getMaxResults() != null) {
        criteria.setFirstResult(0);
        criteria.setMaxResults(criteres.getMaxResults());
    }
    // Ordonner les lments
    criteria.addOrder(Order.asc("ordre"));
    criteria.addOrder(Order.asc("libelle"));

    final List<Object[]> resultat = criteria.list();
    final List<IdentifiantLibelleDto> listeModeles = new ArrayList<IdentifiantLibelleDto>();
    for (Object[] row : resultat) {
        listeModeles.add(new IdentifiantLibelleDto((Long) row[0], (String) row[1]));
    }
    return listeModeles;
}

From source file:com.square.core.dao.implementations.PersonneDaoImplementation.java

License:Open Source License

@SuppressWarnings("unchecked")
@Override/*  w w  w. ja va 2 s  .  com*/
public List<AdresseSimpleDto> rechercherAdressesSimplesParIdPersonne(Long idPersonne) {
    // Recherche des adresses de la personne
    final Criteria criteria = createCriteria(Personne.class);
    criteria.setProjection(Projections.projectionList().add(Projections.groupProperty("adr.dateDebut"))
            .add(Projections.groupProperty("adr.dateFin")).add(Projections.groupProperty("adr.nature"))
            .add(Projections.groupProperty("nature.ordre")));

    criteria.add(Restrictions.eq("id", idPersonne));
    criteria.createAlias("adresses", "adr");
    criteria.createAlias("adr.nature", "nature");
    criteria.addOrder(Order.asc("nature.ordre"));
    criteria.addOrder(Order.asc("adr.dateDebut"));
    criteria.addOrder(Order.asc("adr.dateFin"));

    // Transformation

    final List<Object[]> resultatRequete = criteria.list();
    final List<AdresseSimpleDto> resultat = new ArrayList<AdresseSimpleDto>();

    if (resultatRequete != null) {
        for (Object[] row : resultatRequete) {
            final AdresseSimpleDto adresseSimpleDto = new AdresseSimpleDto();
            adresseSimpleDto.setDateDebut((Calendar) row[0]);
            adresseSimpleDto.setDateFin((Calendar) row[1]);
            final AdresseNature adresseNature = (AdresseNature) row[2];
            if (adresseNature != null) {
                adresseSimpleDto.setTypeAdresse(
                        new IdentifiantLibelleDto(adresseNature.getId(), adresseNature.getLibelle()));
            }

            resultat.add(adresseSimpleDto);
        }

    } else {
        return null;
    }

    return resultat;
}

From source file:com.square.core.dao.implementations.PersonneMoraleDaoImplementation.java

License:Open Source License

@Override
public PersonneMoraleSimpleDto rechercherPersonneMoraleSimpleParId(Long identifiant) {

    final Criteria criteria = createCriteria(PersonneMorale.class);
    criteria.setProjection(Projections.projectionList().add(Projections.groupProperty("raisonSociale"))
            .add(Projections.groupProperty("numSiret")).add(Projections.groupProperty("naturePersonneMorale"))
            .add(Projections.groupProperty("num")));
    criteria.add(Restrictions.eq("id", identifiant));

    // Transformation de la PersonneMorale morale en personneMoraleSimpleDto
    final Object[] row = (Object[]) criteria.uniqueResult();
    final PersonneMoraleSimpleDto personneMoraleSimpleDto = new PersonneMoraleSimpleDto();
    personneMoraleSimpleDto.setRaisonSociale(String.valueOf(row[0]));
    personneMoraleSimpleDto.setNumeroEntreprise(String.valueOf(row[3]));

    PersonneMoraleNature personneMoraleNature = null;
    if (row[2] instanceof PersonneMoraleNature) {
        personneMoraleNature = (PersonneMoraleNature) row[2];
        personneMoraleSimpleDto.setNature(
                new IdentifiantLibelleDto(personneMoraleNature.getId(), personneMoraleNature.getLibelle()));
    }/*from www. j  a  va2 s. co m*/

    personneMoraleSimpleDto.setNum(String.valueOf(row[3]));

    return personneMoraleSimpleDto;
}

From source file:com.ut.tekir.contact.ContactStatusBean.java

License:LGPL

/**
 * nce devir hesaplayalm...//from  ww  w.  j  a  v a2 s .c o m
 * 
 */
@SuppressWarnings("unchecked")
protected void calculateOffset() {

    HibernateSessionProxy session = (HibernateSessionProxy) entityManager.getDelegate();

    Calendar cal = Calendar.getInstance();
    cal.set(getYear(), 0, 1);
    Date beginDate = cal.getTime();

    Criteria crit = session.createCriteria(FinanceTxn.class);

    crit.add(Restrictions.eq("contact", contact)).add(Restrictions.lt("date", beginDate))
            .add(Restrictions.eq("active", true)); //Tarih kontrol yaplacak

    crit.setProjection(Projections.projectionList()
            .add(Projections.groupProperty("amount.currency"), "amountCurrency")
            .add(Projections.groupProperty("action"), "action").add(Projections.sum("amount.value"), "amount")
            .add(Projections.sum("localAmount.value"), "localAmount"));

    List ls = crit.list();

    for (Iterator it = ls.iterator(); it.hasNext();) {
        Object obj[] = (Object[]) it.next();
        dataTable.addRow("OPEN", (String) obj[0], (FinanceAction) obj[1], (Double) obj[2], (Double) obj[3]);
    }
}

From source file:com.ut.tekir.contact.ContactStatusBean.java

License:LGPL

@SuppressWarnings("unchecked")
private void calculateMonth(Integer month) {

    String rowKey = "MONTH" + (month < 10 ? "0" + month : month);

    Calendar cal = Calendar.getInstance();
    cal.set(getYear(), month, 1);/*from www. ja  v  a  2s.  c  om*/

    Date beginDate = cal.getTime();

    if (month == 12) {
        cal.set(getYear() + 1, 1, 1);
    } else {
        cal.set(getYear(), month + 1, 1);
    }

    Date endDate = cal.getTime();

    HibernateSessionProxy session = (HibernateSessionProxy) entityManager.getDelegate();

    Criteria crit = session.createCriteria(FinanceTxn.class);

    crit.add(Restrictions.eq("contact", contact)).add(Restrictions.ge("date", beginDate))
            .add(Restrictions.lt("date", endDate)).add(Restrictions.eq("active", true)); //Tarih kontrol yaplacak

    crit.setProjection(Projections.projectionList()
            .add(Projections.groupProperty("amount.currency"), "amountCurrency")
            .add(Projections.groupProperty("action"), "action").add(Projections.sum("amount.value"), "amount")
            .add(Projections.sum("localAmount.value"), "localAmount"));

    List ls = crit.list();

    for (Iterator it = ls.iterator(); it.hasNext();) {
        Object obj[] = (Object[]) it.next();
        dataTable.addRow(rowKey, (String) obj[0], (FinanceAction) obj[1], (Double) obj[2], (Double) obj[3]);
    }
}

From source file:com.ut.tekir.finance.FinanceTxnReportBean.java

License:LGPL

@Override
public DetachedCriteria buildCriteria() {

    DetachedCriteria crit = DetachedCriteria.forClass(FinanceTxn.class);

    crit.createAlias("contact", "contact");

    if (isNotEmpty(filterModel.getSerial())) {
        crit.add(Restrictions.ilike("this.serial", filterModel.getSerial(), MatchMode.START));
    }/*from w  w  w .  j a  v a2s. c o  m*/

    if (isNotEmpty(filterModel.getReference())) {
        crit.add(Restrictions.ilike("this.reference", filterModel.getReference(), MatchMode.START));
    }

    if (isNotEmpty(filterModel.getCode())) {
        crit.add(Restrictions.ilike("this.code", filterModel.getCode(), MatchMode.START));
    }

    if (filterModel.getBeginDate() != null) {
        crit.add(Restrictions.ge("this.date", filterModel.getBeginDate()));
    }

    if (filterModel.getEndDate() != null) {
        crit.add(Restrictions.le("this.date", filterModel.getEndDate()));
    }

    if (isNotEmpty(filterModel.getContactName())) {
        crit.add(Restrictions.ilike("contact.fullname", filterModel.getContactName(), MatchMode.START));
    }

    if (isNotEmpty(filterModel.getContactCode())) {
        crit.add(Restrictions.ilike("contact.code", filterModel.getContactCode(), MatchMode.START));
    }

    if (filterModel.getCompanyType() != null && !filterModel.getCompanyType().equals("All")) {
        if (filterModel.getCompanyType().equals("Person")) {
            crit.add(Restrictions.eq("contact.person", Boolean.TRUE));
        } else
            crit.add(Restrictions.eq("contact.person", Boolean.FALSE));
    }

    if (filterModel.getType() != null && filterModel.getType() != ContactType.All) {
        crit.add(Restrictions.eq("contact." + filterModel.getType().toString().toLowerCase() + "Type",
                Boolean.TRUE));
    }

    if (filterModel.getCategory() != null) {
        crit.add(Restrictions.eq("contact.category", filterModel.getCategory()));
    }

    if (filterModel.getExCode1() != null && filterModel.getExCode1().length() > 0) {
        crit.add(Restrictions.ilike("contact.exCode1", filterModel.getExCode1(), MatchMode.START));
    }

    if (filterModel.getExCode2() != null && filterModel.getExCode2().length() > 0) {
        crit.add(Restrictions.ilike("contact.exCode2", filterModel.getExCode2(), MatchMode.START));
    }

    if (filterModel.getOrganization() != null) {
        crit.add(Restrictions.eq("contact.organization", filterModel.getOrganization()));
    }

    if (filterModel.getActive() != null) {
        crit.add(Restrictions.eq("this.active", filterModel.getActive()));
    }

    if (filterModel.getDocumentType() != null && filterModel.getDocumentType() != DocumentType.Unknown) {
        crit.add(Restrictions.eq("this.documentType", filterModel.getDocumentType()));
    }
    if (filterModel.getContact() != null) {
        crit.add(Restrictions.eq("contact.id", filterModel.getContact().getId()));
    }

    if (filterModel.getWorkBunch() != null) {
        crit.add(Restrictions.eq("this.workBunch", filterModel.getWorkBunch()));
    }

    if (filterModel.getCurrency() != null) {
        crit.add(Restrictions.eq("this.amount.currency", filterModel.getCurrency()));
    }

    if (filterModel.getLocalCurrencyOnly()) {
        crit.setProjection(Projections.projectionList()
                .add(Projections.groupProperty("documentType"), "documentType")
                .add(Projections.groupProperty("documentId"), "documentId")
                .add(Projections.groupProperty("serial"), "serial")
                .add(Projections.groupProperty("reference"), "reference")
                .add(Projections.groupProperty("date"), "date")
                .add(Projections.groupProperty("contact.fullname"), "contactName")
                .add(Projections.groupProperty("contact.code"), "contactCode")
                .add(Projections.groupProperty("code"), "code").add(Projections.groupProperty("info"), "info")
                .add(Projections.groupProperty("action"), "action")
                .add(Projections.sum("amount.localAmount"), "localAmount")
                .add(Projections.sum("processType"), "processType")
                .add(Projections.sum("amount.currency"), "currency")
                .add(Projections.groupProperty("workBunch"), "workBunch"));
        log.info("yerel secili : #0", crit);
    }

    if (filterModel.getProcessType() != null) {
        crit.add(Restrictions.eq("this.processType", filterModel.getProcessType()));
    }

    crit.addOrder(Order.desc("this.date"));
    crit.addOrder(Order.desc("this.id"));
    //crit.addOrder(Order.desc("serial"));
    //crit.addOrder(Order.asc("contact.name"));

    log.debug("Sonu : #0", crit);

    return crit;
}

From source file:com.ut.tekir.finance.PromissoryChangeStatusBean.java

License:LGPL

@Override
public DetachedCriteria buildCriteria() {

    DetachedCriteria crit = DetachedCriteria.forClass(PromissoryNote.class);

    crit.createAlias("this.history", "history");
    crit.createAlias("contact", "contact");

    crit.setProjection(Projections.projectionList().add(Projections.groupProperty("this.id"), "id")
            .add(Projections.groupProperty("this.maturityDate"), "maturityDate")
            .add(Projections.groupProperty("this.referenceNo"), "referenceNo")
            .add(Projections.groupProperty("this.promissorynoteOwner"), "promissorynoteOwner")
            .add(Projections.groupProperty("contact.id"), "contactId")
            .add(Projections.groupProperty("contact.name"), "contactName")
            .add(Projections.groupProperty("this.lastStatus"), "lastStatus")
            .add(Projections.groupProperty("this.previousStatus"), "previousStatus")
            .add(Projections.groupProperty("this.info"), "info")
            .add(Projections.groupProperty("money.currency"), "moneyCurrency")
            .add(Projections.groupProperty("money.value"), "moneyValue")
            .add(Projections.groupProperty("this.serialNo"), "serialNo"));

    crit.setResultTransformer(Transformers.aliasToBean(PromissorySumModel.class));

    if (isNotEmpty(filterModel.getReferenceNo())) {
        crit.add(Restrictions.eq("this.referenceNo", filterModel.getReferenceNo()));
    }/*from www .  ja v a2  s  .co m*/

    if (filterModel.getContact() != null) {
        crit.add(Restrictions.eq("this.contact", filterModel.getContact()));
    }

    if (isNotEmpty(filterModel.getPromissorynoteOwner())) {
        crit.add(Restrictions.ilike("this.promissorynoteOwner", filterModel.getPromissorynoteOwner() + "%"));
    }

    if (filterModel.getBeginDate() != null) {
        crit.add(Restrictions.ge("history.date", filterModel.getBeginDate()));
    }

    if (filterModel.getEndDate() != null) {
        crit.add(Restrictions.le("history.date", filterModel.getEndDate()));
    }

    if (filterModel.getLastStatus() != null) {
        crit.add(Restrictions.eq("this.lastStatus", filterModel.getLastStatus()));
    }
    if (getIsClientPromissory() != null) {
        crit.add(Restrictions.eq("this.clientPromissoryNote", getIsClientPromissory()));
    }
    return crit;
}

From source file:com.ut.tekir.invoice.yeni.LimitationChecker.java

License:LGPL

public DetachedCriteria buildCriteriaForWarehouse() {

    DetachedCriteria crit = DetachedCriteria.forClass(ProductTxn.class);

    crit.createAlias("product", "product");
    crit.createAlias("warehouse", "warehouse");

    ProjectionList pl = Projections.projectionList();
    pl.add(Projections.groupProperty("product.code"), "prodcode")
            .add(Projections.groupProperty("product.name"), "prodname")
            .add(Projections.groupProperty("product.group"), "group")
            .add(Projections.groupProperty("product.barcode1"), "barcode")
            .add(Projections.groupProperty("warehouse.code"), "warecode")
            .add(Projections.groupProperty("warehouse.name"), "warename")
            .add(Projections.sum("quantity.value"), "quantity")
            .add(Projections.avg("unitPrice.value"), "unitPrice")
            .add(Projections.sqlGroupProjection("{alias}.UNIT as unit, "
                    + "sum( case {alias}.trade_action when 0 then {alias}.QUANTITY else 0 end ) as INQTY, "
                    + "sum( case {alias}.trade_action when 1 then {alias}.QUANTITY else 0 end ) as OUTQTY , "
                    + "sum( case {alias}.trade_action when 2 then {alias}.QUANTITY else 0 end ) as BUYRETQTY, "
                    + "sum( case {alias}.trade_action when 3 then {alias}.QUANTITY else 0 end ) as SELLRETQTY, "
                    + "sum( case {alias}.trade_action when 6 then {alias}.QUANTITY else 0 end ) as RESQTY , "
                    + "sum( case {alias}.trade_action when 7 then {alias}.QUANTITY else 0 end ) as DELQTY ",
                    "UNIT",
                    new String[] { "unit", "inqty", "outqty", "buyretqty", "sellretqty", "resqty", "delqty" },
                    new Type[] { Hibernate.STRING, Hibernate.DOUBLE, Hibernate.DOUBLE, Hibernate.DOUBLE,
                            Hibernate.DOUBLE, Hibernate.DOUBLE, Hibernate.DOUBLE }));

    crit.setProjection(pl);// ww w . j  a  va  2  s.co m

    crit.add(Restrictions.eq("active", true));

    //Evran kendisini toplam deerlere eklemiyoruz.
    if (filterModel.getDocId() != null) {
        crit.add(Restrictions.ne("documentId", filterModel.getDocId()));
    }

    if (filterModel.getBarcode() != null && filterModel.getBarcode().length() > 0) {
        Criterion criteria1 = Restrictions.eq("product.barcode1", filterModel.getBarcode());
        Criterion criteria2 = Restrictions.eq("product.barcode2", filterModel.getBarcode());
        Criterion criteria3 = Restrictions.eq("product.barcode3", filterModel.getBarcode());

        crit.add(Restrictions.or(criteria1, Restrictions.or(criteria2, criteria3)));
    }

    if (filterModel.getProduct() != null) {
        crit.add(Restrictions.eq("product", filterModel.getProduct()));
    }
    crit.addOrder(Order.asc("product.name"));

    return crit;
}

From source file:com.ut.tekir.report.AccountStatusReportBean.java

License:LGPL

public DetachedCriteria buildCriteria() {

    DetachedCriteria crit = DetachedCriteria.forClass(AccountTxn.class);

    crit.createAlias("account", "account");

    crit.setProjection(Projections.projectionList()
            .add(Projections.groupProperty("account.code"), "accountCode")
            .add(Projections.groupProperty("account.name"), "accountName")
            .add(Projections.groupProperty("amount.currency"), "currency")
            .add(Projections.sum("amount.value"), "amount")
            .add(Projections.sum("amount.localAmount"), "localAmount")
            .add(Projections.property("this.processType"), "processType")
            .add(Projections.sqlGroupProjection(
                    "{alias}.CCY as currency, sum( ( case {alias}.finance_action when 0 then 1 else -1 end ) * {alias}.CCYVAL ) as AMOUNT, sum( case {alias}.finance_action when 0 then {alias}.CCYVAL else 0 end ) as DEBIT, sum( case {alias}.finance_action when 0 then 0 else {alias}.CCYVAL end ) as CREDIT",
                    "CCY", new String[] { "currency", "amount", "debit", "credit" },
                    new Type[] { Hibernate.STRING, Hibernate.BIG_DECIMAL, Hibernate.BIG_DECIMAL,
                            Hibernate.BIG_DECIMAL })));

    crit.add(Restrictions.eq("active", true));

    if (code != null && code.length() > 0) {
        crit.add(Restrictions.ilike("code", code, MatchMode.START));

    }//from w  w w.  ja v a 2s. co m

    if (account != null) {
        crit.add(Restrictions.eq("account", account));
    }

    if (beginDate != null) {
        crit.add(Restrictions.ge("date", beginDate));
    }

    if (endDate != null) {
        crit.add(Restrictions.le("date", endDate));
    }

    if (getDocumentType() != null && getDocumentType() != DocumentType.Unknown) {
        crit.add(Restrictions.eq("documentType", getDocumentType()));
    }

    if (getProcessType() != null) {
        crit.add(Restrictions.eq("this.processType", getProcessType()));
    }

    if (getWorkBunch() != null) {
        crit.add(Restrictions.eq("workBunch", getWorkBunch()));
    }

    crit.addOrder(Order.asc("account.code"));

    return crit;
}

From source file:com.ut.tekir.report.BankStatusReportBean.java

License:LGPL

public DetachedCriteria buildCriteria() {

    DetachedCriteria crit = DetachedCriteria.forClass(BankTxn.class);

    crit.createAlias("bankAccount", "bankAccount");
    crit.createAlias("bankAccount.bankBranch", "bankBranch");
    crit.createAlias("bankAccount.bankBranch.bank", "bank");

    crit.setProjection(Projections.projectionList()
            .add(Projections.groupProperty("bankAccount.accountNo"), "bankAccount")
            .add(Projections.groupProperty("bankBranch.name"), "bankBranchName")
            .add(Projections.groupProperty("bank.name"), "bankName")
            .add(Projections.groupProperty("amount.currency"), "currency")
            .add(Projections.sum("amount.value"), "amount")
            .add(Projections.property("processType"), "processType")
            .add(Projections.sum("amount.localAmount"), "localAmount")
            .add(Projections.sqlGroupProjection(
                    "{alias}.CCY as currency, sum( ( case {alias}.action when 0 then 1 else -1 end ) * {alias}.CCYVAL ) as AMOUNT, sum( case {alias}.action when 0 then {alias}.CCYVAL else 0 end ) as DEBIT, sum( case {alias}.action when 0 then 0 else {alias}.CCYVAL end ) as CREDIT",
                    "{alias}.CCY", new String[] { "currency", "amount", "debit", "credit" },
                    new Type[] { Hibernate.STRING, Hibernate.BIG_DECIMAL, Hibernate.BIG_DECIMAL,
                            Hibernate.BIG_DECIMAL })));

    crit.add(Restrictions.eq("active", true));

    if (bankAccount != null) {
        crit.add(Restrictions.eq("this.bankAccount", bankAccount));
    } else {// ww w . j  a va2s  .co  m

        if (bankBranch != null) {
            crit.add(Restrictions.eq("bankAccount.bankBranch", bankBranch));
        } else {
            if (bank != null) {
                crit.add(Restrictions.eq("bankBranch.bank", bank));
            }
        }
    }

    if (code != null && code.length() > 0) {
        crit.add(Restrictions.ilike("code", code, MatchMode.START));
    }

    if (beginDate != null) {
        crit.add(Restrictions.ge("date", beginDate));
    }

    if (endDate != null) {
        crit.add(Restrictions.le("date", endDate));
    }

    if (getWorkBunch() != null) {
        crit.add(Restrictions.eq("workBunch", getWorkBunch()));
    }

    if (getDocumentType() != null && getDocumentType() != DocumentType.Unknown) {
        crit.add(Restrictions.eq("documentType", getDocumentType()));
    }

    if (getProcessType() != null) {
        crit.add(Restrictions.eq("this.processType", getProcessType()));
    }

    crit.addOrder(Order.asc("bankAccount.name"));

    return crit;
}