Example usage for org.hibernate.criterion Restrictions or

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

Introduction

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

Prototype

public static LogicalExpression or(Criterion lhs, Criterion rhs) 

Source Link

Document

Return the disjuction of two expressions

Usage

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) {// ww w  . j a  v a2s  .  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 printProjektErledigt(ReportJournalKriterienDto reportJournalKriterienDtoI, Date dStichtag,
        Integer bereichIId, boolean interneErledigungBeruecksichtigen, TheClientDto theClientDto)
        throws EJBExceptionLP, RemoteException {
    JasperPrintLP oPrint = null;//ww  w.j a  va2 s  .  c  o m

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

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

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

        if (reportJournalKriterienDtoI.dVon != null) {

            if (interneErledigungBeruecksichtigen == true) {

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

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

        if (reportJournalKriterienDtoI.dBis != null) {

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

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

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

        }

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

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

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

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

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

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

                }

            }

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

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

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

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

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

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

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

                oZeile = new Object[ProjektReportFac.REPORT_PROJEKT_JOURNAL_ERLEDIGT_ANZAHL_SPALTEN];

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

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

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

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

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

License:Open Source License

public JasperPrintLP printRechnungenOffene(ReportRechnungJournalKriterienDto krit, TheClientDto theClientDto)
        throws EJBExceptionLP {
    Session session = null;/*  w  w w.  j  a  v  a  2  s . com*/
    try {
        Map<String, Object> mapParameter = new TreeMap<String, Object>();

        MandantDto mandantDto = getMandantFac().mandantFindByPrimaryKey(theClientDto.getMandant(),
                theClientDto);

        this.useCase = UC_REPORT_RECHNUNGEN_OFFENE;
        SessionFactory factory = FLRSessionFactory.getFactory();
        session = factory.openSession();
        // Kunde oder Statistikadresse verwenden
        final String critKundeIId;
        final String critFLRKunde;
        if (krit.getBVerwendeStatistikAdresse()) {
            critKundeIId = RechnungFac.FLR_RECHNUNG_KUNDE_I_ID_STATISTIKADRESSE;
            critFLRKunde = RechnungFac.FLR_RECHNUNG_FLRSTATISTIKADRESSE;
        } else {
            critKundeIId = RechnungFac.FLR_RECHNUNG_KUNDE_I_ID;
            critFLRKunde = RechnungFac.FLR_RECHNUNG_FLRKUNDE;
        }

        List<Integer> kundenIIds = new ArrayList<Integer>();

        if (krit.kundeIId != null) {
            kundenIIds.add(krit.kundeIId);
        } else if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_PARTNER) {
            Iterator<?> iter = session.createCriteria(FLRKunde.class).createAlias("flrpartner", "p")
                    .addOrder(Order.asc("p.c_name1nachnamefirmazeile1"))
                    .add(Restrictions.eq("mandant_c_nr", theClientDto.getMandant())).list().iterator();
            while (iter.hasNext())
                kundenIIds.add(((FLRKunde) iter.next()).getI_id());
        } else {
            kundenIIds.add(null);
        }

        List<Object[]> dataList = new ArrayList<Object[]>();

        for (Integer kndIId : kundenIIds) {

            Criteria c = session.createCriteria(FLRRechnungReport.class);
            // Filter nach Mandant
            c.add(Restrictions.eq(RechnungFac.FLR_RECHNUNG_MANDANT_C_NR, theClientDto.getMandant()));
            // Rechnungstypen
            Collection<String> cRechnungstyp = new LinkedList<String>();
            cRechnungstyp.add(RechnungFac.RECHNUNGTYP_RECHNUNG);
            if (krit.getBGutschriftenBeruecksichtigen()) {
                cRechnungstyp.add(RechnungFac.RECHNUNGTYP_GUTSCHRIFT);
            }
            c.createCriteria(RechnungFac.FLR_RECHNUNG_FLRRECHNUNGART)
                    .add(Restrictions.in(RechnungFac.FLR_RECHNUNGART_RECHNUNGTYP_C_NR, cRechnungstyp));
            // Kostenstelle
            if (krit.kostenstelleIId != null) {
                c.add(Restrictions.eq(RechnungFac.FLR_RECHNUNG_KOSTENSTELLE_I_ID, krit.kostenstelleIId));
            }
            if (kndIId != null) {
                c.add(Restrictions.eq(critKundeIId, kndIId));
                KundeDto kundeDto = getKundeFac().kundeFindByPrimaryKey(kndIId, theClientDto);
                mapParameter.put("P_KUNDE", kundeDto.getPartnerDto().formatTitelAnrede());
            }
            // Filter nach einem Vertrter
            if (krit.vertreterIId != null) {
                c.add(Restrictions.eq(RechnungFac.FLR_RECHNUNG_FLRVERTRETER + ".i_id", krit.vertreterIId));
            }
            String sVon = null;
            String sBis = null;
            if (krit.dVon != null) {
                c.add(Restrictions.ge(RechnungFac.FLR_RECHNUNG_D_BELEGDATUM, krit.dVon));
                sVon = Helper.formatDatum(krit.dVon, theClientDto.getLocUi());
            }
            if (krit.dBis != null) {
                c.add(Restrictions.le(RechnungFac.FLR_RECHNUNG_D_BELEGDATUM, krit.dBis));
                sBis = Helper.formatDatum(krit.dBis, theClientDto.getLocUi());
            }
            LpBelegnummerFormat f = getBelegnummerGeneratorObj()
                    .getBelegnummernFormat(theClientDto.getMandant());
            Integer iGeschaeftsjahr = getParameterFac().getGeschaeftsjahr(theClientDto.getMandant());
            String sMandantKuerzel = getParameterFac().getMandantparameter(theClientDto.getMandant(),
                    ParameterFac.KATEGORIE_ALLGEMEIN, ParameterFac.PARAMETER_BELEGNUMMER_MANDANTKENNUNG)
                    .getCWert();
            if (krit.sBelegnummerVon != null) {
                sVon = HelperServer.getBelegnummernFilterForHibernateCriterias(f, iGeschaeftsjahr,
                        sMandantKuerzel, krit.sBelegnummerVon);
                c.add(Restrictions.ge(RechnungFac.FLR_RECHNUNG_C_NR, sVon));
            }
            if (krit.sBelegnummerBis != null) {
                sBis = HelperServer.getBelegnummernFilterForHibernateCriterias(f, iGeschaeftsjahr,
                        sMandantKuerzel, krit.sBelegnummerBis);
                c.add(Restrictions.le(RechnungFac.FLR_RECHNUNG_C_NR, sBis));
            }
            // Alle Stati ausser Angelegt, Bezahlt, Storniert
            Collection<String> cStati = new LinkedList<String>();
            cStati.add(RechnungFac.STATUS_ANGELEGT);
            cStati.add(RechnungFac.STATUS_STORNIERT);

            c.add(Restrictions.not(Restrictions.in(RechnungFac.FLR_RECHNUNG_STATUS_C_NR, cStati)));

            c.add(Restrictions.or(Restrictions.gt("t_bezahltdatum", krit.getTStichtag()),
                    Restrictions.isNull("t_bezahltdatum")));

            boolean mitNichtZugeordnetenBelegen = false;
            // Sortierung nach Kostenstelle
            if (krit.bSortiereNachKostenstelle) {
                c.createCriteria(RechnungFac.FLR_RECHNUNG_FLRKOSTENSTELLE).addOrder(Order.asc("c_nr"));
            }
            // Sortierung nach Kunde
            if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_PARTNER) {
                c.createCriteria(critFLRKunde).createCriteria(KundeFac.FLR_PARTNER)
                        .addOrder(Order.asc(PartnerFac.FLR_PARTNER_NAME1NACHNAMEFIRMAZEILE1));
                c.addOrder(Order.asc(RechnungFac.FLR_RECHNUNG_C_NR));
                mitNichtZugeordnetenBelegen = krit.getBMitNichtZugeordnetendBelegen();
            }
            // Sortierung nach Belegnummer
            else if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_BELEGNUMMER) {
                c.addOrder(Order.asc(RechnungFac.FLR_RECHNUNG_C_NR));
            } else if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_VERTRETER) {
                c.createCriteria(RechnungFac.FLR_RECHNUNG_FLRVERTRETER)
                        .addOrder(Order.asc(PersonalFac.FLR_PERSONAL_C_KURZZEICHEN));
            } else if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_FAELLIGKEIT) {
                c.addOrder(Order.asc(RechnungFac.FLR_RECHNUNG_T_FAELLIGKEIT))
                        .addOrder(Order.asc(RechnungFac.FLR_RECHNUNG_C_NR));
            }
            // stichtag ab belegdatum
            c.add(Restrictions.le(RechnungFac.FLR_RECHNUNG_D_BELEGDATUM, krit.getTStichtag()));
            List<?> firstResultList = c.list();
            Iterator<?> firstResultListIterator = firstResultList.iterator();
            List<FLRRechnungReport> resultList = new LinkedList<FLRRechnungReport>();
            while (firstResultListIterator.hasNext()) {
                FLRRechnungReport re = (FLRRechnungReport) firstResultListIterator.next();
                // stichtag bereits bezahlt?
                if (re.getT_bezahltdatum() == null || !krit.getTStichtag().after(re.getT_bezahltdatum())) {
                    resultList.add(re);
                }
            }
            Iterator<?> resultListIterator = resultList.iterator();
            int row = 0;
            Object[][] tempData = new Object[resultList.size()][OFFENE_ANZAHL_SPALTEN];

            KundeDto kundeDto = null;
            if (kndIId != null)
                kundeDto = getKundeFac().kundeFindByPrimaryKey(kndIId, theClientDto);

            if (mitNichtZugeordnetenBelegen && kundeDto.getIidDebitorenkonto() != null) {

                // TODO: nur FLRFinanzBuchungDetail holen
                Query query = session.createQuery(
                        "SELECT buchungdetail from FLRFinanzBuchungDetail buchungdetail LEFT OUTER JOIN buchungdetail.flrbuchung AS buchung"
                                + " WHERE"
                                + BuchungDetailQueryBuilder.buildNurOffeneBuchungDetails("buchungdetail")
                                + "AND"
                                + BuchungDetailQueryBuilder.buildNichtZuordenbareVonKonto("buchungdetail",
                                        "buchung", kundeDto.getIidDebitorenkonto())
                                + (krit.getTStichtag() == null ? ""
                                        : (" AND buchung.d_buchungsdatum<='"
                                                + Helper.formatDateWithSlashes(krit.getTStichtag()) + "'")));

                @SuppressWarnings("unchecked")
                List<FLRFinanzBuchungDetail> bdList = query.list();
                if (bdList.size() > 0) {
                    if (tempData.length < 1) {
                        tempData = new Object[1][OFFENE_ANZAHL_SPALTEN];
                        String sFirma = kundeDto.getPartnerDto().getCName1nachnamefirmazeile1();
                        tempData[row][OFFENE_FELD_FIRMA] = sFirma;
                        tempData[row][OFFENE_FELD_DEBITORENNR] = kundeDto.getIidDebitorenkonto() != null
                                ? getFinanzFac().kontoFindByPrimaryKey(kundeDto.getIidDebitorenkonto()).getCNr()
                                : null;
                    }
                    tempData[0][OFFENE_SUBREPORT_OFFENE_BUCHUNGEN] = FinanzSubreportGenerator
                            .createBuchungsdetailSubreport(bdList, true);
                }
            }

            while (resultListIterator.hasNext()) {
                FLRRechnungReport re = (FLRRechnungReport) resultListIterator.next();
                RechnungDto reDto = getRechnungFac().rechnungFindByPrimaryKey(re.getI_id());
                // Kunde oder Statistikadresse?
                final Integer kundeIId, kundeIIdStatistik;
                if (krit.getBVerwendeStatistikAdresse()) {
                    kundeIId = reDto.getKundeIIdStatistikadresse();
                } else {
                    kundeIId = reDto.getKundeIId();
                    // Statistikdaten wenn nicht Kriterium Statistikadresse
                    kundeIIdStatistik = reDto.getKundeIIdStatistikadresse();

                    KundeDto kundeDtoStatistik = getKundeFac().kundeFindByPrimaryKey(kundeIIdStatistik,
                            theClientDto);
                    String sFirmaStatistik = kundeDtoStatistik.getPartnerDto().getCName1nachnamefirmazeile1();

                    String sKundeLKZStatistik = null;
                    if (kundeDtoStatistik.getPartnerDto().getLandplzortDto() != null) {
                        sKundeLKZStatistik = kundeDtoStatistik.getPartnerDto().getLandplzortDto().getLandDto()
                                .getCLkz();
                    }
                    tempData[row][OFFENE_FELD_FIRMA_STATISTIK] = sFirmaStatistik;
                    tempData[row][OFFENE_FELD_FIRMA_LKZ_STATISTIK] = sKundeLKZStatistik;

                }

                if (kundeDto == null || kundeDto.getIId() != kundeIId) {
                    kundeDto = getKundeFac().kundeFindByPrimaryKey(kundeIId, theClientDto);
                }

                String sFirma = kundeDto.getPartnerDto().getCName1nachnamefirmazeile1();

                String sKundeLKZ = null;
                if (kundeDto.getPartnerDto().getLandplzortDto() != null) {
                    sKundeLKZ = kundeDto.getPartnerDto().getLandplzortDto().getLandDto().getCLkz();
                }
                tempData[row][OFFENE_FELD_RECHNUNGART] = re.getFlrrechnungart().getRechnungtyp_c_nr();
                tempData[row][OFFENE_FELD_RECHNUNGSNUMMER] = reDto.getCNr();
                tempData[row][OFFENE_FELD_FIRMA] = sFirma;
                tempData[row][OFFENE_FELD_FIRMA_LKZ] = sKundeLKZ;
                tempData[row][OFFENE_FELD_RECHNUNGSDATUM] = re.getD_belegdatum();

                tempData[row][OFFENE_FELD_KURS] = re.getN_kurs();
                tempData[row][OFFENE_FELD_WAEHRUNG] = re.getWaehrung_c_nr();
                tempData[row][OFFENE_FELD_DEBITORENNR] = kundeDto.getIidDebitorenkonto() != null
                        ? getFinanzFac().kontoFindByPrimaryKey(kundeDto.getIidDebitorenkonto()).getCNr()
                        : null;

                // Vertreter
                if (re.getFlrvertreter() != null) {
                    if (re.getFlrvertreter().getFlrpartner().getC_name2vornamefirmazeile2() != null) {
                        tempData[row][OFFENE_FELD_VERTRETER] = re.getFlrvertreter().getFlrpartner()
                                .getC_name1nachnamefirmazeile1() + " "
                                + re.getFlrvertreter().getFlrpartner().getC_name2vornamefirmazeile2();
                    } else {
                        tempData[row][OFFENE_FELD_VERTRETER] = re.getFlrvertreter().getFlrpartner()
                                .getC_name1nachnamefirmazeile1();
                    }
                }
                // datum der letzten zahlung bis zum stichtag ermitteln
                RechnungzahlungDto[] zahlungen = getRechnungFac().zahlungFindByRechnungIId(re.getI_id());
                java.sql.Date dZahldatum = null;
                for (int i = 0; i < zahlungen.length; i++) {
                    if ((dZahldatum == null || zahlungen[i].getDZahldatum().after(dZahldatum))
                            && !zahlungen[i].getDZahldatum().after(krit.getTStichtag())) {
                        dZahldatum = new Date(zahlungen[i].getDZahldatum().getTime());
                    }
                }
                // Zahlungsbetrag bis zum Stichtag ermitteln
                BigDecimal bdBezahlt = new BigDecimal(0);
                for (int i = 0; i < zahlungen.length; i++) {
                    if (!zahlungen[i].getDZahldatum().after(krit.getTStichtag())) {
                        bdBezahlt = bdBezahlt.add(zahlungen[i].getNBetrag());
                    }
                }
                if (reDto.getKostenstelleIId() != null) {
                    KostenstelleDto kstDto = getSystemFac()
                            .kostenstelleFindByPrimaryKey(reDto.getKostenstelleIId());
                    tempData[row][OFFENE_FELD_KOSTENSTELLE] = kstDto.getCNr();
                }

                if (reDto.getNWert() == null) {
                    EJBExceptionLP ex = new EJBExceptionLP(EJBExceptionLP.FEHLER_RECHNUNG_HAT_KEINEN_WERT, "");
                    ArrayList<Object> alInfo = new ArrayList<Object>();
                    alInfo.add("ID: " + reDto.getIId());
                    alInfo.add("Nr: " + reDto.getCNr());
                    ex.setAlInfoForTheClient(alInfo);
                    throw ex;
                }
                BigDecimal bdWertBrutto = reDto.getNWert().add(reDto.getNWertust());
                BigDecimal bdWertNetto = reDto.getNWert();

                BigDecimal bdWertBruttoFW = reDto.getNWertfw().add(reDto.getNWertustfw());
                BigDecimal bdWertNettoFW = reDto.getNWertfw();

                BigDecimal bdBezahltUst = getRechnungFac().getBereitsBezahltWertVonRechnungUst(reDto.getIId(),
                        null, krit.getTStichtag());
                BigDecimal bdBezahltNetto = getRechnungFac().getBereitsBezahltWertVonRechnung(reDto.getIId(),
                        null, krit.getTStichtag());

                BigDecimal bdBezahltUstFw = getRechnungFac()
                        .getBereitsBezahltWertVonRechnungUstFw(reDto.getIId(), null, krit.getTStichtag());
                BigDecimal bdBezahltNettoFw = getRechnungFac()
                        .getBereitsBezahltWertVonRechnungFw(reDto.getIId(), null, krit.getTStichtag());

                BigDecimal bdNettoOffenFw = reDto.getNWertfw().subtract(bdBezahltNettoFw);

                BigDecimal bdUstOffenFw = reDto.getNWertustfw().subtract(bdBezahltUstFw);

                BigDecimal bdNettoOffenMandWhg = getLocaleFac().rechneUmInAndereWaehrungZuDatum(bdNettoOffenFw,
                        reDto.getWaehrungCNr(), theClientDto.getSMandantenwaehrung(), krit.getTStichtag(),
                        theClientDto);
                BigDecimal bdUstOffenMandWhg = getLocaleFac().rechneUmInAndereWaehrungZuDatum(bdUstOffenFw,
                        reDto.getWaehrungCNr(), theClientDto.getSMandantenwaehrung(), krit.getTStichtag(),
                        theClientDto);

                BigDecimal bdUstAnzahlungMandWhg = new BigDecimal(0);
                BigDecimal bdNettoAnzahlungMandWhg = new BigDecimal(0);
                BigDecimal bdUstAnzahlungFW = new BigDecimal(0);
                BigDecimal bdNettoAnzahlungFW = new BigDecimal(0);
                if (reDto.getAuftragIId() != null
                        && reDto.getRechnungartCNr().equals(RechnungFac.RECHNUNGART_SCHLUSSZAHLUNG)) {
                    bdNettoAnzahlungMandWhg = getLocaleFac().rechneUmInAndereWaehrungZuDatum(
                            getRechnungFac().getAnzahlungenZuSchlussrechnungFw(reDto.getIId()),
                            reDto.getWaehrungCNr(), theClientDto.getSMandantenwaehrung(), krit.getTStichtag(),
                            theClientDto);
                    bdUstAnzahlungMandWhg = getLocaleFac().rechneUmInAndereWaehrungZuDatum(
                            getRechnungFac().getAnzahlungenZuSchlussrechnungUstFw(reDto.getIId()),
                            reDto.getWaehrungCNr(), theClientDto.getSMandantenwaehrung(), krit.getTStichtag(),
                            theClientDto);

                }

                tempData[row][OFFENE_FELD_WERT_BRUTTO_ANZAHLUNGEN] = bdNettoAnzahlungMandWhg
                        .add(bdUstAnzahlungMandWhg);
                tempData[row][OFFENE_FELD_WERT_NETTO_ANZAHLUNGEN] = bdNettoAnzahlungMandWhg;
                tempData[row][OFFENE_FELD_WERT_BRUTTO_ANZAHLUNGEN_FW] = bdNettoAnzahlungFW
                        .add(bdUstAnzahlungFW);
                tempData[row][OFFENE_FELD_WERT_NETTO_ANZAHLUNGEN_FW] = bdNettoAnzahlungFW;

                // SP554
                bdNettoOffenMandWhg = bdNettoOffenMandWhg.subtract(bdNettoAnzahlungMandWhg);
                bdUstOffenMandWhg = bdUstOffenMandWhg.subtract(bdUstAnzahlungMandWhg);

                if (re.getFlrrechnungart().getRechnungtyp_c_nr().equals(RechnungFac.RECHNUNGTYP_RECHNUNG)) {
                    tempData[row][OFFENE_FELD_WERT_BRUTTO] = bdWertBrutto;
                    tempData[row][OFFENE_FELD_WERT_NETTO] = bdWertNetto;
                    tempData[row][OFFENE_FELD_WERT_BRUTTO_OFFEN] = bdNettoOffenMandWhg.add(bdUstOffenMandWhg);
                    tempData[row][OFFENE_FELD_WERT_NETTO_OFFEN] = bdNettoOffenMandWhg;

                    // FW
                    tempData[row][OFFENE_FELD_WERT_BRUTTO_FW] = bdWertBruttoFW;
                    tempData[row][OFFENE_FELD_WERT_NETTO_FW] = bdWertNettoFW;
                    tempData[row][OFFENE_FELD_WERT_BRUTTO_OFFEN_FW] = bdNettoOffenFw.add(bdUstOffenFw);
                    tempData[row][OFFENE_FELD_WERT_NETTO_OFFEN_FW] = bdNettoOffenFw;

                } else if (re.getFlrrechnungart().getRechnungtyp_c_nr()
                        .equals(RechnungFac.RECHNUNGTYP_GUTSCHRIFT)) {
                    tempData[row][OFFENE_FELD_WERT_BRUTTO] = bdWertBrutto.negate();
                    tempData[row][OFFENE_FELD_WERT_NETTO] = bdWertNetto.negate();
                    tempData[row][OFFENE_FELD_WERT_BRUTTO_OFFEN] = bdNettoOffenMandWhg.add(bdUstOffenMandWhg)
                            .negate();
                    tempData[row][OFFENE_FELD_WERT_NETTO_OFFEN] = bdNettoOffenMandWhg.negate();

                    // FW
                    tempData[row][OFFENE_FELD_WERT_BRUTTO_FW] = bdWertBruttoFW.negate();
                    tempData[row][OFFENE_FELD_WERT_NETTO_FW] = bdWertNettoFW.negate();
                    tempData[row][OFFENE_FELD_WERT_BRUTTO_OFFEN_FW] = bdNettoOffenFw.add(bdUstOffenFw).negate();
                    tempData[row][OFFENE_FELD_WERT_NETTO_OFFEN_FW] = bdNettoOffenFw.negate();

                }

                tempData[row][OFFENE_FELD_MAHNDATUM] = getMahnwesenFac()
                        .getAktuellesMahndatumEinerRechnung(reDto.getIId(), theClientDto);
                tempData[row][OFFENE_FELD_MAHNSTUFE] = getMahnwesenFac()
                        .getAktuelleMahnstufeEinerRechnung(reDto.getIId(), theClientDto);
                tempData[row][OFFENE_FELD_MAHNSPERRE] = reDto.getTMahnsperrebis();
                // Faelligkeitsdatum
                // java.sql.Date dFaellig;
                // if (reDto.getZahlungszielIId() != null) {
                // dFaellig =
                // getMandantFac().berechneZielDatumFuerBelegdatum(reDto
                // .getTBelegdatum(),
                // reDto.getZahlungszielIId(), theClientDto);
                // }
                // else {
                // dFaellig = new
                // java.sql.Date(reDto.getTBelegdatum().getTime());
                // }
                if (re.getT_faelligkeit() != null) {
                    tempData[row][OFFENE_FELD_FAELLIGKEITSDATUM] = new java.util.Date(
                            re.getT_faelligkeit().getTime());
                } else {
                    throw new EJBExceptionLP(EJBExceptionLP.FEHLER_RECHNUNG_FAELLIGKEIT_NICHT_BERECHENBAR,
                            new Exception("Faelligkeit nicht berechenbar"));
                }
                // Differenz in Tagen: Stichtag - Faelligkeitsdatum
                tempData[row][OFFENE_FELD_TAGE_BIS_FAELLIGKEITSDATUM] = Helper
                        .getDifferenzInTagen(krit.getTStichtag(), re.getT_faelligkeit());
                row++;
            }
            dataList.addAll(Arrays.asList(tempData));
        }

        data = dataList.toArray(new Object[0][]);

        // Waehrung
        mapParameter.put(LPReport.P_WAEHRUNG, mandantDto.getWaehrungCNr());
        mapParameter.put("P_STICHTAG", Helper.formatDatum(krit.getTStichtag(), theClientDto.getLocUi()));
        StringBuffer sSortierung = new StringBuffer();
        if (krit.bSortiereNachKostenstelle) {
            sSortierung.append(
                    getTextRespectUISpr("lp.kostenstelle", theClientDto.getMandant(), theClientDto.getLocUi()));
            sSortierung.append(", ");
        }
        if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_PARTNER) {
            if (krit.getBVerwendeStatistikAdresse()) {
                sSortierung.append(getTextRespectUISpr("rech.statistikadresse", theClientDto.getMandant(),
                        theClientDto.getLocUi()));
            } else {
                sSortierung.append(
                        getTextRespectUISpr("lp.kunde", theClientDto.getMandant(), theClientDto.getLocUi()));
            }
        } else if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_BELEGNUMMER) {
            sSortierung.append(getTextRespectUISpr("rechnung.rechnungsnummer", theClientDto.getMandant(),
                    theClientDto.getLocUi()));
        } else if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_VERTRETER) {
            sSortierung.append(
                    getTextRespectUISpr("lp.vertreter", theClientDto.getMandant(), theClientDto.getLocUi()));
        } else if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_FAELLIGKEIT) {
            sSortierung.append(
                    getTextRespectUISpr("lp.faelligkeit", theClientDto.getMandant(), theClientDto.getLocUi()));
        }
        mapParameter.put(LPReport.P_SORTIERUNG, sSortierung.toString());
        mapParameter.put(LPReport.P_SORTIERENACHKOSTENSTELLE, new Boolean(krit.bSortiereNachKostenstelle));
        mapParameter.put(LPReport.P_SORTIERENACHKUNDE,
                new Boolean(krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_PARTNER));
        mapParameter.put(LPReport.P_SORTIERENACHVERTRETER,
                new Boolean(krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_VERTRETER));

        String sZessionstext = null;
        sZessionstext = getParameterFac().parametermandantFindByPrimaryKey(ParameterFac.PARAMETER_ZESSIONSTEXT,
                ParameterFac.KATEGORIE_ALLGEMEIN, theClientDto.getMandant()).getCWert();
        if (sZessionstext != null) {
            mapParameter.put("P_ZESSIONSTEXT", sZessionstext);
        }
        /**
         * @todo zinsen PJ 4538
         */

        initJRDS(mapParameter, RechnungReportFac.REPORT_MODUL, RechnungReportFac.REPORT_RECHNUNGEN_OFFENE,
                theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto);
        return getReportPrint();
        // }
        // catch (FinderException ex) {
        // { // @ToDo FinderException
        // throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_DRUCKEN,
        // null);
        // }
        // throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_DRUCKEN, ex);
    } catch (RemoteException ex) {
        throwEJBExceptionLPRespectOld(ex);
        return null;
    } finally {
        try {
            session.close();
        } catch (HibernateException he) {
            throw new EJBExceptionLP(EJBExceptionLP.FEHLER, he);
        }
    }
}

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  av  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) {//from  w  w  w.  j  a v  a 2s . c  o m

    sAktuellerReport = ReklamationReportFac.REPORT_MITARBEITERREKLAMATION;

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

    tVon = Helper.cutTimestamp(tVon);

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    }

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

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

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

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

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

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

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

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

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

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

        row++;
    }

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

    return getReportPrint();

}

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

License:Open Source License

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

    sAktuellerReport = ReklamationReportFac.REPORT_MASCHINENREKLAMATION;

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

    tVon = Helper.cutTimestamp(tVon);

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    }

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

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

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

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

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

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

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

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

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

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

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

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

        row++;
    }

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

    return getReportPrint();

}

From source file:com.lushapp.modules.sys.web.AviationBuyersController.java

License:Apache License

/**
 * combogrid//from   w  w w  . j  ava2s  . c  o m
 *
 * @return
 * @throws Exception
 */
@RequestMapping(value = { "combogrid" })
@ResponseBody
public Datagrid<AviationBuyers> combogrid(@RequestParam(value = "ids", required = false) List<Long> ids,
        String loginNameOrName, Integer rows) throws Exception {
    Criterion statusCriterion = Restrictions.eq("status", StatusState.normal.getValue());
    Criterion[] criterions = new Criterion[0];
    criterions = (Criterion[]) ArrayUtils.add(criterions, 0, statusCriterion);
    Criterion criterion = null;
    if (Collections3.isNotEmpty(ids)) {
        //in?
        Criterion inCriterion = Restrictions.in("id", ids);

        if (StringUtils.isNotBlank(loginNameOrName)) {
            Criterion loginNameCriterion = Restrictions.like("loginName", loginNameOrName, MatchMode.ANYWHERE);
            Criterion nameCriterion = Restrictions.like("name", loginNameOrName, MatchMode.ANYWHERE);
            Criterion criterion1 = Restrictions.or(loginNameCriterion, nameCriterion);
            criterion = Restrictions.or(inCriterion, criterion1);
        } else {
            criterion = inCriterion;
        }
        //??
        criterions = (Criterion[]) ArrayUtils.add(criterions, 0, criterion);
    } else {
        if (StringUtils.isNotBlank(loginNameOrName)) {
            Criterion loginNameCriterion = Restrictions.like("loginName", loginNameOrName, MatchMode.ANYWHERE);
            Criterion nameCriterion = Restrictions.like("name", loginNameOrName, MatchMode.ANYWHERE);
            criterion = Restrictions.or(loginNameCriterion, nameCriterion);
            //??
            criterions = (Criterion[]) ArrayUtils.add(criterions, 0, criterion);
        }
    }

    //
    Page<AviationBuyers> p = new Page<AviationBuyers>(rows);//
    p = aviationBuyersManager.findByCriteria(p, criterions);
    Datagrid<AviationBuyers> dg = new Datagrid<AviationBuyers>(p.getTotalCount(), p.getResult());
    return dg;
}

From source file:com.lushapp.modules.sys.web.AviationOrderController.java

License:Apache License

/**
 * combogrid//from  ww w  . j a va2s .  c o  m
 *
 * @return
 * @throws Exception
 */
@RequestMapping(value = { "combogrid" })
@ResponseBody
public Datagrid<AviationOrder> combogrid(@RequestParam(value = "ids", required = false) List<Long> ids,
        String loginNameOrName, Integer rows) throws Exception {
    Criterion statusCriterion = Restrictions.eq("status", StatusState.normal.getValue());
    Criterion[] criterions = new Criterion[0];
    criterions = (Criterion[]) ArrayUtils.add(criterions, 0, statusCriterion);
    Criterion criterion = null;
    if (Collections3.isNotEmpty(ids)) {
        //in?
        Criterion inCriterion = Restrictions.in("id", ids);

        if (StringUtils.isNotBlank(loginNameOrName)) {
            Criterion loginNameCriterion = Restrictions.like("loginName", loginNameOrName, MatchMode.ANYWHERE);
            Criterion nameCriterion = Restrictions.like("name", loginNameOrName, MatchMode.ANYWHERE);
            Criterion criterion1 = Restrictions.or(loginNameCriterion, nameCriterion);
            criterion = Restrictions.or(inCriterion, criterion1);
        } else {
            criterion = inCriterion;
        }
        //??
        criterions = (Criterion[]) ArrayUtils.add(criterions, 0, criterion);
    } else {
        if (StringUtils.isNotBlank(loginNameOrName)) {
            Criterion loginNameCriterion = Restrictions.like("loginName", loginNameOrName, MatchMode.ANYWHERE);
            Criterion nameCriterion = Restrictions.like("name", loginNameOrName, MatchMode.ANYWHERE);
            criterion = Restrictions.or(loginNameCriterion, nameCriterion);
            //??
            criterions = (Criterion[]) ArrayUtils.add(criterions, 0, criterion);
        }
    }

    //
    Page<AviationOrder> p = new Page<AviationOrder>(rows);//
    p = aviationOrderManager.findByCriteria(p, criterions);
    Datagrid<AviationOrder> dg = new Datagrid<AviationOrder>(p.getTotalCount(), p.getResult());
    return dg;
}

From source file:com.lushapp.modules.sys.web.AviationSuppliersController.java

License:Apache License

/**
 * combogrid//  www  .  j ava  2  s .c o  m
 *
 * @return
 * @throws Exception
 */
@RequestMapping(value = { "combogrid" })
@ResponseBody
public Datagrid<AviationSuppliers> combogrid(@RequestParam(value = "ids", required = false) List<Long> ids,
        String loginNameOrName, Integer rows) throws Exception {
    Criterion statusCriterion = Restrictions.eq("status", StatusState.normal.getValue());
    Criterion[] criterions = new Criterion[0];
    criterions = (Criterion[]) ArrayUtils.add(criterions, 0, statusCriterion);
    Criterion criterion = null;
    if (Collections3.isNotEmpty(ids)) {
        //in?
        Criterion inCriterion = Restrictions.in("id", ids);

        if (StringUtils.isNotBlank(loginNameOrName)) {
            Criterion loginNameCriterion = Restrictions.like("loginName", loginNameOrName, MatchMode.ANYWHERE);
            Criterion nameCriterion = Restrictions.like("name", loginNameOrName, MatchMode.ANYWHERE);
            Criterion criterion1 = Restrictions.or(loginNameCriterion, nameCriterion);
            criterion = Restrictions.or(inCriterion, criterion1);
        } else {
            criterion = inCriterion;
        }
        //??
        criterions = (Criterion[]) ArrayUtils.add(criterions, 0, criterion);
    } else {
        if (StringUtils.isNotBlank(loginNameOrName)) {
            Criterion loginNameCriterion = Restrictions.like("loginName", loginNameOrName, MatchMode.ANYWHERE);
            Criterion nameCriterion = Restrictions.like("name", loginNameOrName, MatchMode.ANYWHERE);
            criterion = Restrictions.or(loginNameCriterion, nameCriterion);
            //??
            criterions = (Criterion[]) ArrayUtils.add(criterions, 0, criterion);
        }
    }

    //
    Page<AviationSuppliers> p = new Page<AviationSuppliers>(rows);//
    p = aviationSuppliersManager.findByCriteria(p, criterions);
    Datagrid<AviationSuppliers> dg = new Datagrid<AviationSuppliers>(p.getTotalCount(), p.getResult());
    return dg;
}

From source file:com.lushapp.modules.sys.web.OrganController.java

License:Apache License

/**
 * combogrid//w ww.  j  a va2s.c  om
 *
 * @return
 * @throws Exception
 */
@RequestMapping(value = { "combogrid" })
@ResponseBody
public Datagrid<Organ> combogrid(String nameOrCode,
        @RequestParam(value = "ids", required = false) List<Long> ids, Integer rows) throws Exception {
    Criterion statusCriterion = Restrictions.eq("status", StatusState.normal.getValue());
    Criterion[] criterions = new Criterion[0];
    criterions = (Criterion[]) ArrayUtils.add(criterions, 0, statusCriterion);
    Criterion criterion = null;
    if (Collections3.isNotEmpty(ids)) {
        //in?
        Criterion inCriterion = Restrictions.in("id", ids);

        if (StringUtils.isNotBlank(nameOrCode)) {
            Criterion nameCriterion = Restrictions.like("name", nameOrCode, MatchMode.ANYWHERE);
            Criterion codeCriterion = Restrictions.like("code", nameOrCode, MatchMode.ANYWHERE);
            Criterion criterion1 = Restrictions.or(nameCriterion, codeCriterion);
            criterion = Restrictions.or(inCriterion, criterion1);
        } else {
            criterion = inCriterion;
        }
        //??
        criterions = (Criterion[]) ArrayUtils.add(criterions, 0, criterion);
    } else {
        if (StringUtils.isNotBlank(nameOrCode)) {
            Criterion nameCriterion = Restrictions.like("name", nameOrCode, MatchMode.ANYWHERE);
            Criterion codeCriterion = Restrictions.like("code", nameOrCode, MatchMode.ANYWHERE);
            criterion = Restrictions.or(nameCriterion, codeCriterion);
            //??
            criterions = (Criterion[]) ArrayUtils.add(criterions, 0, criterion);
        }
    }

    //
    Page<Organ> p = new Page<Organ>(rows);//
    p = organManager.findByCriteria(p, criterions);
    Datagrid<Organ> dg = new Datagrid<Organ>(p.getTotalCount(), p.getResult());
    return dg;
}