Example usage for org.hibernate.criterion Restrictions lt

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

Introduction

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

Prototype

public static SimpleExpression lt(String propertyName, Object value) 

Source Link

Document

Apply a "less than" constraint to the named property

Usage

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"));
    }//from w  w w . j a  va2s.c o  m
    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.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;/* ww w.  j  av  a 2s .  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 printAktivitaetsuebersicht(java.sql.Timestamp tVon, java.sql.Timestamp tBis,
        boolean bGesamtinfo, TheClientDto theClientDto) {

    cAktuellerReport = ProjektReportFac.REPORT_PROJEKT_JOURNAL_AKTIVITAETSUEBERSICHT;

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

    ArrayList alDaten = new ArrayList();

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

    HashMap hmProjekte = new HashMap();

    String sQuery = "select distinct  zeitdaten.c_belegartnr,zeitdaten.i_belegartid, zeitdaten.personal_i_id from FLRZeitdaten zeitdaten WHERE  zeitdaten.c_belegartnr is not null AND zeitdaten.t_zeit>='"
            + Helper.formatDateWithSlashes(new java.sql.Date(tVon.getTime())) + "' AND zeitdaten.t_zeit<='"
            + Helper.formatDateWithSlashes(new java.sql.Date(tBis.getTime()))
            + "' AND zeitdaten.flrpersonal.mandant_c_nr='" + theClientDto.getMandant() + "'";

    org.hibernate.Query inventurliste = session.createQuery(sQuery);

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

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

    int row = 0;/*  w w w .jav a2  s. c o m*/
    while (resultListIterator.hasNext()) {

        Object[] o = (Object[]) resultListIterator.next();

        Integer personalIId = (Integer) o[2];

        try {
            PersonalDto personalDto = getPersonalFac().personalFindByPrimaryKey(personalIId, theClientDto);
            Object[] oZeile = new Object[ProjektReportFac.REPORT_AKTIVITAETSUEBERSICHT_ANZAHL_SPALTEN];

            oZeile[ProjektReportFac.REPORT_AKTIVITAETSUEBERSICHT_BELEGART] = o[0];
            oZeile[ProjektReportFac.REPORT_AKTIVITAETSUEBERSICHT_PERSONAL] = personalDto.getPartnerDto()
                    .formatFixName1Name2();

            String sBezeichnung = "";
            PartnerDto partnerDto = null;
            if (((String) o[0]).equals(LocaleFac.BELEGART_AUFTRAG)) {
                AuftragDto auftragDto = getAuftragFac().auftragFindByPrimaryKey((Integer) o[1]);
                oZeile[ProjektReportFac.REPORT_AKTIVITAETSUEBERSICHT_BELEGNUMMER] = auftragDto.getCNr();

                sBezeichnung = auftragDto.getCBezProjektbezeichnung();
                partnerDto = getKundeFac()
                        .kundeFindByPrimaryKey(auftragDto.getKundeIIdAuftragsadresse(), theClientDto)
                        .getPartnerDto();
            } else if (((String) o[0]).equals(LocaleFac.BELEGART_LOS)) {
                com.lp.server.fertigung.service.LosDto losDto = getFertigungFac()
                        .losFindByPrimaryKey((Integer) o[1]);
                oZeile[ProjektReportFac.REPORT_AKTIVITAETSUEBERSICHT_BELEGNUMMER] = losDto.getCNr();

                sBezeichnung = losDto.getCProjekt();

                if (losDto.getAuftragIId() != null) {

                    AuftragDto auftragDto = getAuftragFac().auftragFindByPrimaryKey(losDto.getAuftragIId());

                    partnerDto = getKundeFac()
                            .kundeFindByPrimaryKey(auftragDto.getKundeIIdAuftragsadresse(), theClientDto)
                            .getPartnerDto();
                }

            } else if (((String) o[0]).equals(LocaleFac.BELEGART_PROJEKT)) {

                if (!hmProjekte.containsKey((Integer) o[1])) {
                    hmProjekte.put((Integer) o[1], "");
                }

                oZeile = projektFuerAktivitaetsuebersichtBefuellen((Integer) o[1], theClientDto);

            } else if (((String) o[0]).equals(LocaleFac.BELEGART_ANGEBOT)) {
                AngebotDto angebotDto = getAngebotFac().angebotFindByPrimaryKey((Integer) o[1], theClientDto);
                oZeile[ProjektReportFac.REPORT_AKTIVITAETSUEBERSICHT_BELEGNUMMER] = angebotDto.getCNr();

                sBezeichnung = angebotDto.getCBez();

                partnerDto = getKundeFac()
                        .kundeFindByPrimaryKey(angebotDto.getKundeIIdAngebotsadresse(), theClientDto)
                        .getPartnerDto();

                // oZeile[ProjektReportFac.REPORT_AKTIVITAETSUEBERSICHT_VON]
                // = projektDto.getTAnlegen();
                // oZeile[ProjektReportFac.REPORT_AKTIVITAETSUEBERSICHT_BIS]
                // = projektDto.getTZielwunschdatum();

            }

            AuftragzeitenDto[] dtos = getZeiterfassungFac().getAllZeitenEinesBeleges((String) o[0],
                    (Integer) o[1], null, personalIId, tVon, tBis, false, false, theClientDto);

            if (dtos.length > 0 && (((String) o[0]).equals(LocaleFac.BELEGART_PROJEKT) != true)) {
                oZeile[ProjektReportFac.REPORT_AKTIVITAETSUEBERSICHT_VON] = dtos[0].getTsBeginn();
                oZeile[ProjektReportFac.REPORT_AKTIVITAETSUEBERSICHT_BIS] = dtos[dtos.length - 1].getTsEnde();
            }

            double zeiten = 0;
            for (int i = 0; i < dtos.length; i++) {
                if (dtos[i] != null && dtos[i].getDdDauer() != null) {
                    zeiten = zeiten + dtos[i].getDdDauer().doubleValue();
                }
            }
            Double dDauer = new Double(zeiten);

            oZeile[ProjektReportFac.REPORT_AKTIVITAETSUEBERSICHT_DAUER] = dDauer;

            if (!((String) o[0]).equals(LocaleFac.BELEGART_PROJEKT)) {

                if (partnerDto != null) {
                    oZeile[ProjektReportFac.REPORT_AKTIVITAETSUEBERSICHT_PARTNER] = partnerDto
                            .formatTitelAnrede();

                    if (partnerDto.getLandplzortDto() != null) {
                        oZeile[ProjektReportFac.REPORT_AKTIVITAETSUEBERSICHT_LKZ] = partnerDto
                                .getLandplzortDto().getLandDto().getCLkz();
                        oZeile[ProjektReportFac.REPORT_AKTIVITAETSUEBERSICHT_PLZ] = partnerDto
                                .getLandplzortDto().getCPlz();
                        oZeile[ProjektReportFac.REPORT_AKTIVITAETSUEBERSICHT_ORT] = partnerDto
                                .getLandplzortDto().getOrtDto().getCName();
                    }

                } else {
                    oZeile[ProjektReportFac.REPORT_AKTIVITAETSUEBERSICHT_PARTNER] = "";
                }
                oZeile[ProjektReportFac.REPORT_AKTIVITAETSUEBERSICHT_BELEGTEXT] = sBezeichnung;

            }
            row++;

            alDaten.add(oZeile);
        } catch (RemoteException ex1) {
            // Zeitdaten falsch
        }
    }
    session.close();

    // Telefonzeiten

    session = factory.openSession();
    org.hibernate.Criteria crit = session.createCriteria(FLRTelefonzeiten.class)
            .createAlias(ZeiterfassungFac.FLR_TELEFONZEITEN_FLRPERSONAL, "p")
            .add(Restrictions.eq("p.mandant_c_nr", theClientDto.getMandant()));

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

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

    while (iterator.hasNext()) {
        FLRTelefonzeiten flrTelefonzeiten = (FLRTelefonzeiten) iterator.next();

        Object[] oZeile = new Object[ProjektReportFac.REPORT_AKTIVITAETSUEBERSICHT_ANZAHL_SPALTEN];

        oZeile[ProjektReportFac.REPORT_AKTIVITAETSUEBERSICHT_BELEGART] = "Telefon";
        oZeile[ProjektReportFac.REPORT_AKTIVITAETSUEBERSICHT_BELEGTEXT] = flrTelefonzeiten.getX_kommentarext();

        if (flrTelefonzeiten.getT_bis() != null) {
            java.sql.Time tTemp = new java.sql.Time(
                    flrTelefonzeiten.getT_bis().getTime() - flrTelefonzeiten.getT_von().getTime() - 3600000);
            oZeile[ProjektReportFac.REPORT_AKTIVITAETSUEBERSICHT_DAUER] = Helper.time2Double(tTemp);
            oZeile[ProjektReportFac.REPORT_AKTIVITAETSUEBERSICHT_BIS] = new Timestamp(
                    flrTelefonzeiten.getT_bis().getTime());
        }

        oZeile[ProjektReportFac.REPORT_AKTIVITAETSUEBERSICHT_VON] = new Timestamp(
                flrTelefonzeiten.getT_von().getTime());

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

            com.lp.server.partner.service.PartnerDto partnerDto = getPartnerFac()
                    .partnerFindByPrimaryKey(flrTelefonzeiten.getFlrpartner().getI_id(), theClientDto);
            oZeile[ProjektReportFac.REPORT_AKTIVITAETSUEBERSICHT_PARTNER] = partnerDto
                    .formatFixTitelName1Name2();

        } else {
            oZeile[ProjektReportFac.REPORT_AKTIVITAETSUEBERSICHT_PARTNER] = "";
        }

    }

    // Projekte, welche wiese Woche angelegt wurde, bzw. ein neues Detail
    // hinzugefuegt wurde

    Criteria critProjekt = session.createCriteria(FLRHistory.class);

    critProjekt.add(Restrictions.between(ProjektFac.FLR_HISTORY_T_BELEGDATUM, tVon, tBis));

    critProjekt.createAlias("flrprojekt", "p")
            .add(Restrictions.eq("p.mandant_c_nr", theClientDto.getMandant()));

    List<?> resultListVorher = critProjekt.list();

    Iterator<?> itVorher = resultListVorher.iterator();

    while (itVorher.hasNext()) {
        FLRHistory history = (FLRHistory) itVorher.next();

        if (!hmProjekte.containsKey(history.getProjekt_i_id())) {
            if (!hmProjekte.containsKey(history.getProjekt_i_id())) {
                hmProjekte.put(history.getProjekt_i_id(), "");
            }
            Object[] z = projektFuerAktivitaetsuebersichtBefuellen(history.getProjekt_i_id(), theClientDto);
            alDaten.add(z);
        }

    }

    session.close();

    session = factory.openSession();

    critProjekt = session.createCriteria(FLRProjekt.class);

    critProjekt.add(Restrictions.between(ProjektFac.FLR_PROJEKT_T_ANLEGEN, tVon, tBis));
    critProjekt.add(Restrictions.eq("mandant_c_nr", theClientDto.getMandant()));

    resultListVorher = critProjekt.list();

    itVorher = resultListVorher.iterator();

    while (itVorher.hasNext()) {
        FLRProjekt projekt = (FLRProjekt) itVorher.next();

        if (!hmProjekte.containsKey(projekt.getI_id())) {

            Object[] z = projektFuerAktivitaetsuebersichtBefuellen(projekt.getI_id(), theClientDto);
            alDaten.add(z);

        }

    }

    session.close();

    // Nach Artikel sortieren
    for (int i = alDaten.size() - 1; i > 0; --i) {
        for (int j = 0; j < i; ++j) {
            Object[] a = (Object[]) alDaten.get(j);
            Object[] b = (Object[]) alDaten.get(j + 1);
            if (((String) a[ProjektReportFac.REPORT_AKTIVITAETSUEBERSICHT_PARTNER])
                    .compareTo(((String) b[ProjektReportFac.REPORT_AKTIVITAETSUEBERSICHT_PARTNER])) > 0) {
                Object[] h = a;
                alDaten.set(j, b);
                alDaten.set(j + 1, h);
            }
        }
    }

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

    parameter.put("P_VON", tVon);
    parameter.put("P_BIS", tBis);
    parameter.put("P_GESAMTINFO", new Boolean(bGesamtinfo));

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

    return getReportPrint();

}

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;/*  w ww.  ja  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();
        }
    }
}

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

License:Open Source License

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

    index = -1;/*from  w  ww  .ja  v a 2  s .c  om*/
    sAktuellerReport = ReklamationReportFac.REPORT_LIEFERANTENBEURTEILUNG;

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

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

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

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

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

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

        parameter.put("P_PUNKTEA", iPunkteA);

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

        parameter.put("P_PUNKTEB", iPunkteB);

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

        parameter.put("P_PUNKTEC", iPunkteC);

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

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

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

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

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

    if (lieferantIId != null) {

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

    }

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

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

    }

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

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

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

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

    HashMap hmWareneingaengeAbgehandelt = new HashMap();

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

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

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

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

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

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

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

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

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

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

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

        data[row][REPORT_LIEFERANTENBEURTEILUNG_SOLLTERMIN] = sollTermin;

        Integer iVerspaetungstage = getVerspaetungstage(weDatum, sollTermin);

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

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

            try {

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

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

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

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

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

            int iPunkteGesamt = iPunkteTermin * (iPunkteSchwere + iPunkteBehandlung);

            data[row][REPORT_LIEFERANTENBEURTEILUNG_PUNKTE_GESAMT] = iPunkteGesamt;

            iAnzahlWareneingaengeProLieferant++;
            iAnzahlPunkteProLieferant += iPunkteGesamt;
        }

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

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

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

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

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

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

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

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

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

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

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

            iAnzahlWareneingaengeProLieferant = 0;
            iAnzahlPunkteProLieferant = 0;
        }

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

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

    JasperPrintLP print = getReportPrint();

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

    return print;
}

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

License:Open Source License

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

    index = -1;
    sAktuellerReport = ReklamationReportFac.REPORT_LEFERANTENTERMINTREUE;

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

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

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

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

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

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

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

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

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

    }

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

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

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

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

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

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

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

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

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

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

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

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

        data[row][REPORT_LIEFERANTENTERMINTREUE_SOLLTERMIN] = sollTermin;

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

        row++;
    }

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

    return getReportPrint();
}

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

License:Open Source License

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

    sAktuellerReport = ReklamationReportFac.REPORT_FEHLERART;

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

    tVon = Helper.cutTimestamp(tVon);

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    }

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

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

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

    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        row++;
    }

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

    return getReportPrint();

}

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

License:Open Source License

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

    sAktuellerReport = ReklamationReportFac.REPORT_MITARBEITERREKLAMATION;

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

    tVon = Helper.cutTimestamp(tVon);

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    }

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

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

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

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

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

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

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

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

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

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

        row++;
    }

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

    return getReportPrint();

}

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

License:Open Source License

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

    sAktuellerReport = ReklamationReportFac.REPORT_MASCHINENREKLAMATION;

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

    tVon = Helper.cutTimestamp(tVon);

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    }

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

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

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

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

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

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

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

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

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

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

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

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

        row++;
    }

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

    return getReportPrint();

}

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

License:Apache License

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