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

License:Open Source License

public QueryResult getPageAt(Integer rowIndex) throws EJBExceptionLP {
    QueryResult result = null;//from w  w w  .  j a  va  2s.  c  o  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);
        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()) {
            FLRArtikel artikel = (FLRArtikel) resultListIterator.next();
            rows[row][col++] = artikel.getI_id();
            rows[row][col++] = artikel.getC_nr();
            rows[row++][col++] = artikel.getArtikelart_c_nr();
            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.ArtikelherstellerHandler.java

License:Open Source License

public QueryResult getPageAt(Integer rowIndex) throws EJBExceptionLP {
    QueryResult result = null;/*from   w w  w  .  jav a  2 s  . c  o m*/
    SessionFactory factory = FLRSessionFactory.getFactory();
    Session session = null;
    try {
        int colCount = this.getTableInfo().getColumnClasses().length;
        int pageSize = this.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()) {
            FLRHersteller hersteller = (FLRHersteller) resultListIterator.next();
            rows[row][col++] = hersteller.getI_id();
            rows[row][col++] = hersteller.getC_nr();
            rows[row++][col++] = hersteller.getFlrpartner() == null ? null
                    : hersteller.getFlrpartner().getC_name1nachnamefirmazeile1();
            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_FLR, he);
        }
    }
    return result;
}

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

License:Open Source License

public QueryResult getPageAt(Integer rowIndex) throws EJBExceptionLP {

    QueryResult result = null;/*from   w  w w .j  a va2 s.com*/
    SessionFactory factory = FLRSessionFactory.getFactory();
    Session session = null;
    try {
        int colCount = this.getTableInfo().getColumnClasses().length;
        int pageSize = ArtikelklaHandler.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();
            FLRArtikelklasse artikelklasse = (FLRArtikelklasse) o[0];
            Iterator<?> sprsetIterator = artikelklasse.getArtikelklassesprset().iterator();

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

            rows[row][col++] = artikelklasse.getFlrartikelklasse() == null ? null
                    : artikelklasse.getFlrartikelklasse().getC_nr();

            if (artikelklasse.getFlrartikelklasse() != null) {
                Iterator<?> sprsetIteratorV = artikelklasse.getFlrartikelklasse().getArtikelklassesprset()
                        .iterator();

                rows[row][col++] = findSpr(sLocUI, sprsetIteratorV);
            } else {
                rows[row][col++] = null;
            }

            rows[row][col++] = Helper.short2Boolean(artikelklasse.getB_tops());
            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.artikel.fastlanereader.ArtikelkommentarartHandler.java

License:Open Source License

/**
 * The information needed for the kundes table.
 * // w  w w .  jav  a2 s.c om
 * @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 = ArtikelkommentarartHandler.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();
            FLRArtikelkommentarart artikelkommentarart = (FLRArtikelkommentarart) o[0];

            Iterator<?> sprsetIterator = artikelkommentarart.getArtikelkommentarartsprset().iterator();

            rows[row][col++] = artikelkommentarart.getI_id();
            rows[row][col++] = artikelkommentarart.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.artikel.fastlanereader.ArtikelkommentarHandler.java

License:Open Source License

/**
 * The information needed for the kundes table.
 * //ww w  .  j  a  va  2 s .c om
 * @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()) {
            FLRArtikelkommentar artikelkommentar = (FLRArtikelkommentar) resultListIterator.next();
            rows[row][col++] = artikelkommentar.getI_id();
            rows[row][col++] = artikelkommentar.getFlrartikelkommentarart().getC_nr();
            rows[row][col++] = artikelkommentar.getDatenformat_c_nr();

            try {
                ArtikelkommentarsprDto dto = getArtikelkommentarFac()
                        .artikelkommentarsprFindByPrimaryKey(artikelkommentar.getI_id(), locale);

                if (dto != null) {
                    String sStrippedHTML = null;
                    if (dto.getXKommentar() != null) {
                        sStrippedHTML = Helper.strippHTML(dto.getXKommentar());
                    }
                    rows[row][col++] = sStrippedHTML;
                } else {
                    rows[row][col++] = null;
                }
            } catch (RemoteException ex) {
                rows[row][col++] = null;
            }
            rows[row][col++] = new Boolean(Helper.short2boolean(artikelkommentar.getB_defaultbild()));

            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.artikel.fastlanereader.ArtikellagerHandler.java

License:Open Source License

public QueryResult getPageAt(Integer rowIndex) throws EJBExceptionLP {
    QueryResult result = null;//from  ww w .j  a  va2s . 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);
        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()) {
            FLRArtikellager artikellager = (FLRArtikellager) resultListIterator.next();

            ArtikelDto artikleDto = getArtikelFac()
                    .artikelFindByPrimaryKey(artikellager.getCompId().getArtikel_i_id(), theClientDto);
            LagerDto lagerDto = getLagerFac().lagerFindByPrimaryKey(artikellager.getCompId().getLager_i_id());

            rows[row][col++] = artikellager.getCompId();
            rows[row][col++] = lagerDto.getCNr();
            rows[row][col++] = artikellager.getN_lagerstand();

            if (bDarfPreiseSehen) {
                rows[row][col++] = Helper.rundeKaufmaennisch(artikellager.getN_gestehungspreis(), 4);
            } else {
                rows[row][col++] = new BigDecimal(0);
            }

            double lagerwert = 0;
            lagerwert = artikellager.getN_lagerstand().doubleValue()
                    * artikellager.getN_gestehungspreis().doubleValue();

            if (Helper.short2boolean(artikleDto.getBLagerbewertet()) == true && bDarfPreiseSehen) {
                rows[row++][col++] = Helper.rundeKaufmaennisch(new java.math.BigDecimal(lagerwert), 4);
            } else {
                rows[row++][col++] = Helper.rundeKaufmaennisch(new java.math.BigDecimal(0), 4);
            }
            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_FLR, he);
        }
    }
    return result;
}

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

License:Open Source License

public QueryResult getPageAt(Integer rowIndex) throws EJBExceptionLP {
    QueryResult result = null;//  www.  ja v a  2  s  . 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);
        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()) {
            FLRArtikellagerplaetze lager = (FLRArtikellagerplaetze) resultListIterator.next();
            rows[row][col++] = lager.getI_id();
            rows[row][col++] = lager.getFlrlagerplatz().getC_lagerplatz();
            rows[row++][col++] = lager.getFlrlagerplatz().getFlrlager().getC_nr();
            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_FLR, he);
        }
    }
    return result;
}

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

License:Open Source License

public QueryResult getPageAt(Integer rowIndex) throws EJBExceptionLP {
    QueryResult result = null;/*www. j a  va  2  s.  c  o m*/
    SessionFactory factory = FLRSessionFactory.getFactory();
    Session session = null;
    try {
        int colCount = this.getTableInfo().getColumnClasses().length;
        int pageSize = this.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()) {
            FLRArtikellieferant artikellieferant = (FLRArtikellieferant) ((Object[]) resultListIterator
                    .next())[0];
            rows[row][col++] = artikellieferant.getI_id();
            rows[row][col++] = artikellieferant.getFlrlieferant().getFlrpartner()
                    .getC_name1nachnamefirmazeile1();

            com.lp.server.system.fastlanereader.generated.FLRLandplzort anschrift = artikellieferant
                    .getFlrlieferant().getFlrpartner().getFlrlandplzort();
            if (anschrift != null) {
                rows[row][col++] = anschrift.getFlrland().getC_lkz() + "-" + anschrift.getC_plz() + " "
                        + anschrift.getFlrort().getC_name();
            } else {
                rows[row][col++] = "";
            }

            ArtikelDto artikelDto = getArtikelFac()
                    .artikelFindByPrimaryKeySmall(artikellieferant.getArtikel_i_id(), theClientDto);

            if (bZentralerArtikelstamm == true) {
                rows[row][col++] = artikellieferant.getFlrlieferant().getMandant_c_nr();
            }

            if (bDarfPreiseSehen) {

                if (artikellieferant.getN_nettopreis() != null) {

                    rows[row][col++] = getLocaleFac().rechneUmInAndereWaehrungZuDatum(
                            artikellieferant.getN_nettopreis(),
                            artikellieferant.getFlrlieferant().getWaehrung_c_nr(),
                            theClientDto.getSMandantenwaehrung(), new Date(System.currentTimeMillis()),
                            theClientDto);
                } else {
                    rows[row][col++] = artikellieferant.getN_nettopreis();
                }

            } else {
                rows[row][col++] = new BigDecimal(0);
            }
            rows[row][col++] = theClientDto.getSMandantenwaehrung();
            rows[row][col++] = artikelDto.getEinheitCNr().trim();
            if (artikelDto.getEinheitCNrBestellung() != null && artikellieferant.getN_nettopreis() != null) {
                if (artikelDto.getNUmrechnungsfaktor().doubleValue() != 0) {

                    if (Helper.short2boolean(artikelDto.getbBestellmengeneinheitInvers())) {
                        rows[row][col++] = getLocaleFac()
                                .rechneUmInAndereWaehrungZuDatum(artikellieferant.getN_nettopreis(),
                                        artikellieferant.getFlrlieferant().getWaehrung_c_nr(),
                                        theClientDto.getSMandantenwaehrung(),
                                        new Date(System.currentTimeMillis()), theClientDto)
                                .multiply(artikelDto.getNUmrechnungsfaktor());
                    } else {
                        rows[row][col++] = getLocaleFac()
                                .rechneUmInAndereWaehrungZuDatum(artikellieferant.getN_nettopreis(),
                                        artikellieferant.getFlrlieferant().getWaehrung_c_nr(),
                                        theClientDto.getSMandantenwaehrung(),
                                        new Date(System.currentTimeMillis()), theClientDto)
                                .divide(artikelDto.getNUmrechnungsfaktor(), 4, BigDecimal.ROUND_HALF_EVEN);
                    }

                } else {
                    rows[row][col++] = new BigDecimal(0);
                }
                rows[row][col++] = theClientDto.getSMandantenwaehrung();
                rows[row][col++] = artikelDto.getEinheitCNrBestellung().trim();
            } else {
                rows[row][col++] = null;
                rows[row][col++] = null;
                rows[row][col++] = null;
            }
            rows[row][col++] = artikellieferant.getT_preisgueltigab();
            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_FLR, he);
        }
    }
    return result;
}

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

License:Open Source License

public QueryResult getPageAt(Integer rowIndex) throws EJBExceptionLP {
    QueryResult result = null;//from www .jav a 2  s .  c o m
    SessionFactory factory = FLRSessionFactory.getFactory();
    Session session = null;
    try {
        int colCount = this.getTableInfo().getColumnClasses().length;
        int pageSize = this.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()) {
            FLRArtikellieferantstaffel artikellieferantstaffel = (FLRArtikellieferantstaffel) resultListIterator
                    .next();

            ArtikelDto artikelDto = getArtikelFac().artikelFindByPrimaryKeySmall(
                    artikellieferantstaffel.getFlrartikellieferant().getArtikel_i_id(), theClientDto);

            rows[row][col++] = artikellieferantstaffel.getI_id();
            rows[row][col++] = Helper.rundeKaufmaennisch(artikellieferantstaffel.getN_menge(), 2);
            if (artikelDto.getEinheitCNrBestellung() != null) {

                if (Helper.short2boolean(artikelDto.getbBestellmengeneinheitInvers())) {
                    if (artikelDto.getNUmrechnungsfaktor().doubleValue() != 0) {
                        rows[row][col++] = Helper.rundeKaufmaennisch(artikellieferantstaffel.getN_menge()
                                .divide(artikelDto.getNUmrechnungsfaktor(), 2, BigDecimal.ROUND_HALF_EVEN), 2);
                    } else {
                        rows[row][col++] = new BigDecimal(0);
                    }
                } else {
                    rows[row][col++] = Helper.rundeKaufmaennisch(
                            artikellieferantstaffel.getN_menge().multiply(artikelDto.getNUmrechnungsfaktor()),
                            2);
                }

                // CK: Projekt 8019

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

            rows[row][col++] = getLocaleFac().rechneUmInAndereWaehrungZuDatum(
                    artikellieferantstaffel.getFlrartikellieferant().getN_einzelpreis(),
                    artikellieferantstaffel.getFlrartikellieferant().getFlrlieferant().getWaehrung_c_nr(),
                    theClientDto.getSMandantenwaehrung(), new Date(System.currentTimeMillis()), theClientDto);

            rows[row][col++] = Helper.rundeKaufmaennisch(
                    new java.math.BigDecimal(artikellieferantstaffel.getF_rabatt().doubleValue()), 2);
            rows[row][col++] = getLocaleFac().rechneUmInAndereWaehrungZuDatum(
                    artikellieferantstaffel.getN_nettopreis(),
                    artikellieferantstaffel.getFlrartikellieferant().getFlrlieferant().getWaehrung_c_nr(),
                    theClientDto.getSMandantenwaehrung(), new Date(System.currentTimeMillis()), theClientDto);

            rows[row][col++] = artikelDto.getEinheitCNr().trim();
            if (artikelDto.getEinheitCNrBestellung() != null
                    && artikellieferantstaffel.getN_nettopreis() != null) {
                if (artikelDto.getNUmrechnungsfaktor().doubleValue() != 0) {

                    if (Helper.short2boolean(artikelDto.getbBestellmengeneinheitInvers())) {

                        rows[row][col++] = getLocaleFac()
                                .rechneUmInAndereWaehrungZuDatum(artikellieferantstaffel.getN_nettopreis(),
                                        artikellieferantstaffel.getFlrartikellieferant().getFlrlieferant()
                                                .getWaehrung_c_nr(),
                                        theClientDto.getSMandantenwaehrung(),
                                        new Date(System.currentTimeMillis()), theClientDto)
                                .multiply(artikelDto.getNUmrechnungsfaktor());
                    } else {
                        rows[row][col++] = getLocaleFac()
                                .rechneUmInAndereWaehrungZuDatum(artikellieferantstaffel.getN_nettopreis(),
                                        artikellieferantstaffel.getFlrartikellieferant().getFlrlieferant()
                                                .getWaehrung_c_nr(),
                                        theClientDto.getSMandantenwaehrung(),
                                        new Date(System.currentTimeMillis()), theClientDto)
                                .divide(artikelDto.getNUmrechnungsfaktor(), 4, BigDecimal.ROUND_HALF_EVEN);
                    }
                } else {
                    rows[row][col++] = new BigDecimal(0);
                }
                rows[row][col++] = artikelDto.getEinheitCNrBestellung().trim();
            } else {
                rows[row][col++] = null;
                rows[row][col++] = null;
            }

            rows[row][col++] = artikellieferantstaffel.getT_preisgueltigab();
            rows[row++][col++] = artikellieferantstaffel.getT_preisgueltigbis() == null ? null
                    : artikellieferantstaffel.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_FLR, he);
        }
    }
    return result;
}

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

License:Open Source License

public QueryResult getPageAt(Integer rowIndex) throws EJBExceptionLP {

    QueryResult result = null;/*from   w  w w .j ava  2  s  . c  o  m*/
    SessionFactory factory = FLRSessionFactory.getFactory();
    Session session = null;

    Iterator resultListIterator = null;
    List resultList = 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();
        session = setFilter(session);

        String queryString = "SELECT artikelliste.i_id FROM FLRArtikelliste AS artikelliste "
                + " LEFT OUTER JOIN artikelliste.artikellagerset AS alager "
                + " LEFT OUTER JOIN artikelliste.flrgeometrie AS geo "
                + " LEFT OUTER JOIN artikelliste.artikellieferantset AS artikellieferantset "
                + " LEFT OUTER JOIN artikelliste.stuecklisten AS stuecklisten "
                + " LEFT OUTER JOIN artikelliste.artikelsprset AS aspr "
                + " LEFT OUTER JOIN artikelliste.flrartikelgruppe AS ag "
                + " LEFT OUTER JOIN artikelliste.flrartikelklasse AS ak " + this.buildWhereClause()
                + this.buildGroupByClause() + this.buildOrderByClause();

        Query query = session.createQuery(queryString);
        query.setFirstResult(startIndex);
        query.setMaxResults(pageSize);

        resultList = query.list();
        Object[][] rows = new Object[resultList.size()][colCount];

        Integer[] iIds = new Integer[resultList.size()];

        iIds = (Integer[]) resultList.toArray(iIds);

        String in = "";
        String inArtikel_i_id = "";

        HashMap hmRabattsatzFixpreis = new HashMap();
        HashMap hmPreisbasis = new HashMap();
        HashMap<Integer, String> hmKommentarTooltip = new HashMap<Integer, String>();

        if (resultList.size() > 0) {
            in = " AND artikelliste.i_id IN(";
            inArtikel_i_id = " pl.artikel_i_id IN(";
            String inKommentar = " ko.artikelkommentar.artikel_i_id IN(";

            for (int i = 0; i < iIds.length; i++) {
                if (i == iIds.length - 1) {
                    in += iIds[i];
                    inArtikel_i_id += iIds[i];
                    inKommentar += iIds[i];
                } else {
                    in += iIds[i] + ",";
                    inArtikel_i_id += iIds[i] + ",";
                    inKommentar += iIds[i] + ",";
                }
            }
            in += ") ";
            inArtikel_i_id += ") ";
            inKommentar += ") ";

            // String ins = StringUtils.join(iIds, ",") ;

            session.close();
            session = factory.openSession();
            session = setFilter(session);
            queryString = this.getFromClause() + this.buildWhereClause() + in + this.buildGroupByClause()
                    + this.buildOrderByClause();
            query = session.createQuery(queryString);
            resultList = query.list();

            Session sessionVkPreisBasis = factory.openSession();
            String rabattsatzFixpreis = "SELECT pl.artikel_i_id, pl.n_artikelstandardrabattsatz ,pl.n_artikelfixpreis FROM FLRVkpfartikelpreis AS pl  WHERE pl.vkpfartikelpreisliste_i_id="
                    + vkPreisliste + " AND " + inArtikel_i_id + "  ORDER BY t_preisgueltigab DESC ";
            Query queryRabattsatzFixpreis = sessionVkPreisBasis.createQuery(rabattsatzFixpreis);

            List resultListRabattsatzFixpreis = queryRabattsatzFixpreis.list();

            Iterator resultListIteratorRabattsatzFixpreis = resultListRabattsatzFixpreis.iterator();
            while (resultListIteratorRabattsatzFixpreis.hasNext()) {
                Object[] o = (Object[]) resultListIteratorRabattsatzFixpreis.next();
                if (!hmRabattsatzFixpreis.containsKey(o[0])) {
                    hmRabattsatzFixpreis.put(o[0], o);
                }

            }
            sessionVkPreisBasis.close();

            sessionVkPreisBasis = factory.openSession();
            String preisbasis;
            if (bVkPreisLief1preis) {
                preisbasis = "SELECT pl.artikel_i_id, pl.n_nettopreis FROM FLRArtikellieferant AS pl WHERE "
                        + inArtikel_i_id + " ORDER BY i_sort ASC ";
            } else {
                preisbasis = "SELECT pl.artikel_i_id, pl.n_verkaufspreisbasis FROM FLRVkpfartikelverkaufspreisbasis AS pl  WHERE "
                        + inArtikel_i_id + " AND t_verkaufspreisbasisgueltigab <='"
                        + Helper.formatDateWithSlashes(new java.sql.Date(System.currentTimeMillis())) + "'"
                        + "  ORDER BY t_verkaufspreisbasisgueltigab DESC ";
            }
            Query queryPreisbasis = sessionVkPreisBasis.createQuery(preisbasis);

            List resultListPreisbasis = queryPreisbasis.list();

            Iterator resultListIteratorPreisbasis = resultListPreisbasis.iterator();
            while (resultListIteratorPreisbasis.hasNext()) {
                Object[] o = (Object[]) resultListIteratorPreisbasis.next();
                if (!hmPreisbasis.containsKey(o[0])) {
                    hmPreisbasis.put(o[0], o[1]);
                }

            }
            sessionVkPreisBasis.close();

            // PJ18025
            sessionVkPreisBasis = factory.openSession();
            String kommentare = "SELECT ko.artikelkommentar.artikel_i_id, ko.x_kommentar, ko.artikelkommentar.flrartikelkommentarart.c_nr FROM FLRArtikelkommentarspr AS ko WHERE "
                    + inKommentar + " AND ko.locale='" + theClientDto.getLocUiAsString()
                    + "' AND ko.artikelkommentar.flrartikelkommentarart.b_tooltip=1 ";

            Query queryKommentare = sessionVkPreisBasis.createQuery(kommentare);

            List resultListKommentare = queryKommentare.list();

            Iterator resultListIteratorKommentare = resultListKommentare.iterator();
            while (resultListIteratorKommentare.hasNext()) {
                Object[] o = (Object[]) resultListIteratorKommentare.next();

                if (o[2] != null) {
                    String kommentar = "<b>" + (String) o[2] + ":</b>\n" + (String) o[1];

                    String kommentarVorhanden = "";
                    if (hmKommentarTooltip.containsKey(o[0])) {
                        kommentarVorhanden = hmKommentarTooltip.get(o[0]) + "<br><br>" + kommentar;
                    } else {
                        kommentarVorhanden = kommentar;
                    }

                    hmKommentarTooltip.put((Integer) o[0], kommentarVorhanden);
                }

            }
            sessionVkPreisBasis.close();

        }

        rows = new Object[resultList.size()][colCount];

        resultListIterator = resultList.iterator();

        int row = 0;

        String[] tooltipData = new String[resultList.size()];

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

            Object[] rowToAddCandidate = new Object[colCount];

            rowToAddCandidate[getTableColumnInformation().getViewIndex("i_id")] = o[0];
            rowToAddCandidate[getTableColumnInformation().getViewIndex("artikel.artikelnummerlang")] = o[1];
            rowToAddCandidate[getTableColumnInformation().getViewIndex("lp.stuecklistenart")] = o[13] != null
                    ? ((String) o[13]).trim()
                    : o[13];

            if (bKurzbezeichnungAnzeigen) {
                prepareKurzbezeichnung(o, rowToAddCandidate);
            }

            rowToAddCandidate[getTableColumnInformation().getViewIndex("bes.artikelbezeichnung")] = o[2];

            if (bAbmessungenStattZusatzbezeichnung || bArtikelgruppeStattZusatzbezeichnung) {
                if (bAbmessungenStattZusatzbezeichnung) {
                    prepareAbmessungen(o, rowToAddCandidate);
                } else {
                    prepareArtikelGruppeInAbmessung(o, rowToAddCandidate);
                }
            } else {
                rowToAddCandidate[getTableColumnInformation().getViewIndex("artikel.zusatzbez")] = o[6];
            }

            if (bArtikelgruppeAnzeigen) {
                prepareArtikelGruppe(o, rowToAddCandidate);
            } else {
                if (bArtikelklasseAnzeigen) {
                    prepareArtikelKlasse(o, rowToAddCandidate);
                }
            }

            if (bVkPreisStattGestpreis == true) {
                prepareVkPreis(hmRabattsatzFixpreis, hmPreisbasis, o, rowToAddCandidate);
            }

            if (o[4] != null && Helper.short2boolean((Short) o[5])) {
                rowToAddCandidate[getTableColumnInformation().getViewIndex("lp.lagerstand")] = o[3];
            } else {
                rowToAddCandidate[getTableColumnInformation().getViewIndex("lp.lagerstand")] = new BigDecimal(
                        0);
            }

            if (bLagerplaetzeAnzeigen) {
                prepareLagerplaetze((Integer) o[0], rowToAddCandidate);
            }

            if (bDarfPreiseSehen) {
                // Gestehungspreis holen
                BigDecimal gestehungspreis = (BigDecimal) o[4];
                if (gestehungspreis != null && ((BigDecimal) rowToAddCandidate[getTableColumnInformation()
                        .getViewIndex("lp.lagerstand")]).doubleValue() > 0) {
                    gestehungspreis = gestehungspreis.divide(
                            new BigDecimal(((BigDecimal) rowToAddCandidate[getTableColumnInformation()
                                    .getViewIndex("lp.lagerstand")]).doubleValue()),
                            4, BigDecimal.ROUND_HALF_EVEN);
                } else {
                    // Projekt 10870: WH: Wenn kein Gestpreis zustandekommt,
                    // dann Gestpreis des Hauptlagers anzeigen
                    if (Helper.short2boolean((Short) o[5]) && o[8] != null) {
                        gestehungspreis = (BigDecimal) o[8];
                    } else {
                        gestehungspreis = new BigDecimal(0);
                    }
                }
                if (bVkPreisStattGestpreis == false) {
                    rowToAddCandidate[getTableColumnInformation().getViewIndex("lp.preis")] = gestehungspreis;
                }
            } else {
                rowToAddCandidate[getTableColumnInformation().getViewIndex("lp.preis")] = new BigDecimal(0);
            }

            Long lAnzahlReklamationen = (Long) o[15];
            Boolean hatOffeneReklamationen = (lAnzahlReklamationen != null)
                    && lAnzahlReklamationen.intValue() > 0;

            FLRArtikelsperren as = (FLRArtikelsperren) o[7];

            if (as != null || hatOffeneReklamationen) {
                String gesperrt = null;

                if (as != null) {
                    gesperrt = as.getFlrsperren().getC_bez();
                }

                if (hatOffeneReklamationen) {
                    rowToAddCandidate[getTableColumnInformation()
                            .getViewIndex("Icon")] = getStatusMitUebersetzung(gesperrt,
                                    new java.sql.Timestamp(System.currentTimeMillis()), "R");
                } else {
                    rowToAddCandidate[getTableColumnInformation().getViewIndex("Icon")] = gesperrt;
                }

            }

            if (!Helper.short2boolean((Short) o[18])) {
                rowToAddCandidate[getTableColumnInformation().getViewIndex("Color")] = new Color(0, 0, 255);
            }

            rows[row] = rowToAddCandidate;

            // PJ18025
            String tooltip = (String) hmKommentarTooltip.get(o[0]);
            if (tooltip != null) {
                String text = tooltip;
                text = text.replaceAll("\n", "<br>");
                text = "<html>" + text + "</html>";
                tooltipData[row] = text;
            }

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