List of usage examples for org.hibernate.criterion Restrictions gt
public static SimpleExpression gt(String propertyName, Object value)
From source file:com.lm.lic.manager.hibernate.LicenseDAO.java
License:Open Source License
public Integer findNumInUseIsvLicenses(String isvId, String storeId, String platformId, Date startDate, Date endDate) {/*w w w . j ava 2s . c om*/ Integer numLics = 0; try { Long lisvid = Long.parseLong(isvId); Criteria criteria = getSession().createCriteria(License.class); criteria.add(Restrictions.eq("isv.id", lisvid)); criteria.add(Restrictions.eq("inUse", true)); criteria.add(Restrictions.eq("decom", false)); Criteria prodCriteria = null; if (StringUtils.hasText(storeId)) { Long lsid = Long.parseLong(storeId); prodCriteria = criteria.createCriteria("product"); prodCriteria.add(Restrictions.eq("listingStore.id", lsid)); } if (StringUtils.hasText(platformId)) { Long lfid = Long.parseLong(platformId); if (prodCriteria == null) prodCriteria = criteria.createCriteria("product"); prodCriteria.add(Restrictions.eq("platform.id", lfid)); } if (startDate != null && endDate != null) criteria.add(Restrictions.between(TIME_ACTIVATED, startDate, endDate)); else { if (startDate != null) criteria.add(Restrictions.gt(TIME_ACTIVATED, startDate)); if (endDate != null) criteria.add(Restrictions.lt(TIME_ACTIVATED, endDate)); } criteria.setProjection(Projections.rowCount()); numLics = (Integer) criteria.list().get(0); } catch (RuntimeException re) { log.error("find by property name failed", re); throw re; } return numLics; }
From source file:com.lm.lic.manager.hibernate.LicenseVerifIncidentDAO.java
License:Open Source License
@SuppressWarnings("unchecked") public List<LicenseVerifIncident> findIsvVerifs(Long isvId, String licType, String respType, Integer firstResult, Integer maxResults, String orderBy, String orderDir, Date startDate, Date endDate) {// ww w . j av a 2 s. c o m List<LicenseVerifIncident> rfls = null; try { Criteria mainCriteria = getSession().createCriteria(LicenseVerifIncident.class); mainCriteria.add(Restrictions.eq("isv.id", isvId)); Criteria prodCriteria = addEnabledUnDeletedProductCriteria(mainCriteria); addLicTypeRespTypeCrit(licType, respType, mainCriteria, prodCriteria); mainCriteria.setFirstResult(firstResult); mainCriteria.setMaxResults(maxResults); if (startDate != null && endDate != null) mainCriteria.add(Restrictions.between(TIME_REQUESTED, startDate, endDate)); else { if (startDate != null) mainCriteria.add(Restrictions.gt(TIME_REQUESTED, startDate)); if (endDate != null) mainCriteria.add(Restrictions.lt(TIME_REQUESTED, endDate)); } createOrderByFieldAliasIfApplicable(orderBy, orderDir, mainCriteria, prodCriteria); rfls = mainCriteria.list(); } catch (RuntimeException re) { log.error("find by property name failed", re); throw re; } return rfls; }
From source file:com.lm.lic.manager.hibernate.LicenseVerifIncidentDAO.java
License:Open Source License
public Integer findNumIsvVerifs(String isvId, String licType, String respType, Date startDate, Date endDate) { Integer numVerifs = 0;/*from ww w . j a v a 2s . c om*/ try { Long lisvid = Long.parseLong(isvId); Criteria mainCriteria = getSession().createCriteria(LicenseVerifIncident.class); mainCriteria.add(Restrictions.eq("isv.id", lisvid)); Criteria prodCriteria = mainCriteria.createCriteria("product"); prodCriteria.add(Restrictions.eq("deleted", false)); addLicTypeRespTypeCrit(licType, respType, mainCriteria, prodCriteria); if (startDate != null && endDate != null) mainCriteria.add(Restrictions.between(TIME_REQUESTED, startDate, endDate)); else { if (startDate != null) mainCriteria.add(Restrictions.gt(TIME_REQUESTED, startDate)); if (endDate != null) mainCriteria.add(Restrictions.lt(TIME_REQUESTED, endDate)); } mainCriteria.setProjection(Projections.rowCount()); numVerifs = (Integer) mainCriteria.list().get(0); } catch (RuntimeException re) { log.error("find by property name failed", re); throw re; } return numVerifs; }
From source file:com.lm.lic.manager.hibernate.LicenseVerifIncidentDAO.java
License:Open Source License
public Integer findNumProdVerifs(String prodId, String licType, String respType, Date startDate, Date endDate) { Integer numLics = 0;// w w w .jav a2s.co m try { Long lpid = Long.parseLong(prodId); Criteria mainCriteria = getSession().createCriteria(LicenseVerifIncident.class); mainCriteria.add(Restrictions.eq("product.id", lpid)); Criteria prodCriteria = mainCriteria.createCriteria("product"); prodCriteria.add(Restrictions.eq("deleted", false)); addLicTypeRespTypeCrit(licType, respType, mainCriteria, prodCriteria); if (startDate != null && endDate != null) mainCriteria.add(Restrictions.between(TIME_REQUESTED, startDate, endDate)); else { if (startDate != null) mainCriteria.add(Restrictions.gt(TIME_REQUESTED, startDate)); if (endDate != null) mainCriteria.add(Restrictions.lt(TIME_REQUESTED, endDate)); } mainCriteria.setProjection(Projections.rowCount()); numLics = (Integer) mainCriteria.list().get(0); } catch (RuntimeException re) { log.error("find by property name failed", re); throw re; } return numLics; }
From source file:com.lm.lic.manager.hibernate.LicenseVerifIncidentDAO.java
License:Open Source License
private void addLicTypeRespTypeCrit(String licType, String respType, Criteria mainCriteria, Criteria prodCriteria) {//from www . ja v a2 s .c om if (StringUtils.hasText(respType)) { if (respType.equals(LicenseVerificationStatus.YES_AUTHORIZED.value())) { Criterion afCrit = Restrictions.eq("verResp", LicenseVerificationStatus.AUTHORIZED_FOREVER.value()); Criterion apCrit = Restrictions.eq("verResp", LicenseVerificationStatus.AUTHORIZED_PERMANENT.value()); Criterion atCrit = Restrictions.eq("verResp", LicenseVerificationStatus.AUTHORIZED_TRIAL.value()); LogicalExpression orExp = Restrictions.or(afCrit, apCrit); orExp = Restrictions.or(orExp, atCrit); mainCriteria.add(orExp); } else mainCriteria.add(Restrictions.eq("verResp", respType)); } if (CoarseLicenseType.isForever(licType)) prodCriteria.add(Restrictions.gt("licLifeInDays", GenConst.YEAR_LIFE_LONG)); else if (CoarseLicenseType.isPermanent(licType)) prodCriteria.add(Restrictions.eq("licLifeInDays", GenConst.YEAR_LIFE_LONG)); else if (CoarseLicenseType.isTrial(licType)) prodCriteria.add(Restrictions.lt("licLifeInDays", GenConst.YEAR_LIFE_LONG)); }
From source file:com.lp.server.angebot.bl.AngebotUebersichtHandler.java
License:Open Source License
/** * Der Wert aller Angebote in Mandantenwaehrung, die lt. Belegdatum in einem * bestimmten Zeitraum angelegt wurden und deren Status != (Angelegt || * Storniert) ist. Optional kann auch nach einem bestimmten Vertreter * ausgewertet werden.// ww w. ja v a 2 s. co m * * @param gcBerechnungsdatumVonI * Belegdatum von * @param gcBerechnungsdatumBisI * Belegdatum bis * @param iIdVertreterI * der Vertreter, null erlaubt * @param iIndexSpaltentyp * fuer welche Spalte soll die Berechnung erfolgen * @param cNrUserI * der aktuelle Benutzer * @return BigDecimal der Gesamtwert in Mandantenwaehrung * @throws EJBExceptionLP * Ausnahme */ private BigDecimal getWertInMandantenwaehrung(GregorianCalendar gcBerechnungsdatumVonI, GregorianCalendar gcBerechnungsdatumBisI, Integer iIdVertreterI, int iIndexSpaltentyp, TheClientDto theClientDto) throws EJBExceptionLP { BigDecimal nGesamtwertInMandantenwaehrung = new BigDecimal(0); Session session = null; try { // System.out.println("Spaltentyp: " + iIndexSpaltentyp); // System.out.println("Von: " + // Helper.formatDatum(gcBerechnungsdatumVonI.getTime(), // getTheClient(sCurrentUser).getLocUi())); // System.out.println("Bis: " + // Helper.formatDatum(gcBerechnungsdatumBisI.getTime(), // getTheClient(sCurrentUser).getLocUi())); SessionFactory factory = FLRSessionFactory.getFactory(); session = factory.openSession(); // Criteria duerfen keine Texts oder Blobs enthalten! // Criteria anlegen Criteria critAngebotposition = session.createCriteria(FLRAngebotpositionReport.class); Criteria critAngebot = critAngebotposition .createCriteria(AngebotpositionFac.FLR_ANGEBOTPOSITION_FLRANGEBOT); // zuerst alle jene Einschraenkungen, die fuer alle Spaltentypen der // Uebersicht gelten critAngebot.add(Restrictions.eq("mandant_c_nr", theClientDto.getMandant())); if (iIdVertreterI != null) { critAngebot.add(Restrictions.eq(AngebotFac.FLR_ANGEBOT_VERTRETER_I_ID, iIdVertreterI)); } // UW 22.03.06 alle nicht alternativen Positionen mit positiver // Menge critAngebotposition.add(Restrictions.isNotNull(AngebotpositionFac.FLR_ANGEBOTPOSITION_N_MENGE)); critAngebotposition .add(Restrictions.gt(AngebotpositionFac.FLR_ANGEBOTPOSITION_N_MENGE, new BigDecimal(0))); critAngebotposition.add( Restrictions.eq(AngebotpositionFac.FLR_ANGEBOTPOSITION_B_ALTERNATIVE, new Short((short) 0))); // die folgenden Einschraenkungen sind vom Spaltentyp der Ubersicht // abhaengig // IDX_GESAMT: Basis ist Belegdatum, alle Angebote mit Status != // (Angelegt || Storniert) // IDX_OFFEN: Basis ist Belegdatum, alle Angebote mit Status Offen // IDX_OFFENTERMINBEWERTET: Basis ist Realisierungstermin, alle // Angebote mit Status offen; // der Wert wird jeweils mit der Auftragswahrscheinlichkeit // multipliziert // IDX_BESTELLT: Basis ist Belegdatum, Erledigungsgrund == Auftrag // erhalten if (iIndexSpaltentyp == IDX_GESAMT) { critAngebot.add(Restrictions.ne(AngebotFac.FLR_ANGEBOT_ANGEBOTSTATUS_C_NR, AngebotServiceFac.ANGEBOTSTATUS_ANGELEGT)); critAngebot.add(Restrictions.ne(AngebotFac.FLR_ANGEBOT_ANGEBOTSTATUS_C_NR, AngebotServiceFac.ANGEBOTSTATUS_STORNIERT)); } else if (iIndexSpaltentyp == IDX_OFFEN || iIndexSpaltentyp == IDX_OFFENTERMINBEWERTET) { critAngebot.add(Restrictions.eq(AngebotFac.FLR_ANGEBOT_ANGEBOTSTATUS_C_NR, AngebotServiceFac.ANGEBOTSTATUS_OFFEN)); } else if (iIndexSpaltentyp == IDX_BESTELLT) { critAngebot.add(Restrictions.eq(AngebotFac.FLR_ANGEBOT_ANGEBOTSTATUS_C_NR, AngebotServiceFac.ANGEBOTSTATUS_ERLEDIGT)); critAngebot.add(Restrictions.eq(AngebotFac.FLR_ANGEBOT_ANGEBOTERLEDIGUNGSGRUND_C_NR, AngebotServiceFac.ANGEBOTERLEDIGUNGSGRUND_AUFTRAGERHALTEN)); } if (iIndexSpaltentyp == IDX_GESAMT || iIndexSpaltentyp == IDX_OFFEN || iIndexSpaltentyp == IDX_BESTELLT) { if (gcBerechnungsdatumVonI.getTime() != null) { critAngebot.add( Restrictions.ge(AngebotFac.FLR_ANGEBOT_T_BELEGDATUM, gcBerechnungsdatumVonI.getTime())); } if (gcBerechnungsdatumBisI.getTime() != null) { critAngebot.add( Restrictions.lt(AngebotFac.FLR_ANGEBOT_T_BELEGDATUM, gcBerechnungsdatumBisI.getTime())); } } if (iIndexSpaltentyp == IDX_OFFENTERMINBEWERTET) { if (gcBerechnungsdatumVonI.getTime() != null) { critAngebot.add(Restrictions.ge(AngebotFac.FLR_ANGEBOT_T_REALISIERUNGSTERMIN, gcBerechnungsdatumVonI.getTime())); } if (gcBerechnungsdatumBisI.getTime() != null) { critAngebot.add(Restrictions.lt(AngebotFac.FLR_ANGEBOT_T_REALISIERUNGSTERMIN, gcBerechnungsdatumBisI.getTime())); } } List<?> list = critAngebotposition.list(); int iIndex = 0; Iterator<?> it = list.iterator(); while (it.hasNext()) { FLRAngebotpositionReport flrangebotposition = (FLRAngebotpositionReport) it.next(); // der Beitrag der einzelnen Position in Angebotswaehrung BigDecimal nBeitragDerPositionInAngebotswaehrung = flrangebotposition .getN_nettogesamtpreisplusversteckteraufschlagminusrabatte() .multiply(flrangebotposition.getN_menge()); BigDecimal nBeitragDerPositionInMandantenwaehrung = nBeitragDerPositionInAngebotswaehrung .multiply(Helper.getKehrwert(new BigDecimal(flrangebotposition.getFlrangebot() .getF_wechselkursmandantwaehrungzuangebotswaehrung().doubleValue()))); if (iIndexSpaltentyp == IDX_OFFENTERMINBEWERTET) { double dAuftragswahrscheinlichkeit = flrangebotposition.getFlrangebot() .getF_auftragswahrscheinlichkeit().doubleValue(); nBeitragDerPositionInMandantenwaehrung = nBeitragDerPositionInMandantenwaehrung .multiply(new BigDecimal(dAuftragswahrscheinlichkeit).movePointLeft(2)); } nBeitragDerPositionInMandantenwaehrung = Helper .rundeKaufmaennisch(nBeitragDerPositionInMandantenwaehrung, 4); checkNumberFormat(nBeitragDerPositionInMandantenwaehrung); nGesamtwertInMandantenwaehrung = nGesamtwertInMandantenwaehrung .add(nBeitragDerPositionInMandantenwaehrung); iIndex++; } } catch (Throwable t) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FLR, new Exception(t)); } finally { try { session.close(); } catch (HibernateException he) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_HIBERNATE, he); } } return nGesamtwertInMandantenwaehrung; }
From source file:com.lp.server.angebot.ejbfac.AngebotFacBean.java
License:Open Source License
/** * Ueber Hibernate alle berechnungsrelevanten Positionen eines Angebots * holen. <br>//from w ww .java2s . co m * Diese Methode muß innerhalb einer offenen Hibernate Session aufgerufen * werden. <br> * * @todo diese Methode muesste eigentlich in der AngebotpositionFac * sitzen... PJ 3790 * * @param sessionI * die Hibernate Session * @param iIdAngebotI * PK des Angebots * @param bNurMengenbehafteteI * nur mengenbehaftete Positionen beruecksichtigen * @param bNurPositiveMengenI * nur positive Mengen beruecksichtigen; wird bei * !bNurMengenbehafteteI nicht ausgewertet * @param bOhneAlternativenI * alternative Positionen werden nicht beruecksichtigt * @return FLRAngebotpositionReport[] die berechnungsrelevanten Positionen * @throws EJBExceptionLP * Ausnahme */ private FLRAngebotpositionReport[] holeAngebotpositionen(Session sessionI, Integer iIdAngebotI, boolean bNurMengenbehafteteI, boolean bNurPositiveMengenI, boolean bOhneAlternativenI) throws EJBExceptionLP { FLRAngebotpositionReport[] aFLRAngebotpositionReport = null; try { Criteria crit = sessionI.createCriteria(FLRAngebotpositionReport.class); crit.add(Restrictions.eq(AngebotpositionFac.FLR_ANGEBOTPOSITION_ANGEBOT_I_ID, iIdAngebotI)); if (bNurMengenbehafteteI) { crit.add(Restrictions.isNotNull(AngebotpositionFac.FLR_ANGEBOTPOSITION_N_MENGE)); if (bNurPositiveMengenI) { crit.add(Restrictions.gt(AngebotpositionFac.FLR_ANGEBOTPOSITION_N_MENGE, new BigDecimal(0))); } } // nur Positionen beruecksichtigen, die keine Alternative sind if (bOhneAlternativenI) { crit.add(Restrictions.eq(AngebotpositionFac.FLR_ANGEBOTPOSITION_B_ALTERNATIVE, new Short((short) 0))); } crit.addOrder(Order.asc("i_sort")); // Liste aller Positionen, die behandelt werden sollen List<?> list = crit.list(); aFLRAngebotpositionReport = new FLRAngebotpositionReport[list.size()]; aFLRAngebotpositionReport = (FLRAngebotpositionReport[]) list.toArray(aFLRAngebotpositionReport); } catch (HibernateException he) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_HIBERNATE, new Exception(he)); } catch (Throwable t) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER, new Exception(t)); } return aFLRAngebotpositionReport; }
From source file:com.lp.server.angebot.ejbfac.AngebotReportFacBean.java
License:Open Source License
/** * reportflr: 2 Diese Methode liefert eine Liste von allen * Angebotspositionen eines Mandanten, die nach den eingegebenen Kriterien * des Benutzers zusammengestellt wird. <br> * Achtung: Hibernate verwendet lazy initialization, d.h. der Zugriff auf * Collections muss innerhalb der Session erfolgen. * //from w w w. ja v a2 s .c om * @param kritDtoI * die Filter- und Sortierkriterien * @param cAktuellerReport * wird fuer alle und offene Angebote verwendet * @param theClientDto * der aktuelle Benutzer * @return ReportAngebotpositionDto[] die Liste aller Positionen. * @throws EJBExceptionLP * Ausnahme */ private ReportAngebotpositionJournalDto[] getListeAngebotpositionenJournal( ReportAngebotJournalKriterienDto kritDtoI, String erledigungsgrundCNr, String cAktuellerReport, TheClientDto theClientDto) throws EJBExceptionLP { ReportAngebotpositionJournalDto[] aResult = null; Session session = null; // es gilt das Locale des Benutzers Locale locDruck = theClientDto.getLocUi(); try { SessionFactory factory = FLRSessionFactory.getFactory(); session = factory.openSession(); // Criteria duerfen keine Texts oder Blobs enthalten! // Criteria anlegen fuer alle referenzierten Objekte anlegen Criteria crit = session.createCriteria(FLRAngebotpositionReport.class); Criteria critAngebot = crit.createCriteria(AngebotpositionFac.FLR_ANGEBOTPOSITION_FLRANGEBOT); // Einschraenken nach Mandant critAngebot.add(Restrictions.eq("mandant_c_nr", theClientDto.getMandant())); // Einschraenken nach Status if (cAktuellerReport.equals(AngebotReportFac.REPORT_ANGEBOT_JOURNAL_ALLE)) { if (kritDtoI.getBNurErledigteAngebote()) { critAngebot.add(Restrictions.eq(AngebotFac.FLR_ANGEBOT_ANGEBOTSTATUS_C_NR, AngebotServiceFac.ANGEBOTSTATUS_ERLEDIGT)); if (erledigungsgrundCNr != null) { critAngebot.add(Restrictions.eq(AngebotFac.FLR_ANGEBOT_ANGEBOTERLEDIGUNGSGRUND_C_NR, erledigungsgrundCNr)); } } else { // PJ 07/0011040 /* * critAngebot.add(Restrictions.ne( * AngebotFac.FLR_ANGEBOT_ANGEBOTSTATUS_C_NR, * AngebotServiceFac.ANGEBOTSTATUS_ANGELEGT)); */ critAngebot.add(Restrictions.ne(AngebotFac.FLR_ANGEBOT_ANGEBOTSTATUS_C_NR, AngebotServiceFac.ANGEBOTSTATUS_STORNIERT)); } } else if (cAktuellerReport.equals(AngebotReportFac.REPORT_ANGEBOT_JOURNAL_OFFENE)) { critAngebot.add(Restrictions.eq(AngebotFac.FLR_ANGEBOT_ANGEBOTSTATUS_C_NR, AngebotServiceFac.ANGEBOTSTATUS_OFFEN)); } // UW 22.03.06 alle nicht alternativen Positionen mit positiver // Menge crit.add(Restrictions.isNotNull(AngebotpositionFac.FLR_ANGEBOTPOSITION_N_MENGE)); crit.add(Restrictions.gt(AngebotpositionFac.FLR_ANGEBOTPOSITION_N_MENGE, new BigDecimal(0))); crit.add(Restrictions.eq(AngebotpositionFac.FLR_ANGEBOTPOSITION_B_ALTERNATIVE, new Short((short) 0))); // Einschraenkung nach einer bestimmten Kostenstelle if (kritDtoI.kostenstelleIId != null) { critAngebot .add(Restrictions.eq(AngebotFac.FLR_ANGEBOT_KOSTENSTELLE_I_ID, kritDtoI.kostenstelleIId)); } // Einschraenkung nach einem bestimmten Kunden if (kritDtoI.kundeIId != null) { critAngebot .add(Restrictions.eq(AngebotFac.FLR_ANGEBOT_KUNDE_I_ID_ANGEBOTSADRESSE, kritDtoI.kundeIId)); } // Einschraenkung nach einem bestimmten Vertreter if (kritDtoI.vertreterIId != null) { critAngebot.add(Restrictions.eq(AngebotFac.FLR_ANGEBOT_VERTRETER_I_ID, kritDtoI.vertreterIId)); } /* * // Belegdatum von bis: flrangebotposition > * flrangebot.t_belegdatum if (kritDtoI.dVon != null) { * critAngebot.add(Restrictions.ge( * AngebotFac.FLR_ANGEBOT_T_BELEGDATUM, kritDtoI.dVon)); } * * if (kritDtoI.dBis != null) { critAngebot.add(Restrictions.le( * AngebotFac.FLR_ANGEBOT_T_BELEGDATUM, kritDtoI.dBis)); } */ if (kritDtoI.dVon != null && kritDtoI.dBis != null) { Calendar cal = Calendar.getInstance(); Timestamp von = null; cal.setTimeInMillis(kritDtoI.dVon.getTime()); cal.set(Calendar.MINUTE, 0); cal.set(Calendar.SECOND, 0); cal.set(Calendar.HOUR_OF_DAY, 0); cal.set(Calendar.MILLISECOND, 0); von = new Timestamp(cal.getTimeInMillis()); Timestamp bis = null; cal.setTimeInMillis(kritDtoI.dBis.getTime()); cal.set(Calendar.MINUTE, 59); cal.set(Calendar.SECOND, 59); cal.set(Calendar.HOUR_OF_DAY, 23); bis = new Timestamp(cal.getTimeInMillis()); critAngebot.add(Restrictions.between(AngebotFac.FLR_ANGEBOT_T_BELEGDATUM, von, bis)); } // Einschraenkung nach Belegnummer von - bis LpBelegnummerFormat f = getBelegnummerGeneratorObj().getBelegnummernFormat(theClientDto.getMandant()); Integer iGeschaeftsjahr = getParameterFac().getGeschaeftsjahr(theClientDto.getMandant()); String sMandantKuerzel = getParameterFac().getMandantparameter(theClientDto.getMandant(), ParameterFac.KATEGORIE_ALLGEMEIN, ParameterFac.PARAMETER_BELEGNUMMER_MANDANTKENNUNG).getCWert(); if (kritDtoI.sBelegnummerVon != null) { critAngebot.add(Restrictions.ge("c_nr", HelperServer.getBelegnummernFilterForHibernateCriterias(f, iGeschaeftsjahr, sMandantKuerzel, kritDtoI.sBelegnummerVon))); } if (kritDtoI.sBelegnummerBis != null) { critAngebot.add(Restrictions.le("c_nr", HelperServer.getBelegnummernFilterForHibernateCriterias(f, iGeschaeftsjahr, sMandantKuerzel, kritDtoI.sBelegnummerBis))); } // Sortierung nach Kostenstelle ist immer die erste Sortierung if (kritDtoI.bSortiereNachKostenstelle) { critAngebot.createCriteria(AngebotFac.FLR_ANGEBOT_FLRKOSTENSTELLE).addOrder(Order.asc("c_nr")); } // Sortierung nach Kunde, eventuell innerhalb der Kostenstelle if (kritDtoI.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_PARTNER) { critAngebot.createCriteria(AngebotFac.FLR_ANGEBOT_FLRKUNDE).createCriteria(KundeFac.FLR_PARTNER) .addOrder(Order.asc(PartnerFac.FLR_PARTNER_NAME1NACHNAMEFIRMAZEILE1)); } // Sortierung nach Vertreter, eventuell innerhalb der Kostenstelle if (kritDtoI.iSortierung == ReportAngebotJournalKriterienDto.KRIT_SORT_NACH_VERTRETER) { critAngebot.createCriteria(AngebotFac.FLR_ANGEBOT_FLRVERTRETER) .addOrder(Order.asc(PersonalFac.FLR_PERSONAL_C_KURZZEICHEN)); } if (cAktuellerReport.equals(AngebotReportFac.REPORT_ANGEBOT_JOURNAL_ALLE)) { if (kritDtoI.getBNurErledigteAngebote()) { critAngebot.addOrder(Order.asc(AngebotFac.FLR_ANGEBOT_ANGEBOTERLEDIGUNGSGRUND_C_NR)); } else { critAngebot.addOrder(Order.asc("c_nr")); } } else { // es wird in jedem Fall nach der Belegnummer sortiert critAngebot.addOrder(Order.asc("c_nr")); } List<?> list = crit.list(); aResult = new ReportAngebotpositionJournalDto[list.size()]; int iIndex = 0; Iterator<?> it = list.iterator(); ReportAngebotpositionJournalDto reportDto = null; while (it.hasNext()) { FLRAngebotpositionReport flrangebotposition = (FLRAngebotpositionReport) it.next(); FLRAngebot flrangebot = flrangebotposition.getFlrangebot(); FLRArtikel flrartikel = flrangebotposition.getFlrartikel(); reportDto = new ReportAngebotpositionJournalDto(); reportDto.setIId(flrangebot.getI_id()); reportDto.setCNr(flrangebot.getC_nr()); if (flrangebot.getAngeboterledigungsgrund_c_nr() != null) { AngeboterledigungsgrundDto angeboterledigungsgrundDto = getAngebotServiceFac() .angeboterledigungsgrundFindByPrimaryKey(flrangebot.getAngeboterledigungsgrund_c_nr(), theClientDto); reportDto.setAngeboterledigungsgrundCNr(angeboterledigungsgrundDto.getBezeichnung()); } reportDto.setKundeCName1(flrangebot.getFlrkunde().getFlrpartner().getC_name1nachnamefirmazeile1()); reportDto.setKundeCName2(flrangebot.getFlrkunde().getFlrpartner().getC_name2vornamefirmazeile2()); reportDto.setKundeCName3(flrangebot.getFlrkunde().getFlrpartner().getC_name3vorname2abteilung()); reportDto.setKundeStrasse(flrangebot.getFlrkunde().getFlrpartner().getC_strasse()); if (flrangebot.getFlrkunde().getFlrpartner().getFlrlandplzort() != null) { reportDto.setKundePlz(flrangebot.getFlrkunde().getFlrpartner().getFlrlandplzort().getC_plz()); reportDto.setKundeLkz( flrangebot.getFlrkunde().getFlrpartner().getFlrlandplzort().getFlrland().getC_lkz()); reportDto.setKundeOrt( flrangebot.getFlrkunde().getFlrpartner().getFlrlandplzort().getFlrort().getC_name()); } reportDto.setKundeEmail(flrangebot.getFlrkunde().getFlrpartner().getC_email()); reportDto.setKundeFax(flrangebot.getFlrkunde().getFlrpartner().getC_fax()); reportDto.setKundeTelefon(flrangebot.getFlrkunde().getFlrpartner().getC_telefon()); AngebotDto angebotDto = getAngebotFac().angebotFindByPrimaryKey(flrangebot.getI_id(), theClientDto); if (angebotDto.getAnsprechpartnerIIdKunde() != null) { AnsprechpartnerDto ansprechpartnerDto = getAnsprechpartnerFac() .ansprechpartnerFindByPrimaryKey(angebotDto.getAnsprechpartnerIIdKunde(), theClientDto); reportDto.setAnsprechpartnerNachname( ansprechpartnerDto.getPartnerDto().getCName1nachnamefirmazeile1()); reportDto.setAnsprechpartnerVorname( ansprechpartnerDto.getPartnerDto().getCName2vornamefirmazeile2()); reportDto.setAnsprechpartnerAnrede(ansprechpartnerDto.getPartnerDto().getAnredeCNr()); reportDto.setAnsprechpartnerTitel(ansprechpartnerDto.getPartnerDto().getCTitel()); reportDto.setAnsprechpartnerFax(ansprechpartnerDto.getCDirektfax()); reportDto.setAnsprechpartnerFaxDw(ansprechpartnerDto.getCFax()); reportDto.setAnsprechpartnerTelefon(ansprechpartnerDto.getCHandy()); reportDto.setAnsprechpartnerTelefonDw(ansprechpartnerDto.getCTelefon()); reportDto.setAnsprechpartnerEmail(ansprechpartnerDto.getCEmail()); } reportDto.setKostenstelleCNr(flrangebot.getFlrkostenstelle().getC_nr()); reportDto.setVertreterCName1( getPersonalFac().personalFindByPrimaryKey(flrangebot.getVertreter_i_id(), theClientDto) .getPartnerDto().formatFixName2Name1()); reportDto.setProjektBez(flrangebot.getC_bez()); reportDto.setRealisierungstermin( Helper.formatDatum(flrangebot.getT_realisierungstermin(), theClientDto.getLocUi())); if (flrangebot.getAngeboterledigungsgrund_c_nr() != null) if (flrangebot.getAngeboterledigungsgrund_c_nr() .equals(AngebotServiceFac.ANGEBOTERLEDIGUNGSGRUND_AUFTRAGERHALTEN)) { AuftragDto[] auftrag = getAuftragFac().auftragFindByAngebotIId(flrangebot.getI_id(), theClientDto); if (auftrag != null && auftrag.length > 0) { reportDto.setErledigungsgrundABNr(auftrag[0].getCNr()); } } // UW 08.03.06 Es kann sich um eine Ident, Handeingabe oder // AGStueckliste handeln String identCNr = null; String identCBez = null; if (flrangebotposition.getAngebotpositionart_c_nr() .equals(AngebotServiceFac.ANGEBOTPOSITIONART_IDENT)) { identCNr = flrartikel.getC_nr(); identCBez = getArtikelFac().formatArtikelbezeichnungEinzeiligOhneExc(flrartikel.getI_id(), theClientDto.getLocUi()); } else if (flrangebotposition.getAngebotpositionart_c_nr() .equals(AngebotServiceFac.ANGEBOTPOSITIONART_AGSTUECKLISTE)) { identCBez = flrangebotposition.getFlragstkl().getC_bez(); } else if (flrangebotposition.getAngebotpositionart_c_nr() .equals(AngebotServiceFac.ANGEBOTPOSITIONART_HANDEINGABE)) { identCBez = getArtikelFac().formatArtikelbezeichnungEinzeiligOhneExc(flrartikel.getI_id(), theClientDto.getLocUi()); } reportDto.setArtikelCNr(identCNr); reportDto.setArtikelCBez(identCBez); reportDto.setNMenge(flrangebotposition.getN_menge()); reportDto.setEinheitCNr(flrangebotposition.getEinheit_c_nr() == null ? "" : flrangebotposition.getEinheit_c_nr().trim()); reportDto.setDAuftragwahrscheinlichkeit(flrangebot.getF_auftragswahrscheinlichkeit()); reportDto.setNWert(flrangebot.getN_gesamtangebotswertinangebotswaehrung()); // Umrechnen in Mandantenwaehrung, Positionspreise sind in // Belegwaehrung abgelegt BigDecimal nPreisAmDruck = flrangebotposition .getN_nettogesamtpreisplusversteckteraufschlagminusrabatte(); nPreisAmDruck = getBetragMalWechselkurs(nPreisAmDruck, Helper.getKehrwert(new BigDecimal( flrangebot.getF_wechselkursmandantwaehrungzuangebotswaehrung().doubleValue()))); reportDto.setNPreis(nPreisAmDruck); aResult[iIndex] = reportDto; iIndex++; } } catch (Throwable t) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FLR, new Exception(t)); } finally { try { session.close(); } catch (HibernateException he) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_HIBERNATE, he); } } return aResult; }
From source file:com.lp.server.angebot.ejbfac.AngebotReportFacBean.java
License:Open Source License
/** * Die Vorkalkulation eines Angebots drucken. <br> * Beruecksichtigt werden nur preisbehaftete Positionen. * // w w w.java 2 s . com * @param iIdAngebotI * PK des Angebots * @param theClientDto * der aktuelle Benutzer * @return JasperPrint der Druck * @throws EJBExceptionLP * Ausnahme */ public JasperPrintLP printAngebotVorkalkulation(Integer iIdAngebotI, TheClientDto theClientDto) throws EJBExceptionLP { JasperPrintLP oPrint = null; cAktuellerReport = AngebotReportFac.REPORT_VORKALKULATION; Session session = null; try { AngebotDto angebotDto = getAngebotFac().angebotFindByPrimaryKey(iIdAngebotI, theClientDto); // UW 29.03.06 Tiefe der Stuecklistenaufloeseung bestimmen ParametermandantDto parametermandantDto = getParameterFac().getMandantparameter( theClientDto.getMandant(), ParameterFac.KATEGORIE_ANGEBOT, ParameterFac.PARAMETER_ANGEBOT_AGVORKALK_STKL_AUFLOESUNG_TIEFE); ParametermandantDto parameterGestpreisBerechnung = null; parameterGestpreisBerechnung = (ParametermandantDto) getParameterFac().getMandantparameter( theClientDto.getMandant(), ParameterFac.KATEGORIE_ALLGEMEIN, ParameterFac.PARAMETER_GESTPREISBERECHNUNG_HAUPTLAGER); boolean bGestpreisberechnungHauptlager = ((Boolean) parameterGestpreisBerechnung.getCWertAsObject()) .booleanValue(); int iStuecklisteaufloesungTiefe = ((Integer) parametermandantDto.getCWertAsObject()).intValue(); session = FLRSessionFactory.getFactory().openSession(); Criteria crit = session.createCriteria(FLRAngebotpositionReport.class); crit.add(Restrictions.eq(AngebotpositionFac.FLR_ANGEBOTPOSITION_FLRANGEBOT + ".i_id", iIdAngebotI)); // UW 22.03.06 alle nicht alternativen Positionen mit positiver // Menge crit.add(Restrictions.isNotNull(AngebotpositionFac.FLR_ANGEBOTPOSITION_N_MENGE)); crit.add(Restrictions.gt(AngebotpositionFac.FLR_ANGEBOTPOSITION_N_MENGE, new BigDecimal(0))); crit.add(Restrictions.eq(AngebotpositionFac.FLR_ANGEBOTPOSITION_B_ALTERNATIVE, new Short((short) 0))); crit.addOrder(Order.asc(AngebotpositionFac.FLR_ANGEBOTPOSITION_I_SORT)); // Liste aller Positionen, die behandelt werden sollen List<?> list = crit.list(); Iterator itListe = list.iterator(); ArrayList<Object[]> alDaten = new ArrayList<Object[]>(); // Der Index der aktuell verarbeiteten Angebotposition, Index laeuft // ueber die Unterpositionen! int row = 0; while (itListe.hasNext()) { // iterieren ueber die row++; // gesamte Datenmatrix FLRAngebotpositionReport flrangebotposition = (FLRAngebotpositionReport) itListe.next(); if (flrangebotposition.getAngebotpositionart_c_nr() .equals(AngebotServiceFac.ANGEBOTPOSITIONART_IDENT)) { boolean bSetArtikel = false; StuecklisteDto stuecklisteDto = getStuecklisteFac() .stuecklisteFindByMandantCNrArtikelIIdOhneExc(flrangebotposition.getArtikel_i_id(), theClientDto); // wenn die aktuelle Artikelposition eine Stueckliste ist if (stuecklisteDto != null && stuecklisteDto.getStuecklisteartCNr() .equals(StuecklisteFac.STUECKLISTEART_SETARTIKEL)) { bSetArtikel = true; } // PJ15141 // zum Befuellen der Preisinformationen muss bekannt sein, // ob es Stuecklistenpositionen gibt StuecklisteInfoDto stuecklisteInfoDto = getStuecklisteFac().getStrukturdatenEinesArtikels( flrangebotposition.getArtikel_i_id(), false, null, // in die Rekursion mit einer // leeren Listen einsteigen 0, // in die Rekursion mit Ebene 0 // einsteigen iStuecklisteaufloesungTiefe, // alle // Stuecklisten // lt. // Parameter // aufloesen true, // Basis sind die Einheiten der // Stueckliste flrangebotposition.getN_menge(), // Basis // sind // n // Einheiten // der // Stueckliste false, // Fremdfertigung nicht aufloesen theClientDto); if (bSetArtikel == false && stuecklisteInfoDto.getIiAnzahlPositionen().intValue() > 0 && (!Helper.short2boolean(stuecklisteInfoDto.getBIstFremdfertigung()) || iStuecklisteaufloesungTiefe != 0)) { alDaten.add(befuelleZeileVKMitIdentMitSTKLAusAngebotposition(flrangebotposition, angebotDto.getTRealisierungstermin(), theClientDto)); if (stuecklisteInfoDto.getIiAnzahlPositionen().intValue() > 0) { ArrayList<?> alStuecklisteAufgeloest = stuecklisteInfoDto.getAlStuecklisteAufgeloest(); Iterator<?> it = alStuecklisteAufgeloest.iterator(); while (it.hasNext()) { alDaten.add(befuelleZeileVorkalkulationMitStuecklistenposition( flrangebotposition.getArtikel_i_id(), // eine // Zwischensumme // fuer den // uebergeordneten // Artikel // bilden "", (StuecklisteMitStrukturDto) it.next(), flrangebotposition.getFlrangebot().getWaehrung_c_nr_angebotswaehrung(), flrangebotposition.getN_menge(), flrangebotposition.getEinheit_c_nr(), iStuecklisteaufloesungTiefe, bGestpreisberechnungHauptlager, angebotDto.getTRealisierungstermin(), theClientDto)); } } } else { // UW 29.03.06 Eine STKL wird wie ein normaler Artikel // angedruckt, wenn... // ...es sich um eine Fremdfertigung handelt // ...es keine Positionen gibt // ...die gewuenschte Aufloesungstiefe lt. Parameter 0 // ist alDaten.add(befuelleZeileVKMitIdentOhneSTKLAusAngebotposition(flrangebotposition, angebotDto.getTRealisierungstermin(), theClientDto, angebotDto.getWaehrungCNr())); } // PJ 16216 StuecklisteDto stklDto = getStuecklisteFac().stuecklisteFindByMandantCNrArtikelIIdOhneExc( flrangebotposition.getArtikel_i_id(), theClientDto); if (stklDto != null && (!Helper.short2boolean(stklDto.getBFremdfertigung()) || iStuecklisteaufloesungTiefe != 0)) { StuecklistearbeitsplanDto[] stuecklistearbeitsplanDtos = getStuecklisteFac() .stuecklistearbeitsplanFindByStuecklisteIId(stklDto.getIId(), theClientDto); for (int i = 0; i < stuecklistearbeitsplanDtos.length; i++) { StuecklistearbeitsplanDto stuecklistearbeitsplanDto = stuecklistearbeitsplanDtos[i]; if (stklDto.getIErfassungsfaktor() != 0) { stuecklistearbeitsplanDto.setLStueckzeit(stuecklistearbeitsplanDto.getLStueckzeit() / stklDto.getIErfassungsfaktor()); } if (!Helper.short2boolean(stuecklistearbeitsplanDto.getBNurmaschinenzeit())) { alDaten.add(befuelleZeileVorkalkulationMitStuecklistearbeitsplan( flrangebotposition.getArtikel_i_id(), // eine // Zwischensumme // fuer den // uebergeordneten // Artikel // bilden "", stuecklistearbeitsplanDto, flrangebotposition.getFlrangebot().getWaehrung_c_nr_angebotswaehrung(), flrangebotposition.getN_menge(), flrangebotposition.getEinheit_c_nr(), iStuecklisteaufloesungTiefe, bGestpreisberechnungHauptlager, angebotDto.getTRealisierungstermin(), stklDto, theClientDto, false)); } if (stuecklistearbeitsplanDto.getMaschineIId() != null) { alDaten.add(befuelleZeileVorkalkulationMitStuecklistearbeitsplan( flrangebotposition.getArtikel_i_id(), // eine // Zwischensumme // fuer den // uebergeordneten // Artikel // bilden "", stuecklistearbeitsplanDto, flrangebotposition.getFlrangebot().getWaehrung_c_nr_angebotswaehrung(), flrangebotposition.getN_menge(), flrangebotposition.getEinheit_c_nr(), iStuecklisteaufloesungTiefe, bGestpreisberechnungHauptlager, angebotDto.getTRealisierungstermin(), stklDto, theClientDto, true)); } } } } else if (flrangebotposition.getAngebotpositionart_c_nr() .equals(AngebotServiceFac.ANGEBOTPOSITIONART_HANDEINGABE)) { alDaten.add(befuelleZeileVKMitHandAusAngebotposition(flrangebotposition, theClientDto)); } else if (flrangebotposition.getAngebotpositionart_c_nr() .equals(AngebotServiceFac.ANGEBOTPOSITIONART_AGSTUECKLISTE)) { // jede Zeile muss als INDEX_GRUPPE die AGSTKL cNr haben! alDaten.add(befuelleZeileVKMitAGSTKLPosition(flrangebotposition, theClientDto)); AgstklpositionDto[] aAgstklpositionDto = getAngebotstklpositionFac() .agstklpositionFindByAgstklIIdOhneExc(flrangebotposition.getAgstkl_i_id(), theClientDto); // Einrueckungsebene gegenueber der AGSTKL String cEinrueckung = " "; for (int j = 0; j < aAgstklpositionDto.length; j++) { // AGPosition ist dieselbe, aber die naechste Zeile // im data[][] befuellen ArtikelDto artikelDtoAgstklposition = getArtikelFac() .artikelFindByPrimaryKeySmall(aAgstklpositionDto[j].getArtikelIId(), theClientDto); if (artikelDtoAgstklposition.getArtikelartCNr().equals(ArtikelFac.ARTIKELART_HANDARTIKEL)) { alDaten.add(befuelleZeileVKMitHandAusAGSTKLPosition(aAgstklpositionDto[j], flrangebotposition.getN_menge(), flrangebotposition.getEinheit_c_nr(), theClientDto, cEinrueckung)); } else { // jeder Artikel koennte selbst wieder ein // Stueckliste mit Unterpositionen sein StuecklisteInfoDto stuecklisteInfoDto = getStuecklisteFac() .getStrukturdatenEinesArtikels(aAgstklpositionDto[j].getArtikelIId(), false, null, // in die Rekursion mit // einer // leeren Listen einsteigen 0, // in die Rekursion mit Ebene 0 // einsteigen iStuecklisteaufloesungTiefe, // alle // Stuecklisten // lt // . // Parameter // aufloesen true, // Basis sind die n Einheiten // der AGSTKL flrangebotposition.getN_menge() .multiply(aAgstklpositionDto[j].getNMenge()), // Basismenge false, // Fremdfertigung nicht // aufloesen theClientDto); // wenn die Identposition selbst eine echte STKL ist if (stuecklisteInfoDto.getIiAnzahlPositionen().intValue() > 0 && (!Helper.short2boolean(stuecklisteInfoDto.getBIstFremdfertigung()) || iStuecklisteaufloesungTiefe != 0)) { alDaten.add(befuelleZeileVKMitIdentMitSTKLAusAGSTKLPosition(aAgstklpositionDto[j], flrangebotposition.getN_menge(), flrangebotposition.getEinheit_c_nr(), angebotDto.getTRealisierungstermin(), theClientDto, cEinrueckung)); ArrayList<?> alStuecklisteAufgeloest = stuecklisteInfoDto .getAlStuecklisteAufgeloest(); Iterator<?> it = alStuecklisteAufgeloest.iterator(); while (it.hasNext()) { StuecklisteMitStrukturDto stuktDto = (StuecklisteMitStrukturDto) it.next(); alDaten.add(befuelleZeileVorkalkulationMitStuecklistenposition( flrangebotposition.getAgstkl_i_id(), cEinrueckung, stuktDto, flrangebotposition.getFlrangebot().getWaehrung_c_nr_angebotswaehrung(), aAgstklpositionDto[j].getNMenge(), aAgstklpositionDto[j].getEinheitCNr(), iStuecklisteaufloesungTiefe, bGestpreisberechnungHauptlager, angebotDto.getTRealisierungstermin(), theClientDto)); } } else { alDaten.add(befuelleZeileVKMitIdentOhneSTKLAusAGSTKLPosition(aAgstklpositionDto[j], flrangebotposition.getN_menge(), flrangebotposition.getEinheit_c_nr(), theClientDto, angebotDto.getTRealisierungstermin(), cEinrueckung)); } } } } } data = new Object[alDaten.size()][AngebotReportFac.REPORT_ANGEBOT_ANZAHL_SPALTEN]; data = (Object[][]) alDaten.toArray(data); // Erstellung des Report HashMap<String, Object> parameter = new HashMap<String, Object>(); // es gilt das Locale des Benutzers Locale locDruck = theClientDto.getLocUi(); KundeDto kundeDto = getKundeFac().kundeFindByPrimaryKey(angebotDto.getKundeIIdAngebotsadresse(), theClientDto); AnsprechpartnerDto ansprechpartnerDto = null; if (angebotDto.getAnsprechpartnerIIdKunde() != null) { ansprechpartnerDto = getAnsprechpartnerFac() .ansprechpartnerFindByPrimaryKey(angebotDto.getAnsprechpartnerIIdKunde(), theClientDto); } MandantDto mandantDto = getMandantFac().mandantFindByPrimaryKey(theClientDto.getMandant(), theClientDto); parameter.put(LPReport.P_ADRESSBLOCK, formatAdresseFuerAusdruck(kundeDto.getPartnerDto(), ansprechpartnerDto, mandantDto, locDruck)); parameter.put("P_ANGEBOTNUMMER", angebotDto.getCNr()); parameter.put("P_KOMMENTAR_INTERN", angebotDto.getXInternerkommentar()); parameter.put("P_KOMMENTAR_EXTERN", angebotDto.getXExternerkommentar()); parameter.put("P_ANGEBOTCBEZ", angebotDto.getCBez() != null ? angebotDto.getCBez() : ""); parameter.put("P_LIEFERART", getLocaleFac() .lieferartFindByIIdLocaleOhneExc(angebotDto.getLieferartIId(), locDruck, theClientDto)); // Lieferzeit in hinterlegter Einheit Integer iiLieferzeit = getAngebotServiceFac().getLieferzeitInAngeboteinheit(angebotDto.getIId(), angebotDto.getAngeboteinheitCNr(), theClientDto); parameter.put("P_ANGEBOTEINHEIT", getSystemFac().formatEinheit(angebotDto.getAngeboteinheitCNr(), locDruck, theClientDto)); parameter.put("P_LIEFERZEIT", iiLieferzeit); parameter.put("P_BELEGWAEHRUNG", angebotDto.getWaehrungCNr()); parameter.put("P_MANDANTENWAEHRUNG", theClientDto.getSMandantenwaehrung()); parameter.put("P_WECHSELKURSMANDANTZUBELEG", angebotDto.getFWechselkursmandantwaehrungzubelegwaehrung()); // das Zahlungsziel parameter.put("P_ZAHLUNGSZIEL", getMandantFac() .zahlungszielFindByIIdLocaleOhneExc(angebotDto.getZahlungszielIId(), locDruck, theClientDto)); parameter.put("P_BELEGDATUM", angebotDto.getTBelegdatum()); parameter.put("P_ANGEBOTSGUELTIGKEIT", angebotDto.getTAngebotsgueltigkeitbis()); parameter.put("P_ALLGEMEINERRABATT", angebotDto.getFAllgemeinerRabattsatz()); parameter.put("P_ALLGEMEINERRABATT_STRING", Helper.formatZahl(angebotDto.getFAllgemeinerRabattsatz(), locDruck)); parameter.put("P_PROJEKT_RABATT", angebotDto.getFProjektierungsrabattsatz()); parameter.put("P_PROJEKT_RABATT_STRING", Helper.formatZahl(angebotDto.getFProjektierungsrabattsatz(), locDruck)); parameter.put("P_VERSTECKTER_AUFSCHLAG", angebotDto.getFVersteckterAufschlag()); parameter.put("P_VERSTECKTER_AUFSCHLAG_STRING", Helper.formatZahl(angebotDto.getFVersteckterAufschlag(), locDruck)); parameter.put("P_REALISIERUNGSTERMIN", angebotDto.getTRealisierungstermin()); initJRDS(parameter, AngebotReportFac.REPORT_MODUL, AngebotReportFac.REPORT_VORKALKULATION, theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto); oPrint = getReportPrint(); } catch (RemoteException ex) { throwEJBExceptionLPRespectOld(ex); } finally { try { session.close(); } catch (HibernateException he) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_HIBERNATE, he); } } return oPrint; }
From source file:com.lp.server.angebot.ejbfac.AngebotReportFacBean.java
License:Open Source License
/** * Ueber Hibernate alle berechnungsrelevanten Positionen eines Angebots * holen. <br>// ww w .j a va 2s . c om * Diese Methode muß innerhalb einer offenen Hibernate Session aufgerufen * werden. <br> * * @todo diese Methode muesste eigentlich in der AngebotpositionFac * sitzen... PJ 3799 * * @param sessionI * die Hibernate Session * @param iIdAngebotI * PK des Angebots * @param bNurMengenbehafteteI * nur mengenbehaftete Positionen beruecksichtigen * @param bNurPositiveMengenI * nur positive Mengen beruecksichtigen; wird bei * !bNurMengenbehafteteI nicht ausgewertet * @param bOhneAlternativenI * alternative Positionen werden nicht beruecksichtigt * @return FLRAngebotpositionReport[] die berechnungsrelevanten Positionen * @throws EJBExceptionLP * Ausnahme */ private FLRAngebotpositionReport[] holeAngebotpositionen(Session sessionI, Integer iIdAngebotI, boolean bNurMengenbehafteteI, boolean bNurPositiveMengenI, boolean bOhneAlternativenI) throws EJBExceptionLP { FLRAngebotpositionReport[] aFLRAngebotpositionReport = null; try { Criteria crit = sessionI.createCriteria(FLRAngebotpositionReport.class); crit.add(Restrictions.eq(AngebotpositionFac.FLR_ANGEBOTPOSITION_ANGEBOT_I_ID, iIdAngebotI)); if (bNurMengenbehafteteI) { crit.add(Restrictions.isNotNull(AngebotpositionFac.FLR_ANGEBOTPOSITION_N_MENGE)); if (bNurPositiveMengenI) { crit.add(Restrictions.gt(AngebotpositionFac.FLR_ANGEBOTPOSITION_N_MENGE, new BigDecimal(0))); } } // nur Positionen beruecksichtigen, die keine Alternative sind if (bOhneAlternativenI) { crit.add(Restrictions.eq(AngebotpositionFac.FLR_ANGEBOTPOSITION_B_ALTERNATIVE, new Short((short) 0))); } crit.addOrder(Order.asc("i_sort")); // Liste aller Positionen, die behandelt werden sollen java.util.List<?> list = crit.list(); aFLRAngebotpositionReport = new FLRAngebotpositionReport[list.size()]; aFLRAngebotpositionReport = (FLRAngebotpositionReport[]) list.toArray(aFLRAngebotpositionReport); } catch (HibernateException he) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_HIBERNATE, new Exception(he)); } catch (Throwable t) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER, new Exception(t)); } return aFLRAngebotpositionReport; }