Example usage for org.hibernate.criterion CriteriaSpecification FULL_JOIN

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

Introduction

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

Prototype

int FULL_JOIN

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

Click Source Link

Document

Specifies joining to an entity based on a full join.

Usage

From source file:com.lp.server.rechnung.ejbfac.RechnungReportFacBean.java

License:Open Source License

public JasperPrintLP printZahlungsjournal(TheClientDto theClientDto, int iSortierung, Date dVon, Date dBis,
        Integer bankverbindungIId, boolean bSortierungNachKostenstelle) throws EJBExceptionLP {
    this.useCase = UC_REPORT_ZAHLUNGSJOURNAL;
    SessionFactory factory = FLRSessionFactory.getFactory();
    Session session = null;//from   w ww  .  jav  a  2  s .c  o  m
    try {
        session = factory.openSession();
        Criteria c = session.createCriteria(FLRRechnungZahlung.class);
        // Filter von/bis
        if (dVon != null) {
            c.add(Restrictions.ge(RechnungFac.FLR_RECHNUNG_ZAHLUNG_D_ZAHLDATUM, dVon));
        }
        if (dBis != null) {
            c.add(Restrictions.le(RechnungFac.FLR_RECHNUNG_ZAHLUNG_D_ZAHLDATUM, dBis));
        }

        if (bankverbindungIId != null) {
            c.add(Restrictions.eq(RechnungFac.FLR_RECHNUNG_ZAHLUNG_BANKVERBINDUNG_I_ID, bankverbindungIId));
        }

        Criteria cRechnung = c.createCriteria(RechnungFac.FLR_RECHNUNG_ZAHLUNG_FLRRECHNUNG);
        // Filter nach Mandant
        cRechnung.add(Restrictions.eq(RechnungFac.FLR_RECHNUNG_MANDANT_C_NR, theClientDto.getMandant()));
        // Sortierung

        if (bSortierungNachKostenstelle) {
            cRechnung.createCriteria(RechnungFac.FLR_RECHNUNG_FLRKOSTENSTELLE).addOrder(Order.asc("c_nr"));
        }

        if (iSortierung == RechnungReportFac.REPORT_ZAHLUNGEN_SORT_BANK_AUSZUG) {
            // SK full_join wird hier benoetigt damit auch Gutschriften die
            // keine Bankverbindung haben angedruckt werden
            c.createCriteria(RechnungFac.FLR_RECHNUNG_ZAHLUNG_FLRBANKVERBINDUNG,
                    CriteriaSpecification.FULL_JOIN)
                    .createCriteria(FinanzFac.FLR_BANKKONTO_FLRBANK, CriteriaSpecification.FULL_JOIN)
                    .createCriteria(BankFac.FLR_PARTNERBANK_FLRPARTNER, CriteriaSpecification.FULL_JOIN)
                    .addOrder(Order.asc(PartnerFac.FLR_PARTNER_C_NAME1NACHNAMEFIRMAZEILE1));

            c.addOrder(Order.asc(RechnungFac.FLR_RECHNUNG_ZAHLUNG_I_AUSZUG));
        } else if (iSortierung == RechnungReportFac.REPORT_ZAHLUNGEN_SORT_RECHNUNGSNUMMER) {
            cRechnung.addOrder(Order.asc(RechnungFac.FLR_RECHNUNG_C_NR));
        } else if (iSortierung == RechnungReportFac.REPORT_ZAHLUNGEN_SORT_ZAHLUNGSAUSGANG) {
            c.addOrder(Order.asc(RechnungFac.FLR_RECHNUNG_ZAHLUNG_D_ZAHLDATUM));
        }
        List<?> resultList = c.list();
        Iterator<?> resultListIterator = resultList.iterator();
        int row = 0;
        data = new Object[resultList.size()][ZAHLUNGEN_ANZAHL_FELDER];

        while (resultListIterator.hasNext()) {
            FLRRechnungZahlung zahlung = (FLRRechnungZahlung) resultListIterator.next();
            RechnungDto erDto = getRechnungFac().rechnungFindByPrimaryKey(zahlung.getRechnung_i_id());
            String sErCNr = erDto.getCNr();
            KundeDto kundeDto = getKundeFac().kundeFindByPrimaryKey(erDto.getKundeIId(), theClientDto);

            String sFirma = kundeDto.getPartnerDto().formatAnrede();
            data[row][ZAHLUNGEN_FELD_DEBITORENKONTO] = kundeDto.getIDebitorenkontoAsIntegerNotiId();
            data[row][ZAHLUNGEN_FELD_ER_C_NR] = sErCNr;
            data[row][ZAHLUNGEN_FELD_KOSTENSTELLE] = zahlung.getFlrrechnung().getFlrkostenstelle().getC_nr();
            data[row][ZAHLUNGEN_FELD_RECHNUNGSART] = erDto.getRechnungartCNr();
            data[row][ZAHLUNGEN_FELD_FIRMA] = sFirma;
            data[row][ZAHLUNGEN_FELD_ZAHLDATUM] = zahlung.getD_zahldatum();

            String sLaenderart = getFinanzServiceFac().getLaenderartZuPartner(kundeDto.getPartnerIId(),
                    theClientDto);
            data[row][ZAHLUNGEN_FELD_LAENDERART] = sLaenderart;
            if (zahlung.getFlrbankverbindung() != null) {
                data[row][ZAHLUNGEN_FELD_BANK] = zahlung.getFlrbankverbindung().getFlrbank().getFlrpartner()
                        .getC_name1nachnamefirmazeile1();
            } else {
            }
            data[row][ZAHLUNGEN_FELD_AUSZUG] = zahlung.getI_auszug();
            data[row][ZAHLUNGEN_FELD_WECHSEL] = zahlung.getD_wechsel_faellig_am();
            data[row][ZAHLUNGEN_FELD_BELEGWAEHRUNG] = erDto.getWaehrungCNr();
            if (zahlung.getFlrbankverbindung() != null) {
                data[row][ZAHLUNGEN_FELD_KONTO] = zahlung.getFlrbankverbindung().getC_kontonummer();
            }
            if (RechnungFac.RECHNUNGART_GUTSCHRIFT.equals(erDto.getRechnungartCNr())) {
                data[row][ZAHLUNGEN_FELD_BETRAG] = zahlung.getN_betrag().negate();
                data[row][ZAHLUNGEN_FELD_BETRAG_UST] = zahlung.getN_betrag_ust().negate();
                data[row][ZAHLUNGEN_FELD_BETRAG_MANDANTENWAEHRUNG_ZU_BELEGZEIT] = zahlung.getN_betragfw()
                        .multiply(erDto.getNKurs()).negate();
                data[row][ZAHLUNGEN_FELD_BETRAG_UST_MANDANTENWAEHRUNG_ZU_BELEGZEIT] = zahlung
                        .getN_betrag_ustfw().multiply(erDto.getNKurs()).negate();
                data[row][ZAHLUNGEN_FELD_BETRAG_FW] = zahlung.getN_betragfw().negate();
                data[row][ZAHLUNGEN_FELD_BETRAG_UST_FW] = zahlung.getN_betrag_ustfw().negate();
            } else {
                data[row][ZAHLUNGEN_FELD_BETRAG] = zahlung.getN_betrag();
                data[row][ZAHLUNGEN_FELD_BETRAG_UST] = zahlung.getN_betrag_ust();
                data[row][ZAHLUNGEN_FELD_BETRAG_MANDANTENWAEHRUNG_ZU_BELEGZEIT] = zahlung.getN_betragfw()
                        .multiply(erDto.getNKurs());
                data[row][ZAHLUNGEN_FELD_BETRAG_UST_MANDANTENWAEHRUNG_ZU_BELEGZEIT] = zahlung
                        .getN_betrag_ustfw().multiply(erDto.getNKurs());
                data[row][ZAHLUNGEN_FELD_BETRAG_FW] = zahlung.getN_betragfw();
                data[row][ZAHLUNGEN_FELD_BETRAG_UST_FW] = zahlung.getN_betrag_ustfw();
            }
            data[row][ZAHLUNGEN_FELD_ZAHLUNGSART] = zahlung.getZahlungsart_c_nr();
            if (zahlung.getFlrkassenbuch() != null) {
                data[row][ZAHLUNGEN_FELD_KASSENBUCH] = zahlung.getFlrkassenbuch().getC_bez();
            } else {
                data[row][ZAHLUNGEN_FELD_KASSENBUCH] = "";
            }
            row++;
        }
    } catch (RemoteException e) {
        throwEJBExceptionLPRespectOld(e);
    } finally {
        try {
            session.close();
        } catch (HibernateException he) {
            throw new EJBExceptionLP(EJBExceptionLP.FEHLER, he);
        }
    }
    Map<String, Object> mapParameter = new TreeMap<String, Object>();
    mapParameter.put("VON", dVon);
    mapParameter.put("BIS", dBis);

    mapParameter.put("WAEHRUNG_C_NR", theClientDto.getSMandantenwaehrung());

    String sSortierung = null;
    if (iSortierung == RechnungReportFac.REPORT_ZAHLUNGEN_SORT_BANK_AUSZUG) {
        sSortierung = "Bank, Auszug";
    } else if (iSortierung == RechnungReportFac.REPORT_ZAHLUNGEN_SORT_RECHNUNGSNUMMER) {
        sSortierung = "Rechnungsnummer";
    } else if (iSortierung == RechnungReportFac.REPORT_ZAHLUNGEN_SORT_ZAHLUNGSAUSGANG) {
        sSortierung = "Zahlungseingangsdatum";
    }
    mapParameter.put("SORTIERUNG", sSortierung);

    mapParameter.put("P_SORTIERTNACHKOSTENSTELLE", new Boolean(bSortierungNachKostenstelle));

    initJRDS(mapParameter, RechnungReportFac.REPORT_MODUL, RechnungReportFac.REPORT_ZAHLUNGSJOURNAL,
            theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto);
    return getReportPrint();
}

From source file:com.mg.framework.support.orm.CriteriaHibernateImpl.java

License:Open Source License

protected static int convertJoinModeToHibernate(JoinType joinType) {
    switch (joinType) {
    case FULL_JOIN:
        return CriteriaSpecification.FULL_JOIN;
    case INNER_JOIN:
        return CriteriaSpecification.INNER_JOIN;
    case LEFT_JOIN:
        return CriteriaSpecification.LEFT_JOIN;
    default://from   ww w  .  ja  v  a2 s.  c  o m
        throw new IllegalArgumentException();
    }
}