List of usage examples for org.hibernate Query setFirstResult
@Override
Query<R> setFirstResult(int startPosition);
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; }