Example usage for org.hibernate.criterion Restrictions ge

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

Introduction

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

Prototype

public static SimpleExpression ge(String propertyName, Object value) 

Source Link

Document

Apply a "greater than or equal" constraint to the named property

Usage

From source file:com.lp.server.reklamation.ejbfac.ReklamationReportFacBean.java

License:Open Source License

@TransactionAttribute(TransactionAttributeType.NEVER)
public JasperPrintLP printLieferantenbeurteilung(Timestamp tVon, Timestamp tBis, Integer lieferantIId,
        Integer brancheIId, Integer liefergruppeIId, TheClientDto theClientDto) {

    index = -1;/* w  w w.  j  av  a2s .  c  o m*/
    sAktuellerReport = ReklamationReportFac.REPORT_LIEFERANTENBEURTEILUNG;

    HashMap<String, Object> parameter = new HashMap<String, Object>();

    parameter.put("P_VON", Helper.cutTimestamp(tVon));
    parameter.put("P_BIS", Helper.cutTimestamp(tBis));

    HashMap<Integer, String> hmLieferanten = new HashMap<Integer, String>();

    Calendar c = Calendar.getInstance();
    c.setTimeInMillis(tBis.getTime());
    Timestamp tBeurteilungsdatum = Helper.cutTimestamp(tBis);

    // Klassen holen
    int iPunkteA = 0;
    int iPunkteB = 0;
    int iPunkteC = 0;

    try {
        ParametermandantDto parameterDto = getParameterFac().getMandantparameter(theClientDto.getMandant(),
                ParameterFac.KATEGORIE_LIEFERANT,
                ParameterFac.PARAMETER_LIEFERANTENBEURTEILUNG_PUNKTE_KLASSE_A);
        iPunkteA = (Integer) parameterDto.getCWertAsObject();

        parameter.put("P_PUNKTEA", iPunkteA);

        parameterDto = getParameterFac().getMandantparameter(theClientDto.getMandant(),
                ParameterFac.KATEGORIE_LIEFERANT,
                ParameterFac.PARAMETER_LIEFERANTENBEURTEILUNG_PUNKTE_KLASSE_B);
        iPunkteB = (Integer) parameterDto.getCWertAsObject();

        parameter.put("P_PUNKTEB", iPunkteB);

        parameterDto = getParameterFac().getMandantparameter(theClientDto.getMandant(),
                ParameterFac.KATEGORIE_LIEFERANT,
                ParameterFac.PARAMETER_LIEFERANTENBEURTEILUNG_PUNKTE_KLASSE_C);
        iPunkteC = (Integer) parameterDto.getCWertAsObject();

        parameter.put("P_PUNKTEC", iPunkteC);

    } catch (RemoteException e2) {
        e2.printStackTrace();
    }
    tVon = Helper.cutTimestamp(tVon);
    tBis = Helper.cutTimestamp(new Timestamp(tBis.getTime() + 24 * 3600000));

    Session session = FLRSessionFactory.getFactory().openSession();

    org.hibernate.Criteria crit = session.createCriteria(FLRWareneingangspositionen.class);

    crit.createAlias("flrwareneingang", "w");
    crit.createAlias("w.flrbestellung", "b");
    crit.createAlias("b.flrlieferant", "l");
    crit.createAlias("l.flrpartner", "p");
    crit.add(Restrictions.ge("w.t_wareneingansdatum", tVon));
    crit.add(Restrictions.lt("w.t_wareneingansdatum", tBis));
    crit.add(Restrictions.eq("b.mandant_c_nr", theClientDto.getMandant()));

    crit.add(Restrictions.eq("l.b_beurteilen", Helper.boolean2Short(true)));

    if (lieferantIId != null) {

        crit.add(Restrictions.eq("l.i_id", lieferantIId));

    }

    if (brancheIId != null) {
        crit.add(Restrictions.eq("p.branche_i_id", brancheIId));
        parameter.put("P_BRANCHE",
                getPartnerServicesFac().brancheFindByPrimaryKey(brancheIId, theClientDto).getBezeichnung());
    }

    if (liefergruppeIId != null) {
        crit.createAlias("l.set_liefergruppen", "set");
        crit.createAlias("set.flrliefergruppe", "lg");
        crit.add(Restrictions.eq("lg.i_id", liefergruppeIId));
        parameter.put("P_LIEFERGUPPE", getLieferantServicesFac()
                .lfliefergruppeFindByPrimaryKey(liefergruppeIId, theClientDto).getBezeichnung());

    }

    crit.addOrder(Order.asc("p." + PartnerFac.FLR_PARTNER_C_NAME1NACHNAMEFIRMAZEILE1));
    crit.addOrder(Order.desc("b.c_nr"));

    List<?> results = crit.list();
    Iterator<?> resultListIterator = results.iterator();

    TermintreueDto[] dtos = null;
    try {
        dtos = getReklamationFac().termintreueFindAll();
    } catch (RemoteException e1) {
        throwEJBExceptionLPRespectOld(e1);
    }

    data = new Object[results.size()][REPORT_LIEFERANTENBEURTEILUNG_ANZAHL_SPALTEN];
    int iLetzterWareneingang = -1;
    int iLetzterLieferant = -1;
    int iAnzahlWareneingaengeProLieferant = 0;
    int iAnzahlPunkteProLieferant = 0;
    int row = 0;

    HashMap hmWareneingaengeAbgehandelt = new HashMap();

    while (resultListIterator.hasNext()) {
        FLRWareneingangspositionen wareneingangspositionen = (FLRWareneingangspositionen) resultListIterator
                .next();

        data[row][REPORT_LIEFERANTENBEURTEILUNG_LIEFERANT] = wareneingangspositionen.getFlrwareneingang()
                .getFlrbestellung().getFlrlieferant().getFlrpartner().getC_name1nachnamefirmazeile1();
        data[row][REPORT_LIEFERANTENBEURTEILUNG_LIEFERANT_STRASSE] = wareneingangspositionen
                .getFlrwareneingang().getFlrbestellung().getFlrlieferant().getFlrpartner().getC_strasse();
        data[row][REPORT_LIEFERANTENBEURTEILUNG_LIEFERANT_KBEZ] = wareneingangspositionen.getFlrwareneingang()
                .getFlrbestellung().getFlrlieferant().getFlrpartner().getC_kbez();
        if (wareneingangspositionen.getFlrwareneingang().getFlrbestellung().getFlrlieferant().getFlrpartner()
                .getFlrlandplzort() != null) {
            data[row][REPORT_LIEFERANTENBEURTEILUNG_LIEFERANT_PLZ] = wareneingangspositionen
                    .getFlrwareneingang().getFlrbestellung().getFlrlieferant().getFlrpartner()
                    .getFlrlandplzort().getC_plz();
            data[row][REPORT_LIEFERANTENBEURTEILUNG_LIEFERANT_LKZ] = wareneingangspositionen
                    .getFlrwareneingang().getFlrbestellung().getFlrlieferant().getFlrpartner()
                    .getFlrlandplzort().getFlrland().getC_lkz();
            data[row][REPORT_LIEFERANTENBEURTEILUNG_LIEFERANT_ORT] = wareneingangspositionen
                    .getFlrwareneingang().getFlrbestellung().getFlrlieferant().getFlrpartner()
                    .getFlrlandplzort().getFlrort().getC_name();
        }

        Timestamp weDatum = Helper.cutTimestamp(
                new Timestamp(wareneingangspositionen.getFlrwareneingang().getT_wareneingansdatum().getTime()));

        data[row][REPORT_LIEFERANTENBEURTEILUNG_WARENEINGANGSDATUM] = weDatum;
        data[row][REPORT_LIEFERANTENBEURTEILUNG_WEIID] = wareneingangspositionen.getFlrwareneingang().getI_id();
        data[row][REPORT_LIEFERANTENBEURTEILUNG_BESTELLNUMMER] = wareneingangspositionen.getFlrwareneingang()
                .getFlrbestellung().getC_nr();
        data[row][REPORT_LIEFERANTENBEURTEILUNG_WELIEFERSCHEIN] = wareneingangspositionen.getFlrwareneingang()
                .getC_lieferscheinnr();
        data[row][REPORT_LIEFERANTENBEURTEILUNG_MENGE] = wareneingangspositionen.getN_geliefertemenge();
        data[row][REPORT_LIEFERANTENBEURTEILUNG_ARTIKELNUMMER] = wareneingangspositionen.getFlrbestellposition()
                .getFlrartikel().getC_nr();

        hmLieferanten.put(
                wareneingangspositionen.getFlrwareneingang().getFlrbestellung().getFlrlieferant().getI_id(),
                "");

        try {
            LieferantbeurteilungDto[] lbDtos = getLieferantFac()
                    .lieferantbeurteilungfindByLetzteBeurteilungByLieferantIId(wareneingangspositionen
                            .getFlrwareneingang().getFlrbestellung().getFlrlieferant().getI_id(),
                            tBeurteilungsdatum);
            if (lbDtos != null && lbDtos.length > 0) {
                data[row][REPORT_LIEFERANTENBEURTEILUNG_KLASSE_BISHER] = lbDtos[0].getCKlasse();
                data[row][REPORT_LIEFERANTENBEURTEILUNG_PUNKTE_BISHER] = lbDtos[0].getIPunkte();
            }
        } catch (RemoteException e1) {
            throwEJBExceptionLPRespectOld(e1);
        }

        ArtikelDto artikelDto = getArtikelFac().artikelFindByPrimaryKeySmall(
                wareneingangspositionen.getFlrbestellposition().getFlrartikel().getI_id(), theClientDto);
        data[row][REPORT_LIEFERANTENBEURTEILUNG_BEZEICHNUNG] = artikelDto.formatBezeichnung();

        // Solltermin:
        java.util.Date sollTermin = null;

        // if (wareneingangspositionen.getFlrbestellposition()
        // .getT_auftragsbestaetigungstermin() != null) {
        // sollTermin = wareneingangspositionen.getFlrbestellposition()
        // .getT_auftragsbestaetigungstermin();
        // }

        sollTermin = wareneingangspositionen.getFlrbestellposition().getT_abursprungstermin();

        if (sollTermin == null
                && wareneingangspositionen.getFlrbestellposition().getT_auftragsbestaetigungstermin() != null) {
            sollTermin = wareneingangspositionen.getFlrbestellposition().getT_auftragsbestaetigungstermin();
        }
        if (sollTermin == null && wareneingangspositionen.getFlrwareneingang().getFlrbestellung()
                .getT_liefertermin() != null) {
            sollTermin = wareneingangspositionen.getFlrwareneingang().getFlrbestellung().getT_liefertermin();
        }

        data[row][REPORT_LIEFERANTENBEURTEILUNG_SOLLTERMIN] = sollTermin;

        Integer iVerspaetungstage = getVerspaetungstage(weDatum, sollTermin);

        data[row][REPORT_LIEFERANTENBEURTEILUNG_VERSPAETUNG] = iVerspaetungstage;
        if (!hmWareneingaengeAbgehandelt.containsKey(wareneingangspositionen.getFlrwareneingang().getI_id())) {
            hmWareneingaengeAbgehandelt.put(wareneingangspositionen.getFlrwareneingang().getI_id(), "");
            // Punkte berechnen
            // Reklamation holen, wenn vorhanden

            int iPunkteSchwere = 30;
            int iPunkteBehandlung = 30;
            int iPunkteTermin = getPunkteTermin(iVerspaetungstage, dtos);

            try {

                ReklamationDto[] reklamationDto = getReklamationFac()
                        .reklamationFindByWareneingangIIdMandantCNr(
                                wareneingangspositionen.getFlrwareneingang().getI_id(), theClientDto);
                if (reklamationDto != null && reklamationDto.length > 0) {

                    data[row][REPORT_LIEFERANTENBEURTEILUNG_REKLAMATIONSNUMMER] = reklamationDto[0].getCNr();

                    if (reklamationDto[0].getSchwereIId() != null) {
                        iPunkteSchwere = getReklamationFac()
                                .schwereFindByPrimaryKey(reklamationDto[0].getSchwereIId()).getIPunkte();
                    }
                    if (reklamationDto[0].getBehandlungIId() != null) {
                        iPunkteBehandlung = getReklamationFac()
                                .behandlungFindByPrimaryKey(reklamationDto[0].getBehandlungIId()).getIPunkte();
                    }
                }

            } catch (RemoteException e) {
                // Keine vorhanden
            }

            data[row][REPORT_LIEFERANTENBEURTEILUNG_PUNKTE_BEHANDLUNG] = iPunkteBehandlung;
            data[row][REPORT_LIEFERANTENBEURTEILUNG_PUNKTE_TERMIN] = iPunkteTermin;
            data[row][REPORT_LIEFERANTENBEURTEILUNG_PUNKTE_SCHWERE] = iPunkteSchwere;

            int iPunkteGesamt = iPunkteTermin * (iPunkteSchwere + iPunkteBehandlung);

            data[row][REPORT_LIEFERANTENBEURTEILUNG_PUNKTE_GESAMT] = iPunkteGesamt;

            iAnzahlWareneingaengeProLieferant++;
            iAnzahlPunkteProLieferant += iPunkteGesamt;
        }

        if ((iLetzterLieferant != -1 && (iLetzterLieferant != wareneingangspositionen.getFlrbestellposition()
                .getFlrbestellung().getFlrlieferant().getI_id())) || resultListIterator.hasNext() == false) {

            // Zuerst nachsehen ob vorhanden
            int iPunkte = 0;
            String klasse = "D";
            if (iAnzahlWareneingaengeProLieferant != 0) {
                iPunkte = iAnzahlPunkteProLieferant / iAnzahlWareneingaengeProLieferant;
            }

            if (iPunkte >= iPunkteC) {
                klasse = "C";
            }

            if (iPunkte >= iPunkteB) {
                klasse = "B";
            }

            if (iPunkte >= iPunkteA) {
                klasse = "A";
            }

            Integer lieferantIIdBeurteilung = iLetzterLieferant;
            if (lieferantIId != null) {
                lieferantIIdBeurteilung = lieferantIId;
            }

            try {
                LieferantbeurteilungDto dto = getLieferantFac().lieferantbeurteilungfindByLieferantIIdTDatum(
                        lieferantIIdBeurteilung, tBeurteilungsdatum);

                if (Helper.short2boolean(dto.getBGesperrt()) == false) {
                    dto.setBManuellgeaendert(Helper.boolean2Short(false));
                    dto.setIPunkte(iPunkte);
                    dto.setCKlasse(klasse);
                }

                try {
                    getLieferantFac().updateLieferantbeurteilung(dto, theClientDto);
                } catch (RemoteException e) {
                    throwEJBExceptionLPRespectOld(e);
                }
            } catch (javax.ejb.EJBException e) {
                // Wenn nichts gefunden, dann neu anlegen
                // Beurteilung zurueckschreiben
                LieferantbeurteilungDto lbDto = new LieferantbeurteilungDto();

                // Durchschnitt
                lbDto.setIPunkte(iPunkte);
                lbDto.setBGesperrt(Helper.boolean2Short(false));
                lbDto.setTDatum(tBeurteilungsdatum);

                lbDto.setLieferantIId(lieferantIIdBeurteilung);
                lbDto.setCKlasse(klasse);
                lbDto.setBManuellgeaendert(Helper.boolean2Short(false));
                try {
                    getLieferantFac().createLieferantbeurteilung(lbDto, theClientDto);
                } catch (RemoteException ez) {
                    throwEJBExceptionLPRespectOld(ez);
                }
            } catch (RemoteException e) {
                throwEJBExceptionLPRespectOld(e);
            }

            iAnzahlWareneingaengeProLieferant = 0;
            iAnzahlPunkteProLieferant = 0;
        }

        iLetzterLieferant = wareneingangspositionen.getFlrbestellposition().getFlrbestellung().getFlrlieferant()
                .getI_id();
        row++;
    }

    initJRDS(parameter, ReklamationReportFac.REPORT_MODUL, ReklamationReportFac.REPORT_LIEFERANTENBEURTEILUNG,
            theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto);

    JasperPrintLP print = getReportPrint();

    print.putAdditionalInformation("LIEFERANTEN",
            (Integer[]) hmLieferanten.keySet().toArray(new Integer[hmLieferanten.keySet().size()]));

    return print;
}

From source file:com.lp.server.reklamation.ejbfac.ReklamationReportFacBean.java

License:Open Source License

@TransactionAttribute(TransactionAttributeType.NEVER)
public JasperPrintLP printLieferantentermintreue(Timestamp tVon, Timestamp tBis, Integer lieferantIId,
        TheClientDto theClientDto) {/*from   w  w w  .j a va2 s  .c  o  m*/

    index = -1;
    sAktuellerReport = ReklamationReportFac.REPORT_LEFERANTENTERMINTREUE;

    HashMap<String, Object> parameter = new HashMap<String, Object>();

    parameter.put("P_VON", tVon);
    parameter.put("P_BIS", tBis);

    tVon = Helper.cutTimestamp(tVon);
    tBis = Helper.cutTimestamp(new Timestamp(tBis.getTime() + 24 * 3600000));

    Session session = FLRSessionFactory.getFactory().openSession();

    org.hibernate.Criteria crit = session.createCriteria(FLRWareneingangspositionen.class);

    crit.createAlias("flrwareneingang", "w");
    crit.createAlias("w.flrbestellung", "b");
    crit.createAlias("b.flrlieferant", "l");
    crit.createAlias("l.flrpartner", "p");
    crit.add(Restrictions.ge("w.t_wareneingansdatum", tVon));
    crit.add(Restrictions.lt("w.t_wareneingansdatum", tBis));
    crit.add(Restrictions.eq("b.mandant_c_nr", theClientDto.getMandant()));

    if (lieferantIId != null) {
        crit.add(Restrictions.eq("l.i_id", lieferantIId));

        LieferantDto lieferantDto = getLieferantFac().lieferantFindByPrimaryKey(lieferantIId, theClientDto);

        parameter.put("P_LIEFERANT", lieferantDto.getPartnerDto().formatFixTitelName1Name2());

    }

    crit.addOrder(Order.asc("p." + PartnerFac.FLR_PARTNER_C_NAME1NACHNAMEFIRMAZEILE1));
    crit.addOrder(Order.desc("b.c_nr"));

    List<?> results = crit.list();
    Iterator<?> resultListIterator = results.iterator();

    data = new Object[results.size()][9];

    int row = 0;
    while (resultListIterator.hasNext()) {
        FLRWareneingangspositionen wareneingangspositionen = (FLRWareneingangspositionen) resultListIterator
                .next();

        data[row][REPORT_LIEFERANTENTERMINTREUE_LIEFERANT] = wareneingangspositionen.getFlrwareneingang()
                .getFlrbestellung().getFlrlieferant().getFlrpartner().getC_name1nachnamefirmazeile1();

        Timestamp weDatum = Helper.cutTimestamp(
                new Timestamp(wareneingangspositionen.getFlrwareneingang().getT_wareneingansdatum().getTime()));

        data[row][REPORT_LIEFERANTENTERMINTREUE_WARENEINGANGSDATUM] = weDatum;
        data[row][REPORT_LIEFERANTENTERMINTREUE_BESTELLNUMMER] = wareneingangspositionen.getFlrwareneingang()
                .getFlrbestellung().getC_nr();
        data[row][REPORT_LIEFERANTENTERMINTREUE_WELIEFERSCHEIN] = wareneingangspositionen.getFlrwareneingang()
                .getC_lieferscheinnr();
        data[row][REPORT_LIEFERANTENTERMINTREUE_MENGE] = wareneingangspositionen.getN_geliefertemenge();
        data[row][REPORT_LIEFERANTENTERMINTREUE_ARTIKELNUMMER] = wareneingangspositionen.getFlrbestellposition()
                .getFlrartikel().getC_nr();

        ArtikelDto artikelDto = getArtikelFac().artikelFindByPrimaryKeySmall(
                wareneingangspositionen.getFlrbestellposition().getFlrartikel().getI_id(), theClientDto);
        data[row][REPORT_LIEFERANTENTERMINTREUE_BEZEICHNUNG] = artikelDto.formatBezeichnung();

        // Solltermin:
        java.util.Date sollTermin = null;

        // if (wareneingangspositionen.getFlrbestellposition()
        // .getT_auftragsbestaetigungstermin() != null) {
        // sollTermin = wareneingangspositionen.getFlrbestellposition()
        // .getT_auftragsbestaetigungstermin();
        // }

        sollTermin = wareneingangspositionen.getFlrbestellposition().getT_abursprungstermin();

        if (sollTermin == null
                && wareneingangspositionen.getFlrbestellposition().getT_auftragsbestaetigungstermin() != null) {
            sollTermin = wareneingangspositionen.getFlrbestellposition().getT_auftragsbestaetigungstermin();
        }
        if (sollTermin == null && wareneingangspositionen.getFlrwareneingang().getFlrbestellung()
                .getT_liefertermin() != null) {
            sollTermin = wareneingangspositionen.getFlrwareneingang().getFlrbestellung().getT_liefertermin();
        }

        data[row][REPORT_LIEFERANTENTERMINTREUE_SOLLTERMIN] = sollTermin;

        data[row][REPORT_LIEFERANTENTERMINTREUE_VERSPAETUNG] = getVerspaetungstage(weDatum, sollTermin);

        row++;
    }

    initJRDS(parameter, ReklamationReportFac.REPORT_MODUL, ReklamationReportFac.REPORT_LEFERANTENTERMINTREUE,
            theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto);

    return getReportPrint();
}

From source file:com.lp.server.reklamation.ejbfac.ReklamationReportFacBean.java

License:Open Source License

public JasperPrintLP printFehlerarten(java.sql.Timestamp tVon, java.sql.Timestamp tBis, boolean bKunde,
        boolean bLieferant, boolean bFertigung, Integer kundeIId, int iGruppierung, boolean bNurBerechtigte,
        TheClientDto theClientDto) {//from w  w  w  .j  a v  a  2 s  . c om

    sAktuellerReport = ReklamationReportFac.REPORT_FEHLERART;

    HashMap<String, Object> parameter = new HashMap<String, Object>();
    parameter.put("P_VON", tVon);
    parameter.put("P_BIS", tBis);
    parameter.put("P_NURBERECHTIGTE", new Boolean(bNurBerechtigte));

    tVon = Helper.cutTimestamp(tVon);

    Session session = FLRSessionFactory.getFactory().openSession();

    org.hibernate.Criteria crit = session.createCriteria(FLRReklamation.class);
    crit.add(Restrictions.eq("mandant_c_nr", theClientDto.getMandant()));

    session.enableFilter("filterMandant").setParameter("paramMandant", theClientDto.getMandant());
    session.enableFilter("filterLocale").setParameter("paramLocale", theClientDto.getLocUiAsString());

    Calendar c = Calendar.getInstance();
    c.setTimeInMillis(tBis.getTime());
    c.set(Calendar.DAY_OF_MONTH, c.get(Calendar.DAY_OF_MONTH) + 1);

    tBis = Helper.cutTimestamp(new java.sql.Timestamp(c.getTimeInMillis()));

    crit.add(Restrictions.ge(ReklamationFac.FLR_REKLAMATION_T_BELEGDATUM, tVon));
    crit.add(Restrictions.lt(ReklamationFac.FLR_REKLAMATION_T_BELEGDATUM, tBis));

    crit.createAlias(ReklamationFac.FLR_REKLAMATION_FLRLIEFERANT, "l", CriteriaSpecification.LEFT_JOIN);
    crit.createAlias(ReklamationFac.FLR_REKLAMATION_FRLKUNDE, "k", CriteriaSpecification.LEFT_JOIN);

    crit.createAlias(ReklamationFac.FLR_REKLAMATION_FLRLOS, "lo", CriteriaSpecification.LEFT_JOIN);
    crit.createAlias("lo." + FertigungFac.FLR_LOSREPORT_FLRAUFTRAG, "au", CriteriaSpecification.LEFT_JOIN);

    crit.createAlias("l." + LieferantFac.FLR_PARTNER, "pl", CriteriaSpecification.LEFT_JOIN);
    crit.createAlias("k." + KundeFac.FLR_PARTNER, "kl", CriteriaSpecification.LEFT_JOIN);
    crit.createAlias(ReklamationFac.FLR_REKLAMATION_FLRFEHLERANGABE, "f", CriteriaSpecification.LEFT_JOIN);

    if (bNurBerechtigte == true) {
        crit.add(Restrictions.eq(ReklamationFac.FLR_REKLAMATION_B_BERECHTIGT, Helper.boolean2Short(true)));
    }

    ArrayList<String> alArten = new ArrayList<String>();
    if (bFertigung == true) {
        alArten.add(ReklamationFac.REKLAMATIONART_FERTIGUNG);
    }
    if (bKunde == true) {
        alArten.add(ReklamationFac.REKLAMATIONART_KUNDE);
    }
    if (bLieferant == true) {
        alArten.add(ReklamationFac.REKLAMATIONART_LIEFERANT);
    }

    crit.add(Restrictions.in(ReklamationFac.FLR_REKLAMATION_REKLAMATIONART_C_NR, alArten));

    if (alArten.size() == 0) {
        return null;
    }

    if (kundeIId != null) {
        crit.add(Restrictions.or(Restrictions.eq("au.kunde_i_id_auftragsadresse", kundeIId),
                Restrictions.eq(ReklamationFac.FLR_REKLAMATION_KUNDE_I_ID, kundeIId)));

        KundeDto kundeDto = getKundeFac().kundeFindByPrimaryKey(kundeIId, theClientDto);
        parameter.put("P_KUNDE", kundeDto.getPartnerDto().formatFixTitelName1Name2());

    }

    if (iGruppierung == ReklamationReportFac.SORTIERUNG_FEHLERART_MASCHINENGRUPPE
            || iGruppierung == ReklamationReportFac.SORTIERUNG_FEHLERART_MASCHINENGRUPPE_MITARBEITER) {

        crit.createAlias(ReklamationFac.FLR_REKLAMATION_FLRMASCHINE, "masch", CriteriaSpecification.LEFT_JOIN);
        crit.createAlias("masch." + ZeiterfassungFac.FLR_MASCHINE_FLR_MASCHINENGRUPPE, "mgru",
                CriteriaSpecification.LEFT_JOIN);

        crit.addOrder(Order.asc("mgru.c_bez"));

    }

    if (iGruppierung == ReklamationReportFac.SORTIERUNG_FEHLERART_MITARBEITER
            || iGruppierung == ReklamationReportFac.SORTIERUNG_FEHLERART_MASCHINENGRUPPE_MITARBEITER) {
        crit.createAlias(ReklamationFac.FLR_REKLAMATION_FLRVERURSACHER, "ver", CriteriaSpecification.LEFT_JOIN);
        crit.createAlias("ver." + PersonalFac.FLR_PERSONAL_FLRPARTNER, "part", CriteriaSpecification.LEFT_JOIN);
        crit.addOrder(Order.asc("part." + PartnerFac.FLR_PARTNER_C_NAME1NACHNAMEFIRMAZEILE1));
        crit.addOrder(Order.asc("part." + PartnerFac.FLR_PARTNER_C_NAME2VORNAMEFIRMAZEILE2));
    }

    crit.addOrder(Order.asc("f.c_bez"));
    crit.addOrder(Order.asc("c_nr"));

    List<?> results = crit.list();
    Iterator<?> resultListIterator = results.iterator();

    data = new Object[results.size()][REPORT_FEHLERART_ANZAHL_SPALTEN];
    int row = 0;

    if (iGruppierung == ReklamationReportFac.SORTIERUNG_FEHLERART_FEHLERART) {
        parameter.put("P_SORTIERUNG",
                getTextRespectUISpr("rekla.fehlerart", theClientDto.getMandant(), theClientDto.getLocUi()));
    } else if (iGruppierung == ReklamationReportFac.SORTIERUNG_FEHLERART_MASCHINENGRUPPE) {
        parameter.put("P_SORTIERUNG",
                getTextRespectUISpr("lp.maschinengruppe", theClientDto.getMandant(), theClientDto.getLocUi()));
    } else if (iGruppierung == ReklamationReportFac.SORTIERUNG_FEHLERART_MITARBEITER) {
        parameter.put("P_SORTIERUNG",
                getTextRespectUISpr("rekla.verursacher", theClientDto.getMandant(), theClientDto.getLocUi()));
    } else if (iGruppierung == ReklamationReportFac.SORTIERUNG_FEHLERART_MASCHINENGRUPPE_MITARBEITER) {
        parameter.put("P_SORTIERUNG",
                getTextRespectUISpr("lp.maschinengruppe", theClientDto.getMandant(), theClientDto.getLocUi())
                        + " + " + getTextRespectUISpr("rekla.verursacher", theClientDto.getMandant(),
                                theClientDto.getLocUi()));
    }

    while (resultListIterator.hasNext()) {
        FLRReklamation flrReklamation = (FLRReklamation) resultListIterator.next();

        data[row][REPORT_FEHLERART_FEHLERART] = flrReklamation.getFlrfehlerangabe().getC_bez();
        data[row][REPORT_FEHLERART_REKLAMATIONSNUMMER] = flrReklamation.getC_nr();
        data[row][REPORT_FEHLERART_REKLAMATIONSART] = flrReklamation.getReklamationart_c_nr();
        data[row][REPORT_FEHLERART_MASCHINENGRUPPE] = "";

        if (flrReklamation.getFlrmaschine() != null) {
            data[row][REPORT_FEHLERART_MASCHINENGRUPPE] = flrReklamation.getFlrmaschine()
                    .getFlrmaschinengruppe().getC_bez();
        }

        data[row][REPORT_FEHLERART_VERURSACHER] = "";
        if (flrReklamation.getFlrverursacher() != null) {
            PersonalDto personalDto = getPersonalFac()
                    .personalFindByPrimaryKey(flrReklamation.getFlrverursacher().getI_id(), theClientDto);

            data[row][REPORT_FEHLERART_VERURSACHER] = personalDto.formatAnrede();
        }
        data[row][REPORT_FEHLERART_KUNDE] = "";
        KundeDto kundeDto = null;
        if (flrReklamation.getReklamationart_c_nr().equals(ReklamationFac.REKLAMATIONART_KUNDE)
                && flrReklamation.getKunde_i_id() != null) {

            kundeDto = getKundeFac().kundeFindByPrimaryKey(flrReklamation.getKunde_i_id(), theClientDto);

        } else if (flrReklamation.getReklamationart_c_nr().equals(ReklamationFac.REKLAMATIONART_FERTIGUNG)
                && flrReklamation.getFlrlos() != null && flrReklamation.getFlrlos().getFlrauftrag() != null) {
            kundeDto = getKundeFac().kundeFindByPrimaryKey(
                    flrReklamation.getFlrlos().getFlrauftrag().getKunde_i_id_auftragsadresse(), theClientDto);
        }

        if (kundeDto != null) {
            data[row][REPORT_FEHLERART_KUNDE] = kundeDto.getPartnerDto().formatTitelAnrede();
        }

        flrReklamation.getFlrfehlerangabe().getC_bez();
        data[row][REPORT_FEHLERART_FEHLERART] = flrReklamation.getFlrfehlerangabe().getC_bez();

        if (iGruppierung == ReklamationReportFac.SORTIERUNG_FEHLERART_FEHLERART) {
            data[row][REPORT_FEHLERART_GRUPPIERUNG] = data[row][REPORT_FEHLERART_FEHLERART];
        } else if (iGruppierung == ReklamationReportFac.SORTIERUNG_FEHLERART_MASCHINENGRUPPE) {
            data[row][REPORT_FEHLERART_GRUPPIERUNG] = data[row][REPORT_FEHLERART_MASCHINENGRUPPE];
        } else if (iGruppierung == ReklamationReportFac.SORTIERUNG_FEHLERART_MITARBEITER) {
            data[row][REPORT_FEHLERART_GRUPPIERUNG] = data[row][REPORT_FEHLERART_VERURSACHER];
        } else if (iGruppierung == ReklamationReportFac.SORTIERUNG_FEHLERART_MASCHINENGRUPPE_MITARBEITER) {
            data[row][REPORT_FEHLERART_GRUPPIERUNG] = data[row][REPORT_FEHLERART_MASCHINENGRUPPE] + " "
                    + data[row][REPORT_FEHLERART_VERURSACHER].toString();
        }

        row++;
    }

    initJRDS(parameter, ReklamationReportFac.REPORT_MODUL, ReklamationReportFac.REPORT_FEHLERART,
            theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto);

    return getReportPrint();

}

From source file:com.lp.server.reklamation.ejbfac.ReklamationReportFacBean.java

License:Open Source License

public JasperPrintLP printMitarbeiterreklamation(java.sql.Timestamp tVon, java.sql.Timestamp tBis,
        boolean bKunde, boolean bLieferant, boolean bFertigung, Integer kundeIId, boolean bNurBerechtigte,
        TheClientDto theClientDto) {// w  w w . j  ava 2  s . c  o  m

    sAktuellerReport = ReklamationReportFac.REPORT_MITARBEITERREKLAMATION;

    HashMap<String, Object> parameter = new HashMap<String, Object>();
    parameter.put("P_VON", tVon);
    parameter.put("P_BIS", tBis);
    parameter.put("P_NURBERECHTIGTE", new Boolean(bNurBerechtigte));

    tVon = Helper.cutTimestamp(tVon);

    Session session = FLRSessionFactory.getFactory().openSession();

    org.hibernate.Criteria crit = session.createCriteria(FLRReklamation.class);
    crit.add(Restrictions.eq("mandant_c_nr", theClientDto.getMandant()));

    session.enableFilter("filterMandant").setParameter("paramMandant", theClientDto.getMandant());
    session.enableFilter("filterLocale").setParameter("paramLocale", theClientDto.getLocUiAsString());

    Calendar c = Calendar.getInstance();
    c.setTimeInMillis(tBis.getTime());
    c.set(Calendar.DAY_OF_MONTH, c.get(Calendar.DAY_OF_MONTH) + 1);

    tBis = Helper.cutTimestamp(new java.sql.Timestamp(c.getTimeInMillis()));

    crit.add(Restrictions.ge(ReklamationFac.FLR_REKLAMATION_T_BELEGDATUM, tVon));
    crit.add(Restrictions.lt(ReklamationFac.FLR_REKLAMATION_T_BELEGDATUM, tBis));

    crit.createAlias(ReklamationFac.FLR_REKLAMATION_FLRLIEFERANT, "l", CriteriaSpecification.LEFT_JOIN);
    crit.createAlias(ReklamationFac.FLR_REKLAMATION_FRLKUNDE, "k", CriteriaSpecification.LEFT_JOIN);

    crit.createAlias(ReklamationFac.FLR_REKLAMATION_FLRLOS, "lo", CriteriaSpecification.LEFT_JOIN);
    crit.createAlias("lo." + FertigungFac.FLR_LOSREPORT_FLRAUFTRAG, "au", CriteriaSpecification.LEFT_JOIN);

    crit.createAlias("l." + LieferantFac.FLR_PARTNER, "pl", CriteriaSpecification.LEFT_JOIN);
    crit.createAlias("k." + KundeFac.FLR_PARTNER, "kl", CriteriaSpecification.LEFT_JOIN);
    crit.createAlias(ReklamationFac.FLR_REKLAMATION_FLRFEHLERANGABE, "f", CriteriaSpecification.LEFT_JOIN);

    if (bNurBerechtigte == true) {
        crit.add(Restrictions.eq(ReklamationFac.FLR_REKLAMATION_B_BERECHTIGT, Helper.boolean2Short(true)));
    }

    ArrayList<String> alArten = new ArrayList<String>();
    if (bFertigung == true) {
        alArten.add(ReklamationFac.REKLAMATIONART_FERTIGUNG);
    }
    if (bKunde == true) {
        alArten.add(ReklamationFac.REKLAMATIONART_KUNDE);
    }
    if (bLieferant == true) {
        alArten.add(ReklamationFac.REKLAMATIONART_LIEFERANT);
    }

    crit.add(Restrictions.in(ReklamationFac.FLR_REKLAMATION_REKLAMATIONART_C_NR, alArten));

    if (kundeIId != null) {
        crit.add(Restrictions.or(Restrictions.eq("au.kunde_i_id_auftragsadresse", kundeIId),
                Restrictions.eq(ReklamationFac.FLR_REKLAMATION_KUNDE_I_ID, kundeIId)));

        KundeDto kundeDto = getKundeFac().kundeFindByPrimaryKey(kundeIId, theClientDto);
        parameter.put("P_KUNDE", kundeDto.getPartnerDto().formatFixTitelName1Name2());

    }

    crit.createAlias(ReklamationFac.FLR_REKLAMATION_FLRVERURSACHER, "ver", CriteriaSpecification.LEFT_JOIN);
    crit.createAlias("ver." + PersonalFac.FLR_PERSONAL_FLRPARTNER, "part", CriteriaSpecification.LEFT_JOIN);
    crit.addOrder(Order.asc("part." + PartnerFac.FLR_PARTNER_C_NAME1NACHNAMEFIRMAZEILE1));
    crit.addOrder(Order.asc("part." + PartnerFac.FLR_PARTNER_C_NAME2VORNAMEFIRMAZEILE2));

    crit.addOrder(Order.asc("f.c_bez"));
    crit.addOrder(Order.asc("c_nr"));

    List<?> results = crit.list();
    Iterator<?> resultListIterator = results.iterator();

    data = new Object[results.size()][REPORT_MITARBEITERREKLAMATION_ANZAHL_SPALTEN];
    int row = 0;
    while (resultListIterator.hasNext()) {
        FLRReklamation flrReklamation = (FLRReklamation) resultListIterator.next();

        data[row][REPORT_MITARBEITERREKLAMATION_REKLAMATIONSNUMMER] = flrReklamation.getC_nr();
        data[row][REPORT_MITARBEITERREKLAMATION_REKLAMATIONSART] = flrReklamation.getReklamationart_c_nr();

        data[row][REPORT_MITARBEITERREKLAMATION_VERURSACHER] = "";
        if (flrReklamation.getFlrverursacher() != null) {
            PersonalDto personalDto = getPersonalFac()
                    .personalFindByPrimaryKey(flrReklamation.getFlrverursacher().getI_id(), theClientDto);

            data[row][REPORT_MITARBEITERREKLAMATION_VERURSACHER] = personalDto.formatAnrede();
        }
        data[row][REPORT_MITARBEITERREKLAMATION_KUNDE] = "";
        KundeDto kundeDto = null;
        if (flrReklamation.getReklamationart_c_nr().equals(ReklamationFac.REKLAMATIONART_KUNDE)
                && flrReklamation.getKunde_i_id() != null) {

            kundeDto = getKundeFac().kundeFindByPrimaryKey(flrReklamation.getKunde_i_id(), theClientDto);

        } else if (flrReklamation.getReklamationart_c_nr().equals(ReklamationFac.REKLAMATIONART_FERTIGUNG)
                && flrReklamation.getFlrlos() != null && flrReklamation.getFlrlos().getFlrauftrag() != null) {
            kundeDto = getKundeFac().kundeFindByPrimaryKey(
                    flrReklamation.getFlrlos().getFlrauftrag().getKunde_i_id_auftragsadresse(), theClientDto);
        }

        if (kundeDto != null) {
            data[row][REPORT_MITARBEITERREKLAMATION_KUNDE] = kundeDto.getPartnerDto().formatTitelAnrede();
        }

        row++;
    }

    initJRDS(parameter, ReklamationReportFac.REPORT_MODUL, ReklamationReportFac.REPORT_MITARBEITERREKLAMATION,
            theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto);

    return getReportPrint();

}

From source file:com.lp.server.reklamation.ejbfac.ReklamationReportFacBean.java

License:Open Source License

public JasperPrintLP printMaschinenreklamation(java.sql.Timestamp tVon, java.sql.Timestamp tBis, boolean bKunde,
        boolean bLieferant, boolean bFertigung, Integer kundeIId, boolean bNurBerechtigte,
        TheClientDto theClientDto) {//from ww  w.  j  a  v  a 2 s .co  m

    sAktuellerReport = ReklamationReportFac.REPORT_MASCHINENREKLAMATION;

    HashMap<String, Object> parameter = new HashMap<String, Object>();
    parameter.put("P_VON", tVon);
    parameter.put("P_BIS", tBis);
    parameter.put("P_NURBERECHTIGTE", new Boolean(bNurBerechtigte));

    tVon = Helper.cutTimestamp(tVon);

    Session session = FLRSessionFactory.getFactory().openSession();

    org.hibernate.Criteria crit = session.createCriteria(FLRReklamation.class);
    crit.add(Restrictions.eq("mandant_c_nr", theClientDto.getMandant()));

    session.enableFilter("filterMandant").setParameter("paramMandant", theClientDto.getMandant());
    session.enableFilter("filterLocale").setParameter("paramLocale", theClientDto.getLocUiAsString());

    Calendar c = Calendar.getInstance();
    c.setTimeInMillis(tBis.getTime());
    c.set(Calendar.DAY_OF_MONTH, c.get(Calendar.DAY_OF_MONTH) + 1);

    tBis = Helper.cutTimestamp(new java.sql.Timestamp(c.getTimeInMillis()));

    crit.add(Restrictions.ge(ReklamationFac.FLR_REKLAMATION_T_BELEGDATUM, tVon));
    crit.add(Restrictions.lt(ReklamationFac.FLR_REKLAMATION_T_BELEGDATUM, tBis));

    crit.createAlias(ReklamationFac.FLR_REKLAMATION_FLRLIEFERANT, "l", CriteriaSpecification.LEFT_JOIN);
    crit.createAlias(ReklamationFac.FLR_REKLAMATION_FRLKUNDE, "k", CriteriaSpecification.LEFT_JOIN);

    crit.createAlias(ReklamationFac.FLR_REKLAMATION_FLRLOS, "lo", CriteriaSpecification.LEFT_JOIN);
    crit.createAlias("lo." + FertigungFac.FLR_LOSREPORT_FLRAUFTRAG, "au", CriteriaSpecification.LEFT_JOIN);

    crit.createAlias("l." + LieferantFac.FLR_PARTNER, "pl", CriteriaSpecification.LEFT_JOIN);
    crit.createAlias("k." + KundeFac.FLR_PARTNER, "kl", CriteriaSpecification.LEFT_JOIN);
    crit.createAlias(ReklamationFac.FLR_REKLAMATION_FLRFEHLERANGABE, "f", CriteriaSpecification.LEFT_JOIN);

    if (bNurBerechtigte == true) {
        crit.add(Restrictions.eq(ReklamationFac.FLR_REKLAMATION_B_BERECHTIGT, Helper.boolean2Short(true)));
    }

    ArrayList<String> alArten = new ArrayList<String>();
    if (bFertigung == true) {
        alArten.add(ReklamationFac.REKLAMATIONART_FERTIGUNG);
    }
    if (bKunde == true) {
        alArten.add(ReklamationFac.REKLAMATIONART_KUNDE);
    }
    if (bLieferant == true) {
        alArten.add(ReklamationFac.REKLAMATIONART_LIEFERANT);
    }

    crit.add(Restrictions.in(ReklamationFac.FLR_REKLAMATION_REKLAMATIONART_C_NR, alArten));

    if (kundeIId != null) {
        crit.add(Restrictions.or(Restrictions.eq("au.kunde_i_id_auftragsadresse", kundeIId),
                Restrictions.eq(ReklamationFac.FLR_REKLAMATION_KUNDE_I_ID, kundeIId)));

        KundeDto kundeDto = getKundeFac().kundeFindByPrimaryKey(kundeIId, theClientDto);
        parameter.put("P_KUNDE", kundeDto.getPartnerDto().formatFixTitelName1Name2());

    }

    crit.createAlias(ReklamationFac.FLR_REKLAMATION_FLRMASCHINE, "masch", CriteriaSpecification.LEFT_JOIN);
    crit.createAlias("masch." + ZeiterfassungFac.FLR_MASCHINE_FLR_MASCHINENGRUPPE, "mgru",
            CriteriaSpecification.LEFT_JOIN);

    crit.addOrder(Order.asc("mgru.c_bez"));
    crit.addOrder(Order.asc("f.c_bez"));
    crit.addOrder(Order.asc("c_nr"));

    List<?> results = crit.list();
    Iterator<?> resultListIterator = results.iterator();

    data = new Object[results.size()][REPORT_MASCHINENREKLAMATION_ANZAHL_SPALTEN];
    int row = 0;
    while (resultListIterator.hasNext()) {
        FLRReklamation flrReklamation = (FLRReklamation) resultListIterator.next();

        data[row][REPORT_MASCHINENREKLAMATION_REKLAMATIONSNUMMER] = flrReklamation.getC_nr();
        data[row][REPORT_MASCHINENREKLAMATION_REKLAMATIONSART] = flrReklamation.getReklamationart_c_nr();

        if (flrReklamation.getFlrmaschine() != null) {
            data[row][REPORT_MASCHINENREKLAMATION_MASCHINENGRUPPE] = flrReklamation.getFlrmaschine()
                    .getFlrmaschinengruppe().getC_bez();
        }

        data[row][REPORT_MASCHINENREKLAMATION_VERURSACHER] = "";
        if (flrReklamation.getFlrverursacher() != null) {
            PersonalDto personalDto = getPersonalFac()
                    .personalFindByPrimaryKey(flrReklamation.getFlrverursacher().getI_id(), theClientDto);

            data[row][REPORT_MASCHINENREKLAMATION_VERURSACHER] = personalDto.formatAnrede();
        }

        data[row][REPORT_MASCHINENREKLAMATION_KUNDE] = "";
        KundeDto kundeDto = null;
        if (flrReklamation.getReklamationart_c_nr().equals(ReklamationFac.REKLAMATIONART_KUNDE)
                && flrReklamation.getKunde_i_id() != null) {

            kundeDto = getKundeFac().kundeFindByPrimaryKey(flrReklamation.getKunde_i_id(), theClientDto);

        } else if (flrReklamation.getReklamationart_c_nr().equals(ReklamationFac.REKLAMATIONART_FERTIGUNG)
                && flrReklamation.getFlrlos() != null && flrReklamation.getFlrlos().getFlrauftrag() != null) {
            kundeDto = getKundeFac().kundeFindByPrimaryKey(
                    flrReklamation.getFlrlos().getFlrauftrag().getKunde_i_id_auftragsadresse(), theClientDto);
        }

        if (kundeDto != null) {
            data[row][REPORT_MASCHINENREKLAMATION_KUNDE] = kundeDto.getPartnerDto().formatTitelAnrede();
        }

        row++;
    }

    initJRDS(parameter, ReklamationReportFac.REPORT_MODUL, ReklamationReportFac.REPORT_MASCHINENREKLAMATION,
            theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto);

    return getReportPrint();

}

From source file:com.lushapp.common.orm.hibernate.HibernateDao.java

License:Apache License

/**
 * ??Criterion,./*from   ww w  .j  a va  2s. co  m*/
 */
protected Criterion buildCriterion(final String propertyName, final Object propertyValue,
        final MatchType matchType) {
    Assert.hasText(propertyName, "propertyName?");
    Criterion criterion = null;
    String value;
    Character ESCAPE = '!';
    // ?MatchTypecriterion
    switch (matchType) {
    case EQ:
        criterion = Restrictions.eq(propertyName, propertyValue);
        break;
    case NE:
        criterion = Restrictions.ne(propertyName, propertyValue);
        break;
    case LIKE:
        // 
        value = (String) propertyValue;
        if ((ESCAPE.toString()).equals(value)) {
            criterion = Restrictions.like(propertyName, (String) propertyValue, MatchMode.ANYWHERE);
        } else {
            criterion = new LikeExpression(propertyName, (String) propertyValue, MatchMode.ANYWHERE, ESCAPE,
                    true);
        }
        break;
    case SLIKE:
        // 
        value = (String) propertyValue;
        if ((ESCAPE.toString()).equals(value)) {
            criterion = Restrictions.like(propertyName, (String) propertyValue, MatchMode.START);
        } else {
            criterion = new LikeExpression(propertyName, (String) propertyValue, MatchMode.START, ESCAPE, true);
        }
        break;
    case ELIKE:
        // 
        value = (String) propertyValue;
        if ((ESCAPE.toString()).equals(value)) {
            criterion = Restrictions.like(propertyName, (String) propertyValue, MatchMode.END);
        } else {
            criterion = new LikeExpression(propertyName, (String) propertyValue, MatchMode.END, ESCAPE, true);
        }
        break;
    case LE:
        criterion = Restrictions.le(propertyName, propertyValue);
        break;
    case LT:
        criterion = Restrictions.lt(propertyName, propertyValue);
        break;
    case GE:
        criterion = Restrictions.ge(propertyName, propertyValue);
        break;
    case GT:
        criterion = Restrictions.gt(propertyName, propertyValue);
        break;
    case ISNULL:
        criterion = Restrictions.isNull(propertyName);
    }
    return criterion;
}

From source file:com.marc.lastweek.business.entities.classifiedad.repository.ClassifiedAdRepository.java

License:Open Source License

private Criteria advancedSearchQueryConstructor(FilterParameters parameters, Calendar from) {

    Criteria criteriaQuery = this.sessionFactory.getCurrentSession().createCriteria(ClassifiedAd.class);

    if (parameters.getCategoryId() != null) {
        criteriaQuery.createCriteria("category").add(Restrictions.eq("id", parameters.getCategoryId()));
    }/*from  w  ww .  j  ava  2 s.  c om*/
    if (parameters.getProvinceId() != null) {
        criteriaQuery.createCriteria("province").add(Restrictions.eq("id", parameters.getProvinceId()));
    }
    if (parameters.getSubcategoryId() != null) {
        criteriaQuery.createCriteria("subcategory").add(Restrictions.eq("id", parameters.getSubcategoryId()));
    }
    criteriaQuery.add(Restrictions.ge("publicationDate", from));
    criteriaQuery.add(Restrictions.eq("state", Integer.valueOf(ClassifiedAd.STATE_ACTIVE)));
    return criteriaQuery;
}

From source file:com.maydesk.base.PDUserSession.java

License:Mozilla Public License

private Chat findLastChat(String otherUserId) {
    ChatManager chatmanager = connection.getChatManager();
    String threadId = user.getJabberId() + "|" + otherUserId + "|";
    Calendar calOneHourBefore = Calendar.getInstance();
    calOneHourBefore.add(Calendar.MINUTE, -60);

    Criteria c = PDHibernateFactory.getSession().createCriteria(MChatHistory.class);
    c.add(Restrictions.eq("user", user));
    c.add(Restrictions.eq("otherUser", otherUserId));
    c.add(Restrictions.ge("lastActivity", calOneHourBefore.getTime()));
    c.addOrder(Order.desc("lastActivity"));
    c.setMaxResults(1);//from   www.j a  v a 2  s.co  m
    MChatHistory chatHistory = (MChatHistory) c.uniqueResult();
    Chat chat = null;
    if (chatHistory != null) {
        chat = chatmanager.getThreadChat(threadId + chatHistory.getId());
        if (chat != null) {
            return chat;
        }
    }
    chatHistory = new MChatHistory();
    chatHistory.setUser(user);
    chatHistory.setOtherUser(otherUserId);
    chatHistory.setLastActivity(new Date());
    PDHibernateFactory.getSession().save(chatHistory);

    return chatmanager.createChat(otherUserId, threadId + chatHistory.getId(), null);

}

From source file:com.mercatis.lighthouse3.persistence.events.hibernate.EventRegistryImplementation.java

License:Apache License

/**
 * This method generates criteria for a given event template that also
 * contain an ordering clause on the date of occurrence.
 * /* ww  w  .  j a va2s  .  c o  m*/
 * @param session
 *            the Hibernate session to use for criteria generation
 * @param entityTemplate
 *            the template for which to generate the criteria
 * @param descending
 *            <code>true</code> if descending order is wanted (the default)
 *            or <code>false</code> for ascending order.
 * @return
 */
public Criteria generateOrderingCriteria(Session session, Event entityTemplate, boolean descending) {
    Criteria criteria = super.entityToCriteria(session, entityTemplate);

    if (entityTemplate.getContext() != null) {
        if (!Ranger.isEnumerationRange(entityTemplate.getContext()))
            criteria.add(Restrictions.eq("context", entityTemplate.getContext()));
        else
            criteria.add(Restrictions.in("context",
                    Ranger.castToEnumerationRange(entityTemplate.getContext()).getEnumeration()));

    }

    if (entityTemplate.getCode() != null) {
        if (!Ranger.isEnumerationRange(entityTemplate.getCode()))
            criteria.add(Restrictions.eq("code", entityTemplate.getCode()));
        else
            criteria.add(Restrictions.in("code",
                    Ranger.castToEnumerationRange(entityTemplate.getCode()).getEnumeration()));

    }

    if (entityTemplate.getLevel() != null) {
        if (!Ranger.isEnumerationRange(entityTemplate.getLevel()))
            criteria.add(Restrictions.eq("level", entityTemplate.getLevel()));
        else
            criteria.add(Restrictions.in("level",
                    Ranger.castToEnumerationRange(entityTemplate.getLevel()).getEnumeration()));
    }

    if (entityTemplate.getMachineOfOrigin() != null)
        criteria.add(Restrictions.eq("machineOfOrigin", entityTemplate.getMachineOfOrigin()));

    if (entityTemplate.getMessage() != null) {
        criteria.add(Restrictions.ilike("message", "%" + entityTemplate.getMessage() + "%"));
    }

    if (entityTemplate.getStackTrace() != null) {
        if (this.unitOfWork.getSqlDialect() instanceof org.hibernate.dialect.MySQL5InnoDBDialect)
            criteria.add(Restrictions.sqlRestriction("match ({alias}.STACK_TRACE) against (?)",
                    entityTemplate.getStackTrace(), StringType.INSTANCE));
        else
            criteria.add(Restrictions.ilike("stackTrace", "%" + entityTemplate.getStackTrace() + "%"));
    }

    if (entityTemplate.getDateOfOccurrence() != null) {
        if (!Ranger.isIntervalRange(entityTemplate.getDateOfOccurrence())) {
            criteria.add(Restrictions.eq("dateOfOccurrence", entityTemplate.getDateOfOccurrence()));
        } else {
            Date lowerBound = Ranger.castToIntervalRange(entityTemplate.getDateOfOccurrence()).getLowerBound();
            Date upperBound = Ranger.castToIntervalRange(entityTemplate.getDateOfOccurrence()).getUpperBound();

            if ((lowerBound == null) && (upperBound != null))
                criteria.add(Restrictions.le("dateOfOccurrence", upperBound));
            else if ((lowerBound != null) && (upperBound == null))
                criteria.add(Restrictions.ge("dateOfOccurrence", lowerBound));
            else if ((lowerBound != null) && (upperBound != null)) {
                criteria.add(Restrictions.le("dateOfOccurrence", upperBound));
                criteria.add(Restrictions.ge("dateOfOccurrence", lowerBound));
            }
        }
    }

    if (!entityTemplate.getTransactionIds().isEmpty()) {
        Set<Criterion> transactionRestrictions = new HashSet<Criterion>();
        for (String transactionId : entityTemplate.getTransactionIds())
            transactionRestrictions.add(Restrictions.sqlRestriction(
                    "exists (select lti.* from EVENT_TRANSACTION_IDS lti where {alias}.EVT_ID = lti.EVT_ID and lti.TRANSACTION_ID = ?)",
                    transactionId, StringType.INSTANCE));

        if (transactionRestrictions.size() == 1) {
            criteria.add(transactionRestrictions.iterator().next());
        } else {
            Iterator<Criterion> restrictions = transactionRestrictions.iterator();
            Criterion orCriterion = restrictions.next();

            while (restrictions.hasNext()) {
                orCriterion = Restrictions.or(orCriterion, restrictions.next());
            }

            criteria.add(orCriterion);
        }
    }

    for (String tag : entityTemplate.getTags())
        criteria.add(Restrictions.sqlRestriction(
                "exists (select lt.* from EVENT_TAGS lt where {alias}.EVT_ID = lt.EVT_ID and lt.TAG = ?)", tag,
                StringType.INSTANCE));

    for (String udf : entityTemplate.getUdfs().keySet()) {
        Object value = entityTemplate.getUdf(udf);

        if (udf.equals("eventRESTResourceLimitRestriction")) {
            criteria.setMaxResults((Integer) value);
            break;
        }

        String columnName = "";
        Type valueType = StringType.INSTANCE;

        if (value instanceof Boolean) {
            columnName = "BOOLEAN_VAL";
            valueType = BooleanType.INSTANCE;
        }

        if (value instanceof Integer) {
            columnName = "INTEGER_VAL";
            valueType = IntegerType.INSTANCE;
        }

        if (value instanceof Long) {
            columnName = "LONG_VAL";
            valueType = LongType.INSTANCE;
        }

        if (value instanceof Float) {
            columnName = "FLOAT_VAL";
            valueType = FloatType.INSTANCE;
        }

        if (value instanceof Double) {
            columnName = "DOUBLE_VAL";
            valueType = DoubleType.INSTANCE;
        }

        if (value instanceof Date) {
            columnName = "DATE_VAL";
            valueType = DateType.INSTANCE;
        }

        if (value instanceof byte[]) {
            columnName = "BINARY_VAL";
            valueType = BlobType.INSTANCE;
        }

        if (value instanceof String) {
            columnName = "STRING_VAL";
            valueType = StringType.INSTANCE;
        }

        criteria.add(Restrictions.sqlRestriction(
                "exists (select lu.* from EVENT_UDFS lu where {alias}.EVT_ID = lu.EVT_ID and lu.UDF = ? and lu."
                        + columnName + " = ?)",
                new Object[] { udf, value }, new Type[] { StringType.INSTANCE, valueType }));

    }

    if (descending)
        criteria.addOrder(Order.desc("dateOfOccurrence"));
    else
        criteria.addOrder(Order.asc("dateOfOccurrence"));

    return criteria;
}

From source file:com.mycompany.CRMFly.hibernateAccess.ProjectsDAOImpl.java

public List<Projects> getProjectsOnDate(Date date) {
    return sessionFactory.getCurrentSession().createCriteria(Projects.class)
            .add(Restrictions.le("begin_date", date)).add(Restrictions.ge("end_date", date)).list();
}