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.BestellvorschlagHandler.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  .  j  a v  a2s.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 = BestellvorschlagHandler.PAGE_SIZE;
        int startIndex = Math.max(rowIndex.intValue() - (pageSize / 2), 0);
        int endIndex = startIndex + pageSize - 1;

        session = factory.openSession();
        session = setFilter(session);
        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()) {

            Object[] o = (Object[]) resultListIterator.next();
            FLRBestellvorschlag bestellvorschlag = (FLRBestellvorschlag) o[0];

            rows[row][col++] = bestellvorschlag.getI_id();

            if (o[1] != null) {
                rows[row][col++] = LocaleFac.STATUS_GESPERRT;
            } else {
                rows[row][col++] = null;
            }

            String artikelspr = null;
            if (o[2] != null) {
                artikelspr = ((com.lp.server.artikel.fastlanereader.generated.FLRArtikellistespr) o[2])
                        .getC_bez();
            }

            rows[row][col++] = bestellvorschlag.getFlrartikelliste().getC_nr();

            // belegartId
            if (bestellvorschlag.getI_belegartid() != null) {
                // Los
                if (bestellvorschlag.getBelegart_c_nr().equals(LocaleFac.BELEGART_LOS)) {

                    rows[row][col++] = artikelspr;
                }
                // Auftrag
                else if (bestellvorschlag.getBelegart_c_nr().equals(LocaleFac.BELEGART_AUFTRAG)) {

                    AuftragpositionDto auftragposDto = null;

                    auftragposDto = this.getAuftragpositionFac()
                            .auftragpositionFindByPrimaryKeyOhneExc(bestellvorschlag.getI_belegartpositionid());
                    if (auftragposDto != null && auftragposDto.getCBez() != null) {

                        rows[row][col++] = auftragposDto.getCBez() == null ? null : auftragposDto.getCBez();
                    } else if (artikelspr != null) {
                        rows[row][col++] = artikelspr;
                    } else {
                        rows[row][col++] = null;
                    }

                } else if (bestellvorschlag.getBelegart_c_nr().equals(LocaleFac.BELEGART_ANGEBOT)) {

                    if (bestellvorschlag.getI_belegartpositionid() != null) {
                        AngebotpositionDto angebotposDto = null;

                        angebotposDto = this.getAngebotpositionFac().angebotpositionFindByPrimaryKeyOhneExc(
                                bestellvorschlag.getI_belegartpositionid());
                        if (angebotposDto != null && angebotposDto.getCBez() != null) {

                            rows[row][col++] = angebotposDto.getCBez() == null ? null : angebotposDto.getCBez();
                        } else if (artikelspr != null) {
                            rows[row][col++] = artikelspr;
                        } else {
                            rows[row][col++] = null;
                        }
                    } else {
                        rows[row][col++] = artikelspr;
                    }

                }
                // Bestellung
                else if (bestellvorschlag.getBelegart_c_nr().equals(LocaleFac.BELEGART_BESTELLUNG)) {

                    BestellpositionDto bestellpositionDto = null;

                    bestellpositionDto = this.getBestellpositionFac()
                            .bestellpositionFindByPrimaryKeyOhneExc(bestellvorschlag.getI_belegartid());

                    if (bestellpositionDto != null && bestellpositionDto.getCBez() != null) {
                        rows[row][col++] = bestellpositionDto.getCBez() == null ? null
                                : bestellpositionDto.getCBez();
                    } else if (artikelspr != null) {
                        rows[row][col++] = artikelspr;
                    } else {
                        rows[row][col++] = null;
                    }
                } else {
                    rows[row][col++] = null;
                }
            } else {
                if (artikelspr != null) {
                    rows[row][col++] = artikelspr;
                } else {
                    rows[row][col++] = null;
                }
            }
            rows[row][col++] = bestellvorschlag.getN_zubestellendemenge();
            rows[row][col++] = bestellvorschlag.getT_liefertermin();
            if (bestellvorschlag.getLieferant_i_id() != null) {
                rows[row][col++] = HelperServer
                        .formatNameAusFLRPartner(bestellvorschlag.getFlrlieferant().getFlrpartner());
                ;
                // Wiederbeschaffungszeit (falls vorhanden)

                Integer iWiederbeschaffungszeit = null;

                Set s = bestellvorschlag.getFlrartikelliste().getArtikellieferantset();
                Iterator it = s.iterator();
                while (it.hasNext()) {
                    FLRArtikellieferant al = (FLRArtikellieferant) it.next();

                    if (al.getLieferant_i_id().equals(bestellvorschlag.getLieferant_i_id())) {
                        iWiederbeschaffungszeit = al.getI_wiederbeschaffungszeit();
                    }

                }

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

            } else {
                rows[row][col++] = null;
                rows[row][col++] = null;
            }
            rows[row][col++] = bestellvorschlag.getN_nettogesamtpreis();

            rows[row][col++] = bestellvorschlag.getBelegart_c_nr();

            BestellungDto bestellungDto = null;
            BestellpositionDto besposDto = null;
            AuftragDto auftragDto = null;

            if (bestellvorschlag.getI_belegartid() != null) {
                if (bestellvorschlag.getBelegart_c_nr().equals(LocaleFac.BELEGART_BESTELLUNG)) {
                    besposDto = getBestellpositionFac()
                            .bestellpositionFindByPrimaryKeyOhneExc(bestellvorschlag.getI_belegartid());

                    if (besposDto != null) {
                        bestellungDto = getBestellungFac()
                                .bestellungFindByPrimaryKey(besposDto.getBestellungIId());

                        rows[row][col++] = bestellungDto.getCNr() == null ? null : bestellungDto.getCNr();
                    } else {
                        rows[row][col++] = "Position gel\u00F6scht";
                    }
                } else if (bestellvorschlag.getBelegart_c_nr().equals(LocaleFac.BELEGART_AUFTRAG)) {
                    auftragDto = getAuftragFac().auftragFindByPrimaryKey(bestellvorschlag.getI_belegartid());
                    rows[row][col++] = auftragDto.getCNr() == null ? null : auftragDto.getCNr();
                } else if (bestellvorschlag.getBelegart_c_nr().equals(LocaleFac.BELEGART_ANGEBOT)) {
                    AngebotDto angebotDto = getAngebotFac()
                            .angebotFindByPrimaryKey(bestellvorschlag.getI_belegartid(), theClientDto);
                    rows[row][col++] = angebotDto.getCNr();
                }
                // Los
                else if (bestellvorschlag.getBelegart_c_nr().equals(LocaleFac.BELEGART_LOS)) {
                    LosDto losDto = getFertigungFac().losFindByPrimaryKey(bestellvorschlag.getI_belegartid());
                    rows[row][col++] = losDto.getCNr();
                } else {
                    rows[row][col++] = null;
                }

            } else {
                rows[row][col++] = null;
            }

            if (!Helper.short2boolean(bestellvorschlag.getFlrartikelliste().getB_lagerbewirtschaftet())) {
                rows[row][col++] = new Color(0, 0, 255);
            }

            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.BSMahnlaufHandler.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.j  av 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 = 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()) {
            FLRBSMahnlauf bsmahnlauf = (FLRBSMahnlauf) resultListIterator.next();
            rows[row][col++] = bsmahnlauf.getI_id();
            rows[row][col++] = bsmahnlauf.getT_anlegen();
            rows[row][col++] = bsmahnlauf.getFlrpersonalanleger().getC_kurzzeichen();
            rows[row][col++] = getMahnungsCount(bsmahnlauf.getI_id());
            rows[row][col++] = getErledigtCount(bsmahnlauf.getI_id());
            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.BSMahnstufeHandler.java

License:Open Source License

public QueryResult getPageAt(Integer rowIndex) throws EJBExceptionLP {
    QueryResult result = null;/* w  ww  .ja  va 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 = 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()) {
            FLRBSMahnstufe bsmahnstufe = (FLRBSMahnstufe) resultListIterator.next();
            rows[row][col++] = bsmahnstufe.getI_id();
            if (bsmahnstufe.getI_id().equals(new Integer(0))) {
                rows[row][col++] = BSMahnwesenFac.MAHNSTUFE_ABMAHNSTUFE;
            } else {
                rows[row][col++] = null;
            }
            rows[row][col++] = bsmahnstufe.getI_id();
            rows[row][col++] = bsmahnstufe.getI_tage();
            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.BSMahntextHandler.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.j av  a 2s .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 = 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()) {
            FLRBSMahntext bsmahntext = (FLRBSMahntext) resultListIterator.next();

            rows[row][col++] = bsmahntext.getI_id();
            rows[row][col++] = bsmahntext.getMahnstufe_i_id();
            rows[row++][col++] = bsmahntext.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.BSMahnungHandler.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 . j  a  v  a 2s  . 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 = 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()) {

            FLRBSMahnung bsmahnung = (FLRBSMahnung) resultListIterator.next();
            FLRBestellposition bsposition = bsmahnung.getFlrbestellposition();

            rows[row][col++] = bsmahnung.getI_id();
            rows[row][col++] = bsmahnung.getMahnstufe_i_id().equals(new Integer(BSMahnwesenFac.MAHNSTUFE_0))
                    ? new Boolean(true)
                    : new Boolean(false);

            rows[row][col++] = bsmahnung.getFlrbestellung().getC_nr();
            rows[row][col++] = bsposition.getC_bezeichnung();

            rows[row][col++] = bsmahnung.getN_offenemenge();
            rows[row][col++] = bsmahnung.getFlrbestellung().getFlrlieferant().getFlrpartner()
                    .getC_name1nachnamefirmazeile1();
            rows[row][col++] = bsposition.getN_nettogesamtpreis().multiply(bsmahnung.getN_offenemenge());
            rows[row][col++] = bsmahnung.getFlrbestellung().getWaehrung_c_nr_bestellwaehrung();
            rows[row][col++] = bsmahnung.getMahnstufe_i_id();

            // in java.util.Date casten, darf kein java.sql.Date sein sonst
            // geht FLR Druck nicht.
            java.util.Date dUtilDate = null;
            if (bsmahnung.getD_mahndatum() instanceof java.sql.Date) {
                dUtilDate = new java.util.Date(bsmahnung.getD_mahndatum().getTime());
            } else {
                dUtilDate = bsmahnung.getD_mahndatum();
            }
            rows[row][col++] = dUtilDate;

            rows[row][col++] = new Boolean(bsmahnung.getT_gedruckt() != 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.LieferantenoptimierenHandler.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  ava2  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 = BestellvorschlagHandler.PAGE_SIZE;
        int startIndex = Math.max(rowIndex.intValue() - (pageSize / 2), 0);
        int endIndex = startIndex + pageSize - 1;

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

        Query query = session.createQuery(queryString);

        query.setFirstResult(startIndex);

        List<?> resultList = query.list();
        Iterator<?> resultListIterator = resultList.iterator();
        Object[][] rows = new Object[resultList.size() + 1][colCount];
        int row = 0;
        int col = 0;
        BigDecimal summe = new BigDecimal(0);

        while (resultListIterator.hasNext()) {

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

            FLRLieferantenoptimieren flrLieferantenoptimieren = (FLRLieferantenoptimieren) o[0];
            FLRBestellvorschlag bestellvorschlag = flrLieferantenoptimieren.getFlrbestellvorschlag();

            rows[row][col++] = bestellvorschlag.getI_id();

            if (o[1] != null) {
                rows[row][col++] = LocaleFac.STATUS_GESPERRT;
            } else {
                rows[row][col++] = null;
            }
            rows[row][col++] = bestellvorschlag.getFlrartikelliste().getC_nr();

            if (o[2] != null) {
                FLRArtikellistespr artikelspr = ((com.lp.server.artikel.fastlanereader.generated.FLRArtikellistespr) o[2]);
                rows[row][col++] = artikelspr.getC_bez();
                rows[row][col++] = artikelspr.getC_zbez();
            } else {
                rows[row][col++] = null;
                rows[row][col++] = null;
            }
            rows[row][col++] = bestellvorschlag.getN_zubestellendemenge();
            rows[row][col++] = bestellvorschlag.getFlrartikel().getEinheit_c_nr();

            BigDecimal nettopreisArtikellieferant = new BigDecimal(0);
            ArtikellieferantDto alDto = getArtikelFac().getArtikelEinkaufspreis(
                    flrLieferantenoptimieren.getArtikel_i_id(),
                    flrLieferantenoptimieren.getLieferant_i_id_artikellieferant(),
                    bestellvorschlag.getN_zubestellendemenge(), theClientDto.getSMandantenwaehrung(),
                    Helper.cutDate(new java.sql.Date(System.currentTimeMillis())), theClientDto);

            if (alDto != null) {

                if (alDto.getNNettopreis() != null) {
                    nettopreisArtikellieferant = alDto.getNNettopreis();
                }

                rows[row][col++] = alDto.getNNettopreis();
                rows[row][col++] = flrLieferantenoptimieren.getFlrartikellieferant()
                        .getI_wiederbeschaffungszeit();
                rows[row][col++] = alDto.getNFixkosten();
            } else {
                rows[row][col++] = null;
                rows[row][col++] = flrLieferantenoptimieren.getFlrartikellieferant()
                        .getI_wiederbeschaffungszeit();
                rows[row][col++] = null;
            }

            rows[row][col++] = flrLieferantenoptimieren.getFlrartikellieferant().getI_sort();

            if (!flrLieferantenoptimieren.getFlrartikellieferant().getLieferant_i_id()
                    .equals(flrLieferantenoptimieren.getFlrbestellvorschlag().getFlrlieferant().getI_id())) {
                rows[row][col++] = Color.GRAY;
            } else {
                summe = summe
                        .add(nettopreisArtikellieferant.multiply(bestellvorschlag.getN_zubestellendemenge()));
            }

            row++;
            col = 0;
        }
        // Zeile mit Summe hinzufuegen
        rows[row][6] = "Summe:";
        rows[row][7] = summe;

        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.MahngruppeHandler.java

License:Open Source License

public QueryResult getPageAt(Integer rowIndex) throws EJBExceptionLP {

    QueryResult result = null;/*from  www.  ja  va2 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 = 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();
            FLRMahngruppe status = (FLRMahngruppe) o[0];

            Iterator<?> sprsetIterator = status.getFlrartikelgruppe().getArtikelgruppesprset().iterator();
            rows[row][col++] = status.getArtgru_i_id();
            rows[row][col++] = status.getFlrartikelgruppe().getC_nr();
            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.bestellung.fastlanereader.NichtMehrBenoetigteBestellungenHandler.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.ja  v a 2s .co  m*/
 * @see UseCaseHandler#getPageAt(java.lang.Integer)
 * @param rowIndex
 *            Integer
 * @throws EJBExceptionLP
 * @return QueryResult
 */
public QueryResult getPageAt(Integer rowIndex) throws EJBExceptionLP {
    final String METHOD_NAME = "getPageAt";

    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;
        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();
            rows[row][col++] = wareneingang.getN_transportkosten();
            rows[row][col++] = wareneingang.getF_gemeinkostenfaktor();
            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.OffeneWEPosHandler.java

License:Open Source License

/**
 * gets the page of data for the specified row using the current
 * queryParameters.//from   w  w  w. j a va  2s  .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;
    String mandantCNr = theClientDto.getMandant();
    Locale locUI = theClientDto.getLocUi();

    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 = 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];
        String[] tooltipData = new String[resultList.size()];
        int row = 0;
        int col = 0;

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

        int iNachkommastellenMenge = getMandantFac().getNachkommastellenMenge(mandantCNr);

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

            FLRBestellpositionMitArtikelliste position = (FLRBestellpositionMitArtikelliste) o[0];
            rows[row][col++] = position.getI_id();
            rows[row][col++] = position.getT_uebersteuerterliefertermin();
            rows[row][col++] = position.getT_auftragsbestaetigungstermin();

            if (position.getFlrartikel() != null) {
                if (position.getFlrartikel().getArtikelart_c_nr().equals(ArtikelFac.ARTIKELART_HANDARTIKEL)) {
                    rows[row][col++] = null;
                } else {
                    rows[row][col++] = position.getFlrartikel().getC_nr();
                }
            } else {
                rows[row][col++] = null;
            }
            if (o[1] != null) {
                FLRArtikellistespr spr = (FLRArtikellistespr) o[1];
                rows[row][col++] = spr.getC_bez();
            } else {
                rows[row][col++] = position.getC_bezeichnung();
            }

            if (position.getN_offenemenge() != null) {
                rows[row][col++] = getUIObjectBigDecimalNachkommastellen(position.getN_offenemenge(),
                        iNachkommastellenMenge);
            } else {
                rows[row][col++] = getUIObjectBigDecimalNachkommastellen(position.getN_menge(),
                        iNachkommastellenMenge);
            }
            rows[row][col++] = position.getFlrbestellung().getC_nr();
            rows[row][col++] = position.getFlrbestellung().getFlrlieferant().getFlrpartner()
                    .getC_name1nachnamefirmazeile1();

            if (position.getFlrartikel() != null
                    && Helper.short2boolean(position.getFlrartikel().getB_seriennrtragend())) {
                rows[row][col++] = Color.GRAY;
            } else {
                rows[row][col++] = null;
            }

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

From source file:com.lp.server.eingangsrechnung.fastlanereader.EingangsrechnungartHandler.java

License:Open Source License

public QueryResult getPageAt(Integer rowIndex) throws EJBExceptionLP {
    QueryResult result = null;//  www  . j  a v  a 2  s  . c om
    SessionFactory factory = FLRSessionFactory.getFactory();
    Session session = null;
    try {
        int colCount = getTableInfo().getColumnClasses().length;
        int pageSize = EingangsrechnungartHandler.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()) {
            FLREingangsrechnungart eingangsrechnungart = (FLREingangsrechnungart) resultListIterator.next();
            rows[row][col++] = eingangsrechnungart.getC_nr();
            rows[row][col++] = getEingangsrechnungServiceFac().uebersetzeEingangsrechnungartOptimal(
                    eingangsrechnungart.getC_nr(), theClientDto.getLocUi(), theClientDto.getLocUi());
            row++;
            col = 0;
        }
        result = new QueryResult(rows, this.getRowCount(), startIndex, endIndex, 0);
    } catch (Exception e) {
        throw new EJBExceptionLP(EJBExceptionLP.FEHLER, e);
    } finally {
        try {
            session.close();
        } catch (HibernateException he) {
            throw new EJBExceptionLP(EJBExceptionLP.FEHLER, he);
        }
    }
    return result;
}