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.lieferschein.ejbfac.LieferscheinReportFacBean.java

License:Open Source License

/**
 * Diese Methode liefert eine Liste von allen gelieferten Lieferscheine
 * eines Mandanten, die nach den eingegebenen Kriterien des Benutzers
 * zusammengestellt wird. <br>/*ww w .j  av a 2s  . c  o  m*/
 * Achtung: Hibernate verwendet lazy initialization, d.h. der Zugriff auf
 * Collections muss innerhalb der Session erfolgen.
 * 
 * @param reportJournalKriterienDtoI
 *            die Kriterien des Benutzers
 * @param theClientDto
 *            der aktuelle Benutzer
 * @return ReportLieferscheinOffeneDto[] die Liste der Lieferscheine
 * @throws EJBExceptionLP
 *             Ausnahme
 */
private ReportLieferscheinOffeneDto[] getListeReportLieferscheinOffene(
        ReportJournalKriterienDto reportJournalKriterienDtoI, Integer iArt, boolean bMitDetails,
        TheClientDto theClientDto) throws EJBExceptionLP {

    ReportLieferscheinOffeneDto[] aResult = null;
    SessionFactory factory = FLRSessionFactory.getFactory();
    Session session = null;

    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(FLRLieferschein.class);

        // Einschraenkung auf den aktuellen Mandanten
        crit.add(Restrictions.eq("mandant_c_nr", theClientDto.getMandant()));

        // Einschraenkung nach Status Offen
        crit.add(Restrictions.eq(LieferscheinFac.FLR_LIEFERSCHEIN_LIEFERSCHEINSTATUS_STATUS_C_NR,
                LieferscheinFac.LSSTATUS_GELIEFERT));
        if (iArt != null) {
            if (iArt == 1) {
                crit.add(Restrictions.eq(LieferscheinFac.FLR_LIEFERSCHEIN_B_VERRECHENBAR,
                        Helper.boolean2Short(true)));
            } else if (iArt == 2) {
                crit.add(Restrictions.eq(LieferscheinFac.FLR_LIEFERSCHEIN_B_VERRECHENBAR,
                        Helper.boolean2Short(false)));
            }
        }
        // Einschraenkung nach einer bestimmten Kostenstelle
        if (reportJournalKriterienDtoI.kostenstelleIId != null) {
            crit.add(Restrictions.eq(LieferscheinFac.FLR_LIEFERSCHEIN_KOSTENSTELLE_I_ID,
                    reportJournalKriterienDtoI.kostenstelleIId));
        }

        // Einschraenkung nach einem bestimmten Kunden
        if (reportJournalKriterienDtoI.kundeIId != null) {
            crit.add(Restrictions.eq(LieferscheinFac.FLR_LIEFERSCHEIN_KUNDE_I_ID_LIEFERADRESSE,
                    reportJournalKriterienDtoI.kundeIId));
        }

        // Einschraenkung nach Belegdatum von - bis
        String sVon = null;
        String sBis = null;

        if (reportJournalKriterienDtoI.dVon != null) {
            crit.add(Restrictions.ge(LieferscheinFac.FLR_LIEFERSCHEIN_D_BELEGDATUM,
                    reportJournalKriterienDtoI.dVon));
            sVon = Helper.formatDatum(reportJournalKriterienDtoI.dVon, theClientDto.getLocUi());
        }

        if (reportJournalKriterienDtoI.dBis != null) {
            crit.add(Restrictions.le(LieferscheinFac.FLR_LIEFERSCHEIN_D_BELEGDATUM,
                    reportJournalKriterienDtoI.dBis));
            sBis = Helper.formatDatum(reportJournalKriterienDtoI.dBis, theClientDto.getLocUi());
        }

        // Einschraenkung nach 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 (reportJournalKriterienDtoI.sBelegnummerVon != null) {
            sVon = HelperServer.getBelegnummernFilterForHibernateCriterias(f, iGeschaeftsjahr, sMandantKuerzel,
                    reportJournalKriterienDtoI.sBelegnummerVon);
            crit.add(Restrictions.ge("c_nr", sVon));
        }

        if (reportJournalKriterienDtoI.sBelegnummerBis != null) {
            sBis = HelperServer.getBelegnummernFilterForHibernateCriterias(f, iGeschaeftsjahr, sMandantKuerzel,
                    reportJournalKriterienDtoI.sBelegnummerBis);
            crit.add(Restrictions.le("c_nr", sBis));
        }

        // Sortierung nach Kostenstelle ist immer die erste Sortierung
        if (reportJournalKriterienDtoI.bSortiereNachKostenstelle) {
            crit.createCriteria(LieferscheinFac.FLR_LIEFERSCHEIN_FLRKOSTENSTELLE).addOrder(Order.asc("c_nr"));
        }

        // Sortierung nach Kunde, eventuell innerhalb der Kostenstelle
        if (reportJournalKriterienDtoI.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_PARTNER) {
            crit.createCriteria(LieferscheinFac.FLR_LIEFERSCHEIN_FLRKUNDE).createCriteria(KundeFac.FLR_PARTNER)
                    .addOrder(Order.asc(PartnerFac.FLR_PARTNER_NAME1NACHNAMEFIRMAZEILE1));
        }

        // es wird in jedem Fall nach der Belegnummer sortiert
        crit.addOrder(Order.asc("c_nr"));

        List<?> list = crit.list();
        aResult = new ReportLieferscheinOffeneDto[list.size()];
        int iIndex = 0;
        Iterator<?> it = list.iterator();
        ReportLieferscheinOffeneDto reportDto = null;

        while (it.hasNext()) {
            FLRLieferschein flrlieferschein = (FLRLieferschein) it.next();

            reportDto = new ReportLieferscheinOffeneDto();
            reportDto.setIIdLieferschein(flrlieferschein.getI_id());
            reportDto.setCNrLieferschein(flrlieferschein.getC_nr());
            reportDto.setKundeCName1(
                    flrlieferschein.getFlrkunde().getFlrpartner().getC_name1nachnamefirmazeile1());
            reportDto.setKostenstelleCNr(flrlieferschein.getFlrkostenstelle().getC_nr());

            aResult[iIndex] = reportDto;
            iIndex++;
        }
    } catch (RemoteException re) {
        throwEJBExceptionLPRespectOld(re);
    } finally {
        closeSession(session);
    }
    return aResult;
}

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

License:Open Source License

public ArrayList getWareneingangspositionen(StatistikParamDto statistikParamDtoI, String sWaehrungI,
        boolean bVerdichtetNachArtikel, boolean bEingeschraenkt, TheClientDto theClientDto)
        throws EJBExceptionLP {

    Session sessionWEPOS = null;//www . ja v  a 2s. co  m
    ArrayList<WareneingangspositionenDto> alData = new ArrayList<WareneingangspositionenDto>(10);
    try {
        // in die gewuenschte Waehrung umrechnen
        SessionFactory factory = FLRSessionFactory.getFactory();

        sessionWEPOS = factory.openSession();
        Criteria cWEPOS = sessionWEPOS.createCriteria(FLRWareneingangspositionen.class);
        cWEPOS.createAlias(WareneingangFac.FLR_WEPOS_FLRWARENEINGANG, "we");

        if (statistikParamDtoI.getId() != null) {
            cWEPOS.createAlias("we." + WareneingangFac.FLR_WE_FLRBESTELLUNG, "b");
            cWEPOS.add(Restrictions.eq("b." + BestellungFac.FLR_BESTELLUNG_LIEFERANT_I_ID_BESTELLADRESSE,
                    statistikParamDtoI.getId()));
        }

        if (statistikParamDtoI.getDDatumVon() != null) {
            cWEPOS.add(Restrictions.ge("we." + WareneingangFac.FLRSPALTE_T_WARENEINGANGSDATUM,
                    Helper.cutDate(statistikParamDtoI.getDDatumVon())));
        }
        if (statistikParamDtoI.getDDatumBis() != null) {
            Calendar c = Calendar.getInstance();
            c.setTimeInMillis(statistikParamDtoI.getDDatumBis().getTime());
            c.set(Calendar.HOUR_OF_DAY, 23);
            c.set(Calendar.MINUTE, 59);
            c.set(Calendar.SECOND, 59);
            c.set(Calendar.MILLISECOND, 999);

            java.sql.Date dBis = new java.sql.Date(c.getTimeInMillis());

            cWEPOS.add(Restrictions.le("we." + WareneingangFac.FLRSPALTE_T_WARENEINGANGSDATUM, dBis));
        }

        cWEPOS.addOrder(Order.desc("we." + WareneingangFac.FLRSPALTE_T_WARENEINGANGSDATUM));

        WareneingangspositionenDto ks = null;

        if (bEingeschraenkt) {
            cWEPOS.setMaxResults(50);
        }

        List<?> lWEPOS = cWEPOS.list();

        // BSPOS
        for (int k = 0; k < lWEPOS.size(); k++) {
            FLRWareneingangspositionen wepos = ((FLRWareneingangspositionen) lWEPOS.get(k));
            ks = new WareneingangspositionenDto();

            ks.setSWas("WEPOS");
            ks.setBdMenge(wepos.getN_geliefertemenge());
            ks.setSIdent(wepos.getFlrbestellposition().getFlrartikel().getC_nr());

            com.lp.server.artikel.service.ArtikelDto artikelDto = getArtikelFac().artikelFindByPrimaryKeySmall(
                    wepos.getFlrbestellposition().getFlrartikel().getI_id(), theClientDto);
            String sHelp = wepos.getFlrbestellposition().getFlrbestellung().getC_nr();
            ks.setSNr(wepos.getFlrbestellposition().getFlrbestellung().getC_nr());
            ks.setDBelegdatum(wepos.getFlrwareneingang().getT_wareneingansdatum());
            ks.setSBezeichnung(artikelDto.formatBezeichnung());

            String sWaehrungBS = wepos.getFlrbestellposition().getFlrbestellung()
                    .getWaehrung_c_nr_bestellwaehrung();

            BigDecimal bDW = new BigDecimal(0);
            if (wepos.getN_gelieferterpreis() != null) {
                bDW = getLocaleFac().rechneUmInAndereWaehrungZuDatum(wepos.getN_gelieferterpreis(), sWaehrungBS,
                        sWaehrungI, new Date(System.currentTimeMillis()), theClientDto);
            }

            ks.setBdPreis(bDW);
            ks.setBdWert(wepos.getN_geliefertemenge().multiply(bDW));

            ks.setSEinheit(wepos.getFlrbestellposition().getEinheit_c_nr());
            if (bVerdichtetNachArtikel) {
                boolean bGefunden = false;
                for (int j = 0; j < alData.size(); j++) {
                    WareneingangspositionenDto temp = (WareneingangspositionenDto) alData.get(j);
                    if (temp.getSIdent().equals(ks.getSIdent())) {

                        BigDecimal wertNeu = ks.getBdWert().add(temp.getBdWert());
                        BigDecimal mengeNeu = ks.getBdMenge().add(temp.getBdMenge());
                        BigDecimal preisNeu = new BigDecimal(0);
                        if (mengeNeu.doubleValue() != 0) {
                            preisNeu = wertNeu.divide(mengeNeu, 4, BigDecimal.ROUND_HALF_EVEN);
                        }

                        temp.setBdWert(wertNeu);
                        temp.setBdMenge(mengeNeu);
                        temp.setBdPreis(preisNeu);
                        temp.setDBelegdatum(null);
                        temp.setSNr("");
                        temp.setSWas("");

                        alData.set(j, temp);
                        bGefunden = true;
                        break;
                    }
                }
                if (bGefunden == false) {
                    alData.add(ks);
                }
            } else {
                alData.add(ks);
            }
        }
        sessionWEPOS.close();
        sessionWEPOS = null;

    } catch (Exception e) {
        throw new EJBExceptionLP(e);
    } finally {

        if (sessionWEPOS != null) {
            sessionWEPOS.close();
        }
        sessionWEPOS = null;
    }
    return alData;
}

From source file:com.lp.server.personal.ejbfac.ZeiterfassungReportFacBean.java

License:Open Source License

@TransactionAttribute(TransactionAttributeType.NEVER)
public JasperPrintLP printZeitdatenjournal(Integer personalIId, java.sql.Timestamp tVon,
        java.sql.Timestamp tBis, TheClientDto theClientDto) {
    sAktuellerReport = ZeiterfassungReportFac.REPORT_ZEITDATEN;
    HashMap<String, Object> parameter = new HashMap<String, Object>();
    ArrayList<Object[]> daten = new ArrayList<Object[]>();
    try {/*  w w w .  j  a va2  s.  com*/

        PersonalDto[] personalDtos = null;

        Integer tagesartIId_Feiertag = getZeiterfassungFac()
                .tagesartFindByCNr(ZeiterfassungFac.TAGESART_FEIERTAG, theClientDto).getIId();
        Integer tagesartIId_Halbtag = getZeiterfassungFac()
                .tagesartFindByCNr(ZeiterfassungFac.TAGESART_HALBTAG, theClientDto).getIId();
        Integer taetigkeitIId_Kommt = getZeiterfassungFac()
                .taetigkeitFindByCNr(ZeiterfassungFac.TAETIGKEIT_KOMMT, theClientDto).getIId();
        Integer taetigkeitIId_Telefon = getZeiterfassungFac()
                .taetigkeitFindByCNr(ZeiterfassungFac.TAETIGKEIT_TELEFON, theClientDto).getIId();

        tVon = Helper.cutTimestamp(tVon);
        tBis = Helper.cutTimestamp(tBis);
        if (personalIId != null) {
            personalDtos = new PersonalDto[1];
            personalDtos[0] = getPersonalFac().personalFindByPrimaryKey(personalIId, theClientDto);
        } else {
            personalDtos = getPersonalFac().personalFindByMandantCNr(theClientDto.getMandant(), true);
        }

        for (int i = 0; i < personalDtos.length; i++) {

            PersonalDto personalDto = personalDtos[i];

            personalDto.setPartnerDto(
                    getPartnerFac().partnerFindByPrimaryKey(personalDto.getPartnerIId(), theClientDto));

            Calendar cVon = Calendar.getInstance();
            cVon.setTime(tVon);

            Calendar cBis = Calendar.getInstance();
            cBis.setTime(tBis);
            cBis.set(Calendar.HOUR, 23);
            cBis.set(Calendar.MINUTE, 59);
            cBis.set(Calendar.SECOND, 59);
            cBis.set(Calendar.MILLISECOND, 999);

            while (cVon.before(cBis)) {
                Calendar cNaechsterTag = Calendar.getInstance();
                cNaechsterTag.setTimeInMillis(cVon.getTimeInMillis());
                cNaechsterTag.set(Calendar.DAY_OF_MONTH, cNaechsterTag.get(Calendar.DAY_OF_MONTH) + 1);

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

                org.hibernate.Criteria crit = session.createCriteria(FLRZeitdaten.class)
                        .createAlias(ZeiterfassungFac.FLR_ZEITDATEN_FLRPERSONAL, "p")
                        .add(Restrictions.eq("p.mandant_c_nr", theClientDto.getMandant()));
                crit.add(Restrictions.eq("p.i_id", personalDto.getIId()));
                crit.add(Restrictions.ge(ZeiterfassungFac.FLR_ZEITDATEN_T_ZEIT,
                        new Timestamp(cVon.getTimeInMillis())));
                crit.add(Restrictions.lt(ZeiterfassungFac.FLR_ZEITDATEN_T_ZEIT,
                        new Timestamp(cNaechsterTag.getTimeInMillis())));
                crit.addOrder(Order.asc(ZeiterfassungFac.FLR_ZEITDATEN_T_ZEIT));
                List<?> resultList = crit.list();

                Iterator<?> resultListIterator = resultList.iterator();

                while (resultListIterator.hasNext()) {
                    Object[] zeile = new Object[22];
                    FLRZeitdaten flrzeitdaten = (FLRZeitdaten) resultListIterator.next();

                    zeile[REPORT_ZEITDATEN_PERSONALNR] = flrzeitdaten.getFlrpersonal().getC_personalnummer();
                    zeile[REPORT_ZEITDATEN_ZEIT] = new Timestamp(flrzeitdaten.getT_zeit().getTime());

                    zeile[REPORT_ZEITDATEN_SOLLZEIT] = getZeiterfassungFac()
                            .getSollzeitEinerPersonUndEinesTages(personalDto, tagesartIId_Feiertag,
                                    tagesartIId_Halbtag, new Timestamp(flrzeitdaten.getT_zeit().getTime()),
                                    theClientDto);

                    zeile[REPORT_ZEITDATEN_BEMERKUNG] = flrzeitdaten.getC_bemerkungzubelegart();
                    zeile[REPORT_ZEITDATEN_KOMMENTAR] = flrzeitdaten.getX_kommentar();
                    zeile[REPORT_ZEITDATEN_QUELLE] = flrzeitdaten.getC_wowurdegebucht();

                    String sNurTaetigkeitGeaendert = "";
                    if (Helper.short2boolean(flrzeitdaten.getB_taetigkeitgeaendert()) == true) {
                        sNurTaetigkeitGeaendert = " B";
                    }
                    String sAutomatikbuchung = "";
                    if (Helper.short2boolean(flrzeitdaten.getB_automatikbuchung()) == true) {
                        sAutomatikbuchung = " A";
                    }

                    zeile[REPORT_ZEITDATEN_BUCHUNGSART] = ZeitdatenHandler
                            .istBuchungManipuliert(flrzeitdaten.getT_zeit(), flrzeitdaten.getT_aendern())
                            + sNurTaetigkeitGeaendert + sAutomatikbuchung;

                    String sVorname = flrzeitdaten.getFlrpersonal().getFlrpartner()
                            .getC_name2vornamefirmazeile2();
                    String sNachname = flrzeitdaten.getFlrpersonal().getFlrpartner()
                            .getC_name1nachnamefirmazeile1();
                    if (sVorname != null) {
                        sNachname = sVorname + " " + sNachname;
                    }
                    zeile[REPORT_ZEITDATEN_NAME] = sNachname;

                    try {
                        if (flrzeitdaten.getFlrtaetigkeit() != null) {

                            zeile[REPORT_ZEITDATEN_TAETIGKEIT] = getZeiterfassungFac()
                                    .taetigkeitFindByPrimaryKey(flrzeitdaten.getFlrtaetigkeit().getI_id(),
                                            theClientDto)
                                    .getBezeichnung();

                            // PJ 08/12678
                            if (flrzeitdaten.getFlrtaetigkeit().getI_id().equals(taetigkeitIId_Telefon)) {

                                try {
                                    TelefonzeitenDto tzDto = getZeiterfassungFac()
                                            .telefonzeitenFindByPersonalIIdTVon(personalIId,
                                                    new Timestamp(flrzeitdaten.getT_zeit().getTime()));

                                    if (tzDto.getPartnerIId() != null) {

                                        PartnerDto partnerDto = getPartnerFac()
                                                .partnerFindByPrimaryKey(tzDto.getPartnerIId(), theClientDto);
                                        zeile[REPORT_ZEITDATEN_KUNDE] = partnerDto.formatFixTitelName1Name2();
                                    }

                                    String kommentare = "";

                                    if (tzDto.getXKommentarext() != null) {
                                        kommentare = tzDto.getXKommentarext();
                                    }
                                    if (tzDto.getXKommentarint() != null) {
                                        kommentare += "/ " + tzDto.getXKommentarint();
                                    }

                                    zeile[REPORT_ZEITDATEN_KOMMENTAR] = kommentare;

                                } catch (javax.ejb.EJBException e) {
                                    // Keine Zuordnung zu Telefonzeiten
                                    // gefunden
                                }

                            }

                        } else {
                            ArtikelDto artikelDto = getArtikelFac().artikelFindByPrimaryKeySmall(
                                    flrzeitdaten.getFlrartikel().getI_id(), theClientDto);

                            zeile[REPORT_ZEITDATEN_TAETIGKEIT] = artikelDto.getCNr();
                            zeile[REPORT_ZEITDATEN_ARTIKELBEZEICHNUNG] = artikelDto.formatBezeichnung();
                        }

                        if (flrzeitdaten.getC_belegartnr() != null) {

                            BelegInfos belegInfos = getLagerFac().getBelegInfos(flrzeitdaten.getC_belegartnr(),
                                    flrzeitdaten.getI_belegartid(), flrzeitdaten.getI_belegartpositionid(),
                                    theClientDto);

                            if (flrzeitdaten.getC_belegartnr().equals(LocaleFac.BELEGART_AUFTRAG)) {
                                zeile[REPORT_ZEITDATEN_AUFTRAG] = "AB" + belegInfos.getBelegnummer();

                            } else if (flrzeitdaten.getC_belegartnr().equals(LocaleFac.BELEGART_LOS)) {
                                zeile[REPORT_ZEITDATEN_AUFTRAG] = "LO" + belegInfos.getBelegnummer();
                            } else if (flrzeitdaten.getC_belegartnr().equals(LocaleFac.BELEGART_ANGEBOT)) {
                                zeile[REPORT_ZEITDATEN_AUFTRAG] = "AG" + belegInfos.getBelegnummer();
                            } else if (flrzeitdaten.getC_belegartnr().equals(LocaleFac.BELEGART_PROJEKT)) {
                                zeile[REPORT_ZEITDATEN_AUFTRAG] = "PJ" + belegInfos.getBelegnummer();
                            } else {
                                zeile[REPORT_ZEITDATEN_AUFTRAG] = belegInfos.getBelegnummer();
                            }

                            zeile[REPORT_ZEITDATEN_PROJEKTBEZEICHNUNG] = belegInfos.getBelegbezeichnung();
                            zeile[REPORT_ZEITDATEN_KUNDE] = belegInfos.getKundeLieferant();

                            if (flrzeitdaten.getI_belegartpositionid() != null) {
                                if (flrzeitdaten.getC_belegartnr().equals(LocaleFac.BELEGART_AUFTRAG)) {
                                    AuftragpositionDto posDto = getAuftragpositionFac()
                                            .auftragpositionFindByPrimaryKeyOhneExc(
                                                    flrzeitdaten.getI_belegartpositionid());
                                    if (posDto != null) {

                                        if (posDto.getArtikelIId() != null) {
                                            zeile[REPORT_ZEITDATEN_POSITION] = getArtikelFac()
                                                    .artikelFindByPrimaryKey(posDto.getArtikelIId(),
                                                            theClientDto)
                                                    .formatArtikelbezeichnung();
                                        } else {
                                            zeile[REPORT_ZEITDATEN_POSITION] = posDto.getCBez();
                                        }
                                    } else {
                                        zeile[REPORT_ZEITDATEN_POSITION] = "Auftragposition nicht mehr vorhanden.";
                                    }
                                } else if (flrzeitdaten.getC_belegartnr().equals(LocaleFac.BELEGART_LOS)) {
                                    try {
                                        LossollarbeitsplanDto posDto = getFertigungFac()
                                                .lossollarbeitsplanFindByPrimaryKey(
                                                        flrzeitdaten.getI_belegartpositionid());
                                        zeile[REPORT_ZEITDATEN_POSITION] = getArtikelFac()
                                                .artikelFindByPrimaryKey(posDto.getArtikelIIdTaetigkeit(),
                                                        theClientDto)
                                                .formatArtikelbezeichnung();
                                    } catch (EJBExceptionLP ex4) {
                                        zeile[REPORT_ZEITDATEN_POSITION] = "Losposition nicht mehr vorhanden.";
                                    }

                                } else if (flrzeitdaten.getC_belegartnr().equals(LocaleFac.BELEGART_ANGEBOT)) {
                                    try {
                                        com.lp.server.angebot.service.AngebotpositionDto posDto = getAngebotpositionFac()
                                                .angebotpositionFindByPrimaryKey(
                                                        flrzeitdaten.getI_belegartpositionid(), theClientDto);
                                        zeile[REPORT_ZEITDATEN_POSITION] = getArtikelFac()
                                                .artikelFindByPrimaryKey(posDto.getArtikelIId(), theClientDto)
                                                .formatArtikelbezeichnung();
                                    } catch (EJBExceptionLP ex4) {
                                        zeile[REPORT_ZEITDATEN_POSITION] = "Angebotsposition nicht mehr vorhanden.";
                                    }

                                }
                            }

                        }

                        // Dauer
                        if (daten.size() > 0) {
                            Object[] letzteZeile = (Object[]) daten.get(daten.size() - 1);
                            if (letzteZeile[REPORT_ZEITDATEN_ZEIT] != null
                                    && !taetigkeitIId_Kommt.equals(flrzeitdaten.getTaetigkeit_i_id())) {
                                long l_zeitdec = flrzeitdaten.getT_zeit().getTime()
                                        - ((Timestamp) letzteZeile[REPORT_ZEITDATEN_ZEIT]).getTime();

                                Double dauer = Helper.time2Double(new java.sql.Time(l_zeitdec - 3600000));
                                if (daten.size() > 0) {
                                    Object[] letzte = (Object[]) daten.get(daten.size() - 1);
                                    letzte[REPORT_ZEITDATEN_DAUER] = dauer;
                                    daten.set(daten.size() - 1, letzte);
                                }
                            }
                        }

                    } catch (RemoteException ex1) {
                        throw new EJBExceptionLP(EJBExceptionLP.FEHLER, ex1);
                    }
                    daten.add(zeile);
                }
                SonderzeitenDto[] dtos = null;
                try {
                    // Hier nun Sonderzeiten holen
                    dtos = getZeiterfassungFac().sonderzeitenFindByPersonalIIdDDatum(personalDto.getIId(),
                            Helper.cutTimestamp(new Timestamp(cVon.getTimeInMillis())));
                    for (int j = 0; j < dtos.length; j++) {
                        TaetigkeitDto taeitgkeitDto = getZeiterfassungFac()
                                .taetigkeitFindByPrimaryKey(dtos[j].getTaetigkeitIId(), theClientDto);
                        Object[] neueZeile = new Object[22];
                        neueZeile[REPORT_ZEITDATEN_TAETIGKEIT_SONDERZEIT] = taeitgkeitDto.getBezeichnung();
                        neueZeile[REPORT_ZEITDATEN_PERSONALNR] = personalDto.getCPersonalnr();

                        String sVorname = personalDto.getPartnerDto().getCName2vornamefirmazeile2();
                        String sNachname = personalDto.getPartnerDto().getCName1nachnamefirmazeile1();
                        if (sVorname != null) {
                            sNachname = sVorname + " " + sNachname;
                        }
                        neueZeile[REPORT_ZEITDATEN_NAME] = sNachname;
                        neueZeile[REPORT_ZEITDATEN_DATUM_SONDERZEIT] = new Timestamp(cVon.getTimeInMillis());

                        // Dauer
                        double dauer = 0;

                        if (Helper.short2boolean(dtos[j].getBTag()) == true
                                || Helper.short2boolean(dtos[j].getBHalbtag()) == true) {
                            ZeitmodelltagDto dto = getZeiterfassungFac().getZeitmodelltagZuDatum(
                                    personalDto.getIId(), new Timestamp(cVon.getTimeInMillis()),
                                    tagesartIId_Feiertag, tagesartIId_Halbtag, false, theClientDto);
                            if (dto != null && dto.getUSollzeit() != null) {

                                dauer = Helper.time2Double(dto.getUSollzeit());
                                if (Helper.short2boolean(dtos[j].getBHalbtag()) == true) {
                                    dauer = dauer / 2;
                                }

                            }
                        } else {
                            dauer = Helper.time2Double(dtos[j].getUStunden());
                        }
                        neueZeile[REPORT_ZEITDATEN_DAUER_SONDERZEIT] = new Double(dauer);
                        daten.add(neueZeile);
                    }

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

                if (resultList.size() > 0 || dtos.length > 0) {
                    // Letzte Zeile holen und Tagessumme eintragen
                    Object[] letzteZeile = (Object[]) daten.get(daten.size() - 1);
                    try {
                        Double d = getZeiterfassungFac().berechneTagesArbeitszeit(personalDto.getIId(),
                                new java.sql.Date(cVon.getTimeInMillis()), theClientDto);

                        letzteZeile[REPORT_ZEITDATEN_TAGESSUMME] = d;

                    } catch (javax.ejb.EJBException ex3) {
                        letzteZeile[REPORT_ZEITDATEN_TAGESSUMME] = new Double(0);
                        letzteZeile[REPORT_ZEITDATEN_PROJEKTBEZEICHNUNG] = "Fehler in Zeitdaten";
                    } catch (EJBExceptionLP ex4) {
                        letzteZeile[REPORT_ZEITDATEN_TAGESSUMME] = new Double(0);
                        letzteZeile[REPORT_ZEITDATEN_PROJEKTBEZEICHNUNG] = "Fehler in Zeitdaten";
                    } catch (RemoteException e) {
                        throwEJBExceptionLPRespectOld(e);

                    }
                    daten.set(daten.size() - 1, letzteZeile);
                }

                session.close();

                cVon.set(Calendar.DAY_OF_MONTH, cVon.get(Calendar.DAY_OF_MONTH) + 1);

            }

        }
    } catch (RemoteException ex) {
        throw new EJBExceptionLP(EJBExceptionLP.FEHLER, ex);
    }
    if (tVon != null) {
        parameter.put("P_VON", tVon);
    }
    if (tBis != null) {
        parameter.put("P_BIS", tBis);
    }

    Object[] x = daten.toArray();
    data = new Object[x.length][22];
    for (int i = 0; i < x.length; i++) {
        data[i] = (Object[]) x[i];
    }

    initJRDS(parameter, ZeiterfassungFac.REPORT_MODUL, ZeiterfassungReportFac.REPORT_ZEITDATEN,
            theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto);
    return getReportPrint();

}

From source file:com.lp.server.personal.ejbfac.ZeiterfassungReportFacBean.java

License:Open Source License

private JasperPrintLP erstelleTelefonzeiten(Integer personalIId, Integer partnerIId, java.sql.Timestamp tVon,
        java.sql.Timestamp tBis, boolean bSortiertNachPersonal, TheClientDto theClientDto) {
    SessionFactory factory = FLRSessionFactory.getFactory();
    Session session = factory.openSession();
    HashMap<String, Object> parameter = new HashMap<String, Object>();
    org.hibernate.Criteria crit = session.createCriteria(FLRTelefonzeiten.class)
            .createAlias(ZeiterfassungFac.FLR_TELEFONZEITEN_FLRPERSONAL, "p")
            .add(Restrictions.eq("p.mandant_c_nr", theClientDto.getMandant()));

    if (personalIId != null) {
        crit.add(Restrictions.eq(ZeiterfassungFac.FLR_TELEFONZEITEN_PERSONAL_I_ID, personalIId));
    }/* ww w . ja v a2 s .c  o m*/
    if (partnerIId != null) {
        crit.add(Restrictions.eq(ZeiterfassungFac.FLR_TELEFONZEITEN_PARTNER_I_ID, partnerIId));

        com.lp.server.partner.service.PartnerDto partnerDto = getPartnerFac()
                .partnerFindByPrimaryKey(partnerIId, theClientDto);

        parameter.put("P_PARTNER", partnerDto.formatFixTitelName1Name2());

    } else {
        if (bSortiertNachPersonal == false && partnerIId == null) {
            crit.add(Restrictions.isNull(ZeiterfassungFac.FLR_TELEFONZEITEN_PARTNER_I_ID));
        }

    }

    if (bSortiertNachPersonal == true) {
        parameter.put("P_SORTIERUNG",
                getTextRespectUISpr("lp.personal", theClientDto.getMandant(), theClientDto.getLocUi()));
    } else {
        parameter.put("P_SORTIERUNG",
                getTextRespectUISpr("lp.partner", theClientDto.getMandant(), theClientDto.getLocUi()));
    }

    crit.add(Restrictions.ge(ZeiterfassungFac.FLR_TELEFONZEITEN_T_VON, tVon));
    crit.add(Restrictions.lt(ZeiterfassungFac.FLR_TELEFONZEITEN_T_VON, tBis));

    crit.addOrder(Order.asc(ZeiterfassungFac.FLR_TELEFONZEITEN_T_VON));
    List<?> list = crit.list();
    Iterator<?> iterator = list.iterator();
    data = new Object[list.size()][10];
    int row = 0;
    while (iterator.hasNext()) {
        FLRTelefonzeiten flrTelefonzeiten = (FLRTelefonzeiten) iterator.next();

        String sVorname = flrTelefonzeiten.getFlrpersonal().getFlrpartner().getC_name2vornamefirmazeile2();
        String sNachname = flrTelefonzeiten.getFlrpersonal().getFlrpartner().getC_name1nachnamefirmazeile1();
        if (sVorname != null) {
            sNachname = sVorname + " " + sNachname;
        }
        data[row][REPORT_TELEFONLISTE_PERSON] = sNachname;

        if (flrTelefonzeiten.getFlransprechpartner() != null) {
            sVorname = flrTelefonzeiten.getFlransprechpartner().getFlrpartneransprechpartner()
                    .getC_name2vornamefirmazeile2();
            sNachname = flrTelefonzeiten.getFlransprechpartner().getFlrpartneransprechpartner()
                    .getC_name1nachnamefirmazeile1();
            if (sVorname != null) {
                sNachname = sVorname + " " + sNachname;
            }
            data[row][REPORT_TELEFONLISTE_ANSPRECHPARTNER] = sNachname;
        }

        if (flrTelefonzeiten.getT_bis() != null) {
            java.sql.Time tTemp = new java.sql.Time(
                    flrTelefonzeiten.getT_bis().getTime() - flrTelefonzeiten.getT_von().getTime() - 3600000);
            data[row][REPORT_TELEFONLISTE_DAUER] = Helper.time2Double(tTemp);

        }

        if (flrTelefonzeiten.getFlrpartner() != null) {

            com.lp.server.partner.service.PartnerDto partnerDto = getPartnerFac()
                    .partnerFindByPrimaryKey(flrTelefonzeiten.getFlrpartner().getI_id(), theClientDto);
            data[row][REPORT_TELEFONLISTE_PARTNER] = partnerDto.formatFixTitelName1Name2();

            if (flrTelefonzeiten.getFlrpartner().getFlrlandplzort() != null) {
                data[row][REPORT_TELEFONLISTE_LKZ_PARTNER] = flrTelefonzeiten.getFlrpartner().getFlrlandplzort()
                        .getFlrland().getC_lkz();
            }

        }

        if (bSortiertNachPersonal == true) {
            data[row][REPORT_TELEFONLISTE_GRUPPIERUNG] = personalIId;
        } else {
            if (flrTelefonzeiten.getFlrpartner() != null) {
                data[row][REPORT_TELEFONLISTE_GRUPPIERUNG] = flrTelefonzeiten.getFlrpartner().getI_id();
            }
        }

        data[row][REPORT_TELEFONLISTE_VON] = new Timestamp(flrTelefonzeiten.getT_von().getTime());
        if (flrTelefonzeiten.getT_bis() != null) {
            data[row][REPORT_TELEFONLISTE_BIS] = new Timestamp(flrTelefonzeiten.getT_bis().getTime());
        }
        data[row][REPORT_TELEFONLISTE_KOMMENTAREXTERN] = flrTelefonzeiten.getX_kommentarext();
        data[row][REPORT_TELEFONLISTE_KOMMENTARINTERN] = flrTelefonzeiten.getX_kommentarint();

        row++;
    }

    Calendar c = Calendar.getInstance();
    c.setTimeInMillis(tBis.getTime());
    c.set(Calendar.DAY_OF_MONTH, c.get(Calendar.DAY_OF_MONTH) - 1);
    tBis = new Timestamp(c.getTimeInMillis());

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

    sAktuellerReport = ZeiterfassungReportFac.REPORT_TELEFONZEITEN;
    index = -1;
    initJRDS(parameter, ZeiterfassungReportFac.REPORT_MODUL, ZeiterfassungReportFac.REPORT_TELEFONZEITEN,
            theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto);

    return getReportPrint();
}

From source file:com.lp.server.personal.ejbfac.ZeiterfassungReportFacBean.java

License:Open Source License

private ArrayList<Object> erstelleEinzelneReiseeintraege(java.sql.Timestamp tVon, java.sql.Timestamp tBis,
        TheClientDto theClientDto, Integer landIIdHeimat, Integer personalIId) {
    ArrayList<Object> alReiseeintraege = new ArrayList<Object>();
    // Hole Alle Eintraege des gewuenschten Zeitraums
    Session session = FLRSessionFactory.getFactory().openSession();

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

    crit.add(Restrictions.eq(ZeiterfassungFac.FLR_REISE_PERSONAL_I_ID, personalIId));

    crit.add(Restrictions.ge(ZeiterfassungFac.FLR_REISE_T_ZEIT, tVon));
    crit.add(Restrictions.lt(ZeiterfassungFac.FLR_REISE_T_ZEIT, tBis));
    crit.addOrder(Order.asc(ZeiterfassungFac.FLR_REISE_T_ZEIT));
    List<?> resultList = crit.list();
    Iterator<?> resultListIterator = resultList.iterator();

    if (resultListIterator.hasNext()) {
        FLRReise letzterEintrag = (FLRReise) resultListIterator.next();

        // ERSTER EINTRAG
        // Hole den Reiseeintrag vor dem ersten im Zeitraum
        Session sessReiseLetztesBeginn = FLRSessionFactory.getFactory().openSession();
        org.hibernate.Criteria criteriaLetztesBeginn = sessReiseLetztesBeginn.createCriteria(FLRReise.class);
        criteriaLetztesBeginn.add(Expression.eq(ZeiterfassungFac.FLR_REISE_PERSONAL_I_ID,
                letzterEintrag.getFlrpersonal().getI_id()));
        criteriaLetztesBeginn.add(Expression.le(ZeiterfassungFac.FLR_REISE_T_ZEIT, letzterEintrag.getT_zeit()));
        criteriaLetztesBeginn.addOrder(Order.desc(ZeiterfassungFac.FLR_REISE_T_ZEIT));
        criteriaLetztesBeginn.setMaxResults(2);
        List<?> listLetzttesBeginn = criteriaLetztesBeginn.list();
        Iterator<?> letzterEintragIterator = listLetzttesBeginn.iterator();

        if (letzterEintragIterator.hasNext()) {
            FLRReise flrAnfang = (FLRReise) letzterEintragIterator.next();
            if (letzterEintragIterator.hasNext()) {
                FLRReise flrLetzterEintrag = (FLRReise) letzterEintragIterator.next();
                // Wenn dieser ein Beginn-Eintrag ist
                if (Helper.short2boolean(flrLetzterEintrag.getB_beginn()) == true) {
                    alReiseeintraege.add(befuelleReiseeintragFuerReport(flrLetzterEintrag, tVon, flrAnfang,
                            flrAnfang.getT_zeit(), landIIdHeimat, false, theClientDto));
                }/*from  w w w.  j a  v  a  2  s  . c  o  m*/
                // Wenn dieser ein Ende-Eintrag ist, dann ignorieren

            }
        }

        // ENDE-ERSTER EINTRAG

        while (resultListIterator.hasNext()) {
            FLRReise flrReise = (FLRReise) resultListIterator.next();
            // Wenn ENDE, dann neue Zeile hinzufuegen
            if (Helper.short2boolean(flrReise.getB_beginn()) == false) {
                alReiseeintraege.add(befuelleReiseeintragFuerReport(letzterEintrag, letzterEintrag.getT_zeit(),
                        flrReise, flrReise.getT_zeit(), landIIdHeimat, true, theClientDto));
            } else if (Helper.short2boolean(flrReise.getB_beginn()) == true
                    && Helper.short2boolean(letzterEintrag.getB_beginn()) == true) {
                // Wenn beginn und vorheriger eintrag beginn, dann
                // ebenfalss neue Zeile hinzufuegen
                alReiseeintraege.add(befuelleReiseeintragFuerReport(letzterEintrag, letzterEintrag.getT_zeit(),
                        flrReise, flrReise.getT_zeit(), landIIdHeimat, false, theClientDto));
            }
            letzterEintrag = flrReise;
        }

        if (Helper.short2boolean(letzterEintrag.getB_beginn()) == true) {
            // LETZTER EINTRAG
            // Hole den Reiseeintrag vor dem ersten im Zeitraum
            Session sessReiseLetztesEnde = FLRSessionFactory.getFactory().openSession();
            org.hibernate.Criteria criteriaLetztesEnde = sessReiseLetztesEnde.createCriteria(FLRReise.class);
            criteriaLetztesEnde.add(
                    Expression.eq(ZeiterfassungFac.FLR_REISE_PERSONAL_I_ID, letzterEintrag.getPersonal_i_id()));
            criteriaLetztesEnde
                    .add(Expression.gt(ZeiterfassungFac.FLR_REISE_T_ZEIT, letzterEintrag.getT_zeit()));
            criteriaLetztesEnde.addOrder(Order.desc(ZeiterfassungFac.FLR_REISE_T_ZEIT));
            criteriaLetztesEnde.setMaxResults(2);
            List<?> listLetzttesEnde = criteriaLetztesEnde.list();
            Iterator<?> letztesEndeIterator = listLetzttesEnde.iterator();

            if (letztesEndeIterator.hasNext()) {
                FLRReise flrNachLetztemEintrag = (FLRReise) letztesEndeIterator.next();

                FLRReise ende = new FLRReise();
                ende.setB_beginn(flrNachLetztemEintrag.getB_beginn());
                ende.setC_kommentar(flrNachLetztemEintrag.getC_kommentar());
                ende.setFlrdiaeten(flrNachLetztemEintrag.getFlrdiaeten());
                ende.setFlrpartner(flrNachLetztemEintrag.getFlrpartner());
                ende.setFlrpersonal(flrNachLetztemEintrag.getFlrpersonal());
                ende.setI_id(flrNachLetztemEintrag.getI_id());
                ende.setPersonal_i_id(flrNachLetztemEintrag.getPersonal_i_id());
                ende.setT_zeit(flrNachLetztemEintrag.getT_zeit());

                Calendar c = Calendar.getInstance();
                c.setTimeInMillis(tBis.getTime());
                c.set(Calendar.SECOND, c.get(Calendar.SECOND) - 1);

                alReiseeintraege.add(befuelleReiseeintragFuerReport(letzterEintrag, letzterEintrag.getT_zeit(),
                        ende, new java.sql.Date(c.getTimeInMillis()), landIIdHeimat, false, theClientDto));
            }
            sessReiseLetztesEnde.close();

        }
        // ENDE-ERSTER EINTRAG

        sessReiseLetztesBeginn.close();

    }
    session.close();
    return alReiseeintraege;
}

From source file:com.lp.server.personal.ejbfac.ZeiterfassungReportFacBean.java

License:Open Source License

public JasperPrintLP printFahrtenbuch(Integer personalIId, java.sql.Timestamp tVon, java.sql.Timestamp tBis,
        Integer iOption, boolean bPlusVersteckte, TheClientDto theClientDto) {
    if (tVon == null || tBis == null || personalIId.equals(iOption)) {
        throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FELD_DARF_NICHT_NULL_SEIN,
                new Exception("tVon == null || tBis == null || personalIId == iOption"));
    }//w w  w . j a  va 2 s  .c  om
    tVon = Helper.cutTimestamp(tVon);
    tBis = Helper.cutTimestamp(tBis);

    // Kurze Tagebezeichnungen holen
    String[] kurzeWochentage = new DateFormatSymbols(theClientDto.getLocUi()).getShortWeekdays();

    if (tVon.after(tBis)) {
        java.sql.Timestamp h = tVon;
        tVon = tBis;
        tBis = h;
    }
    PersonalDto[] personalDtos = null;
    JasperPrintLP print = null;
    try {
        if (iOption.intValue() == ZeiterfassungFac.REPORT_SONDERZEITENLISTE_OPTION_SELEKTIERTE_PERSON) {

            if (personalIId == null) {
                throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FELD_DARF_NICHT_NULL_SEIN,
                        new Exception("personalIId == null"));
            }

            personalDtos = new PersonalDto[1];

            personalDtos[0] = getPersonalFac().personalFindByPrimaryKey(personalIId, theClientDto);

        } else if (iOption.intValue() == ZeiterfassungFac.REPORT_SONDERZEITENLISTE_OPTION_MEINE_ABTEILUNG) {
            PersonalDto personalDto = getPersonalFac().personalFindByPrimaryKey(personalIId, theClientDto);
            personalDtos = getPersonalFac().personalFindAllPersonenMeinerAbteilung(
                    personalDto.getKostenstelleIIdAbteilung(), theClientDto.getMandant(), bPlusVersteckte);
        } else if (iOption.intValue() == ZeiterfassungFac.REPORT_SONDERZEITENLISTE_OPTION_ALLE_PERSONEN) {
            personalDtos = getPersonalFac().personalFindByMandantCNr(theClientDto.getMandant(),
                    bPlusVersteckte);
        } else if (iOption.intValue() == ZeiterfassungFac.REPORT_SONDERZEITENLISTE_OPTION_ALLE_ARBEITER) {
            personalDtos = getPersonalFac().personalFindAllArbeiterEinesMandanten(theClientDto.getMandant(),
                    bPlusVersteckte);
        } else if (iOption.intValue() == ZeiterfassungFac.REPORT_SONDERZEITENLISTE_OPTION_ALLE_ANGESTELLTE) {
            personalDtos = getPersonalFac().personalFindAllAngestellteEinesMandanten(theClientDto.getMandant(),
                    bPlusVersteckte);
        } else {
            throw new EJBExceptionLP(EJBExceptionLP.FEHLER, new Exception("OPTION NICHT VERFUEGBAR"));
        }
    } catch (RemoteException ex) {
        throw new EJBExceptionLP(EJBExceptionLP.FEHLER, ex);
    }

    for (int i = 0; i < personalDtos.length; i++) {
        PersonalDto personalDto = personalDtos[i];

        personalDto.setPartnerDto(
                getPartnerFac().partnerFindByPrimaryKey(personalDto.getPartnerIId(), theClientDto));

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

        org.hibernate.Criteria crit = session.createCriteria(FLRReise.class);
        crit.add(Restrictions.eq(ZeiterfassungFac.FLR_REISE_PERSONAL_I_ID, personalDto.getIId()));
        crit.add(Restrictions.ge(ZeiterfassungFac.FLR_REISE_T_ZEIT, tVon));
        crit.add(Restrictions.lt(ZeiterfassungFac.FLR_REISE_T_ZEIT, tBis));
        crit.addOrder(Order.asc(ZeiterfassungFac.FLR_REISE_T_ZEIT));

        List<?> resultList = crit.list();

        Iterator<?> resultListIterator = resultList.iterator();
        // Erster Eintrag ist beginn
        FLRReise reiseBeginn = null;
        while (resultListIterator.hasNext()) {
            reiseBeginn = (FLRReise) resultListIterator.next();

            if (Helper.short2boolean(reiseBeginn.getB_beginn()) == true) {
                break;
            }

        }
        ArrayList<Object[]> alDaten = new ArrayList<Object[]>();

        while (resultListIterator.hasNext()) {
            Object[] oZeile = new Object[6];
            FLRReise flrReise = (FLRReise) resultListIterator.next();

            if (Helper.short2boolean(flrReise.getB_beginn()) == false) {
                if (Helper.short2boolean(reiseBeginn.getB_beginn()) == true) {
                    Calendar cal = Calendar.getInstance();
                    cal.setTimeInMillis(flrReise.getT_zeit().getTime());
                    oZeile[REPORT_FAHRTENBUCH_TAG] = kurzeWochentage[cal.get(Calendar.DAY_OF_WEEK)];
                    oZeile[REPORT_FAHRTENBUCH_KMBEGINN] = flrReise.getI_kmbeginn();
                    oZeile[REPORT_FAHRTENBUCH_KMENDE] = flrReise.getI_kmende();
                    oZeile[REPORT_FAHRTENBUCH_DATUM] = reiseBeginn.getT_zeit();

                    if (flrReise.getI_kmbeginn() != null && flrReise.getI_kmende() != null) {
                        oZeile[REPORT_FAHRTENBUCH_STRECKE] = flrReise.getI_kmende() - flrReise.getI_kmbeginn();
                    }

                    if (reiseBeginn.getFlrpartner() != null) {
                        com.lp.server.partner.service.PartnerDto partnerDto = getPartnerFac()
                                .partnerFindByPrimaryKey(reiseBeginn.getFlrpartner().getI_id(), theClientDto);
                        oZeile[REPORT_FAHRTENBUCH_KUNDE] = partnerDto.formatFixTitelName1Name2();
                    }

                    alDaten.add(oZeile);
                }

                if (resultListIterator.hasNext()) {
                    reiseBeginn = (FLRReise) resultListIterator.next();
                }

            }

        }

        session.close();

        index = -1;
        sAktuellerReport = ZeiterfassungReportFac.REPORT_FAHRTENBUCH;
        HashMap<String, Object> parameter = new HashMap<String, Object>();

        // KM-Geld
        try {
            Calendar cal = Calendar.getInstance();
            cal.setTimeInMillis(tVon.getTime());
            PersonalgehaltDto personalgehaltDto = getPersonalFac().personalgehaltFindLetztePersonalgehalt(
                    personalIId, cal.get(Calendar.YEAR), cal.get(Calendar.MONTH));

            if (personalgehaltDto != null) {
                parameter.put("P_KMGELD1", personalgehaltDto.getNKmgeld1());
                parameter.put("P_KMGELD2", personalgehaltDto.getNKmgeld2());
                parameter.put("P_KMGELD1BISKILOMETER", personalgehaltDto.getFBiskilometer().doubleValue());

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

        parameter.put("P_PERSONAL", personalDto.getPartnerDto().formatFixTitelName1Name2());

        parameter.put("P_VON", tVon);

        Calendar c = Calendar.getInstance();
        c.setTimeInMillis(tBis.getTime());
        c.set(Calendar.DATE, c.get(Calendar.DATE) - 1);

        parameter.put("P_BIS", new java.sql.Timestamp(c.getTimeInMillis()));
        data = new Object[alDaten.size()][7];
        for (int k = 0; k < alDaten.size(); k++) {
            Object[] o = (Object[]) alDaten.get(k);
            data[k][REPORT_FAHRTENBUCH_DATUM] = o[REPORT_FAHRTENBUCH_DATUM];
            data[k][REPORT_FAHRTENBUCH_KMBEGINN] = o[REPORT_FAHRTENBUCH_KMBEGINN];
            data[k][REPORT_FAHRTENBUCH_KMENDE] = o[REPORT_FAHRTENBUCH_KMENDE];
            data[k][REPORT_FAHRTENBUCH_KUNDE] = o[REPORT_FAHRTENBUCH_KUNDE];
            data[k][REPORT_FAHRTENBUCH_STRECKE] = o[REPORT_FAHRTENBUCH_STRECKE];
            data[k][REPORT_FAHRTENBUCH_TAG] = o[REPORT_FAHRTENBUCH_TAG];
        }

        initJRDS(parameter, ZeiterfassungReportFac.REPORT_MODUL, ZeiterfassungReportFac.REPORT_FAHRTENBUCH,
                theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto);

        if (print != null) {

            print = Helper.addReport2Report(print, getReportPrint().getPrint());
        } else {
            print = getReportPrint();
        }
    }
    return print;

}

From source file:com.lp.server.personal.ejbfac.ZutrittscontrollerFacBean.java

License:Open Source License

public String[] zutrittonlinecheckAusweiseFindByTGueltigab(Timestamp tDatum) throws EJBExceptionLP {
    if (tDatum == null) {
        throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FELD_DARF_NICHT_NULL_SEIN,
                new Exception("tDatum == null"));
    }/*from  ww w  .  ja  v a2  s. c  o  m*/
    SessionFactory factory = FLRSessionFactory.getFactory();
    Session session = factory.openSession();

    org.hibernate.Criteria crit = session.createCriteria(FLRZutrittonlinecheck.class)
            .add(Restrictions.isNotNull(ZutrittscontrollerFac.FLR_ZUTRITTONLINECHECK_C_AUSWEIS));
    crit.add(Restrictions.ge(ZutrittscontrollerFac.FLR_ZUTRITTONLINECHECK_T_GUELITGBIS, tDatum));
    List<?> resultList = crit.list();
    Iterator<?> resultListIterator = resultList.iterator();

    String[] ausweise = new String[resultList.size()];
    int row = 0;
    while (resultListIterator.hasNext()) {

        FLRZutrittonlinecheck o = (FLRZutrittonlinecheck) resultListIterator.next();
        ausweise[row] = o.getC_ausweis();
        row++;

    }
    return ausweise;
}

From source file:com.lp.server.personal.ejbfac.ZutrittscontrollerReportFacBean.java

License:Open Source License

public JasperPrintLP printZutrittsjournal(java.sql.Timestamp tVon, java.sql.Timestamp tBis,
        TheClientDto theClientDto) {//from w  w  w.j  a  v  a  2  s .c  o m
    index = -1;
    sAktuellerReport = ZutrittscontrollerReportFac.REPORT_ZUTRITTSJOURNAL;

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

    org.hibernate.Criteria crit = session
            .createCriteria(com.lp.server.personal.fastlanereader.generated.FLRZutrittslog.class)
            .add(Restrictions.eq("mandant_c_nr", theClientDto.getMandant()));
    crit.add(Restrictions.ge(ZutrittscontrollerFac.FLR_ZUTRITTSLOG_T_ZEITPUNKT, tVon));
    crit.add(Restrictions.le(ZutrittscontrollerFac.FLR_ZUTRITTSLOG_T_ZEITPUNKT, tBis));

    // Wenn Hauptmandant
    try {
        String hauptmandant = getMandantFac().mandantFindByPrimaryKey(theClientDto.getMandant(), theClientDto)
                .getAnwenderDto().getMandantCNrHauptmandant();
        if (!hauptmandant.equals(theClientDto.getMandant())) {

            crit.add(Restrictions.or(
                    Restrictions.isNull(ZutrittscontrollerFac.FLR_ZUTRITTSLOG_MANDANT_C_NR_OBJEKT),
                    Restrictions.or(
                            Restrictions.eq(ZutrittscontrollerFac.FLR_ZUTRITTSLOG_MANDANT_C_NR_OBJEKT,
                                    theClientDto.getMandant()),
                            Restrictions.eq(ZutrittscontrollerFac.FLR_ZUTRITTSLOG_FLRMANDANT + ".c_nr",
                                    theClientDto.getMandant()))));
        }
    } catch (RemoteException ex) {
        throwEJBExceptionLPRespectOld(ex);
    }

    crit.addOrder(Order.desc(ZutrittscontrollerFac.FLR_ZUTRITTSLOG_T_ZEITPUNKT));

    List<?> results = crit.list();
    Iterator<?> resultListIterator = results.iterator();
    data = new Object[results.size()][7];
    int row = 0;
    while (resultListIterator.hasNext()) {
        FLRZutrittslog log = (FLRZutrittslog) resultListIterator.next();
        data[row][REPORT_ZUTRITTSJOURNAL_AUSWEIS] = log.getC_ausweis();
        data[row][REPORT_ZUTRITTSJOURNAL_CONTROLLER] = log.getC_zutrittscontroller();
        data[row][REPORT_ZUTRITTSJOURNAL_ERLAUBT] = log.getB_erlaubt();
        data[row][REPORT_ZUTRITTSJOURNAL_MANDANT] = log.getMandant_c_nr();
        data[row][REPORT_ZUTRITTSJOURNAL_OBJEKT] = log.getC_zutrittsobjekt();
        data[row][REPORT_ZUTRITTSJOURNAL_PERSON] = log.getC_person();
        data[row][REPORT_ZUTRITTSJOURNAL_ZEITPUNKT] = new java.sql.Timestamp(log.getT_zeitpunkt().getTime());
        row++;
    }
    session.close();
    HashMap<String, Object> parameter = new HashMap<String, Object>();
    parameter.put("P_VON", tVon);
    parameter.put("P_BIS", tBis);
    initJRDS(parameter, ZutrittscontrollerReportFac.REPORT_MODUL,
            ZutrittscontrollerReportFac.REPORT_ZUTRITTSJOURNAL, theClientDto.getMandant(),
            theClientDto.getLocUi(), theClientDto);

    return getReportPrint();
}

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

License:Open Source License

public JasperPrintLP printProjektAlle(ReportJournalKriterienDto reportJournalKriterienDtoI, Date dStichtag,
        Integer bereichIId, boolean belegdatumStattZieltermin, TheClientDto theClientDto)
        throws EJBExceptionLP, RemoteException {
    JasperPrintLP oPrint = null;/* ww w .java 2  s .co m*/
    int iAnzahlZeilen = 0;
    cAktuellerReport = ProjektReportFac.REPORT_PROJEKT_JOURNAL_ALLE;
    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)));

        // Einschraenkung nach Belegdatum von - bis
        String sVon = null;
        String sBis = null;

        if (reportJournalKriterienDtoI.dVon != null) {

            if (belegdatumStattZieltermin) {
                critProjekt.add(
                        Restrictions.ge(ProjektFac.FLR_PROJEKT_T_ANLEGEN, reportJournalKriterienDtoI.dVon));
            } else {
                critProjekt.add(
                        Restrictions.ge(ProjektFac.FLR_PROJEKT_T_ZIELDATUM, reportJournalKriterienDtoI.dVon));
            }

            sVon = Helper.formatDatum(reportJournalKriterienDtoI.dVon, theClientDto.getLocUi());
        }

        if (reportJournalKriterienDtoI.dBis != null) {
            if (belegdatumStattZieltermin) {
                critProjekt.add(
                        Restrictions.le(ProjektFac.FLR_PROJEKT_T_ANLEGEN, reportJournalKriterienDtoI.dBis));
            } else {
                critProjekt.add(
                        Restrictions.le(ProjektFac.FLR_PROJEKT_T_ZIELDATUM, reportJournalKriterienDtoI.dBis));
            }
            sBis = Helper.formatDatum(reportJournalKriterienDtoI.dBis, theClientDto.getLocUi());
        }

        if (reportJournalKriterienDtoI.sBelegnummerVon != null) {
            sVon = reportJournalKriterienDtoI.sBelegnummerVon;
            critProjekt.add(Restrictions.ge(ProjektFac.FLR_PROJEKT_C_NR, new Integer(sVon)));
        }

        critProjekt.add(Restrictions.eq(ProjektFac.FLR_PROJEKT_BEREICH_I_ID, bereichIId));

        if (reportJournalKriterienDtoI.sBelegnummerBis != null) {
            sBis = reportJournalKriterienDtoI.sBelegnummerBis;
            critProjekt.add(Restrictions.le(ProjektFac.FLR_PROJEKT_C_NR, new Integer(sBis)));
        }

        // 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));
        }
        // es wird in jedem Fall nach der Iid 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_ALLE_ANZAHL_SPALTEN];
        int i = 0;
        it = list.iterator();

        while (it.hasNext()) {
            FLRProjekt projekt = (FLRProjekt) it.next();
            data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_ALLE_PROJEKTTITEL] = projekt.getC_titel();
            data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_ALLE_PROJEKTKATEGORIE] = projekt
                    .getKategorie_c_nr();
            data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_ALLE_PROJEKTCNR] = projekt.getC_nr();
            data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_ALLE_KUNDECNAME1] = projekt.getFlrpartner()
                    .getC_name1nachnamefirmazeile1();
            data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_ALLE_STATUS] = projekt.getStatus_c_nr();
            data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_ALLE_TYP] = projekt.getTyp_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_ALLE_INTERNERLEDIGT_PERSON] = personalDto
                        .getPartnerDto().formatAnrede();
                data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_ALLE_INTERNERLEDIGT_ZEIT] = projekt
                        .getT_internerledigt();
            }
            data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_ALLE_WAHRSCHEINLICHKEIT] = projekt
                    .getI_wahrscheinlichkeit();
            data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_ALLE_GEPLANTERUMSATZ] = projekt
                    .getN_umsatzgeplant();

            locDruck = Helper.string2Locale(projekt.getFlrpartner().getLocale_c_nr_kommunikation());
            data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_ALLE_ZIELTERMIN] = Helper
                    .formatDatum(projekt.getT_zielwunschdatum(), locDruck);
            data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_ALLE_BELEGDATUM] = Helper
                    .formatDatum(projekt.getT_anlegen(), locDruck);
            data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_ALLE_ERLEDIGUNGSDATUM] = Helper
                    .formatDatumZeit(projekt.getT_erledigungsdatum(), 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_ALLE_ZIELWOCHE] = "" + KW;

            data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_ALLE_PRIO] = projekt.getI_prio();
            data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_ALLE_TEXT] = projekt.getX_freetext();
            data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_ALLE_ERZEUGER] = projekt.getFlrpersonalErzeuger()
                    .getFlrpartner().getC_name1nachnamefirmazeile1();
            data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_ALLE_ZUGEWIESENER] = projekt
                    .getFlrpersonalZugewiesener().getFlrpartner().getC_name1nachnamefirmazeile1();
            data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_ALLE_ZEIT] = projekt.getT_zeit();
            data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_ALLE_DAUER] = projekt.getD_dauer();
            //
            //

            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_ALLE_PROJEKTCNR] = projekt.getC_nr();
                data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_ALLE_ZUGEWIESENER] = projekt
                        .getFlrpersonalZugewiesener().getFlrpartner().getC_name1nachnamefirmazeile1();
                data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_ALLE_HISTORY_MITARBEITER] = history
                        .getFlrpersonal().getFlrpartner().getC_name1nachnamefirmazeile1();
                data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_ALLE_HISTORY_BELEGDATUM] = Helper
                        .formatDatum(history.getT_belegdatum(), locDruck);
                data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_ALLE_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, buildSortierungProjektAlle(reportJournalKriterienDtoI, theClientDto));

    parameter.put("P_BEREICH", getProjektServiceFac().bereichFindByPrimaryKey(bereichIId).getCBez());
    parameter.put("P_BELEGDATUM_STATT_ZIELTERMIN", new Boolean(belegdatumStattZieltermin));

    parameter.put(LPReport.P_FILTER, buildFilterProjektAlle(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.alle", 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

public JasperPrintLP printProjektErledigt(ReportJournalKriterienDto reportJournalKriterienDtoI, Date dStichtag,
        Integer bereichIId, boolean interneErledigungBeruecksichtigen, TheClientDto theClientDto)
        throws EJBExceptionLP, RemoteException {
    JasperPrintLP oPrint = null;/*from   w w  w.  ja v 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;
}