Example usage for org.hibernate Query setFirstResult

List of usage examples for org.hibernate Query setFirstResult

Introduction

In this page you can find the example usage for org.hibernate Query setFirstResult.

Prototype

@Override
    Query<R> setFirstResult(int startPosition);

Source Link

Usage

From source file:com.lp.server.artikel.fastlanereader.VerleihHandler.java

License:Open Source License

public QueryResult getPageAt(Integer rowIndex) throws EJBExceptionLP {
    QueryResult result = null;/*  www  .j a  v a2 s . co m*/
    SessionFactory factory = FLRSessionFactory.getFactory();
    Session session = null;
    try {
        int colCount = getTableInfo().getColumnClasses().length;
        int pageSize = PAGE_SIZE;
        int startIndex = Math.max(rowIndex.intValue() - (pageSize / 2), 0);
        int endIndex = startIndex + pageSize - 1;

        session = factory.openSession();
        String queryString = this.getFromClause() + this.buildWhereClause() + this.buildOrderByClause();
        Query query = session.createQuery(queryString);
        query.setFirstResult(startIndex);
        query.setMaxResults(pageSize);
        List<?> resultList = query.list();
        Iterator<?> resultListIterator = resultList.iterator();
        Object[][] rows = new Object[resultList.size()][colCount];
        int row = 0;
        int col = 0;
        while (resultListIterator.hasNext()) {
            FLRVerleih verleih = (FLRVerleih) resultListIterator.next();
            rows[row][col++] = verleih.getI_id();
            rows[row][col++] = verleih.getI_tage();
            rows[row++][col++] = verleih.getF_faktor();

            col = 0;
        }
        result = new QueryResult(rows, this.getRowCount(), startIndex, endIndex, 0);
    } catch (HibernateException e) {
        throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FLR, e);
    } finally {
        try {
            session.close();
        } catch (HibernateException he) {
            throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FLR, he);
        }
    }
    return result;
}

From source file:com.lp.server.artikel.fastlanereader.VkpfStaffelmengeHandler.java

License:Open Source License

/**
 * gets the page of data for the specified row using the current
 * queryParameters./* ww  w.  j  a v a  2  s  .c o m*/
 * 
 * @param rowIndex
 *            diese Zeile soll selektiert sein
 * @return QueryResult das Ergebnis der Abfrage
 * @throws EJBExceptionLP
 *             Ausnahme
 * @see UseCaseHandler#getPageAt(java.lang.Integer)
 */
public QueryResult getPageAt(Integer rowIndex) throws EJBExceptionLP {
    QueryResult result = null;
    SessionFactory factory = FLRSessionFactory.getFactory();
    Session session = null;
    try {
        int colCount = getTableInfo().getColumnClasses().length;
        int pageSize = VkpfStaffelmengeHandler.PAGE_SIZE;
        int startIndex = Math.max(rowIndex.intValue() - (pageSize / 2), 0);
        int endIndex = startIndex + pageSize - 1;

        session = factory.openSession();
        String queryString = this.getFromClause() + this.buildWhereClause() + this.buildOrderByClause();
        // myLogger.info("HQL: " + queryString);
        Query query = session.createQuery(queryString);
        query.setFirstResult(startIndex);
        query.setMaxResults(pageSize);
        List<?> resultList = query.list();
        Iterator<?> resultListIterator = resultList.iterator();
        Object[][] rows = new Object[resultList.size()][colCount];
        int row = 0;
        int col = 0;
        while (resultListIterator.hasNext()) {

            Object[] o = (Object[]) resultListIterator.next();
            FLRVkpfStaffelmenge staffelmenge = (FLRVkpfStaffelmenge) o[0];

            rows[row][col++] = staffelmenge.getI_id();
            rows[row][col++] = staffelmenge.getN_menge();
            rows[row][col++] = staffelmenge.getN_fixpreis() == null ? null : staffelmenge.getN_fixpreis();
            rows[row][col++] = staffelmenge.getF_rabattsatz();

            // der Preis muss an dieser Stelle berechnet werden
            BigDecimal nBerechneterPreis = new BigDecimal(0);

            if (staffelmenge.getN_fixpreis() != null) {
                nBerechneterPreis = staffelmenge.getN_fixpreis();
            } else {
                // WH 21.06.06 Es gilt die VK-Basis, die zu Beginn der
                // Mengenstaffel gueltig ist

                if (iPreisbasis != 2) {

                    if (Helper.short2boolean(staffelmenge.getB_allepreislisten()) == false) {
                        String waehrung = theClientDto.getSMandantenwaehrung();
                        if (staffelmenge.getFlrvkpfartikelpreisliste() != null) {
                            waehrung = staffelmenge.getFlrvkpfartikelpreisliste().getWaehrung_c_nr();
                        }

                        BigDecimal nPreisbasis = getVkPreisfindungFac().ermittlePreisbasis(
                                staffelmenge.getArtikel_i_id(),
                                new java.sql.Date(staffelmenge.getT_preisgueltigab().getTime()),
                                staffelmenge.getVkpfartikelpreisliste_i_id(), waehrung, theClientDto);

                        VerkaufspreisDto vkpfDto = getVkPreisfindungFac().berechneVerkaufspreis(nPreisbasis,
                                staffelmenge.getF_rabattsatz());
                        if (vkpfDto != null) {
                            nBerechneterPreis = vkpfDto.nettopreis;
                        }
                    }
                }
            }

            rows[row][col++] = nBerechneterPreis;
            if (staffelmenge.getFlrvkpfartikelpreisliste() != null) {
                rows[row][col++] = staffelmenge.getFlrvkpfartikelpreisliste().getWaehrung_c_nr();
                rows[row][col++] = staffelmenge.getFlrvkpfartikelpreisliste().getC_nr();
            } else {

                if (Helper.short2boolean(staffelmenge.getB_allepreislisten()) == false) {
                    rows[row][col++] = theClientDto.getSMandantenwaehrung();
                    rows[row][col++] = null;
                } else {
                    rows[row][col++] = null;
                    rows[row][col++] = getTextRespectUISpr("artikel.allepreislisten", theClientDto.getMandant(),
                            theClientDto.getLocUi());
                }

            }
            rows[row][col++] = staffelmenge.getT_preisgueltigab();
            rows[row++][col++] = staffelmenge.getT_preisgueltigbis() == null ? null
                    : staffelmenge.getT_preisgueltigbis();

            col = 0;
        }
        result = new QueryResult(rows, this.getRowCount(), startIndex, endIndex, 0);
    } catch (Exception e) {
        throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FLR, e);
    } finally {
        try {
            session.close();
        } catch (HibernateException he) {
            throw new EJBExceptionLP(EJBExceptionLP.FEHLER, he);
        }
    }
    return result;
}

From source file:com.lp.server.artikel.fastlanereader.VorschlagstextHandler.java

License:Open Source License

public QueryResult getPageAt(Integer rowIndex) throws EJBExceptionLP {

    QueryResult result = null;//from w  ww  .j a  va 2s. co  m
    SessionFactory factory = FLRSessionFactory.getFactory();
    Session session = null;
    try {
        int colCount = this.getTableInfo().getColumnClasses().length;
        int pageSize = PAGE_SIZE;
        int startIndex = Math.max(rowIndex.intValue() - (pageSize / 2), 0);
        int endIndex = startIndex + pageSize - 1;

        session = factory.openSession();
        String queryString = this.getFromClause() + this.buildWhereClause() + this.buildOrderByClause();

        Query query = session.createQuery(queryString);
        session = setFilter(session);

        query.setFirstResult(startIndex);
        query.setMaxResults(pageSize);
        List<?> resultList = query.list();
        Iterator<?> resultListIterator = resultList.iterator();

        Object[][] rows = new Object[resultList.size()][colCount];
        int row = 0;
        int col = 0;

        while (resultListIterator.hasNext()) {

            FLRVorschlagstext flrVorschlagstext = (FLRVorschlagstext) resultListIterator.next();

            rows[row][col++] = flrVorschlagstext.getI_id();
            rows[row][col++] = flrVorschlagstext.getC_bez();
            row++;
            col = 0;
        }
        result = new QueryResult(rows, this.getRowCount(), startIndex, endIndex, 0);
    }

    catch (Exception e) {
        throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FLR, e);
    } finally {
        try {
            session.close();
        } catch (HibernateException he) {
            throw new EJBExceptionLP(EJBExceptionLP.FEHLER, he);
        }
    }
    return result;
}

From source file:com.lp.server.artikel.fastlanereader.WebshopHandler.java

License:Open Source License

public QueryResult getPageAt(Integer rowIndex) throws EJBExceptionLP {
    QueryResult result = null;/*  w  ww  . j a v  a2 s.  com*/
    SessionFactory factory = FLRSessionFactory.getFactory();
    Session session = null;
    try {
        int colCount = getTableInfo().getColumnClasses().length;
        int pageSize = PAGE_SIZE;
        int startIndex = Math.max(rowIndex.intValue() - (pageSize / 2), 0);
        int endIndex = startIndex + pageSize - 1;

        session = factory.openSession();
        String queryString = this.getFromClause() + this.buildWhereClause() + this.buildOrderByClause();
        Query query = session.createQuery(queryString);
        query.setFirstResult(startIndex);
        query.setMaxResults(pageSize);
        List<?> resultList = query.list();
        Iterator<?> resultListIterator = resultList.iterator();
        Object[][] rows = new Object[resultList.size()][colCount];
        int row = 0;
        int col = 0;
        while (resultListIterator.hasNext()) {
            FLRWebshop anlage = (FLRWebshop) resultListIterator.next();
            rows[row][col++] = anlage.getI_id();
            rows[row++][col++] = anlage.getC_bez();

            col = 0;
        }
        result = new QueryResult(rows, this.getRowCount(), startIndex, endIndex, 0);
    } catch (HibernateException e) {
        throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FLR, e);
    } finally {
        try {
            session.close();
        } catch (HibernateException he) {
            throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FLR, he);
        }
    }
    return result;
}

From source file:com.lp.server.artikel.fastlanereader.ZugehoerigeHandler.java

License:Open Source License

/**
 * The information needed for the kundes table.
 * /*www.  j a v  a 2 s .  com*/
 * @param rowIndex
 *            Integer
 * @throws EJBExceptionLP
 * @return QueryResult
 */
public QueryResult getPageAt(Integer rowIndex) throws EJBExceptionLP {
    QueryResult result = null;
    SessionFactory factory = FLRSessionFactory.getFactory();
    Session session = null;
    try {
        int colCount = this.getTableInfo().getColumnClasses().length;
        int pageSize = PAGE_SIZE;
        int startIndex = Math.max(rowIndex.intValue() - (pageSize / 2), 0);
        int endIndex = startIndex + pageSize - 1;

        session = factory.openSession();

        String queryString = this.getFromClause() + this.buildWhereClause() + this.buildOrderByClause();

        Query query = session.createQuery(queryString);

        query.setFirstResult(startIndex);
        query.setMaxResults(pageSize);
        List<?> resultList = query.list();
        Iterator<?> resultListIterator = resultList.iterator();
        Object[][] rows = new Object[resultList.size()][colCount];
        int row = 0;
        int col = 0;
        String locale = theClientDto.getLocUiAsString();
        while (resultListIterator.hasNext()) {
            FLRZugehoerige flrzugehoerige = (FLRZugehoerige) resultListIterator.next();
            rows[row][col++] = flrzugehoerige.getI_id();
            rows[row][col++] = flrzugehoerige.getFlrartikel().getC_nr();

            ArtikelDto artikelDto = getArtikelFac()
                    .artikelFindByPrimaryKeySmall(flrzugehoerige.getFlrartikel().getI_id(), theClientDto);

            rows[row][col++] = artikelDto.formatBezeichnung();
            row++;
            col = 0;
        }
        result = new QueryResult(rows, this.getRowCount(), startIndex, endIndex, 0);
    }

    catch (HibernateException e) {
        throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FLR, e);
    } finally {
        try {
            session.close();
        } catch (HibernateException he) {
            throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FLR, he);
        }
    }
    return result;
}

From source file:com.lp.server.auftrag.fastlanereader.AuftragartHandler.java

License:Open Source License

/**
 * gets the page of data for the specified row using the current
 * queryParameters./* www  . j  a  v  a 2  s.c  o  m*/
 * 
 * @param rowIndex
 *            diese Zeile soll selektiert sein
 * @return QueryResult das Ergebnis der Abfrage
 * @throws EJBExceptionLP
 *             Ausnahme
 * @see UseCaseHandler#getPageAt(java.lang.Integer)
 */
public QueryResult getPageAt(Integer rowIndex) throws EJBExceptionLP {
    QueryResult result = null;
    SessionFactory factory = FLRSessionFactory.getFactory();
    Session session = null;
    try {
        int colCount = getTableInfo().getColumnClasses().length;
        int pageSize = AuftragartHandler.PAGE_SIZE;
        int startIndex = Math.max(rowIndex.intValue() - (pageSize / 2), 0);
        int endIndex = startIndex + pageSize - 1;

        session = factory.openSession();
        String queryString = this.getFromClause() + this.buildWhereClause() + this.buildOrderByClause();

        Query query = session.createQuery(queryString);
        session = setFilter(session);

        query.setFirstResult(startIndex);
        query.setMaxResults(pageSize);
        List<?> resultList = query.list();
        Iterator<?> resultListIterator = resultList.iterator();

        Object[][] rows = new Object[resultList.size()][colCount];
        int row = 0;
        int col = 0;

        String sLocUI = Helper.locale2String(theClientDto.getLocUi());

        while (resultListIterator.hasNext()) {
            Object o[] = (Object[]) resultListIterator.next();
            FLRAuftragart auftragart = (FLRAuftragart) o[0];

            Iterator<?> sprsetIterator = auftragart.getAuftragart_auftragart_set().iterator();

            rows[row][col++] = auftragart.getC_nr();
            rows[row][col++] = auftragart.getC_nr();
            rows[row][col++] = auftragart.getI_sort();
            rows[row][col++] = findSpr(sLocUI, sprsetIterator);

            row++;
            col = 0;
        }
        result = new QueryResult(rows, this.getRowCount(), startIndex, endIndex, 0);
    }

    catch (Exception e) {
        throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FLR, e);
    } finally {
        try {
            session.close();
        } catch (HibernateException he) {
            throw new EJBExceptionLP(EJBExceptionLP.FEHLER, he);
        }
    }
    return result;
}

From source file:com.lp.server.auftrag.fastlanereader.AuftragbegruendungHandler.java

License:Open Source License

/**
 * gets the page of data for the specified row using the current
 * queryParameters./*from   w  w w .ja v  a 2s .co m*/
 * 
 * @param rowIndex
 *            diese Zeile soll selektiert sein
 * @return QueryResult das Ergebnis der Abfrage
 * @throws EJBExceptionLP
 *             Ausnahme
 * @see UseCaseHandler#getPageAt(java.lang.Integer)
 */
public QueryResult getPageAt(Integer rowIndex) throws EJBExceptionLP {
    QueryResult result = null;
    SessionFactory factory = FLRSessionFactory.getFactory();
    Session session = null;
    try {
        int colCount = getTableInfo().getColumnClasses().length;
        int pageSize = AuftragbegruendungHandler.PAGE_SIZE;
        int startIndex = Math.max(rowIndex.intValue() - (pageSize / 2), 0);
        int endIndex = startIndex + pageSize - 1;

        session = factory.openSession();
        String queryString = this.getFromClause() + this.buildWhereClause() + this.buildOrderByClause();

        Query query = session.createQuery(queryString);
        session = setFilter(session);

        query.setFirstResult(startIndex);
        query.setMaxResults(pageSize);
        List<?> resultList = query.list();
        Iterator<?> resultListIterator = resultList.iterator();

        Object[][] rows = new Object[resultList.size()][colCount];
        int row = 0;
        int col = 0;

        while (resultListIterator.hasNext()) {
            FLRAuftragbegruendung lieferscheinart = (FLRAuftragbegruendung) resultListIterator.next();

            rows[row][col++] = lieferscheinart.getI_id();
            rows[row][col++] = lieferscheinart.getC_nr();
            rows[row][col++] = lieferscheinart.getC_bez();

            row++;
            col = 0;
        }
        result = new QueryResult(rows, this.getRowCount(), startIndex, endIndex, 0);
    } catch (Exception e) {
        throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FLR, e);
    } finally {
        try {
            session.close();
        } catch (HibernateException he) {
            throw new EJBExceptionLP(EJBExceptionLP.FEHLER, he);
        }
    }
    return result;
}

From source file:com.lp.server.auftrag.fastlanereader.AuftragdokumentHandler.java

License:Open Source License

/**
 * The information needed for the kundes table.
 *///from w  ww .ja  v a2s.  co m

public QueryResult getPageAt(Integer rowIndex) throws EJBExceptionLP {
    QueryResult result = null;
    SessionFactory factory = FLRSessionFactory.getFactory();
    Session session = null;
    try {
        int colCount = getTableInfo().getColumnClasses().length;
        int startIndex = Math.max(rowIndex.intValue() - (PAGE_SIZE / 2), 0);
        int endIndex = startIndex + PAGE_SIZE - 1;

        session = factory.openSession();
        String queryString = this.getFromClause() + this.buildWhereClause() + this.buildOrderByClause();
        Query query = session.createQuery(queryString);
        query.setFirstResult(startIndex);
        query.setMaxResults(PAGE_SIZE);
        List<?> resultList = query.list();
        Iterator<?> resultListIterator = resultList.iterator();
        Object[][] rows = new Object[resultList.size()][colCount];
        int row = 0;
        int col = 0;
        while (resultListIterator.hasNext()) {
            FLRAuftragdokument nachrichtenart = (FLRAuftragdokument) resultListIterator.next();
            rows[row][col++] = nachrichtenart.getI_id();
            rows[row][col++] = nachrichtenart.getC_nr();
            rows[row++][col++] = nachrichtenart.getC_bez();

            col = 0;
        }
        result = new QueryResult(rows, this.getRowCount(), startIndex, endIndex, 0);
    } catch (HibernateException e) {
        throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FLR, e);
    } finally {
        try {
            session.close();
        } catch (HibernateException he) {
            throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FLR, he);
        }
    }
    return result;
}

From source file:com.lp.server.auftrag.fastlanereader.AuftragEingangsrechnungenHandler.java

License:Open Source License

public QueryResult getPageAt(Integer rowIndex) throws EJBExceptionLP {
    QueryResult result = null;/*from   ww  w .  j a v a  2 s . c o m*/
    SessionFactory factory = FLRSessionFactory.getFactory();
    Session session = null;
    try {
        int colCount = getTableInfo().getColumnClasses().length;
        int pageSize = PAGE_SIZE;
        int startIndex = Math.max(rowIndex.intValue() - (pageSize / 2), 0);
        int endIndex = startIndex + pageSize - 1;

        session = factory.openSession();
        String queryString = "SELECT er from FLREingangsrechnungAuftragszuordnung as er "
                + " left join er.flreingangsrechnung.flrlieferant.flrpartner.flrlandplzort as flrlandplzort "
                + " left join er.flreingangsrechnung.flrlieferant.flrpartner.flrlandplzort.flrort as flrort "
                + " left join er.flreingangsrechnung.flrlieferant.flrpartner.flrlandplzort.flrland as flrland "
                + this.buildWhereClause() + this.buildOrderByClause();
        Query query = session.createQuery(queryString);
        query.setFirstResult(startIndex);
        query.setMaxResults(pageSize);
        List<?> resultList = query.list();
        Iterator<?> resultListIterator = resultList.iterator();
        Object[][] rows = new Object[resultList.size()][colCount];
        int row = 0;
        int col = 0;

        while (resultListIterator.hasNext()) {
            // ortimhandler: 8 da kommt jetzt ein Array zurueck, das an
            // index 0 brauch ich

            FLREingangsrechnungAuftragszuordnung flrEingangsrechnungAuftragszuordnung = (FLREingangsrechnungAuftragszuordnung) resultListIterator
                    .next();
            FLREingangsrechnung eingangsrechnung = flrEingangsrechnungAuftragszuordnung
                    .getFlreingangsrechnung();

            rows[row][col++] = eingangsrechnung.getI_id();
            rows[row][col++] = eingangsrechnung.getEingangsrechnungart_c_nr() == null ? null
                    : eingangsrechnung.getEingangsrechnungart_c_nr().substring(0, 1);
            rows[row][col++] = eingangsrechnung.getC_nr();
            rows[row][col++] = eingangsrechnung.getFlrlieferant().getFlrpartner()
                    .getC_name1nachnamefirmazeile1();

            rows[row][col++] = eingangsrechnung.getT_belegdatum();
            String sStatus = eingangsrechnung.getStatus_c_nr();
            if (eingangsrechnung.getT_gedruckt() != null) {
                rows[row][col++] = getStatusMitUebersetzung(sStatus, eingangsrechnung.getT_gedruckt(),
                        "DRUCKER");
            } else {
                rows[row][col++] = getStatusMitUebersetzung(sStatus);
            }

            String lrnText = "";
            if (eingangsrechnung.getC_lieferantenrechnungsnummer() != null) {
                lrnText = eingangsrechnung.getC_lieferantenrechnungsnummer();
                if (eingangsrechnung.getC_text() != null) {
                    lrnText = lrnText + " " + eingangsrechnung.getC_text();
                }

            } else if (eingangsrechnung.getC_text() != null) {
                lrnText = eingangsrechnung.getC_text();
            } else {
                lrnText = "";
            }
            rows[row][col++] = lrnText;

            rows[row][col++] = flrEingangsrechnungAuftragszuordnung.getC_text();
            rows[row][col++] = flrEingangsrechnungAuftragszuordnung.getN_betrag();

            if (bBruttoStattNetto == false) {
                if (eingangsrechnung.getN_betragfw() != null && eingangsrechnung.getN_ustbetragfw() != null) {
                    rows[row][col++] = eingangsrechnung.getN_betragfw()
                            .subtract(eingangsrechnung.getN_ustbetragfw());
                } else {
                    rows[row][col++] = null;
                }

            } else {
                rows[row][col++] = eingangsrechnung.getN_betragfw();
            }
            rows[row][col++] = eingangsrechnung.getWaehrung_c_nr();

            row++;
            col = 0;
        }
        result = new QueryResult(rows, this.getRowCount(), startIndex, endIndex, 0);
    } catch (RemoteException ex) {
        throwEJBExceptionLPRespectOld(ex);
    } finally {
        try {
            session.close();
        } catch (HibernateException he) {
            throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FLR, he);
        }
    }
    return result;
}

From source file:com.lp.server.auftrag.fastlanereader.AuftragHandler.java

License:Open Source License

/**
 * gets the data page for the specified row using the current query. The row
 * at rowIndex will be located in the middle of the page.
 * /*from w  ww.  ja  v a2 s  .c  om*/
 * @param rowIndex
 *            diese Zeile soll selektiert sein
 * @return QueryResult das Ergebnis der Abfrage
 * @throws EJBExceptionLP
 *             Ausnahme
 * @see UseCaseHandler#getPageAt(java.lang.Integer)
 */
public QueryResult getPageAt(Integer rowIndex) throws EJBExceptionLP {
    QueryResult result = null;
    SessionFactory factory = FLRSessionFactory.getFactory();
    Session session = null;
    try {
        int colCount = getTableInfo().getColumnClasses().length;
        int pageSize = getLimit();
        int startIndex = Math.max(rowIndex.intValue() - (pageSize / 2), 0);
        int endIndex = startIndex + pageSize - 1;

        session = factory.openSession();
        String queryString = getFromClause() + buildWhereClause() + buildOrderByClause();
        Query query = session.createQuery(queryString);
        query.setFirstResult(startIndex);
        query.setMaxResults(pageSize);
        List<?> resultList = query.list();
        Iterator<?> resultListIterator = resultList.iterator();
        Object[][] rows = new Object[resultList.size()][colCount];
        int row = 0;
        int col = 0;

        // darf Preise sehen.
        final boolean bDarfPreiseSehen = getTheJudgeFac().hatRecht(RechteFac.RECHT_LP_DARF_PREISE_SEHEN_VERKAUF,
                theClientDto);

        getFeature().setFlrRowCount(rows.length);

        while (resultListIterator.hasNext()) {

            Object[] o = (Object[]) resultListIterator.next();
            FLRAuftrag auftrag = (FLRAuftrag) o[0];

            boolean hasERs = false;
            long iAnzahlER = 0;
            if (o[1] != null) {
                iAnzahlER = (Long) o[1];
                hasERs = (Long) o[1] > 0;
            }
            rows[row][col++] = auftrag.getI_id();

            // Kuerzel fuer die Auftragart
            String auftragart = null;

            if (auftrag.getAuftragart_c_nr().equals(AuftragServiceFac.AUFTRAGART_ABRUF)) {
                auftragart = AuftragServiceFac.AUFTRAGART_ABRUF_SHORT;
            } else if (auftrag.getAuftragart_c_nr().equals(AuftragServiceFac.AUFTRAGART_RAHMEN)) {
                auftragart = AuftragServiceFac.AUFTRAGART_RAHMEN_SHORT;
            } else if (auftrag.getAuftragart_c_nr().equals(AuftragServiceFac.AUFTRAGART_WIEDERHOLEND)) {
                auftragart = AuftragServiceFac.AUFTRAGART_WIEDERHOLEND_SHORT;
            }

            rows[row][col++] = auftragart;
            rows[row][col++] = auftrag.getC_nr();
            rows[row][col++] = auftrag.getFlrkunde() == null ? null
                    : auftrag.getFlrkunde().getFlrpartner().getC_name1nachnamefirmazeile1();

            // IMS 1757 die Anschrift des Kunden anzeigen
            String cAnschrift = null; // eine Liefergruppenanfrage hat
            // keinen Lieferanten

            if (auftrag.getFlrkunde() != null) {
                FLRLandplzort flranschrift = auftrag.getFlrkunde().getFlrpartner().getFlrlandplzort();

                if (flranschrift != null) {
                    cAnschrift = flranschrift.getFlrland().getC_lkz() + "-" + flranschrift.getC_plz() + " "
                            + flranschrift.getFlrort().getC_name();
                }

                getFeature().buildAddress(row, auftrag);
            }

            rows[row][col++] = cAnschrift;
            String proj_bestellnummer = "";
            if (auftrag.getC_bez() != null) {
                proj_bestellnummer = auftrag.getC_bez();
            }

            if (auftrag.getC_bestellnummer() != null) {
                proj_bestellnummer += " | " + auftrag.getC_bestellnummer();
            }

            rows[row][col++] = proj_bestellnummer;
            rows[row][col++] = auftrag.getT_liefertermin();
            rows[row][col++] = auftrag.getT_belegdatum();

            if (iAnlegerStattVertreterAnzeigen == 1) {
                if (auftrag.getFlrpersonalanleger() != null) {
                    rows[row][col++] = auftrag.getFlrpersonalanleger().getC_kurzzeichen();
                } else {
                    rows[row][col++] = null;
                }
            } else if (iAnlegerStattVertreterAnzeigen == 2) {
                if (auftrag.getFlrpersonalaenderer() != null) {
                    rows[row][col++] = auftrag.getFlrpersonalaenderer().getC_kurzzeichen();
                } else {
                    rows[row][col++] = null;
                }
            } else {
                if (auftrag.getFlrvertreter() != null) {
                    rows[row][col++] = auftrag.getFlrvertreter().getC_kurzzeichen();
                } else {
                    rows[row][col++] = null;
                }
            }

            String sStatus = auftrag.getAuftragstatus_c_nr();
            rows[row][col++] = getStatusMitUebersetzung(sStatus, auftrag.getT_versandzeitpunkt(),
                    auftrag.getC_versandtype());

            BigDecimal nGesamtwertAuftragInAuftragswaehrung = new BigDecimal(0);

            if (auftrag.getN_gesamtauftragswertinauftragswaehrung() != null
                    && !auftrag.getAuftragstatus_c_nr().equals(AuftragServiceFac.AUFTRAGSTATUS_STORNIERT)) {
                nGesamtwertAuftragInAuftragswaehrung = auftrag.getN_gesamtauftragswertinauftragswaehrung();
            }

            if (bDarfPreiseSehen) {
                rows[row][col++] = nGesamtwertAuftragInAuftragswaehrung;
            } else {
                rows[row][col++] = null;
            }
            rows[row][col++] = auftrag.getWaehrung_c_nr_auftragswaehrung();

            if (verrechenbarStattRohsAnzeigen) {
                if (auftrag.getT_verrechenbar() != null) {
                    rows[row][col++] = Boolean.TRUE;
                } else {
                    rows[row][col++] = Boolean.FALSE;
                }
            } else {
                rows[row][col++] = Helper.short2Boolean(auftrag.getB_rohs());
            }

            rows[row][col++] = Helper.short2Boolean(auftrag.getB_lieferterminunverbindlich());

            if (auftrag.getB_poenale().equals(new Short((short) 1))) {
                //               rows[row][col++] = iAnzahlER == 0 ? Color.RED : Color.MAGENTA ;
                rows[row][col++] = hasERs ? Color.MAGENTA : Color.RED;
            } else {
                //               rows[row][col++] = iAnzahlER == 0 ? null : Color.BLUE ;
                rows[row][col++] = hasERs ? Color.BLUE : null;
            }

            getFeature().setInternerKommentar(row, auftrag.getX_internerkommentar() != null);
            getFeature().setExternerKommentar(row, auftrag.getX_externerkommentar() != null);

            ++row;
            col = 0;
        }

        if (getFeature().hasAdresse()) {
            AuftragQueryResult auftragResult = new AuftragQueryResult(rows, this.getRowCount(), startIndex,
                    endIndex, 0);
            //            auftragResult.setAddresses(getFeature().getAddresses()) ;
            auftragResult.setFlrData(getFeature().getFlrData());
            result = auftragResult;
        } else {
            result = new QueryResult(rows, this.getRowCount(), startIndex, endIndex, 0);
        }
    } catch (Exception e) {
        throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FLR, e);
    } finally {
        try {
            session.close();
        } catch (HibernateException he) {
            throw new EJBExceptionLP(EJBExceptionLP.FEHLER, he);
        }
    }
    return result;
}