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.bestellung.fastlanereader.BestellpositionSichtRahmenHandler.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 .j a  va2s  . 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 = PAGE_SIZE;
        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;
        while (resultListIterator.hasNext()) {
            FLRBestellpositionSichtRahmen bestellposition = (FLRBestellpositionSichtRahmen) resultListIterator
                    .next();

            rows[row][col++] = bestellposition.getI_id();
            rows[row][col++] = bestellposition.getN_menge();
            rows[row][col++] = bestellposition.getEinheit_c_nr();

            String sBezeichnung = null;
            BestellpositionDto besPos = getBestellpositionFac()
                    .bestellpositionFindByPrimaryKey(bestellposition.getI_id());

            if (besPos.getPositionsartCNr().equals(LocaleFac.POSITIONSART_TEXTEINGABE)) {
                if (besPos.getXTextinhalt() != null && besPos.getXTextinhalt().length() > 0) {
                    sBezeichnung = Helper.strippHTML(besPos.getXTextinhalt());
                }
            } else if (besPos.getPositionsartCNr().equals(LocaleFac.POSITIONSART_SEITENUMBRUCH)) {
                sBezeichnung = "[" + getTextRespectUISpr("lp.seitenumbruch", theClientDto.getMandant(),
                        theClientDto.getLocUi()) + "]";
            } else if (besPos.getPositionsartCNr().equals(LocaleFac.POSITIONSART_TEXTBAUSTEIN)) {
                sBezeichnung = getMediaFac().mediastandardFindByPrimaryKey(besPos.getMediastandardIId())
                        .getCNr();
            } else if (besPos.getPositionsartCNr().equals(LocaleFac.POSITIONSART_IDENT)) {
                // die sprachabhaengig Artikelbezeichnung anzeigen
                sBezeichnung = getArtikelFac().formatArtikelbezeichnungEinzeiligOhneExc(besPos.getArtikelIId(),
                        theClientDto.getLocUi());
            } else {
                // die uebersteuerte bezeichnung
                if (besPos.getCBez() != null) {
                    sBezeichnung = besPos.getCBez();
                }
            }
            rows[row][col++] = sBezeichnung;

            rows[row][col++] = bestellposition.getN_offenemenge();
            rows[row][col++] = bestellposition.getBestellpositionstatus_c_nr();

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

From source file:com.lp.server.bestellung.fastlanereader.BestellungartHandler.java

License:Open Source License

public QueryResult getPageAt(Integer rowIndex) throws EJBExceptionLP {

    QueryResult result = null;/*from  ww w .  ja v a  2  s  .c o m*/
    SessionFactory factory = FLRSessionFactory.getFactory();
    Session session = null;
    try {
        int colCount = getTableInfo().getColumnClasses().length;
        int pageSize = BestellungHandler.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[getRowCount()][colCount];
        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();
            FLRBestellungart bestellungart = (FLRBestellungart) o[0];

            Iterator<?> sprsetIterator = bestellungart.getBestellungart_bestellungartspr_set().iterator();

            rows[row][col++] = bestellungart.getC_nr();
            rows[row][col++] = bestellungart.getC_nr();
            rows[row][col++] = bestellungart.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 {
        closeSession(session);
    }
    return result;
}

From source file:com.lp.server.bestellung.fastlanereader.BestellungHandler.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.
 * /*  w ww.jav a 2 s.  c om*/
 * @see UseCaseHandler#getPageAt(java.lang.Integer)
 * @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 = 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 distinct bestellung ,bestellung.flrlieferant.flrpartner.c_name1nachnamefirmazeile1,bestellung.flrpersonal.c_kurzzeichen, bestellung.flrlieferant.flrpartner.flrlandplzort.flrland.c_lkz, bestellung.flrlieferant.flrpartner.flrlandplzort.c_plz "
                + 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];

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

        int row = 0;
        int col = 0;
        while (resultListIterator.hasNext()) {
            // da kommt jetzt ein Array zurueck, das an index 0 brauch ich

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

            FLRBestellung bestellung = (FLRBestellung) o[0];
            // 1
            rows[row][col++] = bestellung.getI_id();

            String bestellungart = null;
            if (bestellung.getBestellungart_c_nr().equals(BestellungFac.BESTELLUNGART_ABRUFBESTELLUNG_C_NR)) {
                bestellungart = BestellungFac.BESTELLUNGART_ABRUFBESTELLUNG_C_NR_KURZ;
            } else if (bestellung.getBestellungart_c_nr()
                    .equals(BestellungFac.BESTELLUNGART_RAHMENBESTELLUNG_C_NR)) {
                bestellungart = BestellungFac.BESTELLUNGART_RAHMENBESTELLUNG_C_NR_KURZ;
            } else if (bestellung.getBestellungart_c_nr()
                    .equals(BestellungFac.BESTELLUNGART_LEIHBESTELLUNG_C_NR)) {
                bestellungart = BestellungFac.BESTELLUNGART_LEIHBESTELLUNG_C_NR_KURZ;
            }
            // 2
            rows[row][col++] = bestellungart;
            // 3
            rows[row][col++] = bestellung.getC_nr();
            // 4
            rows[row][col++] = bestellung.getFlrlieferant() == null ? null
                    : bestellung.getFlrlieferant().getFlrpartner().getC_name1nachnamefirmazeile1();

            // wenn vorhanden, dann im Format A-5020 Salzburg, Bahnhoftrasse
            // 1
            if (bProjektStattOrt) {
                rows[row][col++] = bestellung.getC_bezprojektbezeichnung();
            } else {

                FLRLandplzort anschrift = bestellung.getFlrlieferant().getFlrpartner().getFlrlandplzort();
                if (anschrift != null) {
                    rows[row][col++] = anschrift.getFlrland().getC_lkz() + "-" + anschrift.getC_plz() + " "
                            + anschrift.getFlrort().getC_name();
                } else {
                    rows[row][col++] = "";
                }
            }
            rows[row][col++] = bestellung.getT_liefertermin() == null ? null : bestellung.getT_liefertermin();
            rows[row][col++] = bestellung.getT_belegdatum() == null ? null : bestellung.getT_belegdatum();

            if (iAnlegerStattVertreterAnzeigen == 1) {
                rows[row][col++] = bestellung.getFlrpersonalanleger() == null ? null
                        : bestellung.getFlrpersonalanleger().getC_kurzzeichen();
            } else if (iAnlegerStattVertreterAnzeigen == 2) {
                rows[row][col++] = bestellung.getFlrpersonalaenderer() == null ? null
                        : bestellung.getFlrpersonalaenderer().getC_kurzzeichen();
            } else {
                rows[row][col++] = bestellung.getFlrpersonal() == null ? null
                        : bestellung.getFlrpersonal().getC_kurzzeichen();
            }

            BigDecimal nGesamtwertBestellungInBestellwaehrung = new BigDecimal(0);

            if (bestellung.getN_bestellwert() != null
                    && !bestellung.getBestellungstatus_c_nr().equals(BestellungFac.BESTELLSTATUS_STORNIERT)) {
                nGesamtwertBestellungInBestellwaehrung = bestellung.getN_bestellwert();
            }
            // status: uebersetzung reinschreiben
            String sStatus = bestellung.getBestellungstatus_c_nr();
            rows[row][col++] = getStatusMitUebersetzung(sStatus, bestellung.getT_versandzeitpunkt(),
                    bestellung.getC_versandtype());

            if (bDarfPreiseSehen) {
                rows[row][col++] = nGesamtwertBestellungInBestellwaehrung;
            } else {
                rows[row][col++] = null;
            }

            rows[row][col++] = bestellung.getWaehrung_c_nr_bestellwaehrung() == null ? null
                    : bestellung.getWaehrung_c_nr_bestellwaehrung();
            rows[row][col++] = bestellung.getMahnstufe_i_id() == null ? null : bestellung.getMahnstufe_i_id();

            if (bestellung.getB_poenale().equals(new Short((short) 1))) {
                rows[row][col++] = Color.RED;
            } else {
                rows[row][col++] = null;
            }

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

From source file:com.lp.server.bestellung.fastlanereader.BestellungSichtLieferTermineHandler.java

License:Open Source License

/**
 * gets the page of data for the specified row using the current
 * queryParameters.//from  ww w . j a  va  2 s . c o  m
 * 
 * @param rowIndex
 *            the index of the row that should be contained in the page.
 * @return the data page for the specified row.
 * @throws EJBExceptionLP
 */
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 = BestellungHandler.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();
        // darf Preise sehen.
        final boolean bDarfPreiseSehen = getTheJudgeFac().hatRecht(RechteFac.RECHT_LP_DARF_PREISE_SEHEN_EINKAUF,
                theClientDto);
        Object[][] rows = new Object[resultList.size()][colCount];
        int row = 0;
        int col = 0;
        while (resultListIterator.hasNext()) {
            FLRBestellungAuftragsbestaetigung position = (FLRBestellungAuftragsbestaetigung) resultListIterator
                    .next();
            // wenn Handeingabe oder Ident
            if (position.getBestellpositionart_c_nr().equals(BestellpositionFac.BESTELLPOSITIONART_HANDEINGABE)
                    || position.getBestellpositionart_c_nr()
                            .equals(BestellpositionFac.BESTELLPOSITIONART_IDENT)) {
                rows[row][col++] = position.getI_id() == null ? null : position.getI_id();
                rows[row][col++] = position.getN_menge() == null ? null : position.getN_menge();

                // in der Spalte Bezeichnung koennen verschiedene Dinge
                // stehen
                String sBezeichnung = null;

                if (position.getBestellpositionart_c_nr().equals(LocaleFac.POSITIONSART_IDENT)) {
                    // die sprachabhaengig Artikelbezeichnung anzeigen
                    sBezeichnung = getArtikelFac().formatArtikelbezeichnungEinzeiligOhneExc(
                            position.getFlrartikel().getI_id(), theClientDto.getLocUi());
                } else {
                    // die uebersteuerte bezeichnung
                    if (position.getC_bezeichnung() != null) {
                        sBezeichnung = position.getC_bezeichnung();
                    }
                }
                rows[row][col++] = sBezeichnung == null ? null : sBezeichnung;
                if (bDarfPreiseSehen) {
                    rows[row][col++] = position.getN_nettogesamtpreis() == null ? null
                            : position.getN_nettogesamtpreis();
                } else {
                    rows[row][col++] = null;
                }
                rows[row][col++] = position.getT_auftragsbestaetigungstermin() == null ? null
                        : position.getT_auftragsbestaetigungstermin();

                rows[row][col++] = null;
                rows[row][col++] = null;

                Boolean b = Boolean.FALSE;
                if (position.getT_lieferterminbestaetigt() != null) {
                    b = Boolean.TRUE;
                }
                rows[row][col++] = b;

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

From source file:com.lp.server.bestellung.fastlanereader.BestellungstatusHandler.java

License:Open Source License

/**
 * gets the page of data for the specified row using the current
 * queryParameters.//  w  w  w . j  a v a2  s . co  m
 * 
 * @param rowIndex
 *            the index of the row that should be contained in the page.
 * @return the data page for the specified row.
 * @throws EJBExceptionLP
 */
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 = BestellungHandler.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()) {
            FLRBestellungstatus position = (FLRBestellungstatus) resultListIterator.next();
            rows[row][col++] = position.getC_nr();
            rows[row][col++] = position.getC_nr();
            rows[row][col++] = position.getI_sort();
            row++;
            col = 0;
        }
        result = new QueryResult(rows, this.getRowCount(), startIndex, endIndex, 0);
    } catch (Exception e) {
        throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FLR, e);
    } finally {
        closeSession(session);
    }
    return result;
}

From source file:com.lp.server.bestellung.fastlanereader.BestellungtextHandler.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 .  j  a v a 2 s  . co  m
 * @see UseCaseHandler#getPageAt(java.lang.Integer)
 * @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 = getTableInfo().getColumnClasses().length;
        int pageSize = BestellungtextHandler.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()) {
            FLRBestellungtext bestellungtext = (FLRBestellungtext) resultListIterator.next();

            rows[row][col++] = bestellungtext.getI_id();
            rows[row][col++] = bestellungtext.getC_nr();
            rows[row++][col++] = bestellungtext.getC_textinhalt();

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

From source file:com.lp.server.bestellung.fastlanereader.BestellungwareneingangHandler.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.
 * /* w  w  w . j  a  v  a 2s . com*/
 * @see UseCaseHandler#getPageAt(java.lang.Integer)
 * @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 = getTableInfo().getColumnClasses().length;
        int pageSize = BestellungwareneingangHandler.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;
        // darf Preise sehen.
        final boolean bDarfPreiseSehen = getTheJudgeFac().hatRecht(RechteFac.RECHT_LP_DARF_PREISE_SEHEN_EINKAUF,
                theClientDto);

        while (resultListIterator.hasNext()) {
            FLRWareneingang wareneingang = (FLRWareneingang) resultListIterator.next();
            rows[row][col++] = wareneingang.getI_id();
            rows[row][col++] = wareneingang.getC_lieferscheinnr();
            rows[row][col++] = wareneingang.getT_lieferscheindatum();
            if (bDarfPreiseSehen) {
                BigDecimal bdTransportkosten = new BigDecimal(0);
                if (wareneingang.getN_transportkosten() != null) {
                    bdTransportkosten = bdTransportkosten.add(wareneingang.getN_transportkosten());
                }
                if (wareneingang.getN_bankspesen() != null) {
                    bdTransportkosten = bdTransportkosten.add(wareneingang.getN_bankspesen());
                }
                if (wareneingang.getN_sonstigespesen() != null) {
                    bdTransportkosten = bdTransportkosten.add(wareneingang.getN_sonstigespesen());
                }
                if (wareneingang.getN_zollkosten() != null) {
                    bdTransportkosten = bdTransportkosten.add(wareneingang.getN_zollkosten());
                }

                rows[row][col++] = bdTransportkosten;
                rows[row][col++] = wareneingang.getF_gemeinkostenfaktor();
            } else {
                rows[row][col++] = null;
                rows[row][col++] = null;
            }
            rows[row][col++] = wareneingang.getT_wareneingansdatum();
            row++;
            col = 0;
        }
        result = new QueryResult(rows, this.getRowCount(), startIndex, endIndex, 0);
    } catch (Exception e) {
        throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FLR, e);
    } finally {
        closeSession(session);
    }
    return result;
}

From source file:com.lp.server.bestellung.fastlanereader.BestellungWEPEingangHandler.java

License:Open Source License

/**
 * gets the page of data for the specified row using the current
 * queryParameters.// w  w  w  .j  av a 2 s.co m
 * 
 * @param rowIndex
 *            the index of the row that should be contained in the page.
 * @return the data page for the specified row.
 * @throws EJBExceptionLP
 */
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 = BestellungHandler.PAGE_SIZE;
        int startIndex = Math.max(rowIndex.intValue() - (pageSize / 2), 0);
        int endIndex = startIndex + pageSize - 1;

        session = factory.openSession();
        session = setFilter(session);
        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;
        // darf Preise sehen.
        final boolean bDarfPreiseSehen = getTheJudgeFac().hatRecht(RechteFac.RECHT_LP_DARF_PREISE_SEHEN_EINKAUF,
                theClientDto);
        // flrextradata: 1 Extra Daten, die man im FLR auswerten kann,
        // lesen.
        ArrayList<?> listOfExtraDataForFLR = getQuery().getListOfExtraData();
        Integer iIdWE = (Integer) listOfExtraDataForFLR
                .get(getBestellpositionFac().FLR_EXTRA_DATA_WARENEINGANGIID);
        while (resultListIterator.hasNext()) {

            FLRBestellpositionMitArtikelliste position = (FLRBestellpositionMitArtikelliste) resultListIterator
                    .next();
            rows[row][SPALTE_I_ID] = position.getI_id();
            rows[row][SPALTE_POSITIONSNUMMER] = getBestellpositionFac()
                    .getPositionNummerReadOnly(position.getI_id());
            rows[row][SPALTE_BSPOS_MENGE] = position.getN_menge();
            // die sprachabhaengig Artikelbezeichnung anzeigen

            if (position.getBestellpositionart_c_nr().equals(LocaleFac.POSITIONSART_TEXTEINGABE)) {
                if (position.getC_textinhalt() != null && position.getC_textinhalt().length() > 0) {
                    rows[row][SPALTE_BEZEICHNUNG] = Helper.strippHTML(position.getC_textinhalt());
                }
            } else {
                if (position.getFlrartikel() != null) {
                    String sBezeichnung = getArtikelFac().formatArtikelbezeichnungEinzeiligOhneExc(
                            position.getFlrartikel().getI_id(), theClientDto.getLocUi());
                    rows[row][SPALTE_BEZEICHNUNG] = sBezeichnung;
                }
            }

            String sStatusUebersetzt = getSystemMultilanguageFac()
                    .uebersetzeStatusOptimal(position.getBestellpositionstatus_c_nr(), theClientDto.getLocUi());
            rows[row][SPALTE_ISTERLEDIGT] = sStatusUebersetzt;
            // WE-Positionen zu dieser Bestellposition.
            WareneingangspositionDto[] aWEPOSDto = getWareneingangFac()
                    .wareneingangspositionFindByBestellpositionIId(position.getI_id());

            // Aktueller WE
            WareneingangDto weDto = getWareneingangFac().wareneingangFindByPrimaryKey(iIdWE);
            // insgesamt gelieferte Menge dieser Bestellposition.
            BigDecimal bdGelieferteMengeDerBespos = new BigDecimal(0);

            boolean bVerraeumt = false;

            for (int i = 0; i < aWEPOSDto.length; i++) {
                // zugehoerige WE-Position in diesem Wareneingang finden (es
                // gibt keine oder eine)

                if ((aWEPOSDto[i].getWareneingangIId()).equals(iIdWE)) {

                    if (Helper.short2boolean(aWEPOSDto[i].getBVerraeumt()) == true) {
                        bVerraeumt = true;
                    }

                    rows[row][SPALTE_GELIEFERTE_MENGE] = aWEPOSDto[i].getNGeliefertemenge();
                    if (aWEPOSDto[i].getBPreiseErfasst() == null) {
                        rows[row][SPALTE_PREISE_ERFASST] = false;
                    } else {
                        rows[row][SPALTE_PREISE_ERFASST] = aWEPOSDto[i].getBPreiseErfasst();
                    }
                    if (bDarfPreiseSehen) {
                        rows[row][SPALTE_GELIEFERTERPREIS] = aWEPOSDto[i].getNGelieferterpreis(); // gelieferter
                        // Preis
                        if (aWEPOSDto[i].getNGelieferterpreis() == null
                                || aWEPOSDto[i].getNGeliefertemenge() == null) {
                            rows[row][SPALTE_ZEILENSUMME] = null;
                        } else {
                            rows[row][SPALTE_ZEILENSUMME] = aWEPOSDto[i].getNGelieferterpreis()
                                    .multiply(aWEPOSDto[i].getNGeliefertemenge());
                        }
                    }
                    // Kommentar vorhanden?
                    if (aWEPOSDto[i].getXInternerKommentar() != null
                            && aWEPOSDto[i].getXInternerKommentar().length() != 0) {
                        rows[row][SPALTE_KOMMENTAR] = WareneingangFac.WARENEINGANGSPOSITION_KOMMENTAR;
                    }
                    bdGelieferteMengeDerBespos = bdGelieferteMengeDerBespos
                            .add(aWEPOSDto[i].getNGeliefertemenge());
                } else {
                    if (aWEPOSDto[i].getNGeliefertemenge() != null) {
                        WareneingangDto weHelper = getWareneingangFac()
                                .wareneingangFindByPrimaryKey(aWEPOSDto[i].getWareneingangIId());
                        // Nur wenn vor oder gleich dem WE Termin anrechnen
                        if (weDto.getTWareneingangsdatum().after(weHelper.getTWareneingangsdatum())
                                || weDto.getTWareneingangsdatum().equals(weHelper.getTWareneingangsdatum())) {
                            bdGelieferteMengeDerBespos = bdGelieferteMengeDerBespos
                                    .add(aWEPOSDto[i].getNGeliefertemenge());
                        }
                    }
                }

            }
            rows[row][SPALTE_WEPOS_GESAMT_GELIEFERTE_MENGE] = bdGelieferteMengeDerBespos;

            // Offene Menge der Bestellposition in Abhaengigkeit vom Status
            // SK: Offene Menge immer anzeigen (8.1.09)
            /*
             * if (position.getBestellpositionstatus_c_nr().equals(
             * BestellpositionFac.BESTELLPOSITIONSTATUS_ERLEDIGT)) {
             * rows[row][SPALTE_OFFENE_MENGE] = null; // nix mehr offen } //
             * noch nicht erledigte Bestellpositionen. else {
             */
            // offene Menge anzeigen.
            BigDecimal bdOffen = getBestellpositionFac().berechneOffeneMenge(position.getI_id());
            rows[row][SPALTE_OFFENE_MENGE] = bdOffen;
            // }

            if (bVerraeumt == true) {
                rows[row][SPALTE_VERRAEUMT] = new Color(0, 153, 0);
            } else {
                rows[row][SPALTE_VERRAEUMT] = null;
            }

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

From source file:com.lp.server.bestellung.fastlanereader.BestellvorschlagAlleLieferantenHandler.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  ww  w.  j  a  va 2 s. co m
 * @see UseCaseHandler#getPageAt(java.lang.Integer)
 * @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 = getTableInfo().getColumnClasses().length;
        int pageSize = BestellvorschlagAlleLieferantenHandler.PAGE_SIZE;
        int startIndex = Math.max(rowIndex.intValue() - (pageSize / 2), 0);
        int endIndex = startIndex + pageSize - 1;

        session = factory.openSession();

        Query query = session.createQuery(
                "select distinct bestellvorschlagallelieferanten.lieferant_i_id,bestellvorschlagallelieferanten.flrlieferant.flrpartner.c_name1nachnamefirmazeile1, flrort.c_name, flrlandplzort.c_plz, flrland.c_lkz  from "
                        + "FLRBestellvorschlagAlleLieferanten bestellvorschlagallelieferanten left join bestellvorschlagallelieferanten.flrlieferant.flrpartner.flrlandplzort as flrlandplzort left join bestellvorschlagallelieferanten.flrlieferant.flrpartner.flrlandplzort.flrort as flrort left join bestellvorschlagallelieferanten.flrlieferant.flrpartner.flrlandplzort.flrland as flrland "
                        + this.buildWhereClause() + this.buildOrderByClause());

        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;

        // Facades
        LieferantFac lieferantFac = getLieferantFac();

        while (resultListIterator.hasNext()) {
            Object[] zeile = (Object[]) resultListIterator.next();

            Integer lieferant_id = (Integer) zeile[0];

            rows[row][col++] = lieferant_id;
            LieferantDto lieferantDto = lieferantFac.lieferantFindByPrimaryKey(lieferant_id, theClientDto);
            rows[row][col++] = lieferantDto.getPartnerDto().formatAnrede() == null ? null
                    : lieferantDto.getPartnerDto().formatAnrede();
            rows[row][col++] = lieferantDto.getPartnerDto().getLandplzortDto() == null ? null
                    : lieferantDto.getPartnerDto().getLandplzortDto().getLandDto().getCLkz();
            rows[row][col++] = lieferantDto.getPartnerDto().getLandplzortDto() == null ? null
                    : lieferantDto.getPartnerDto().getLandplzortDto().getCPlz();
            rows[row][col++] = lieferantDto.getPartnerDto().getLandplzortDto() == null ? null
                    : lieferantDto.getPartnerDto().getLandplzortDto().getOrtDto().getCName();
            row++;
            col = 0;
        }
        result = new QueryResult(rows, row, startIndex, endIndex, 0);
    } catch (Exception e) {
        throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FLR, e);
    } finally {
        closeSession(session);
    }
    return result;
}

From source file:com.lp.server.bestellung.fastlanereader.BestellvorschlagAlleTermineHandler.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  w w .j  a v a 2  s . c o  m
 * @see UseCaseHandler#getPageAt(java.lang.Integer)
 * @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 = getTableInfo().getColumnClasses().length;
        int pageSize = BestellvorschlagAlleTermineHandler.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);
        String qs = query.getQueryString();

        query = session.createQuery("select distinct bestellvorschlagalletermine.t_liefertermin from "
                + "FLRBestellvorschlagAlleTermine bestellvorschlagalletermine "
                + "WHERE bestellvorschlagalletermine.t_liefertermin IS NOT NULL "
                + "AND bestellvorschlagalletermine.mandant_c_nr = " + "'" + theClientDto.getMandant() + "' "
                + "ORDER BY bestellvorschlagalletermine.t_liefertermin");

        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()) {
            Date t_liefertermin = (Date) resultListIterator.next();

            rows[row][col++] = t_liefertermin;
            rows[row][col++] = t_liefertermin == null ? null : t_liefertermin;
            row++;
            col = 0;
        }
        result = new QueryResult(rows, this.getRowCount(), startIndex, endIndex, 0);
    } catch (Exception e) {
        throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FLR, e);
    } finally {
        closeSession(session);
    }
    return result;
}