Example usage for org.hibernate.criterion Restrictions in

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

Introduction

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

Prototype

public static Criterion in(String propertyName, Collection values) 

Source Link

Document

Apply an "in" constraint to the named property.

Usage

From source file:com.lp.server.finanz.ejbfac.MahnwesenFacBean.java

License:Open Source License

@TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
public MahnlaufDto createMahnlaufMitMahnvorschlag(TheClientDto theClientDto) throws EJBExceptionLP {
    Session session = null;//from   www .  ja  v a2 s .co m
    try {
        MahnlaufDto mahnlaufDto = null;
        SessionFactory factory = FLRSessionFactory.getFactory();
        session = factory.openSession();
        Criteria c = session.createCriteria(FLRRechnungReport.class);
        // Filter nach Mandant.
        c.add(Restrictions.eq(RechnungFac.FLR_RECHNUNG_MANDANT_C_NR, theClientDto.getMandant()));
        // Filter nach Stati
        String[] sStati = new String[] { RechnungFac.STATUS_OFFEN, RechnungFac.STATUS_TEILBEZAHLT,
                RechnungFac.STATUS_VERBUCHT };
        c.add(Restrictions.in(RechnungFac.FLR_RECHNUNG_STATUS_C_NR, sStati));

        // PJ 17236
        ParametermandantDto p = getParameterFac().getMandantparameter(theClientDto.getMandant(),
                ParameterFac.KATEGORIE_RECHNUNG, ParameterFac.PARAMETER_MAHNUNGEN_AB_GF_JAHR);
        Integer iGFJahrAB = (Integer) p.getCWertAsObject();
        c.add(Restrictions.ge(RechnungFac.FLR_RECHNUNG_I_GESCHAEFTSJAHR, iGFJahrAB));

        c.createAlias(RechnungFac.FLR_RECHNUNG_FLRRECHNUNGART, "ra").add(Restrictions
                .not(Restrictions.eq("ra.rechnungtyp_c_nr", RechnungFac.RECHNUNGTYP_PROFORMARECHNUNG)));

        // Query ausfuehren.
        List<?> listRechnungen = c.list();
        // nur, wenn Rechnungen eingetragen sind.
        if (listRechnungen.size() > 0) {
            mahnlaufDto = context.getBusinessObject(MahnwesenFac.class).createMahnlauf(theClientDto);
            for (Iterator<?> iter = listRechnungen.iterator(); iter.hasNext();) {

                FLRRechnungReport flrRechnung = (FLRRechnungReport) iter.next();

                RechnungDto rechnungDto = getRechnungFac().rechnungFindByPrimaryKey(flrRechnung.getI_id());
                boolean mahnbar = false;
                // kann die Rechnung gemahnt werden?
                mahnbar = istRechnungMahnbar(flrRechnung.getI_id(), theClientDto);

                myLogger.logData(rechnungDto.getRechnungartCNr() + ": " + flrRechnung.getC_nr() + " mahnbar: "
                        + mahnbar);
                // mahnung anlegen
                if (mahnbar) {
                    Integer mahnstufe = berechneMahnstufeFuerRechnung(rechnungDto, theClientDto);
                    if (mahnstufe != null) {
                        // pruefen, ob diese Mahnstufe schon gemahnt wurde
                        try {
                            Query query = em.createNamedQuery("MahnungfindByRechnungMahnstufe");
                            query.setParameter(1, flrRechnung.getI_id());
                            query.setParameter(2, mahnstufe);
                            // @todo getSingleResult oder getResultList ?
                            Mahnung mahnung = (Mahnung) query.getSingleResult();
                            myLogger.logData(rechnungDto.getRechnungartCNr() + ": " + flrRechnung.getC_nr()
                                    + ", Stufe " + mahnstufe + " ist bereits in einem Mahnvorschlag");
                        } catch (NoResultException ex1) {

                            Integer letzteMahnstufe = getAktuelleMahnstufeEinerRechnung(flrRechnung.getI_id(),
                                    theClientDto);

                            if (letzteMahnstufe == null || !letzteMahnstufe.equals(mahnstufe)
                                    || (letzteMahnstufe != null
                                            && letzteMahnstufe == FinanzServiceFac.MAHNSTUFE_99)) {
                                myLogger.logData(rechnungDto.getRechnungartCNr() + ": " + flrRechnung.getC_nr()
                                        + " wird gemahnt");
                                MahnungDto mahnungDto = new MahnungDto();
                                mahnungDto.setTMahndatum(super.getDate());
                                mahnungDto.setMahnlaufIId(mahnlaufDto.getIId());
                                mahnungDto.setMahnstufeIId(mahnstufe);
                                mahnungDto.setRechnungIId(flrRechnung.getI_id());

                                mahnungDto.setTGedruckt(null);
                                // Mahnsperre
                                if (rechnungDto.getTMahnsperrebis() != null) {
                                    if (super.getDate().before(rechnungDto.getTMahnsperrebis())) {
                                        continue;
                                    }
                                }

                                Integer mahnstufeIId = getAktuelleMahnstufeEinerRechnung(rechnungDto.getIId(),
                                        theClientDto);

                                if (mahnstufeIId != null
                                        && mahnstufeIId.intValue() == FinanzServiceFac.MAHNSTUFE_99) {
                                    mahnungDto.setTGedruckt(new java.sql.Timestamp(System.currentTimeMillis()));
                                    mahnungDto.setPersonalIIdGedruckt(theClientDto.getIDPersonal());
                                }

                                mahnungDto.setTLetztesmahndatum(getAktuellesMahndatumEinerRechnung(
                                        flrRechnung.getI_id(), theClientDto));
                                mahnungDto.setMahnstufeIIdLetztemahnstufe(mahnstufeIId);

                                context.getBusinessObject(MahnwesenFac.class).createMahnung(mahnungDto,
                                        theClientDto);
                            } else {
                                myLogger.logData(rechnungDto.getRechnungartCNr() + ": " + flrRechnung.getC_nr()
                                        + " hat bereits Mahnstufe " + mahnstufe);
                            }
                        }
                    } else {
                        myLogger.logData(rechnungDto.getRechnungartCNr() + ": " + flrRechnung.getC_nr()
                                + " muss nicht gemahnt werden");
                    }
                }
            }
        }
        return mahnlaufDto;
    } catch (RemoteException ex) {
        throwEJBExceptionLPRespectOld(ex);
        return null;
    }
}

From source file:com.lp.server.finanz.fastlanereader.BuchungDetailHandler.java

License:Open Source License

@Override
public List<Pair<?, ?>> getInfoForSelectedIIds(TheClientDto theClientDto, List<Object> selectedIIds) {
    if (selectedIIds == null || selectedIIds.size() < 2) // es wurde einer
        // oder kein
        // Eintrag
        // ausgewaehlt
        return null;
    Session session = FLRSessionFactory.getFactory().openSession();
    Criteria crit = session.createCriteria(FLRFinanzBuchungDetail.class);
    crit.add(Restrictions.in("i_id", selectedIIds.toArray()));

    @SuppressWarnings("unchecked")
    List<FLRFinanzBuchungDetail> list = new ArrayList<FLRFinanzBuchungDetail>(crit.list());

    BigDecimal soll = BigDecimal.ZERO;
    BigDecimal haben = BigDecimal.ZERO;
    for (FLRFinanzBuchungDetail bd : list) {
        if (BuchenFac.HabenBuchung.equals(bd.getBuchungdetailart_c_nr())) {
            haben = haben.add(bd.getN_betrag());
        } else {// w  ww .ja  va  2  s.c o m
            soll = soll.add(bd.getN_betrag());
        }
    }

    String mandantCNr = theClientDto.getMandant();
    Locale locUI = theClientDto.getLocUi();
    List<Pair<?, ?>> pairs = new ArrayList<Pair<?, ?>>();

    pairs.add(new Pair<String, Object>(getTextRespectUISpr("lp.soll", mandantCNr, locUI),
            Helper.formatZahl(soll, locUI)));
    pairs.add(new Pair<String, Object>(getTextRespectUISpr("lp.haben", mandantCNr, locUI),
            Helper.formatZahl(haben, locUI)));
    pairs.add(new Pair<String, Object>(getTextRespectUISpr("lp.saldo", mandantCNr, locUI),
            Helper.formatZahl(soll.subtract(haben), locUI)));

    return pairs;
}

From source file:com.lp.server.lieferschein.ejbfac.LieferscheinReportFacBean.java

License:Open Source License

@TransactionAttribute(TransactionAttributeType.NEVER)
public JasperPrintLP printLieferscheinAlle(ReportLieferscheinJournalKriterienDto krit,
        TheClientDto theClientDto) {/*from   ww w.j av  a  2s  . co m*/
    Session session = null;
    try {
        cAktuellerReport = LieferscheinReportFac.REPORT_LIEFERSCHEIN_ALLE;
        SessionFactory factory = FLRSessionFactory.getFactory();
        session = factory.openSession();
        // Kunde oder Statistikadresse verwenden
        final String critKundeIId;
        final String critFLRKunde;
        if (krit.getBVerwendeRechnungsAdresse()) {
            critKundeIId = LieferscheinFac.FLR_LIEFERSCHEIN_KUNDE_I_ID_RECHNUNGSADRESSE;
            critFLRKunde = LieferscheinFac.FLR_LIEFERSCHEIN_FLRKUNDERECHNUNGSADRESSE;
        } else {
            critKundeIId = LieferscheinFac.FLR_LIEFERSCHEIN_KUNDE_I_ID_LIEFERADRESSE;
            critFLRKunde = LieferscheinFac.FLR_LIEFERSCHEIN_FLRKUNDE;
        }

        Criteria c = session.createCriteria(FLRLieferschein.class);
        // Filter nach Mandant
        c.add(Restrictions.eq(LieferscheinFac.FLR_LIEFERSCHEIN_MANDANT_C_NR, theClientDto.getMandant()));

        // Filter nach Kostenstelle
        if (krit.kostenstelleIId != null) {
            c.add(Restrictions.eq(LieferscheinFac.FLR_LIEFERSCHEIN_KOSTENSTELLE_I_ID, krit.kostenstelleIId));
        }
        // Filter nach einem Kunden
        if (krit.kundeIId != null) {
            c.add(Restrictions.eq(critKundeIId, krit.kundeIId));
        }
        // Filter nach einem Vertrter
        if (krit.vertreterIId != null) {
            c.add(Restrictions.eq(LieferscheinFac.FLR_LIEFERSCHEIN_FLRVERTRETER + ".i_id", krit.vertreterIId));
        }
        // Filter nach Status (keine stornierten)
        c.add(Restrictions.not(Restrictions.eq(LieferscheinFac.FLR_LIEFERSCHEIN_LIEFERSCHEINSTATUS_STATUS_C_NR,
                LieferscheinFac.LSSTATUS_STORNIERT)));
        // Nur offene anzeigen?
        if (krit.getBNurOffene()) {
            Collection<String> cStati = new LinkedList<String>();
            cStati.add(LieferscheinFac.LSSTATUS_ANGELEGT);
            cStati.add(LieferscheinFac.LSSTATUS_OFFEN);
            c.add(Restrictions.in(LieferscheinFac.FLR_LIEFERSCHEIN_LIEFERSCHEINSTATUS_STATUS_C_NR, cStati));
        }
        // Datum von/bis
        String sVon = null;
        String sBis = null;
        if (krit.dVon != null) {
            c.add(Restrictions.ge(LieferscheinFac.FLR_LIEFERSCHEIN_D_BELEGDATUM, krit.dVon));
            sVon = Helper.formatDatum(krit.dVon, theClientDto.getLocUi());
        }
        if (krit.dBis != null) {
            c.add(Restrictions.le(LieferscheinFac.FLR_LIEFERSCHEIN_D_BELEGDATUM, krit.dBis));
            sBis = Helper.formatDatum(krit.dBis, theClientDto.getLocUi());
        }

        // Belegnummer von/bis
        LpBelegnummerFormat f = getBelegnummerGeneratorObj().getBelegnummernFormat(theClientDto.getMandant());
        Integer iGeschaeftsjahr = getParameterFac().getGeschaeftsjahr(theClientDto.getMandant());
        String sMandantKuerzel = getParameterFac().getMandantparameter(theClientDto.getMandant(),
                ParameterFac.KATEGORIE_ALLGEMEIN, ParameterFac.PARAMETER_BELEGNUMMER_MANDANTKENNUNG).getCWert();
        if (krit.sBelegnummerVon != null) {
            sVon = HelperServer.getBelegnummernFilterForHibernateCriterias(f, iGeschaeftsjahr, sMandantKuerzel,
                    krit.sBelegnummerVon);
            c.add(Restrictions.ge(LieferscheinFac.FLR_LIEFERSCHEIN_C_NR, sVon));
        }
        if (krit.sBelegnummerBis != null) {
            sBis = HelperServer.getBelegnummernFilterForHibernateCriterias(f, iGeschaeftsjahr, sMandantKuerzel,
                    krit.sBelegnummerBis);
            c.add(Restrictions.le(LieferscheinFac.FLR_LIEFERSCHEIN_C_NR, sBis));
        }
        // Sortierung nach Kostenstelle ist optional
        if (krit.bSortiereNachKostenstelle) {
            c.createCriteria(LieferscheinFac.FLR_LIEFERSCHEIN_FLRKOSTENSTELLE).addOrder(Order.asc("c_nr"));
        }
        // Sortierung nach Partner ist optional
        if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_PARTNER) {
            c.createCriteria(critFLRKunde).createCriteria(KundeFac.FLR_PARTNER)
                    .addOrder(Order.asc(PartnerFac.FLR_PARTNER_NAME1NACHNAMEFIRMAZEILE1));
        } else if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_BELEGNUMMER) {
            c.addOrder(Order.asc(LieferscheinFac.FLR_LIEFERSCHEIN_C_NR));
        }
        if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_VERTRETER) {
            c.createCriteria(LieferscheinFac.FLR_LIEFERSCHEIN_FLRVERTRETER)
                    .addOrder(Order.asc(PersonalFac.FLR_PERSONAL_C_KURZZEICHEN));
        }
        List<?> list = c.list();
        data = new Object[list.size()][REPORT_ALLE_ANZAHL_SPALTEN];

        int i = 0;
        for (Iterator<?> iter = list.iterator(); iter.hasNext();) {
            FLRLieferschein r = (FLRLieferschein) iter.next();
            data[i][FELD_ALLE_BELEGDATUM] = r.getD_belegdatum();
            data[i][FELD_ALLE_PROJEKT] = r.getC_bez_projektbezeichnung();
            data[i][FELD_ALLE_STATUS] = r.getLieferscheinstatus_status_c_nr();
            data[i][FELD_ALLE_BELEGDATUM] = r.getD_belegdatum();
            data[i][FELD_ALLE_LIEFERSCHEINNUMMER] = r.getC_nr();
            // Bezahlte Betraege

            BigDecimal bdWertmw = r.getN_gesamtwertinlieferscheinwaehrung();

            data[i][FELD_ALLE_BETRAG] = bdWertmw;
            // Kostenstelle
            if (r.getFlrkostenstelle() != null) {
                String sKostenstellen = "";
                KostenstelleDto k = null;
                RechnungkontierungDto[] rechnungkontierungsDto = getRechnungFac()
                        .rechnungkontierungFindByRechnungIId(r.getI_id());
                if (rechnungkontierungsDto.length != 0) {
                    for (int e = 0; e < rechnungkontierungsDto.length; e++) {
                        k = getSystemFac()
                                .kostenstelleFindByPrimaryKey(rechnungkontierungsDto[e].getKostenstelleIId());
                        sKostenstellen = sKostenstellen + k.getCNr() + " ";
                    }
                } else {
                    sKostenstellen = r.getFlrkostenstelle().getC_nr();
                }
                data[i][FELD_ALLE_KOSTENSTELLENUMMER] = sKostenstellen;
            } else {
                data[i][FELD_ALLE_KOSTENSTELLENUMMER] = null;
            }
            // Kundendaten
            FLRKunde flrKunde, flrKundeStatistik;
            if (krit.getBVerwendeRechnungsAdresse()) {
                flrKunde = r.getFlrkunderechnungsadresse();
            } else {
                flrKunde = r.getFlrkunde();

                // Statistikdaten wenn nicht Kriterium Rechnungsadresse
                flrKundeStatistik = r.getFlrkunderechnungsadresse();
                data[i][FELD_ALLE_KUNDE_RECHNUNG] = flrKundeStatistik.getFlrpartner()
                        .getC_name1nachnamefirmazeile1();
                if (flrKundeStatistik.getFlrpartner().getC_name2vornamefirmazeile2() != null) {
                    data[i][FELD_ALLE_KUNDE2_RECHNUNG] = flrKundeStatistik.getFlrpartner()
                            .getC_name2vornamefirmazeile2();
                } else {
                    data[i][FELD_ALLE_KUNDE2_RECHNUNG] = "";
                }
                PartnerDto partnerDtoStatistik = getPartnerFac()
                        .partnerFindByPrimaryKey(flrKundeStatistik.getFlrpartner().getI_id(), theClientDto);
                data[i][FELD_ALLE_ADRESSE_RECHNUNG] = partnerDtoStatistik.formatAdresse();

            }
            data[i][FELD_ALLE_KUNDE] = flrKunde.getFlrpartner().getC_name1nachnamefirmazeile1();
            if (r.getFlrvertreter() != null) {
                if (r.getFlrvertreter().getFlrpartner().getC_name2vornamefirmazeile2() != null) {
                    data[i][FELD_ALLE_VERTRETER] = r.getFlrvertreter().getFlrpartner()
                            .getC_name1nachnamefirmazeile1() + " "
                            + r.getFlrvertreter().getFlrpartner().getC_name2vornamefirmazeile2();
                } else {
                    data[i][FELD_ALLE_VERTRETER] = r.getFlrvertreter().getFlrpartner()
                            .getC_name1nachnamefirmazeile1();
                }
            }
            if (flrKunde.getFlrpartner().getC_name2vornamefirmazeile2() != null) {
                data[i][FELD_ALLE_KUNDE2] = flrKunde.getFlrpartner().getC_name2vornamefirmazeile2();
            } else {
                data[i][FELD_ALLE_KUNDE2] = "";
            }
            PartnerDto partnerDto = getPartnerFac().partnerFindByPrimaryKey(flrKunde.getFlrpartner().getI_id(),
                    theClientDto);
            data[i][FELD_ALLE_ADRESSE] = partnerDto.formatAdresse();
            data[i][FELD_ALLE_ORT] = partnerDto.formatAdresse();
            if (r.getFlrrechnung() != null) {
                data[i][FELD_ALLE_RECHNUNGSNUMMER] = r.getFlrrechnung().getC_nr();
            }

            // Debitorenkontonummer
            KontoDtoSmall kontoDtoDeb = null;
            if (flrKunde.getKonto_i_id_debitorenkonto() != null) {
                kontoDtoDeb = getFinanzFac()
                        .kontoFindByPrimaryKeySmallOhneExc(flrKunde.getKonto_i_id_debitorenkonto());
            }
            String sKontonummer;
            if (kontoDtoDeb != null) {
                sKontonummer = kontoDtoDeb.getCNr();
            } else {
                sKontonummer = "";
            }
            data[i][FELD_ALLE_DEBITORENKONTO] = sKontonummer;
            data[i][FELD_ALLE_WAEHRUNG] = r.getWaehrung_c_nr_lieferscheinwaehrung();
            data[i][FELD_ALLE_KURS] = new BigDecimal(r.getF_wechselkursmandantwaehrungzulieferscheinwaehrung());

            // 14217
            String sLaenderart = getFinanzServiceFac().getLaenderartZuPartner(partnerDto.getIId(),
                    theClientDto);
            data[i][FELD_ALLE_LAENDERART] = sLaenderart;
            i++;
        }
        Map<String, Object> mapParameter = new TreeMap<String, Object>();
        MandantDto mandantDto = getMandantFac().mandantFindByPrimaryKey(theClientDto.getMandant(),
                theClientDto);
        // Waehrung
        mapParameter.put(LPReport.P_WAEHRUNG, mandantDto.getWaehrungCNr());
        StringBuffer sSortierung = new StringBuffer();
        if (krit.bSortiereNachKostenstelle) {
            sSortierung.append(
                    getTextRespectUISpr("lp.kostenstelle", theClientDto.getMandant(), theClientDto.getLocUi()));
            sSortierung.append(", ");
        }
        if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_PARTNER) {
            if (krit.getBVerwendeRechnungsAdresse()) {
                sSortierung.append(getTextRespectUISpr("lp.rechnungsadresse", theClientDto.getMandant(),
                        theClientDto.getLocUi()));
            } else {
                sSortierung.append(
                        getTextRespectUISpr("lp.kunde", theClientDto.getMandant(), theClientDto.getLocUi()));
            }
        } else if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_BELEGNUMMER) {
            sSortierung.append(
                    getTextRespectUISpr("bes.belegnummer", theClientDto.getMandant(), theClientDto.getLocUi()));
        } else if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_VERTRETER) {
            sSortierung.append(
                    getTextRespectUISpr("lp.vertreter", theClientDto.getMandant(), theClientDto.getLocUi()));
        }
        StringBuffer sFilter = new StringBuffer();
        if (sVon != null) {
            sFilter.append(getTextRespectUISpr("lp.von", theClientDto.getMandant(), theClientDto.getLocUi()));
            sFilter.append(" " + sVon + " ");
        }
        if (sBis != null) {
            sFilter.append(getTextRespectUISpr("lp.bis", theClientDto.getMandant(), theClientDto.getLocUi()));
            sFilter.append(" " + sBis + " ");
        }
        if (krit.kostenstelleIId != null) {
            if (sFilter.length() > 0) {
                sFilter.append(", ");
            }
            KostenstelleDto kstDto = getSystemFac().kostenstelleFindByPrimaryKey(krit.kostenstelleIId);
            sFilter.append(
                    getTextRespectUISpr("lp.kostenstelle", theClientDto.getMandant(), theClientDto.getLocUi()));
            sFilter.append(" ");
            sFilter.append(kstDto.getCNr());
        }
        // Statistikadresse
        if (krit.getBVerwendeRechnungsAdresse()) {
            if (sFilter.length() > 0) {
                sFilter.append(", ");
            }
            sFilter.append(getTextRespectUISpr("lp.rechnungsadresse", theClientDto.getMandant(),
                    theClientDto.getLocUi()));
        }

        mapParameter.put(LPReport.P_SORTIERUNG, sSortierung.toString());
        mapParameter.put(LPReport.P_SORTIERENACHKOSTENSTELLE, new Boolean(krit.bSortiereNachKostenstelle));
        mapParameter.put(LPReport.P_SORTIERENACHKUNDE,
                new Boolean(krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_PARTNER));
        mapParameter.put(LPReport.P_SORTIERENACHVERTRETER,
                new Boolean(krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_VERTRETER));
        mapParameter.put(LPReport.P_FILTER, sFilter.toString());
        initJRDS(mapParameter, LieferscheinReportFac.REPORT_MODUL, cAktuellerReport, theClientDto.getMandant(),
                theClientDto.getLocUi(), theClientDto);
        return getReportPrint();

    } catch (RemoteException ex) {
        throwEJBExceptionLPRespectOld(ex);
        return null;
    } finally {
        if (session != null) {
            session.close();
        }
    }
}

From source file:com.lp.server.partner.ejbfac.KundeReportFacBean.java

License:Open Source License

public LPDatenSubreport getSubreportProjekte(Integer partnerIId, boolean bNurOffene,
        TheClientDto theClientDto) {/* w w  w. ja va  2  s  .co  m*/
    // Projekte
    Session session = FLRSessionFactory.getFactory().openSession();
    // Filter und Sortierung
    Criteria crit = session.createCriteria(FLRProjekt.class);
    // Filter nach Kunde
    crit.add(Restrictions.eq("partner_i_id", partnerIId));
    crit.add(Restrictions.eq("mandant_c_nr", theClientDto.getMandant()));

    if (bNurOffene) {
        crit.add(Restrictions.in("status_c_nr", new String[] { ProjektServiceFac.PROJEKT_STATUS_ANGELEGT,
                ProjektServiceFac.PROJEKT_STATUS_OFFEN }));
    }

    crit.addOrder(Order.desc("c_nr"));

    List<?> list = crit.list();
    Iterator it = list.iterator();
    ArrayList al = new ArrayList<Object[]>();
    while (it.hasNext()) {
        FLRProjekt projekt = (FLRProjekt) it.next();

        Object[] o = new Object[11];
        o[0] = projekt.getC_nr();
        o[1] = projekt.getC_titel();
        o[2] = projekt.getTyp_c_nr();

        PersonalDto personalDto = getPersonalFac()
                .personalFindByPrimaryKey(projekt.getFlrpersonalZugewiesener().getI_id(), theClientDto);

        o[3] = personalDto.getPartnerDto().formatAnrede();
        o[4] = projekt.getT_anlegen();
        o[5] = projekt.getStatus_c_nr();
        o[6] = projekt.getD_dauer();
        o[7] = projekt.getKategorie_c_nr();
        o[8] = projekt.getI_prio();
        o[9] = projekt.getN_umsatzgeplant();
        o[10] = projekt.getI_wahrscheinlichkeit();

        al.add(o);
    }

    if (al.size() > 0) {
        String[] fieldnames = new String[] { "Projektnummer", "Titel", "Typ", "Zugewiesener", "Anlagedatum",
                "Status", "Schaetzung", "Kategorie", "Prio", "UmsatzGeplant", "Wahrscheinlichkeit" };
        Object[][] dataSub = new Object[al.size()][fieldnames.length];
        dataSub = (Object[][]) al.toArray(dataSub);

        return new LPDatenSubreport(dataSub, fieldnames);
    }
    session.close();
    return null;
}

From source file:com.lp.server.projekt.ejbfac.ProjektReportFacBean.java

License:Open Source License

public JasperPrintLP printProjektErledigt(ReportJournalKriterienDto reportJournalKriterienDtoI, Date dStichtag,
        Integer bereichIId, boolean interneErledigungBeruecksichtigen, TheClientDto theClientDto)
        throws EJBExceptionLP, RemoteException {
    JasperPrintLP oPrint = null;//from   w  w w .jav  a 2 s  .c  o m

    cAktuellerReport = ProjektReportFac.REPORT_PROJEKT_JOURNAL_ERLEDIGT;
    Locale locDruck;
    SessionFactory factory = FLRSessionFactory.getFactory();
    Session session = null;
    // vom Stichtag die Uhrzeit abschneiden
    dStichtag = Helper.cutDate(dStichtag);
    try {
        session = factory.openSession();
        // Hiberante Criteria fuer alle Tabellen ausgehend von meiner
        // Haupttabelle anlegen,
        // nach denen ich filtern und sortieren kann
        Criteria crit = session.createCriteria(FLRProjekt.class);
        // Einschraenkung auf den aktuellen Mandanten
        crit.add(Restrictions.eq(ProjektFac.FLR_PROJEKT_MANDANT_C_NR, theClientDto.getMandant()));
        crit.add(Restrictions.not(Restrictions.eq(ProjektFac.FLR_PROJEKT_STATUS_C_NR,
                ProjektServiceFac.PROJEKT_STATUS_STORNIERT)));

        crit.add(Restrictions.eq(ProjektFac.FLR_PROJEKT_BEREICH_I_ID, bereichIId));
        // Einschraenkung nach Status Offen, Erledigt

        if (interneErledigungBeruecksichtigen == false) {
            Collection<String> cStati = new LinkedList<String>();
            cStati.add(ProjektServiceFac.PROJEKT_STATUS_ERLEDIGT);
            crit.add(Restrictions.in(ProjektFac.FLR_PROJEKT_STATUS_C_NR, cStati));
        }

        if (reportJournalKriterienDtoI.dVon != null) {

            if (interneErledigungBeruecksichtigen == true) {

                crit.add(Restrictions.or(
                        Restrictions.and(Restrictions.isNotNull(ProjektFac.FLR_PROJEKT_T_INTERNERLEDIGT),
                                Restrictions.ge(ProjektFac.FLR_PROJEKT_T_INTERNERLEDIGT,
                                        reportJournalKriterienDtoI.dVon)),
                        Restrictions.ge(ProjektFac.FLR_PROJEKT_T_ERLEDIGUNGSDATUM,
                                reportJournalKriterienDtoI.dVon)));

            } else {
                crit.add(Restrictions.ge(ProjektFac.FLR_PROJEKT_T_ERLEDIGUNGSDATUM,
                        reportJournalKriterienDtoI.dVon));
            }
        }

        if (reportJournalKriterienDtoI.dBis != null) {

            Date d = Helper.addiereTageZuDatum(reportJournalKriterienDtoI.dBis, 1);

            if (interneErledigungBeruecksichtigen == true) {
                crit.add(Restrictions.or(
                        Restrictions.and(Restrictions.isNotNull(ProjektFac.FLR_PROJEKT_T_INTERNERLEDIGT),
                                Restrictions.lt(ProjektFac.FLR_PROJEKT_T_INTERNERLEDIGT, d)),
                        Restrictions.lt(ProjektFac.FLR_PROJEKT_T_ERLEDIGUNGSDATUM, d)));
            } else {
                crit.add(Restrictions.lt(ProjektFac.FLR_PROJEKT_T_ERLEDIGUNGSDATUM, d));
            }

        }
        // Einschraenkung nach einer bestimmten Perosn
        if (reportJournalKriterienDtoI.personalIId != null) {
            crit.add(Restrictions.eq(ProjektFac.FLR_PROJEKT_PERSONAL_I_ID_ERLEDIGER,
                    reportJournalKriterienDtoI.personalIId));
        }
        // Sortierung nach Partner,
        if (reportJournalKriterienDtoI.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_PARTNER) {
            crit.createCriteria(ProjektFac.FLR_PROJEKT_FLRPARTNER)
                    .addOrder(Order.asc(PartnerFac.FLR_PARTNER_NAME1NACHNAMEFIRMAZEILE1));
            crit.addOrder(Order.asc(ProjektFac.FLR_PROJEKT_T_ERLEDIGUNGSDATUM));
            crit.addOrder(Order.asc(ProjektFac.FLR_PROJEKT_C_NR));

        }

        crit.addOrder(Order.asc(ProjektFac.FLR_PROJEKT_KATEGORIE_C_NR));
        List<?> list = crit.list();
        ArrayList<Object[]> alDaten = new ArrayList<Object[]>();
        Iterator<?> it = list.iterator();

        while (it.hasNext()) {
            FLRProjekt projekt = (FLRProjekt) it.next();
            Object[] oZeile = new Object[ProjektReportFac.REPORT_PROJEKT_JOURNAL_ERLEDIGT_ANZAHL_SPALTEN];

            if (interneErledigungBeruecksichtigen == true && projekt.getT_internerledigt() != null
                    && projekt.getT_erledigungsdatum() != null) {

                // Wenn intern-Erledigt und normal erledigt, dann gilt jenes
                // Datum, das frueher war

                if (projekt.getT_internerledigt().getTime() <= projekt.getT_erledigungsdatum().getTime()) {
                    if (reportJournalKriterienDtoI.dVon != null && projekt.getT_internerledigt()
                            .getTime() < reportJournalKriterienDtoI.dVon.getTime()) {
                        continue;
                    }

                    if (reportJournalKriterienDtoI.dBis != null && projekt.getT_internerledigt()
                            .getTime() > reportJournalKriterienDtoI.dBis.getTime()) {
                        continue;
                    }

                }

            }

            oZeile[ProjektReportFac.REPORT_PROJEKT_JOURNAL_ERLEDIGT_PROJEKTTITEL] = projekt.getC_titel();
            oZeile[ProjektReportFac.REPORT_PROJEKT_JOURNAL_ERLEDIGT_PROJEKTKATEGORIE] = projekt
                    .getKategorie_c_nr();
            oZeile[ProjektReportFac.REPORT_PROJEKT_JOURNAL_ERLEDIGT_PROJEKTCNR] = projekt.getC_nr();
            oZeile[ProjektReportFac.REPORT_PROJEKT_JOURNAL_ERLEDIGT_TYP] = projekt.getTyp_c_nr();
            oZeile[ProjektReportFac.REPORT_PROJEKT_JOURNAL_ERLEDIGT_KUNDECNAME1] = projekt.getFlrpartner()
                    .getC_name1nachnamefirmazeile1();

            oZeile[ProjektReportFac.REPORT_PROJEKT_JOURNAL_ERLEDIGT_WAHRSCHEINLICHKEIT] = projekt
                    .getI_wahrscheinlichkeit();
            oZeile[ProjektReportFac.REPORT_PROJEKT_JOURNAL_ERLEDIGT_GEPLANTERUMSATZ] = projekt
                    .getN_umsatzgeplant();
            if (projekt.getPersonal_i_id_internerledigt() != null) {
                PersonalDto personalDto = getPersonalFac()
                        .personalFindByPrimaryKey(projekt.getPersonal_i_id_internerledigt(), theClientDto);
                oZeile[ProjektReportFac.REPORT_PROJEKT_JOURNAL_ERLEDIGT_INTERNERLEDIGT_PERSON] = personalDto
                        .getPartnerDto().formatAnrede();
                oZeile[ProjektReportFac.REPORT_PROJEKT_JOURNAL_ERLEDIGT_INTERNERLEDIGT_ZEIT] = projekt
                        .getT_internerledigt();
            }
            locDruck = Helper.string2Locale(projekt.getFlrpartner().getLocale_c_nr_kommunikation());
            oZeile[ProjektReportFac.REPORT_PROJEKT_JOURNAL_ERLEDIGT_ZIELTERMIN] = Helper
                    .formatDatum(projekt.getT_zielwunschdatum(), locDruck);
            oZeile[ProjektReportFac.REPORT_PROJEKT_JOURNAL_ERLEDIGT_BELEGDATUM] = Helper
                    .formatDatum(projekt.getT_anlegen(), locDruck);
            oZeile[ProjektReportFac.REPORT_PROJEKT_JOURNAL_ERLEDIGT_ERLEDIGUNGSDATUM] = Helper
                    .formatDatumZeit(projekt.getT_erledigungsdatum(), locDruck);
            if (projekt.getB_verrechenbar().equals(new Integer(1).shortValue())) {
                oZeile[ProjektReportFac.REPORT_PROJEKT_JOURNAL_ERLEDIGT_B_VERRECHENBAR] = "verrechenbar";
            } else {
                oZeile[ProjektReportFac.REPORT_PROJEKT_JOURNAL_ERLEDIGT_B_VERRECHENBAR] = null;
            }
            if (projekt.getB_freigegeben().equals(new Integer(1).shortValue())) {
                oZeile[ProjektReportFac.REPORT_PROJEKT_JOURNAL_ERLEDIGT_FREIGEGEBEN] = "freigegeben";
            } else {
                oZeile[ProjektReportFac.REPORT_PROJEKT_JOURNAL_ERLEDIGT_FREIGEGEBEN] = null;
            }

            Calendar calendar = new GregorianCalendar();
            calendar.setTime(new Date(projekt.getT_zielwunschdatum().getTime()));
            int KW = calendar.get(Calendar.WEEK_OF_YEAR); // Kalendarwochen

            oZeile[ProjektReportFac.REPORT_PROJEKT_JOURNAL_ERLEDIGT_ZIELWOCHE] = "" + KW;

            oZeile[ProjektReportFac.REPORT_PROJEKT_JOURNAL_ERLEDIGT_PRIO] = projekt.getI_prio();
            oZeile[ProjektReportFac.REPORT_PROJEKT_JOURNAL_ERLEDIGT_TEXT] = Helper
                    .formatStyledTextForJasper(projekt.getX_freetext());
            oZeile[ProjektReportFac.REPORT_PROJEKT_JOURNAL_ERLEDIGT_ERZEUGER] = projekt.getFlrpersonalErzeuger()
                    .getFlrpartner().getC_name1nachnamefirmazeile1();
            oZeile[ProjektReportFac.REPORT_PROJEKT_JOURNAL_ERLEDIGT_ZUGEWIESENER] = projekt
                    .getFlrpersonalZugewiesener().getFlrpartner().getC_name1nachnamefirmazeile1();
            if (projekt.getPersonal_i_id_erlediger() != null) {
                oZeile[ProjektReportFac.REPORT_PROJEKT_JOURNAL_ERLEDIGT_ERLEDIGER] = projekt
                        .getFlrpersonalErlediger().getFlrpartner().getC_name1nachnamefirmazeile1();
            }
            oZeile[ProjektReportFac.REPORT_PROJEKT_JOURNAL_ERLEDIGT_ZEIT] = projekt.getT_zeit();
            oZeile[ProjektReportFac.REPORT_PROJEKT_JOURNAL_ERLEDIGT_DAUER] = projekt.getD_dauer();

            // Gesamte Dauer eines Projektes
            Double ddArbeitszeitist = getZeiterfassungFac().getSummeZeitenEinesBeleges(
                    LocaleFac.BELEGART_PROJEKT, projekt.getI_id(), null, null, null, null, theClientDto);
            oZeile[ProjektReportFac.REPORT_PROJEKT_JOURNAL_ERLEDIGT_GESAMTDAUER] = ddArbeitszeitist;

            Criteria crit1 = session.createCriteria(FLRHistory.class);
            crit1.createCriteria(ProjektFac.FLR_HISTORY_FLRPROJEKT)
                    .add(Restrictions.eq(ProjektFac.FLR_PROJEKT_I_ID, projekt.getI_id()));
            List<?> resultList = crit1.list();
            Iterator<?> itHistory = resultList.iterator();
            alDaten.add(oZeile);
            while (itHistory.hasNext()) {
                FLRHistory history = (FLRHistory) itHistory.next();

                oZeile = new Object[ProjektReportFac.REPORT_PROJEKT_JOURNAL_ERLEDIGT_ANZAHL_SPALTEN];

                oZeile[ProjektReportFac.REPORT_PROJEKT_JOURNAL_ERLEDIGT_PROJEKTCNR] = projekt.getC_nr();
                oZeile[ProjektReportFac.REPORT_PROJEKT_JOURNAL_ERLEDIGT_ZUGEWIESENER] = projekt
                        .getFlrpersonalZugewiesener().getFlrpartner().getC_name1nachnamefirmazeile1();
                oZeile[ProjektReportFac.REPORT_PROJEKT_JOURNAL_ERLEDIGT_HISTORY_MITARBEITER] = history
                        .getFlrpersonal().getFlrpartner().getC_name1nachnamefirmazeile1();
                oZeile[ProjektReportFac.REPORT_PROJEKT_JOURNAL_ERLEDIGT_HISTORY_BELEGDATUM] = Helper
                        .formatDatum(history.getT_belegdatum(), locDruck);
                oZeile[ProjektReportFac.REPORT_PROJEKT_JOURNAL_ERLEDIGT_HISTORY_TEXT] = history.getX_text();
                alDaten.add(oZeile);

            }
        }
        Object[][] returnArray = new Object[alDaten
                .size()][ProjektReportFac.REPORT_PROJEKT_JOURNAL_ERLEDIGT_ANZAHL_SPALTEN];
        data = (Object[][]) alDaten.toArray(returnArray);

    } catch (RemoteException e) {
        throw new EJBExceptionLP(EJBExceptionLP.FEHLER_IN_ZEITDATEN, new Exception(e));
    } finally {
        try {
            session.close();
        } catch (HibernateException he) {
            throw new EJBExceptionLP(EJBExceptionLP.FEHLER_HIBERNATE, he);
        }
    }

    // die Parameter dem Report uebergeben
    HashMap<String, Object> parameter = new HashMap<String, Object>();
    parameter.put(LPReport.P_FILTER, buildFilterProjektErledigt(reportJournalKriterienDtoI, theClientDto));
    parameter.put("P_BEREICH", getProjektServiceFac().bereichFindByPrimaryKey(bereichIId).getCBez());
    parameter.put("P_INTERNEERLEDIGUNGBERUECKSICHTIGEN", interneErledigungBeruecksichtigen);
    parameter.put("P_TITLE",
            getTextRespectUISpr("proj.print.erledigt", theClientDto.getMandant(), theClientDto.getLocUi()));
    initJRDS(parameter, ProjektReportFac.REPORT_MODUL, cAktuellerReport, theClientDto.getMandant(),
            theClientDto.getLocUi(), theClientDto);
    oPrint = getReportPrint();
    return oPrint;
}

From source file:com.lp.server.projekt.ejbfac.ProjektReportFacBean.java

License:Open Source License

@TransactionAttribute(TransactionAttributeType.NEVER)
public JasperPrintLP printProjektOffene(ReportJournalKriterienDto reportJournalKriterienDtoI, Date dStichtag,
        Integer bereichIId, TheClientDto theClientDto) throws EJBExceptionLP, RemoteException {

    JasperPrintLP oPrint = null;/*  www. ja  va  2s.c o  m*/
    int iAnzahlZeilen = 0;
    cAktuellerReport = ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE;
    Locale locDruck;

    SessionFactory factory = FLRSessionFactory.getFactory();
    Session session = null;
    // vom Stichtag die Uhrzeit abschneiden
    dStichtag = Helper.cutDate(dStichtag);

    try {
        session = factory.openSession();
        // Hiberante Criteria fuer alle Tabellen ausgehend von meiner
        // Haupttabelle anlegen,
        // nach denen ich filtern und sortieren kann
        Criteria critProjekt = session.createCriteria(FLRProjekt.class);

        // Einschraenkung auf den aktuellen Mandanten
        critProjekt.add(Restrictions.eq(ProjektFac.FLR_PROJEKT_MANDANT_C_NR, theClientDto.getMandant()));
        critProjekt.add(Restrictions.not(Restrictions.eq(ProjektFac.FLR_PROJEKT_STATUS_C_NR,
                ProjektServiceFac.PROJEKT_STATUS_STORNIERT)));
        critProjekt.add(Restrictions.eq(ProjektFac.FLR_PROJEKT_BEREICH_I_ID, bereichIId));
        // Einschraenkung nach Status Offen, Erledigt
        Collection<String> cStati = new LinkedList<String>();
        cStati.add(ProjektServiceFac.PROJEKT_STATUS_OFFEN);
        cStati.add(ProjektServiceFac.PROJEKT_STATUS_ANGELEGT);
        critProjekt.add(Restrictions.in(ProjektFac.FLR_PROJEKT_STATUS_C_NR, cStati));

        // Das Belegdatum muss vor dem Stichtag liegen
        critProjekt.add(Restrictions.le(ProjektFac.FLR_PROJEKT_T_ANLEGEN, dStichtag));

        // Einschraenkung nach einer bestimmten Perosn
        if (reportJournalKriterienDtoI.personalIId != null) {
            critProjekt.add(Restrictions.eq(ProjektFac.FLR_PROJEKT_PERSONAL_I_ID_ZUGEWIESENER,
                    reportJournalKriterienDtoI.personalIId));
        }

        // Sortierung nach Personal ist immer die erste Sortierung
        if (reportJournalKriterienDtoI.bSortiereNachPersonal) {
            critProjekt.createCriteria(ProjektFac.FLR_PROJEKT_FLRPERSONALZUGEWIESENER)
                    .createCriteria(KundeFac.FLR_PARTNER)
                    .addOrder(Order.asc(PartnerFac.FLR_PARTNER_NAME1NACHNAMEFIRMAZEILE1));
        }

        // Sortierung nach Partner,
        if (reportJournalKriterienDtoI.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_PARTNER) {
            critProjekt.createCriteria(ProjektFac.FLR_PROJEKT_FLRPARTNER)
                    .addOrder(Order.asc(PartnerFac.FLR_PARTNER_NAME1NACHNAMEFIRMAZEILE1));
            critProjekt.addOrder(Order.asc(ProjektFac.FLR_PROJEKT_TYP_C_NR));
            critProjekt.addOrder(Order.asc(ProjektFac.FLR_PROJEKT_I_PRIO));
            critProjekt.addOrder(Order.asc(ProjektFac.FLR_PROJEKT_KATEGORIE_C_NR));
        }
        // es wird in jedem Fall nach der Belegnummer sortiert
        critProjekt.addOrder(Order.asc(ProjektFac.FLR_PROJEKT_C_NR));

        List<?> list = critProjekt.list();
        Iterator<?> it = list.iterator();
        while (it.hasNext()) {
            FLRProjekt projekt = (FLRProjekt) it.next();
            session = factory.openSession();
            Criteria critHistory = session.createCriteria(FLRHistory.class);
            critHistory.createCriteria(ProjektFac.FLR_HISTORY_FLRPROJEKT)
                    .add(Restrictions.eq(ProjektFac.FLR_PROJEKT_I_ID, projekt.getI_id()));
            List<?> historyList = critHistory.list();
            if (historyList.size() != 0) {
                iAnzahlZeilen = iAnzahlZeilen + historyList.size();
            }
            iAnzahlZeilen++;
        }

        data = new Object[iAnzahlZeilen][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_ANZAHL_SPALTEN];
        int i = 0;
        it = list.iterator();
        while (it.hasNext()) {
            FLRProjekt projekt = (FLRProjekt) it.next();
            if (projekt.getI_id() == 7689) {
                System.out.println("x");
            }
            data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_PROJEKTTITEL] = projekt.getC_titel();
            data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_PROJEKTKATEGORIE] = projekt
                    .getKategorie_c_nr();
            data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_PROJEKTCNR] = projekt.getC_nr();
            data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_STATUS] = projekt.getStatus_c_nr();
            if (projekt.getPersonal_i_id_internerledigt() != null) {
                PersonalDto personalDto = getPersonalFac()
                        .personalFindByPrimaryKey(projekt.getPersonal_i_id_internerledigt(), theClientDto);
                data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_INTERNERLEDIGT_PERSON] = personalDto
                        .getPartnerDto().formatAnrede();
                data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_INTERNERLEDIGT_ZEIT] = projekt
                        .getT_internerledigt();
            }
            data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_WAHRSCHEINLICHKEIT] = projekt
                    .getI_wahrscheinlichkeit();
            data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_GEPLANTERUMSATZ] = projekt
                    .getN_umsatzgeplant();
            // Gesamte Dauer eines Projektes
            Double ddArbeitszeitist = getZeiterfassungFac().getSummeZeitenEinesBeleges(
                    LocaleFac.BELEGART_PROJEKT, projekt.getI_id(), null, null, null, null, theClientDto);
            data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_GESAMTDAUER] = ddArbeitszeitist;
            data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_KUNDECNAME1] = projekt.getFlrpartner()
                    .getC_name1nachnamefirmazeile1();
            locDruck = Helper.string2Locale(projekt.getFlrpartner().getLocale_c_nr_kommunikation());
            data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_ZIELTERMIN] = Helper
                    .formatDatum(projekt.getT_zielwunschdatum(), locDruck);
            data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_BELEGDATUM] = Helper
                    .formatDatum(projekt.getT_anlegen(), locDruck);

            Calendar calendar = new GregorianCalendar();
            calendar.setTime(new Date(projekt.getT_zielwunschdatum().getTime()));
            int KW = calendar.get(Calendar.WEEK_OF_YEAR); // Kalendarwochen

            data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_ZIELWOCHE] = "" + KW;

            data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_PRIO] = projekt.getI_prio();
            data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_TEXT] = projekt.getX_freetext();
            data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_ERZEUGER] = projekt.getFlrpersonalErzeuger()
                    .getFlrpartner().getC_name1nachnamefirmazeile1();
            data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_ZUGEWIESENER] = projekt
                    .getFlrpersonalZugewiesener().getFlrpartner().getC_name1nachnamefirmazeile1();
            data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_ZEIT] = projekt.getT_zeit();
            data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_DAUER] = projekt.getD_dauer();
            data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_B_VERRECHENBAR] = Helper
                    .short2Boolean(projekt.getB_verrechenbar());
            data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_B_FREIGEGEBEN] = Helper
                    .short2Boolean(projekt.getB_freigegeben());
            data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_DATEINAME] = projekt.getC_dateiname();
            // try {
            if (projekt.getFlransprechpartner() != null
                    && (projekt.getFlransprechpartner().getI_id() != null)) {
                if (projekt.getFlransprechpartner().getFlrpartneransprechpartner() != null
                        && projekt.getFlransprechpartner().getFlrpartneransprechpartner().getI_id() != null) {
                    data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_ANSPRECHPARTNERCNAME1] = projekt
                            .getFlransprechpartner().getFlrpartneransprechpartner()
                            .getC_name1nachnamefirmazeile1();
                    data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_ANSPRECHPARTNER] = (projekt
                            .getFlransprechpartner().getFlrpartneransprechpartner()
                            .getC_name1nachnamefirmazeile1()
                            + " "
                            + (projekt.getFlransprechpartner().getFlrpartneransprechpartner()
                                    .getC_name2vornamefirmazeile2() == null
                                            ? ""
                                            : projekt.getFlransprechpartner().getFlrpartneransprechpartner()
                                                    .getC_name2vornamefirmazeile2())
                            + " "
                            + (projekt.getFlransprechpartner().getFlrpartneransprechpartner()
                                    .getC_name3vorname2abteilung() == null ? ""
                                            : projekt.getFlransprechpartner().getFlrpartneransprechpartner()
                                                    .getC_name3vorname2abteilung())).trim();
                }
            }
            // } catch (Exception e) {
            // e.printStackTrace();
            // }
            //
            Criteria crit1 = session.createCriteria(FLRHistory.class);
            crit1.createCriteria(ProjektFac.FLR_HISTORY_FLRPROJEKT)
                    .add(Restrictions.eq(ProjektFac.FLR_PROJEKT_I_ID, projekt.getI_id()));
            List<?> resultList = crit1.list();
            Iterator<?> itHistory = resultList.iterator();
            i++;
            while (itHistory.hasNext()) {
                FLRHistory history = (FLRHistory) itHistory.next();
                data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_PROJEKTCNR] = projekt.getC_nr();
                data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_ZUGEWIESENER] = projekt
                        .getFlrpersonalZugewiesener().getFlrpartner().getC_name1nachnamefirmazeile1();
                data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_HISTORY_MITARBEITER] = history
                        .getFlrpersonal().getFlrpartner().getC_name1nachnamefirmazeile1();
                data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_HISTORY_BELEGDATUM] = Helper
                        .formatDatum(history.getT_belegdatum(), locDruck);
                data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_HISTORY_TEXT] = history.getX_text();
                i++;
            }
        }

    } catch (Throwable t) {
        throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FLR, new Exception(t));
    } finally {
        try {
            session.close();
        } catch (HibernateException he) {
            throw new EJBExceptionLP(EJBExceptionLP.FEHLER_HIBERNATE, he);
        }
    }
    // die Parameter dem Report uebergeben
    HashMap<String, Object> parameter = new HashMap<String, Object>();

    parameter.put(LPReport.P_SORTIERUNG,
            buildSortierungProjektOffene(reportJournalKriterienDtoI, theClientDto));
    parameter.put("P_BEREICH", getProjektServiceFac().bereichFindByPrimaryKey(bereichIId).getCBez());
    parameter.put(LPReport.P_FILTER, buildFilterProjektOffene(reportJournalKriterienDtoI, theClientDto));

    if (reportJournalKriterienDtoI.personalIId != null) {
        parameter.put(LPReport.P_SORTIERENACHPERSONAL, new Boolean(true));
    } else {
        parameter.put(LPReport.P_SORTIERENACHPERSONAL, new Boolean(false));
    }

    parameter.put("P_TITLE",
            getTextRespectUISpr("proj.print.offene", theClientDto.getMandant(), theClientDto.getLocUi()));

    initJRDS(parameter, ProjektReportFac.REPORT_MODUL, cAktuellerReport, theClientDto.getMandant(),
            theClientDto.getLocUi(), theClientDto);

    oPrint = getReportPrint();

    return oPrint;
}

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

License:Open Source License

public BigDecimal getUmsatzVomKundenImZeitraum(TheClientDto theClientDto, Integer kundeIId, Date dVon,
        Date dBis, boolean bStatistikadresse) throws EJBExceptionLP {
    Session session = null;/*from w w  w.  j a v  a  2 s .  c o m*/
    try {
        SessionFactory factory = FLRSessionFactory.getFactory();
        session = factory.openSession();
        Criteria c = session.createCriteria(FLRRechnungReport.class);
        c.add(Restrictions.eq(RechnungFac.FLR_RECHNUNG_MANDANT_C_NR, theClientDto.getMandant()));

        // Projekt 3568

        String[] stati = new String[4];
        stati[0] = RechnungFac.RECHNUNGART_RECHNUNG;
        stati[1] = RechnungFac.RECHNUNGART_GUTSCHRIFT;
        stati[2] = RechnungFac.RECHNUNGART_WERTGUTSCHRIFT;
        stati[3] = RechnungFac.RECHNUNGART_SCHLUSSZAHLUNG;

        c.createAlias(RechnungFac.FLR_RECHNUNG_FLRRECHNUNGART, "ra");

        c.add(Restrictions.in("ra.c_nr", stati));

        if (bStatistikadresse == true) {

            if (kundeIId != null) {
                c.add(Restrictions.eq(RechnungFac.FLR_RECHNUNG_KUNDE_I_ID_STATISTIKADRESSE, kundeIId));
            }
        } else {
            if (kundeIId != null) {
                c.add(Restrictions.eq(RechnungFac.FLR_RECHNUNG_KUNDE_I_ID, kundeIId));
            }

        }
        if (dVon != null) {
            c.add(Restrictions.ge(RechnungFac.FLR_RECHNUNG_D_BELEGDATUM, dVon));
        }
        if (dBis != null) {
            c.add(Restrictions.le(RechnungFac.FLR_RECHNUNG_D_BELEGDATUM, dBis));
        }
        // Filter nach Status
        Collection<String> cStati = new LinkedList<String>();
        cStati.add(RechnungFac.STATUS_BEZAHLT);
        cStati.add(RechnungFac.STATUS_TEILBEZAHLT);
        cStati.add(RechnungFac.STATUS_OFFEN);
        cStati.add(RechnungFac.STATUS_VERBUCHT);
        c.add(Restrictions.in(RechnungFac.FLR_RECHNUNG_STATUS_C_NR, cStati));
        List<?> list = c.list();
        BigDecimal bdUmsatz = new BigDecimal(0);
        for (Iterator<?> iter = list.iterator(); iter.hasNext();) {
            FLRRechnungReport item = (FLRRechnungReport) iter.next();
            if (item.getN_wert() != null) {

                System.out.println(item.getC_nr() + " RA:" + item.getFlrrechnungart().getC_nr() + " W:"
                        + item.getN_wert());

                if (item.getFlrrechnungart().getC_nr().equals(RechnungFac.RECHNUNGART_GUTSCHRIFT)
                        || item.getFlrrechnungart().getC_nr().equals(RechnungFac.RECHNUNGART_WERTGUTSCHRIFT)) {
                    BigDecimal wert = new BigDecimal(0).subtract(item.getN_wert());
                    bdUmsatz = bdUmsatz.add(wert);
                } else {
                    bdUmsatz = bdUmsatz.add(item.getN_wert());
                }

            }
        }
        return bdUmsatz;
    } finally {
        if (session != null) {
            session.close();
        }
    }
}

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

License:Open Source License

/**
 * Die Anzahl der an einen Kunden gelegten Rechnungen in eimem zeitraum
 * ermitteln. geht ueber hibernate (der performace wegen).
 * // ww w.  j  a v  a  2  s.  co m
 * @param theClientDto
 *            String
 * @param kundeIId
 *            Integer
 * @param dVon
 *            Date
 * @param dBis
 *            Date
 * @param bStatistikadresse
 *            boolean
 * @return Integer
 * @throws EJBExceptionLP
 */
public Integer getAnzahlDerRechnungenVomKundenImZeitraum(TheClientDto theClientDto, Integer kundeIId, Date dVon,
        Date dBis, boolean bStatistikadresse) throws EJBExceptionLP {
    Session session = null;
    try {
        SessionFactory factory = FLRSessionFactory.getFactory();
        session = factory.openSession();
        Criteria c = session.createCriteria(FLRRechnung.class);
        c.add(Restrictions.eq(RechnungFac.FLR_RECHNUNG_MANDANT_C_NR, theClientDto.getMandant()));
        c.createCriteria(RechnungFac.FLR_RECHNUNG_FLRRECHNUNGART).add(Restrictions
                .eq(RechnungFac.FLR_RECHNUNGART_RECHNUNGTYP_C_NR, RechnungFac.RECHNUNGTYP_RECHNUNG));
        if (kundeIId != null) {
            if (bStatistikadresse == true) {
                c.add(Restrictions.eq(RechnungFac.FLR_RECHNUNG_KUNDE_I_ID_STATISTIKADRESSE, kundeIId));
            } else {
                c.createCriteria(RechnungFac.FLR_RECHNUNG_FLRKUNDE)
                        .add(Restrictions.eq(KundeFac.FLR_KUNDE_I_ID, kundeIId));
            }
        }
        if (dVon != null) {
            c.add(Restrictions.ge(RechnungFac.FLR_RECHNUNG_D_BELEGDATUM, dVon));
        }
        if (dBis != null) {
            c.add(Restrictions.le(RechnungFac.FLR_RECHNUNG_D_BELEGDATUM, dBis));
        }
        // Filter nach Status
        Collection<String> cStati = new LinkedList<String>();
        cStati.add(RechnungFac.STATUS_BEZAHLT);
        cStati.add(RechnungFac.STATUS_TEILBEZAHLT);
        cStati.add(RechnungFac.STATUS_OFFEN);
        cStati.add(RechnungFac.STATUS_VERBUCHT);
        c.add(Restrictions.in(RechnungFac.FLR_RECHNUNG_STATUS_C_NR, cStati));
        List<?> list = c.list();
        return new Integer(list.size());
    } finally {
        if (session != null) {
            session.close();
        }
    }
}

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

License:Open Source License

public Integer getZahlungsmoraleinesKunden(Integer kundeIId, boolean bStatistikadresse,
        TheClientDto theClientDto) {/*  w ww  . j ava2 s .c  om*/
    Session session = null;

    SessionFactory factory = FLRSessionFactory.getFactory();
    session = factory.openSession();

    Criteria c = session.createCriteria(FLRRechnung.class);
    c.add(Restrictions.eq(RechnungFac.FLR_RECHNUNG_MANDANT_C_NR, theClientDto.getMandant()));
    c.createCriteria(RechnungFac.FLR_RECHNUNG_FLRRECHNUNGART).add(
            Restrictions.eq(RechnungFac.FLR_RECHNUNGART_RECHNUNGTYP_C_NR, RechnungFac.RECHNUNGTYP_RECHNUNG));
    if (kundeIId != null) {
        if (bStatistikadresse == true) {
            c.add(Restrictions.eq(RechnungFac.FLR_RECHNUNG_KUNDE_I_ID_STATISTIKADRESSE, kundeIId));
        } else {
            c.createCriteria(RechnungFac.FLR_RECHNUNG_FLRKUNDE)
                    .add(Restrictions.eq(KundeFac.FLR_KUNDE_I_ID, kundeIId));
        }
    }

    c.add(Restrictions.le(RechnungFac.FLR_RECHNUNG_D_BELEGDATUM,
            new java.sql.Date(System.currentTimeMillis())));

    try {
        ParametermandantDto parameter = getParameterFac().getMandantparameter(theClientDto.getMandant(),
                ParameterFac.KATEGORIE_KUNDEN, ParameterFac.PARAMETER_ZAHLUNGSMORAL_MONATE);
        Integer iAnzalMonate = (Integer) parameter.getCWertAsObject();

        Calendar cal = Calendar.getInstance();

        cal.set(Calendar.MONTH, cal.get(Calendar.MONTH) - iAnzalMonate.intValue());

        c.add(Restrictions.ge(RechnungFac.FLR_RECHNUNG_D_BELEGDATUM, new java.sql.Date(cal.getTimeInMillis())));

    } catch (RemoteException e) {
        throwEJBExceptionLPRespectOld(e);
    }

    // Filter nach Status
    Collection<String> cStati = new LinkedList<String>();
    cStati.add(RechnungFac.STATUS_BEZAHLT);

    c.add(Restrictions.in(RechnungFac.FLR_RECHNUNG_STATUS_C_NR, cStati));
    c.addOrder(Order.desc("c_nr"));
    try {
        ParametermandantDto parameter = getParameterFac().getMandantparameter(theClientDto.getMandant(),
                ParameterFac.KATEGORIE_KUNDEN, ParameterFac.PARAMETER_ZAHLUNGSMORAL_ANZAHL_RECHNUNGEN);
        Integer iAnzalRechnungen = (Integer) parameter.getCWertAsObject();
        c.setMaxResults(iAnzalRechnungen);
    } catch (RemoteException e) {
        throwEJBExceptionLPRespectOld(e);
    }

    List<?> list = c.list();

    if (list.size() == 0) {
        return 0;
    }
    Iterator<?> iter = list.iterator();
    int iZaehler = 0;
    int iGesamtTage = 0;

    while (iter.hasNext()) {
        FLRRechnung rech = (FLRRechnung) iter.next();

        RechnungDto rechnungDto = rechnungFindByPrimaryKey(rech.getI_id());
        if (rechnungDto.getTBezahltdatum() != null) {
            iGesamtTage += Helper.ermittleTageEinesZeitraumes(rechnungDto.getTBelegdatum(),
                    rechnungDto.getTBezahltdatum());

            iZaehler++;
        }
    }

    if (iZaehler != 0) {
        return iGesamtTage / iZaehler;
    } else {
        return 0;
    }

}

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

License:Open Source License

public FLRRechnungReport[] rechnungFindByBelegdatumVonBis(String mandantCNr, Date dVon, Date dBis,
        Collection<String> cRechnungstyp, Collection<String> cStati, Integer kundeIId,
        boolean bStatistikadresse) {
    Session session = null;//from w w w  .  j  a v  a  2s. c o  m
    try {
        SessionFactory factory = FLRSessionFactory.getFactory();
        session = factory.openSession();
        Criteria c = session.createCriteria(FLRRechnungReport.class);
        c.add(Restrictions.eq(RechnungFac.FLR_RECHNUNG_MANDANT_C_NR, mandantCNr));
        c.add(Restrictions.in(RechnungFac.FLR_RECHNUNG_STATUS_C_NR, cStati));
        if (dVon != null) {
            c.add(Restrictions.ge(RechnungFac.FLR_RECHNUNG_D_BELEGDATUM, dVon));
        }
        if (dBis != null) {
            c.add(Restrictions.lt(RechnungFac.FLR_RECHNUNG_D_BELEGDATUM, dBis));
        }

        if (kundeIId != null) {
            if (bStatistikadresse == true) {

                c.add(Restrictions.eq(RechnungFac.FLR_RECHNUNG_KUNDE_I_ID_STATISTIKADRESSE, kundeIId));
            } else {
                c.add(Restrictions.eq(RechnungFac.FLR_RECHNUNG_KUNDE_I_ID, kundeIId));
            }
        }

        c.createCriteria(RechnungFac.FLR_RECHNUNG_FLRRECHNUNGART)
                .add(Restrictions.in(RechnungFac.FLR_RECHNUNGART_RECHNUNGTYP_C_NR, cRechnungstyp));
        List<?> list = c.list();
        if (list.isEmpty()) {
            return new FLRRechnungReport[0];
        } else {
            int i = 0;
            FLRRechnungReport[] re = new FLRRechnungReport[list.size()];
            for (Iterator<?> iter = list.iterator(); iter.hasNext();) {
                re[i++] = (FLRRechnungReport) iter.next();
            }
            return re;
        }
    } finally {
        if (session != null) {
            session.close();
        }
    }
}