List of usage examples for org.hibernate Session enableFilter
Filter enableFilter(String filterName);
From source file:com.lp.server.bestellung.ejbfac.BestellvorschlagFacBean.java
License:Open Source License
public void erstelleBestellvorschlagAnhandStuecklistenmindestlagerstand(java.sql.Date dLiefertermin, TheClientDto theClientDto) {//from ww w. java2s. c o m loescheBestellvorlaegeEinesMandaten(theClientDto); SessionFactory factory = FLRSessionFactory.getFactory(); Session session = null; HashMap<Integer, BigDecimal> hmArtikel = new HashMap<Integer, BigDecimal>(); session = factory.openSession(); String queryString = "SELECT stkl,(SELECT count(*) FROM FLRStuecklisteposition AS pos WHERE pos.flrartikel.i_id=stkl.flrartikel.i_id ) as anzstklpos FROM FLRStueckliste AS stkl WHERE stkl.mandant_c_nr='" + theClientDto.getMandant() + "' AND stkl.flrartikel.f_lagermindest > 0"; String sLocUI = Helper.locale2String(theClientDto.getLocUi()); session.enableFilter("filterLocale").setParameter("paramLocale", sLocUI); org.hibernate.Query query = session.createQuery(queryString); List<?> resultList = query.list(); Iterator<?> resultListIterator = resultList.iterator(); while (resultListIterator.hasNext()) { Object[] o = (Object[]) resultListIterator.next(); FLRStueckliste flrStueckliste = (FLRStueckliste) o[0]; long iAzahlinVerwendung = 0; if (o[1] != null) { iAzahlinVerwendung = (Long) o[1]; } if (iAzahlinVerwendung == 0) { // Dann ists eine Wurzelstueckliste // Diese nun aufloesen List<?> m = null; try { m = getStuecklisteFac().getStrukturDatenEinerStueckliste(flrStueckliste.getI_id(), theClientDto, StuecklisteReportFac.REPORT_STUECKLISTE_OPTION_SORTIERUNG_OHNE, 0, null, true, true, new BigDecimal(flrStueckliste.getFlrartikel().getF_lagermindest()), null, false); } catch (RemoteException ex4) { throwEJBExceptionLPRespectOld(ex4); } Iterator<?> it = m.listIterator(); while (it.hasNext()) { StuecklisteMitStrukturDto struktur = (StuecklisteMitStrukturDto) it.next(); StuecklistepositionDto position = struktur.getStuecklistepositionDto(); BigDecimal nBedarf = position.getNZielmenge(); if (hmArtikel.containsKey(position.getArtikelIId())) { nBedarf = nBedarf.add(hmArtikel.get(position.getArtikelIId())); } hmArtikel.put(position.getArtikelIId(), nBedarf); } } } closeSession(session); // Nun alle Artikel, welche noch nicht in der Liste sind, und einen // Lagermindeststand haben, hinzufuegen session = factory.openSession(); queryString = "SELECT a, (SELECT stkl FROM FLRStueckliste AS stkl WHERE stkl.mandant_c_nr=a.mandant_c_nr AND stkl.artikel_i_id=a.i_id) FROM FLRArtikel AS a WHERE a.mandant_c_nr='" + theClientDto.getMandant() + "' AND a.f_lagermindest > 0 AND a.b_lagerbewirtschaftet=1"; query = session.createQuery(queryString); resultList = query.list(); resultListIterator = resultList.iterator(); while (resultListIterator.hasNext()) { Object[] o = (Object[]) resultListIterator.next(); FLRArtikel a = (FLRArtikel) o[0]; FLRStueckliste s = (FLRStueckliste) o[1]; if (!hmArtikel.containsKey(a.getI_id())) { if (s == null || Helper.short2boolean(s.getB_fremdfertigung()) == true) { hmArtikel.put(a.getI_id(), new BigDecimal(a.getF_lagermindest())); } } } closeSession(session); try { LagerDto[] lagerDto = getLagerFac().lagerFindByMandantCNr(theClientDto.getMandant()); Iterator<Integer> it = hmArtikel.keySet().iterator(); while (it.hasNext()) { Integer artikelIId = it.next(); ArtikelDto aDto = getArtikelFac().artikelFindByPrimaryKeySmall(artikelIId, theClientDto); if (Helper.short2boolean(aDto.getBLagerbewirtschaftet())) { BigDecimal nBedarf = hmArtikel.get(artikelIId); // Nun bei allen Artikel die // Lagerstaende/In-Fertigung/Bestellt // abziehen BigDecimal bdBestellt = getArtikelbestelltFac().getAnzahlBestellt(artikelIId); BigDecimal bdInFertigung = getFertigungFac().getAnzahlInFertigung(artikelIId, theClientDto); BigDecimal bdLagerstand = new BigDecimal(0); for (int j = 0; j < lagerDto.length; j++) { if (Helper.short2boolean(lagerDto[j].getBBestellvorschlag())) { bdLagerstand = bdLagerstand.add( getLagerFac().getLagerstand(artikelIId, lagerDto[j].getIId(), theClientDto)); } } // Wenn groesser 0, dann bestellen BigDecimal diff = nBedarf.subtract(bdBestellt).subtract(bdInFertigung).subtract(bdLagerstand); if (diff.doubleValue() > 0) { bestellvorschlagDtoErzeugen(null, theClientDto.getMandant(), artikelIId, null, null, new java.sql.Timestamp(dLiefertermin.getTime()), diff, null, theClientDto); } } } } catch (RemoteException e) { throwEJBExceptionLPRespectOld(e); } }
From source file:com.lp.server.bestellung.ejbfac.WareneingangFacBean.java
License:Open Source License
public Integer getAnzahlWEImZeitraum(Integer artikelIId, Timestamp tVon, Timestamp tBis, TheClientDto theClientDto) {/*from w w w . ja va2s. c o m*/ Session session = FLRSessionFactory.getFactory().openSession(); session.enableFilter("filterMandant").setParameter("paramMandant", theClientDto.getMandant()); session.enableFilter("filterLocale").setParameter("paramLocale", Helper.locale2String(theClientDto.getLocUi())); String queryString = "SELECT wep FROM FLRWareneingangspositionen wep WHERE wep.flrbestellposition.flrbestellung.bestellungstatus_c_nr<>'" + BestellungFac.BESTELLSTATUS_STORNIERT + "' AND wep.flrbestellposition.flrartikel.i_id=" + artikelIId; if (tVon != null) { queryString += " AND wep.flrwareneingang.t_wareneingansdatum >='" + Helper.formatDateWithSlashes(new java.sql.Date(tVon.getTime())) + "'"; } if (tBis != null) { queryString += " AND wep.flrwareneingang.t_wareneingansdatum <='" + Helper.formatDateWithSlashes(new java.sql.Date(tBis.getTime())) + "'"; } org.hibernate.Query query = session.createQuery(queryString); List<?> resultList = query.list(); int iAnzahl = resultList.size(); session.close(); return iAnzahl; }
From source file:com.lp.server.bestellung.ejbfac.WareneingangFacBean.java
License:Open Source License
@TransactionAttribute(TransactionAttributeType.NEVER) public void geliefertPreiseAllerWEPRueckpflegen(java.sql.Date dVon, java.sql.Date dBis, TheClientDto theClientDto) {/*from w ww. j av a 2s.c o m*/ Session session = FLRSessionFactory.getFactory().openSession(); session.enableFilter("filterMandant").setParameter("paramMandant", theClientDto.getMandant()); session.enableFilter("filterLocale").setParameter("paramLocale", Helper.locale2String(theClientDto.getLocUi())); String queryString = "SELECT wep FROM FLRWareneingangspositionen wep WHERE wep.flrbestellposition.flrbestellung.bestellungstatus_c_nr<>'" + BestellungFac.BESTELLSTATUS_STORNIERT + "' "; if (dVon != null) { queryString += " AND wep.flrwareneingang.t_wareneingansdatum >='" + Helper.formatDateWithSlashes(dVon) + "'"; } if (dBis != null) { queryString += " AND wep.flrwareneingang.t_wareneingansdatum <='" + Helper.formatDateWithSlashes(dBis) + "'"; } org.hibernate.Query query = session.createQuery(queryString); List<?> resultList = query.list(); Iterator it = resultList.iterator(); while (it.hasNext()) { FLRWareneingangspositionen wep = (FLRWareneingangspositionen) it.next(); if (wep.getN_gelieferterpreis() != null) { BestellpositionDto besPosDto = null; try { besPosDto = getBestellpositionFac() .bestellpositionFindByPrimaryKey(wep.getBestellposition_i_id()); } catch (RemoteException e) { throwEJBExceptionLPRespectOld(e); } besPosDto.setNNettogesamtpreis(wep.getN_gelieferterpreis()); // Rabatt berechnen // Rabatt berechnen BigDecimal rabattsatz = null; if (besPosDto.getNNettoeinzelpreis().doubleValue() != 0) { rabattsatz = new BigDecimal(1).subtract(wep.getN_gelieferterpreis() .divide(besPosDto.getNNettoeinzelpreis(), 4, BigDecimal.ROUND_HALF_EVEN)); rabattsatz = rabattsatz.multiply(new BigDecimal(100)); } else { rabattsatz = new BigDecimal(100); } besPosDto.setDRabattsatz(rabattsatz.doubleValue()); getBestellpositionFac().preispflege(besPosDto, BestellpositionFac.PREISPFLEGEARTIKELLIEFERANT_EINZELPREIS_RUECKPFLEGEN, null, theClientDto); } } }
From source file:com.lp.server.fertigung.ejbfac.FertigungReportFacBean.java
License:Open Source License
@TransactionAttribute(TransactionAttributeType.NEVER) public JasperPrintLP printRankingliste(TheClientDto theClientDto) { this.useCase = UC_RANKINGLISTE; this.index = -1; Map<String, Object> mapParameter = new TreeMap<String, Object>(); SessionFactory factory = FLRSessionFactory.getFactory(); Session session = factory.openSession(); session.enableFilter("filterMandant").setParameter("paramMandant", theClientDto.getMandant()); session.enableFilter("filterLocale").setParameter("paramLocale", Helper.locale2String(theClientDto.getLocUi())); ZusatzstatusDto zusatzstatusDto = null; try {/* w ww .jav a 2s .co m*/ ParametermandantDto parametermandantDto = getParameterFac().getMandantparameter( theClientDto.getMandant(), ParameterFac.KATEGORIE_FERTIGUNG, ParameterFac.PARAMETER_RANKINGLISTE_ZUSATZSTATUS); if (((java.lang.Integer) parametermandantDto.getCWertAsObject()) != null) { zusatzstatusDto = getFertigungFac() .zusatzstatusFindByPrimaryKey((java.lang.Integer) parametermandantDto.getCWertAsObject()); } } catch (RemoteException ex1) { throwEJBExceptionLPRespectOld(ex1); } String query = "SELECT a.flrartikel.i_id,a.flrartikel.c_nr, sum(a.n_menge), (SELECT s.i_id FROM FLRStueckliste s WHERE s.artikel_i_id=a.flrartikel.i_id AND a.flrartikel.mandant_c_nr='" + theClientDto.getMandant() + "') AS stkl_i_id , (SELECT COUNT(*) FROM FLRStuecklisteposition sp WHERE sp.flrartikel.i_id=a.flrartikel.i_id ), (SELECT SUM(fm.n_menge) FROM FLRFehlmenge fm WHERE fm.flrartikel.i_id=a.flrartikel.i_id ), (SELECT SUM(al.n_lagerstand) FROM FLRArtikellager al WHERE al.compId.artikel_i_id=a.flrartikel.i_id ), (SELECT spr.c_bez FROM FLRArtikellistespr spr WHERE spr.Id.artikelliste=a.flrartikel.i_id AND spr.Id.locale='" + theClientDto.getLocUiAsString() + "') FROM FLRArtikelreservierung a WHERE a.flrartikel.mandant_c_nr='" + theClientDto.getMandant() + "' GROUP BY a.flrartikel.i_id,a.flrartikel.mandant_c_nr,a.flrartikel.c_nr ORDER BY a.flrartikel.c_nr ASC"; Query qResult = session.createQuery(query); List<?> results = qResult.list(); ArrayList<Object[]> alDaten = new ArrayList<Object[]>(); Iterator<?> resultListIterator = results.iterator(); while (resultListIterator.hasNext()) { Object[] o = (Object[]) resultListIterator.next(); Object[] oZeile = new Object[11]; BigDecimal bdReserviert = (BigDecimal) o[2]; if (bdReserviert == null) { bdReserviert = new BigDecimal(0.00); } BigDecimal bdLagerstand = (BigDecimal) o[6]; if (bdLagerstand == null) { bdLagerstand = new BigDecimal(0.00); } BigDecimal bdFehlmengen = (BigDecimal) o[5]; if (bdFehlmengen == null) { bdFehlmengen = new BigDecimal(0.00); } if (o[3] != null) { Session session2 = factory.openSession(); String subQuery = "SELECT l.c_nr,partner.c_name1nachnamefirmazeile1, l.t_produktionsbeginn, l.n_losgroesse, " + " (SELECT SUM(abl.n_menge) FROM FLRLosablieferung abl WHERE abl.los_i_id=l.i_id), " + " (SELECT SUM(sa.n_gesamtzeit) FROM FLRLossollarbeitsplan sa WHERE sa.los_i_id=l.i_id), " + "(SELECT ls.i_id FROM FLRLoszusatzstatus ls WHERE ls.los_i_id=l.i_id AND ls.zusatzstatus_i_id=" + zusatzstatusDto.getIId() + ") , fg.c_bez, l.flrstueckliste.flrartikel.c_nr " + " FROM FLRLosReport l LEFT JOIN l.flrauftrag.flrkunde.flrpartner AS partner LEFT JOIN l.flrfertigungsgruppe AS fg WHERE l.flrstueckliste.i_id=" + o[3] + " AND l.status_c_nr IN ('" + FertigungFac.STATUS_AUSGEGEBEN + "','" + FertigungFac.STATUS_IN_PRODUKTION + "') ORDER BY l.t_produktionsbeginn ASC "; Query subResult = session2.createQuery(subQuery); List<?> subResults = subResult.list(); Iterator<?> subResultListIterator = subResults.iterator(); while (subResultListIterator.hasNext()) { Object[] flrLosReport = (Object[]) subResultListIterator.next(); oZeile = new Object[11]; oZeile[RANKINGLISTE_LOSNR] = flrLosReport[0]; oZeile[RANKINGLISTE_LOSBEGINNTERMIN] = flrLosReport[2]; BigDecimal offeneMenge = new BigDecimal(0.00); BigDecimal losgroesse = (BigDecimal) flrLosReport[3]; BigDecimal summeAblieferungen = (BigDecimal) flrLosReport[4]; if (summeAblieferungen == null) { summeAblieferungen = new BigDecimal(0.00); } offeneMenge = losgroesse.subtract(summeAblieferungen); oZeile[RANKINGLISTE_OFFENELOSMENGE] = offeneMenge; if (offeneMenge.doubleValue() > 0) { BigDecimal gesamt = (BigDecimal) flrLosReport[5]; if (gesamt == null) { gesamt = new BigDecimal(0.00); } oZeile[RANKINGLISTE_SOLLZEIT] = gesamt.divide(losgroesse, 4, BigDecimal.ROUND_HALF_EVEN) .multiply(offeneMenge); // Unterstueckliste? if (o[4] != null && ((Long) o[4]).intValue() > 0) { oZeile[RANKINGLISTE_INFO_U] = new Boolean(true); } else { oZeile[RANKINGLISTE_INFO_U] = new Boolean(false); } if (bdReserviert.add(bdFehlmengen).doubleValue() > bdLagerstand.doubleValue()) { oZeile[RANKINGLISTE_INFO_L] = new Boolean(true); } else { oZeile[RANKINGLISTE_INFO_L] = new Boolean(false); } if (flrLosReport[7] != null) { oZeile[RANKINGLISTE_FERTIGUNGSGRUPPE] = flrLosReport[7]; } else { oZeile[RANKINGLISTE_FERTIGUNGSGRUPPE] = ""; } oZeile[RANKINGLISTE_ARTIKELNUMMER] = flrLosReport[8]; oZeile[RANKINGLISTE_ARTIKELBEZEICHNUNG] = o[7]; oZeile[RANKINGLISTE_KUNDE] = flrLosReport[1]; if (flrLosReport[6] != null) { oZeile[RANKINGLISTE_INFO_K] = new Boolean(true); } else { // nix gefunden oZeile[RANKINGLISTE_INFO_K] = new Boolean(false); } alDaten.add(oZeile); oZeile = new Object[11]; } } session2.close(); } } session.close(); // Nach Fertigungsgruppe sortieren for (int k = alDaten.size() - 1; k > 0; --k) { for (int j = 0; j < k; ++j) { Object[] a1 = (Object[]) alDaten.get(j); Object[] a2 = (Object[]) alDaten.get(j + 1); String s1 = Helper.fitString2Length((String) a1[RANKINGLISTE_FERTIGUNGSGRUPPE], 40, ' ') + a1[RANKINGLISTE_LOSBEGINNTERMIN]; String s2 = Helper.fitString2Length((String) a2[RANKINGLISTE_FERTIGUNGSGRUPPE], 40, ' ') + a2[RANKINGLISTE_LOSBEGINNTERMIN]; if (s1.compareTo(s2) > 0) { alDaten.set(j, a2); alDaten.set(j + 1, a1); } } } data = new Object[alDaten.size()][12]; data = (Object[][]) alDaten.toArray(data); initJRDS(mapParameter, FertigungReportFac.REPORT_MODUL, FertigungReportFac.REPORT_RANKINGLISTE, theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto); return getReportPrint(); }
From source file:com.lp.server.fertigung.ejbfac.FertigungReportFacBean.java
License:Open Source License
@TransactionAttribute(TransactionAttributeType.NEVER) public JasperPrintLP printMonatsauswertung(java.sql.Timestamp tVon, java.sql.Timestamp tBis, boolean bVerdichtet, TheClientDto theClientDto) { this.useCase = UC_MONATSAUSWERTUNG; this.index = -1; Map<String, Object> mapParameter = new TreeMap<String, Object>(); // Zuerst Alle Lose Ohne Kunden SessionFactory factory = FLRSessionFactory.getFactory(); Session session = factory.openSession(); session.enableFilter("filterMandant").setParameter("paramMandant", theClientDto.getMandant()); session.enableFilter("filterLocale").setParameter("paramLocale", Helper.locale2String(theClientDto.getLocUi())); String query = "SELECT l, (SELECT SUM(s.n_gesamtzeit) FROM FLRLossollarbeitsplan s WHERE s.los_i_id=l.i_id) FROM FLRLosReport l LEFT OUTER JOIN l.flrauftrag a LEFT OUTER JOIN l.flrauftrag.flrkunde.flrpartner p WHERE l.mandant_c_nr='" + theClientDto.getMandant() + "' " + " AND l.status_c_nr ='" + LocaleFac.STATUS_ERLEDIGT + "' AND (l.t_manuellerledigt>='" + Helper.formatDateWithSlashes(new java.sql.Date(tVon.getTime())) + "' OR l.t_erledigt>='" + Helper.formatDateWithSlashes(new java.sql.Date(tVon.getTime())) + "')" + " AND (l.t_manuellerledigt<='" + Helper.formatDateWithSlashes(new java.sql.Date(tBis.getTime())) + "' OR l.t_erledigt<='" + Helper.formatDateWithSlashes(new java.sql.Date(tBis.getTime())) + "') ORDER BY l.flrfertigungsgruppe.c_bez,p.c_name1nachnamefirmazeile1, a.c_nr, l.c_nr"; mapParameter.put("P_VERDICHTET", new Boolean(bVerdichtet)); mapParameter.put("P_VON", Helper.cutTimestamp(tVon)); mapParameter.put("P_BIS", new Timestamp(tBis.getTime() - 3600000 * 24)); Query qResult = session.createQuery(query); // qResult.setMaxResults(50); List<?> results = qResult.list(); ArrayList<LosMonatsauswertungDto> alDaten = new ArrayList<LosMonatsauswertungDto>(); int k = 0;// w ww . j ava 2 s . c o m Iterator<?> resultListIterator = results.iterator(); while (resultListIterator.hasNext()) { Object[] o = (Object[]) resultListIterator.next(); FLRLosReport flrLosReport = (FLRLosReport) o[0]; k++; LosMonatsauswertungDto losMonatsauswertungDto = new LosMonatsauswertungDto(); losMonatsauswertungDto.setSFertigungsgruppe(flrLosReport.getFlrfertigungsgruppe().getC_bez()); losMonatsauswertungDto.setSLosnummer(flrLosReport.getC_nr()); // Sollzeit/Istzeit BigDecimal sollzeit = new BigDecimal(0.0000); if (o[1] != null) { sollzeit = (BigDecimal) o[1]; } losMonatsauswertungDto.setNSollzeit(sollzeit); Double zeiten = new Double(0); try { zeiten = getZeiterfassungFac().getSummeZeitenEinesBeleges(LocaleFac.BELEGART_LOS, flrLosReport.getI_id(), null, null, null, null, theClientDto); } catch (RemoteException ex) { throwEJBExceptionLPRespectOld(ex); } BigDecimal istzeit = new BigDecimal(zeiten.doubleValue()); losMonatsauswertungDto.setNIstZeit(istzeit); losMonatsauswertungDto.setNLosgroesse(flrLosReport.getN_losgroesse()); if (flrLosReport.getF_bewertung() != null) { BigDecimal abw = sollzeit.subtract(istzeit) .multiply(new BigDecimal(flrLosReport.getF_bewertung().doubleValue())); abw = abw.divide(new BigDecimal(100), 4, BigDecimal.ROUND_HALF_EVEN); losMonatsauswertungDto.setNAbweichung(abw); losMonatsauswertungDto.setFBewertung(flrLosReport.getF_bewertung()); } else { losMonatsauswertungDto.setNAbweichung(sollzeit.subtract(istzeit)); } if (flrLosReport.getFlrstueckliste() == null) { if (flrLosReport.getC_projekt() != null) { losMonatsauswertungDto.setArtikelnummer(flrLosReport.getC_projekt()); } else { losMonatsauswertungDto.setArtikelnummer(""); } } else { losMonatsauswertungDto.setArtikelnummer(flrLosReport.getFlrstueckliste().getFlrartikel().getC_nr()); ArtikelDto artikelDto = getArtikelFac().artikelFindByPrimaryKeySmall( flrLosReport.getFlrstueckliste().getFlrartikel().getI_id(), theClientDto); losMonatsauswertungDto.setArtikelbezeichnung(artikelDto.formatBezeichnung()); } if (flrLosReport.getFlrauftrag() == null) { if (flrLosReport.getFlrkunde() != null) { String kunde = flrLosReport.getFlrkunde().getFlrpartner().getC_name1nachnamefirmazeile1(); losMonatsauswertungDto.setSKunde(kunde); } else { losMonatsauswertungDto.setSKunde(""); } } else { String kunde = flrLosReport.getFlrauftrag().getFlrkunde().getFlrpartner() .getC_name1nachnamefirmazeile1(); losMonatsauswertungDto.setSKunde(kunde); } alDaten.add(losMonatsauswertungDto); } session.close(); data = new Object[alDaten.size()][MONATSAUSWERTUNG_ANZAHL_FELDER]; int i = 0; Iterator<LosMonatsauswertungDto> it = alDaten.iterator(); while (it.hasNext()) { LosMonatsauswertungDto losMonatsauswertungDto = (LosMonatsauswertungDto) it.next(); data[i][MONATSAUSWERTUNG_ARTIKELNUMMER] = losMonatsauswertungDto.getArtikelnummer(); data[i][MONATSAUSWERTUNG_BEZEICHNUNG] = losMonatsauswertungDto.getArtikelbezeichnung(); data[i][MONATSAUSWERTUNG_KUNDE] = losMonatsauswertungDto.getSKunde(); data[i][MONATSAUSWERTUNG_ISTZEIT] = losMonatsauswertungDto.getNIstZeit(); data[i][MONATSAUSWERTUNG_SOLLZEIT] = losMonatsauswertungDto.getNSollzeit(); data[i][MONATSAUSWERTUNG_ABWEICHUNG] = losMonatsauswertungDto.getNAbweichung(); data[i][MONATSAUSWERTUNG_LOSGROESSE] = losMonatsauswertungDto.getNLosgroesse(); data[i][MONATSAUSWERTUNG_FERTIGUNGSGRUPPE] = losMonatsauswertungDto.getSFertigungsgruppe(); data[i][MONATSAUSWERTUNG_LOSNUMMER] = losMonatsauswertungDto.getSLosnummer(); data[i][MONATSAUSWERTUNG_BEWERTUNG] = losMonatsauswertungDto.getFBewertung(); i++; } // Nochmals sortieren for (int m = data.length - 1; m > 0; --m) { for (int j = 0; j < m; ++j) { Object[] a1 = (Object[]) data[j]; Object[] a2 = (Object[]) data[j + 1]; if (((String) a1[MONATSAUSWERTUNG_FERTIGUNGSGRUPPE]) .compareTo((String) a2[MONATSAUSWERTUNG_FERTIGUNGSGRUPPE]) > 0) { data[j] = a2; data[j + 1] = a1; } else if (((String) a1[MONATSAUSWERTUNG_FERTIGUNGSGRUPPE]) .compareTo((String) a2[MONATSAUSWERTUNG_FERTIGUNGSGRUPPE]) == 0) { String k1 = (String) a1[MONATSAUSWERTUNG_KUNDE]; String k2 = (String) a2[MONATSAUSWERTUNG_KUNDE]; if (k1.compareTo(k2) > 0) { data[j] = a2; data[j + 1] = a1; } else if (((String) a1[MONATSAUSWERTUNG_KUNDE]) .compareTo((String) a2[MONATSAUSWERTUNG_KUNDE]) == 0) { String b1 = (String) a1[MONATSAUSWERTUNG_ARTIKELNUMMER]; String b2 = (String) a2[MONATSAUSWERTUNG_ARTIKELNUMMER]; if (b1.compareTo(b2) > 0) { data[j] = a2; data[j + 1] = a1; } else if (((String) a1[MONATSAUSWERTUNG_ARTIKELNUMMER]) .compareTo((String) a2[MONATSAUSWERTUNG_ARTIKELNUMMER]) == 0) { String l1 = (String) a1[MONATSAUSWERTUNG_LOSNUMMER]; String l2 = (String) a2[MONATSAUSWERTUNG_LOSNUMMER]; if (l1.compareTo(l2) > 0) { data[j] = a2; data[j + 1] = a1; } } } } } } initJRDS(mapParameter, FertigungReportFac.REPORT_MODUL, FertigungReportFac.REPORT_MONATSAUSWERTUNG, theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto); return getReportPrint(); }
From source file:com.lp.server.kueche.ejbfac.KuecheReportFacBean.java
License:Open Source License
@TransactionAttribute(TransactionAttributeType.NEVER) public JasperPrintLP printKuechenauswertung2(java.sql.Timestamp tVon, java.sql.Timestamp tBis, TheClientDto theClientDto) {/*from ww w .ja v a 2 s . c o m*/ HashMap<String, Object> parameter = new HashMap<String, Object>(); parameter.put("P_VON", tVon); parameter.put("P_BIS", tBis); sAktuellerReport = KuecheReportFac.REPORT_KUECHENAUSWERTUNG2; Integer fertigungsgruppeIIdSofortverbrauch = null; try { fertigungsgruppeIIdSofortverbrauch = getStuecklisteFac().fertigungsgruppeFindByMandantCNrCBez( theClientDto.getMandant(), StuecklisteFac.FERTIGUNGSGRUPPE_SOFORTVERBRAUCH).getIId(); } catch (EJBExceptionLP e1) { if (e1.getCode() == EJBExceptionLP.FEHLER_BEI_FIND) { throw new EJBExceptionLP( EJBExceptionLP.FEHLER_FERTIGUNG_FERTIGUNGSGRUPPE_SOFORTVERBRAUCH_NICHT_VORHANDEN, new Exception("FEHLER_FERTIGUNG_FERTIGUNGSGRUPPE_SOFORTVERBRAUCH_NICHT_VORHANDEN")); } else { throw e1; } } catch (RemoteException e1) { throwEJBExceptionLPRespectOld(e1); } tVon = Helper.cutTimestamp(tVon); Calendar c = Calendar.getInstance(); c.setTimeInMillis(tBis.getTime()); c.set(Calendar.DAY_OF_MONTH, c.get(Calendar.DAY_OF_MONTH) + 1); tBis = Helper.cutTimestamp(new java.sql.Timestamp(c.getTimeInMillis())); Session session = FLRSessionFactory.getFactory().openSession(); session.enableFilter("filterMandant").setParameter("paramMandant", theClientDto.getMandant()); session.enableFilter("filterLocale").setParameter("paramLocale", theClientDto.getLocUiAsString()); String sQuery = "SELECT k, aspr.c_bez FROM FLRKassaimport AS k LEFT OUTER JOIN k.flrartikel.artikelsprset AS aspr WHERE k.n_menge>0 AND k.t_kassa>='" + Helper.formatDateWithSlashes(new java.sql.Date(tVon.getTime())) + "' AND k.t_kassa<'" + Helper.formatDateWithSlashes(new java.sql.Date(tBis.getTime())) + "' AND k.flrartikel.mandant_c_nr='" + theClientDto.getMandant() + "'"; // SELECT KUNDE_I_ID,ARTIKEL_I_ID,T_KASSA, SUM(N_MENGE), // SUM(N_PREIS*N_MENGE) FROM KUE_KASSAIMPORT WHERE T_KASSA>2009-01-01 // AND T_KASSA<'2009-07-01' AND N_MENGE>0 GROUP BY // KUNDE_I_ID,ARTIKEL_I_ID,T_KASSA Query query = session.createQuery(sQuery); List<?> results = query.list(); Iterator<?> resultListIterator = results.iterator(); TreeMap hmVerbrauchteArtikel = new TreeMap(); while (resultListIterator.hasNext()) { Object[] o = (Object[]) resultListIterator.next(); FLRKassaimport ki = (FLRKassaimport) o[0]; if (ki.getSpeiseplan_i_id() != null) { Set s = ki.getFlrspeiseplan().getSpeiseplanpositionset(); Iterator iTspeiseplanpos = s.iterator(); while (iTspeiseplanpos.hasNext()) { FLRSpeiseplanposition sppos = (FLRSpeiseplanposition) iTspeiseplanpos.next(); BigDecimal menge = new BigDecimal(0); if (sppos.getN_menge().doubleValue() != 0) { menge = sppos.getN_menge().divide(ki.getFlrspeiseplan().getN_menge()) .multiply(ki.getN_menge()); } if (hmVerbrauchteArtikel.containsKey(sppos.getFlrartikel().getC_nr())) { Object[] oZeile = (Object[]) hmVerbrauchteArtikel.get(sppos.getFlrartikel().getC_nr()); oZeile[REPORT_KUECHENAUSWERTUNG2_THEORETISCHER_WARENEINSATZ] = ((BigDecimal) oZeile[REPORT_KUECHENAUSWERTUNG2_THEORETISCHER_WARENEINSATZ]).add( ((BigDecimal) oZeile[REPORT_KUECHENAUSWERTUNG2_EKPREIS]).multiply(menge)); oZeile[REPORT_KUECHENAUSWERTUNG2_MENGEVERBRAUCHT] = ((BigDecimal) oZeile[REPORT_KUECHENAUSWERTUNG2_MENGEVERBRAUCHT]) .add(menge); hmVerbrauchteArtikel.put(sppos.getFlrartikel().getC_nr(), oZeile); } else { Object[] oZeile = new Object[7]; ArtikelDto artikelDto = getArtikelFac() .artikelFindByPrimaryKeySmall(sppos.getFlrartikel().getI_id(), theClientDto); oZeile[REPORT_KUECHENAUSWERTUNG2_ARTIKELNUMMER] = sppos.getFlrartikel().getC_nr(); oZeile[REPORT_KUECHENAUSWERTUNG2_BEZEICHNUNG] = artikelDto.formatBezeichnung(); ArtikellieferantDto ekPreis = getArtikelFac().getArtikelEinkaufspreis( sppos.getArtikel_i_id(), null, menge, theClientDto.getSMandantenwaehrung(), new java.sql.Date(ki.getT_kassa().getTime()), theClientDto); if (ekPreis != null && ekPreis.getLief1Preis() != null) { oZeile[REPORT_KUECHENAUSWERTUNG2_EKPREIS] = ekPreis.getLief1Preis(); oZeile[REPORT_KUECHENAUSWERTUNG2_THEORETISCHER_WARENEINSATZ] = ekPreis.getLief1Preis() .multiply(menge); } else { oZeile[REPORT_KUECHENAUSWERTUNG2_EKPREIS] = new BigDecimal(0); oZeile[REPORT_KUECHENAUSWERTUNG2_THEORETISCHER_WARENEINSATZ] = new BigDecimal(0); } oZeile[REPORT_KUECHENAUSWERTUNG2_MENGEVERBRAUCHT] = menge; oZeile[REPORT_KUECHENAUSWERTUNG2_WARENEINSATZ_MATERIAL] = new BigDecimal(0); oZeile[REPORT_KUECHENAUSWERTUNG2_WARENEINSATZ_SOFORTVERBRAUCH] = new BigDecimal(0); hmVerbrauchteArtikel.put(sppos.getFlrartikel().getC_nr(), oZeile); } } } else { if (hmVerbrauchteArtikel.containsKey(ki.getFlrartikel().getC_nr())) { Object[] oZeile = (Object[]) hmVerbrauchteArtikel.get(ki.getFlrartikel().getC_nr()); oZeile[REPORT_KUECHENAUSWERTUNG2_THEORETISCHER_WARENEINSATZ] = ((BigDecimal) oZeile[REPORT_KUECHENAUSWERTUNG2_THEORETISCHER_WARENEINSATZ]) .add(((BigDecimal) oZeile[REPORT_KUECHENAUSWERTUNG2_EKPREIS]) .multiply(ki.getN_menge())); oZeile[REPORT_KUECHENAUSWERTUNG2_MENGEVERBRAUCHT] = ((BigDecimal) oZeile[REPORT_KUECHENAUSWERTUNG2_MENGEVERBRAUCHT]) .add(ki.getN_menge()); hmVerbrauchteArtikel.put(ki.getFlrartikel().getC_nr(), oZeile); } else { Object[] oZeile = new Object[7]; oZeile[REPORT_KUECHENAUSWERTUNG2_ARTIKELNUMMER] = ki.getFlrartikel().getC_nr(); oZeile[REPORT_KUECHENAUSWERTUNG2_BEZEICHNUNG] = o[1]; ArtikellieferantDto ekPreis = getArtikelFac().getArtikelEinkaufspreis(ki.getArtikel_i_id(), null, ki.getN_menge(), theClientDto.getSMandantenwaehrung(), new java.sql.Date(ki.getT_kassa().getTime()), theClientDto); if (ekPreis != null && ekPreis.getLief1Preis() != null) { oZeile[REPORT_KUECHENAUSWERTUNG2_EKPREIS] = ekPreis.getLief1Preis(); oZeile[REPORT_KUECHENAUSWERTUNG2_THEORETISCHER_WARENEINSATZ] = ekPreis.getLief1Preis() .multiply(ki.getN_menge()); } else { oZeile[REPORT_KUECHENAUSWERTUNG2_EKPREIS] = new BigDecimal(0); oZeile[REPORT_KUECHENAUSWERTUNG2_THEORETISCHER_WARENEINSATZ] = new BigDecimal(0); } oZeile[REPORT_KUECHENAUSWERTUNG2_MENGEVERBRAUCHT] = ki.getN_menge(); oZeile[REPORT_KUECHENAUSWERTUNG2_WARENEINSATZ_MATERIAL] = new BigDecimal(0); oZeile[REPORT_KUECHENAUSWERTUNG2_WARENEINSATZ_SOFORTVERBRAUCH] = new BigDecimal(0); hmVerbrauchteArtikel.put(ki.getFlrartikel().getC_nr(), oZeile); } } } Session sessionSub = FLRSessionFactory.getFactory().openSession(); String sQuerySub = "FROM FLRLossollmaterial AS s WHERE s.flrlos.status_c_nr NOT IN('" + FertigungFac.STATUS_GESTOPPT + "','" + FertigungFac.STATUS_ANGELEGT + "') AND s.flrlos.t_ausgabe>='" + Helper.formatDateWithSlashes(new java.sql.Date(tVon.getTime())) + "' AND s.flrlos.t_ausgabe<'" + Helper.formatDateWithSlashes(new java.sql.Date(tBis.getTime())) + "' AND s.flrlos.mandant_c_nr='" + theClientDto.getMandant() + "'"; org.hibernate.Query hquerySub = sessionSub.createQuery(sQuerySub); List<?> resultListSub = hquerySub.list(); Iterator<?> resultListIteratorSub = resultListSub.iterator(); while (resultListIteratorSub.hasNext()) { FLRLossollmaterial sollmaterial = (FLRLossollmaterial) resultListIteratorSub.next(); BigDecimal bdAusgegeben = new BigDecimal(0); for (Iterator<?> iter = sollmaterial.getIstmaterialset().iterator(); iter.hasNext();) { FLRLosistmaterial item = (FLRLosistmaterial) iter.next(); if (Helper.short2boolean(item.getB_abgang()) == true) { bdAusgegeben = bdAusgegeben.add(item.getN_menge()); } else { bdAusgegeben = bdAusgegeben.subtract(item.getN_menge()); } } BigDecimal preis = new BigDecimal(0); if (bdAusgegeben.doubleValue() != 0) { try { preis = getFertigungFac().getAusgegebeneMengePreis(sollmaterial.getI_id(), null, theClientDto); } catch (RemoteException e) { throwEJBExceptionLPRespectOld(e); } } BigDecimal wert = preis.multiply(bdAusgegeben); if (hmVerbrauchteArtikel.containsKey(sollmaterial.getFlrartikel().getC_nr())) { Object[] oZeile = (Object[]) hmVerbrauchteArtikel.get(sollmaterial.getFlrartikel().getC_nr()); if (sollmaterial.getFlrlos().getFertigungsgruppe_i_id() .equals(fertigungsgruppeIIdSofortverbrauch)) { oZeile[REPORT_KUECHENAUSWERTUNG2_WARENEINSATZ_SOFORTVERBRAUCH] = ((BigDecimal) oZeile[REPORT_KUECHENAUSWERTUNG2_WARENEINSATZ_SOFORTVERBRAUCH]) .add(wert); } else { oZeile[REPORT_KUECHENAUSWERTUNG2_WARENEINSATZ_MATERIAL] = ((BigDecimal) oZeile[REPORT_KUECHENAUSWERTUNG2_WARENEINSATZ_MATERIAL]) .add(wert); } hmVerbrauchteArtikel.put(sollmaterial.getFlrartikel().getC_nr(), oZeile); } else { Object[] oZeile = new Object[7]; oZeile[REPORT_KUECHENAUSWERTUNG2_ARTIKELNUMMER] = sollmaterial.getFlrartikel().getC_nr(); ArtikelDto artikelDto = getArtikelFac() .artikelFindByPrimaryKeySmall(sollmaterial.getFlrartikel().getI_id(), theClientDto); oZeile[REPORT_KUECHENAUSWERTUNG2_BEZEICHNUNG] = artikelDto.formatBezeichnung(); oZeile[REPORT_KUECHENAUSWERTUNG2_MENGEVERBRAUCHT] = new BigDecimal(0); if (sollmaterial.getFlrlos().getFertigungsgruppe_i_id() .equals(fertigungsgruppeIIdSofortverbrauch)) { oZeile[REPORT_KUECHENAUSWERTUNG2_WARENEINSATZ_SOFORTVERBRAUCH] = wert; oZeile[REPORT_KUECHENAUSWERTUNG2_WARENEINSATZ_MATERIAL] = new BigDecimal(0); } else { oZeile[REPORT_KUECHENAUSWERTUNG2_WARENEINSATZ_SOFORTVERBRAUCH] = new BigDecimal(0); oZeile[REPORT_KUECHENAUSWERTUNG2_WARENEINSATZ_MATERIAL] = wert; } hmVerbrauchteArtikel.put(sollmaterial.getFlrartikel().getC_nr(), oZeile); } } sessionSub.close(); session.close(); data = new Object[hmVerbrauchteArtikel.size()][10]; data = (Object[][]) hmVerbrauchteArtikel.values().toArray(data); initJRDS(parameter, KuecheReportFac.REPORT_MODUL, KuecheReportFac.REPORT_KUECHENAUSWERTUNG2, theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto); return getReportPrint(); }
From source file:com.lp.server.kueche.ejbfac.KuecheReportFacBean.java
License:Open Source License
@TransactionAttribute(TransactionAttributeType.NEVER) public JasperPrintLP printKuechenauswertung1(java.sql.Timestamp tVon, java.sql.Timestamp tBis, String artikelNrVon, String artikelNrBis, Integer brancheIId, Integer artikelklasseIId, TheClientDto theClientDto) {//from w w w. j a va2 s . com HashMap<String, Object> parameter = new HashMap<String, Object>(); parameter.put("P_VON", tVon); parameter.put("P_BIS", tBis); parameter.put("P_ARTIKELNRVON", artikelNrVon); parameter.put("P_ARTIKELNRBIS", artikelNrBis); HashMap<Integer, KundeDto> cachedKunde = new HashMap<Integer, KundeDto>(); HashMap<Integer, ArtikelDto> cachedArtikel = new HashMap<Integer, ArtikelDto>(); try { if (artikelklasseIId != null) { parameter.put("P_ARTIKELKLASSE", getArtikelFac().artklaFindByPrimaryKey(artikelklasseIId, theClientDto).getCNr()); } if (brancheIId != null) { parameter.put("P_BRANCHE", getPartnerServicesFac().brancheFindByPrimaryKey(brancheIId, theClientDto).getCNr()); } } catch (RemoteException ex1) { throwEJBExceptionLPRespectOld(ex1); } sAktuellerReport = KuecheReportFac.REPORT_KUECHENAUSWERTUNG1; tVon = Helper.cutTimestamp(tVon); Calendar c = Calendar.getInstance(); c.setTimeInMillis(tBis.getTime()); c.set(Calendar.DAY_OF_MONTH, c.get(Calendar.DAY_OF_MONTH) + 1); tBis = Helper.cutTimestamp(new java.sql.Timestamp(c.getTimeInMillis())); Session session = FLRSessionFactory.getFactory().openSession(); session.enableFilter("filterMandant").setParameter("paramMandant", theClientDto.getMandant()); session.enableFilter("filterLocale").setParameter("paramLocale", theClientDto.getLocUiAsString()); String sQuery = "SELECT k.flrartikel.i_id,k.flrartikel.c_nr,k.flrkunde.i_id , k.t_kassa, sum(k.n_menge), sum(k.n_preis*k.n_menge), aspr.c_bez, k.speiseplan_i_id FROM FLRKassaimport k LEFT OUTER JOIN k.flrartikel.artikelsprset AS aspr WHERE k.n_menge>0 AND k.t_kassa>='" + Helper.formatDateWithSlashes(new java.sql.Date(tVon.getTime())) + "' AND k.t_kassa<'" + Helper.formatDateWithSlashes(new java.sql.Date(tBis.getTime())) + "'"; if (artikelNrVon != null) { sQuery += " AND k.flrartikel.c_nr >='" + artikelNrVon + "'"; } if (artikelNrBis != null) { String artikelNrBis_Gefuellt = Helper.fitString2Length(artikelNrBis, 25, '_'); sQuery += " AND k.flrartikel.c_nr <='" + artikelNrBis_Gefuellt + "'"; } if (artikelklasseIId != null) { sQuery += " AND k.flrartikel.flrartikelklasse.i_id=" + artikelklasseIId.intValue(); } if (brancheIId != null) { sQuery += " AND k.flrkunde.flrpartner.branche_i_id=" + brancheIId.intValue(); } sQuery += " GROUP BY k.flrartikel.i_id, k.flrartikel.c_nr,k.flrkunde, k.t_kassa, aspr.c_bez,k.speiseplan_i_id"; // SELECT KUNDE_I_ID,ARTIKEL_I_ID,T_KASSA, SUM(N_MENGE), // SUM(N_PREIS*N_MENGE) FROM KUE_KASSAIMPORT WHERE T_KASSA>2009-01-01 // AND T_KASSA<'2009-07-01' AND N_MENGE>0 GROUP BY // KUNDE_I_ID,ARTIKEL_I_ID,T_KASSA Query query = session.createQuery(sQuery); List<?> results = query.list(); Iterator<?> resultListIterator = results.iterator(); // HashMap hmKundenIds=new HashMap(); ArrayList alKassaimport = new ArrayList(); while (resultListIterator.hasNext()) { Object[] o = (Object[]) resultListIterator.next(); Integer kundeIId = (Integer) o[2]; // if(!hmKundenIds.containsKey(kundeIId)){ // hmKundenIds.put(kundeIId, null); // } alKassaimport.add(o); } Session sessionLS = FLRSessionFactory.getFactory().openSession(); String sQueryLS = "FROM FLRLieferscheinposition lspos WHERE lspos.flrlieferschein.lieferscheinstatus_status_c_nr NOT IN ('" + LocaleFac.STATUS_STORNIERT + "') AND lspos.flrartikel.i_id IS NOT NULL AND lspos.flrlieferschein.d_belegdatum>='" + Helper.formatDateWithSlashes(new java.sql.Date(tVon.getTime())) + "' AND lspos.flrlieferschein.d_belegdatum<'" + Helper.formatDateWithSlashes(new java.sql.Date(tBis.getTime())) + "'"; if (artikelNrVon != null) { sQueryLS += " AND lspos.flrartikel.c_nr >='" + artikelNrVon + "'"; } if (artikelNrBis != null) { String artikelNrBis_Gefuellt = Helper.fitString2Length(artikelNrBis, 25, '_'); sQueryLS += " AND lspos.flrartikel.c_nr <='" + artikelNrBis_Gefuellt + "'"; } if (artikelklasseIId != null) { sQueryLS += " AND lspos.flrartikel.flrartikelklasse.i_id=" + artikelklasseIId.intValue(); } if (brancheIId != null) { sQueryLS += " AND lspos.flrlieferschein.flrkunde.flrpartner.branche_i_id=" + brancheIId.intValue(); } Query queryLP = sessionLS.createQuery(sQueryLS); List<?> resultsLS = queryLP.list(); Iterator<?> resultListIteratorLS = resultsLS.iterator(); // HashMap hmKundenIds=new HashMap(); ArrayList alLSPositionen = new ArrayList(); while (resultListIteratorLS.hasNext()) { FLRLieferscheinposition lspos = (FLRLieferscheinposition) resultListIteratorLS.next(); alLSPositionen.add(lspos); } // Nun beide Listen verknuepfen ArrayList alDaten = new ArrayList(); for (int i = 0; i < alKassaimport.size(); i++) { Object[] oImport = (Object[]) alKassaimport.get(i); Object[] zeile = new Object[12]; zeile[REPORT_KUECHENAUSWERTUNG_ARTIKELNUMMER] = oImport[1]; zeile[REPORT_KUECHENAUSWERTUNG_BEZEICHNUNG] = oImport[6]; BigDecimal menge = (BigDecimal) oImport[4]; BigDecimal bdGesamtWert = (BigDecimal) oImport[5]; java.sql.Timestamp tKassa = (java.sql.Timestamp) oImport[3]; // MWST wurde bereits beim import agbezogen zeile[REPORT_KUECHENAUSWERTUNG_MENGEVERKAUFT] = menge; zeile[REPORT_KUECHENAUSWERTUNG_PREISVERKAUFT] = bdGesamtWert.divide(menge, BigDecimal.ROUND_HALF_EVEN); zeile[REPORT_KUECHENAUSWERTUNG_DATUMVERKAUFT] = oImport[3]; zeile[REPORT_KUECHENAUSWERTUNG_DATUMVERKAUFT_CUT] = Helper.cutTimestamp((Timestamp) oImport[3]); try { KundeDto kundeDto = null; if (cachedKunde.containsKey((Integer) oImport[2])) { kundeDto = cachedKunde.get((Integer) oImport[2]); } else { kundeDto = kundeDto = getKundeFac().kundeFindByPrimaryKey((Integer) oImport[2], theClientDto); cachedKunde.put((Integer) oImport[2], kundeDto); } zeile[REPORT_KUECHENAUSWERTUNG_KUNDE] = kundeDto.getPartnerDto().formatFixName1Name2(); // PJ 14558 Theoretischer Wareneinsatz zeile[REPORT_KUECHENAUSWERTUNG_THEORETISCHER_WARENEINSATZ] = getKuecheFac() .getTheoretischerWareneinsatz((Integer) oImport[7], (Integer) oImport[0], menge, theClientDto); } catch (RemoteException e) { throwEJBExceptionLPRespectOld(e); } boolean bZeileImportHinzugefuegt = false; for (int j = 0; j < alLSPositionen.size(); j++) { FLRLieferscheinposition lspos = (FLRLieferscheinposition) alLSPositionen.get(j); // Kunde - oder Lieferadresse if (lspos.getFlrlieferschein().getFlrkunde().getI_id().equals(oImport[2])) { // Nun muss auch noch der Artikel gleich sein if (lspos.getFlrartikel().getI_id().equals(oImport[0])) { if (lspos.getFlrlieferschein().getD_belegdatum().getTime() == tKassa.getTime()) { if (bZeileImportHinzugefuegt == false) { bZeileImportHinzugefuegt = true; alDaten.add(zeile); } Object[] neueZeile = zeile.clone(); neueZeile[REPORT_KUECHENAUSWERTUNG_MENGEVERKAUFT] = null; neueZeile[REPORT_KUECHENAUSWERTUNG_PREISVERKAUFT] = null; neueZeile[REPORT_KUECHENAUSWERTUNG_MENGELIEFERSCEHIN] = lspos.getN_menge(); neueZeile[REPORT_KUECHENAUSWERTUNG_LIEFERSCHEIN] = lspos.getFlrlieferschein().getC_nr(); if (lspos.getPosition_i_id_artikelset() != null) { neueZeile[REPORT_KUECHENAUSWERTUNG_SETARTIKEL_TYP] = ArtikelFac.SETARTIKEL_TYP_POSITION; } else { if (lspos.getSetartikel_set() != null && lspos.getSetartikel_set().size() > 0) { neueZeile[REPORT_KUECHENAUSWERTUNG_SETARTIKEL_TYP] = ArtikelFac.SETARTIKEL_TYP_KOPF; } } neueZeile[REPORT_KUECHENAUSWERTUNG_PREIS_LIEFERSCHEIN] = lspos .getN_nettogesamtpreisplusversteckteraufschlagminusrabatt(); alDaten.add(neueZeile); // Zeile entfernen alLSPositionen.remove(j); j--; } } } } if (bZeileImportHinzugefuegt == false) { alDaten.add(zeile); } } // Alle uebrigen LSPos eintragen for (int j = 0; j < alLSPositionen.size(); j++) { FLRLieferscheinposition lspos = (FLRLieferscheinposition) alLSPositionen.get(j); Object[] zeile = new Object[12]; zeile[REPORT_KUECHENAUSWERTUNG_ARTIKELNUMMER] = lspos.getFlrartikel().getC_nr(); zeile[REPORT_KUECHENAUSWERTUNG_MENGEVERKAUFT] = new BigDecimal(0); zeile[REPORT_KUECHENAUSWERTUNG_PREISVERKAUFT] = new BigDecimal(0); zeile[REPORT_KUECHENAUSWERTUNG_DATUMVERKAUFT] = new java.sql.Timestamp( lspos.getFlrlieferschein().getD_belegdatum().getTime()); zeile[REPORT_KUECHENAUSWERTUNG_DATUMVERKAUFT_CUT] = Helper .cutTimestamp(new java.sql.Timestamp(lspos.getFlrlieferschein().getD_belegdatum().getTime())); ArtikelDto artikelDto = null; if (cachedArtikel.containsKey(lspos.getFlrartikel().getI_id())) { artikelDto = cachedArtikel.get(lspos.getFlrartikel().getI_id()); } else { artikelDto = getArtikelFac().artikelFindByPrimaryKeySmall(lspos.getFlrartikel().getI_id(), theClientDto); cachedArtikel.put(lspos.getFlrartikel().getI_id(), artikelDto); } zeile[REPORT_KUECHENAUSWERTUNG_BEZEICHNUNG] = artikelDto.formatBezeichnung(); KundeDto kundeDto = null; if (cachedKunde.containsKey(lspos.getFlrlieferschein().getKunde_i_id_lieferadresse())) { kundeDto = cachedKunde.get(lspos.getFlrlieferschein().getKunde_i_id_lieferadresse()); } else { kundeDto = getKundeFac().kundeFindByPrimaryKey( lspos.getFlrlieferschein().getKunde_i_id_lieferadresse(), theClientDto); cachedKunde.put(lspos.getFlrlieferschein().getKunde_i_id_lieferadresse(), kundeDto); } zeile[REPORT_KUECHENAUSWERTUNG_KUNDE] = kundeDto.getPartnerDto().formatFixName1Name2(); zeile[REPORT_KUECHENAUSWERTUNG_MENGELIEFERSCEHIN] = lspos.getN_menge(); zeile[REPORT_KUECHENAUSWERTUNG_LIEFERSCHEIN] = lspos.getFlrlieferschein().getC_nr(); if (lspos.getPosition_i_id_artikelset() != null) { zeile[REPORT_KUECHENAUSWERTUNG_SETARTIKEL_TYP] = ArtikelFac.SETARTIKEL_TYP_POSITION; } else { /* * if(lspos.getSetartikel_set()!=null && * lspos.getSetartikel_set().size()>0){ * zeile[REPORT_KUECHENAUSWERTUNG_SETARTIKEL_TYP] = * ArtikelFac.SETARTIKEL_TYP_KOPF; } */ } zeile[REPORT_KUECHENAUSWERTUNG_PREIS_LIEFERSCHEIN] = lspos .getN_nettogesamtpreisplusversteckteraufschlagminusrabatt(); alDaten.add(zeile); } session.close(); sessionLS.close(); // 2 Subreports Session sessionSub = FLRSessionFactory.getFactory().openSession(); String sQuerySub = "FROM FLRLosReport AS l WHERE l.status_c_nr NOT IN('" + FertigungFac.STATUS_GESTOPPT + "','" + FertigungFac.STATUS_ANGELEGT + "') AND l.t_ausgabe>='" + Helper.formatDateWithSlashes(new java.sql.Date(tVon.getTime())) + "' AND l.t_ausgabe<'" + Helper.formatDateWithSlashes(new java.sql.Date(tBis.getTime())) + "' "; org.hibernate.Query hquerySub = sessionSub.createQuery(sQuerySub); List<?> resultListSub = hquerySub.list(); Iterator<?> resultListIteratorSub = resultListSub.iterator(); ArrayList alSofortverbrauch = new ArrayList(); ArrayList alLagerbuchung = new ArrayList(); int SUBREPORT_LOSNUMMER = 0; int SUBREPORT_WERT = 1; int SUBREPORT_PROJEKT = 2; int SUBREPORT_LAGER = 3; int SUBREPORT_KOSTENSTELLE = 4; int SUBREPORT_AUSGABEDATUM = 5; while (resultListIteratorSub.hasNext()) { FLRLosReport rep = (FLRLosReport) resultListIteratorSub.next(); Object[] zeile = new Object[10]; zeile[SUBREPORT_LOSNUMMER] = rep.getC_nr(); zeile[SUBREPORT_PROJEKT] = rep.getC_projekt(); zeile[SUBREPORT_KOSTENSTELLE] = rep.getFlrkostenstelle().getC_nr(); zeile[SUBREPORT_AUSGABEDATUM] = rep.getT_ausgabe(); LosDto losDto; try { losDto = getFertigungFac().losFindByPrimaryKey(rep.getI_id()); LossollmaterialDto[] sollmat = getFertigungFac().lossollmaterialFindByLosIId(losDto.getIId()); BigDecimal bdWert = new BigDecimal(0); for (int i = 0; i < sollmat.length; i++) { BigDecimal bdAusgegeben = getFertigungFac().getAusgegebeneMenge(sollmat[i].getIId(), null, theClientDto); BigDecimal bdEinzelpreis = getFertigungFac().getAusgegebeneMengePreis(sollmat[i].getIId(), null, theClientDto); bdWert = bdWert.add(bdAusgegeben.multiply(bdEinzelpreis)); } zeile[SUBREPORT_WERT] = bdWert; String laeger = ""; LoslagerentnahmeDto[] dtos = getFertigungFac().loslagerentnahmeFindByLosIId(rep.getI_id()); for (int i = 0; i < dtos.length; i++) { LagerDto lagerDto = getLagerFac().lagerFindByPrimaryKey(dtos[i].getLagerIId()); laeger += lagerDto.getCNr() + ", "; } zeile[SUBREPORT_LAGER] = laeger; } catch (RemoteException e) { throwEJBExceptionLPRespectOld(e); } if (rep.getFlrfertigungsgruppe().getC_bez().equals(StuecklisteFac.FERTIGUNGSGRUPPE_SOFORTVERBRAUCH)) { alSofortverbrauch.add(zeile); } else { alLagerbuchung.add(zeile); } } if (alSofortverbrauch.size() > 0) { String[] fieldnames = new String[] { "F_LOSNUMMER", "F_WERT", "F_PROJEKT", "F_LAGER", "F_KOSTENSTELLE", "F_AUSGABEDATUM" }; Object[][] dataSub = new Object[alSofortverbrauch.size()][fieldnames.length]; dataSub = (Object[][]) alSofortverbrauch.toArray(dataSub); parameter.put("DATENSUBREPORT_SOFORTVERBRAUCH", new LPDatenSubreport(dataSub, fieldnames)); } if (alLagerbuchung.size() > 0) { String[] fieldnames = new String[] { "F_LOSNUMMER", "F_WERT", "F_PROJEKT", "F_LAGER", "F_KOSTENSTELLE", "F_AUSGABEDATUM" }; Object[][] dataSub = new Object[alLagerbuchung.size()][fieldnames.length]; dataSub = (Object[][]) alLagerbuchung.toArray(dataSub); parameter.put("DATENSUBREPORT_TAGESLOS", new LPDatenSubreport(dataSub, fieldnames)); } // Sortieren nach PJ16694 for (int i = alDaten.size() - 1; i > 0; --i) { for (int j = 0; j < i; ++j) { Object[] o = (Object[]) alDaten.get(j); Object[] o1 = (Object[]) alDaten.get(j + 1); Timestamp datum = (Timestamp) o[REPORT_KUECHENAUSWERTUNG_DATUMVERKAUFT_CUT]; Timestamp datum1 = (Timestamp) o1[REPORT_KUECHENAUSWERTUNG_DATUMVERKAUFT_CUT]; if (datum.after(datum1)) { alDaten.set(j, o1); alDaten.set(j + 1, o); } else if (datum.equals(datum1)) { String artikel = (String) o[REPORT_KUECHENAUSWERTUNG_ARTIKELNUMMER]; String artikel1 = (String) o1[REPORT_KUECHENAUSWERTUNG_ARTIKELNUMMER]; if (artikel.compareTo(artikel1) > 0) { alDaten.set(j, o1); alDaten.set(j + 1, o); } } } } data = new Object[alDaten.size()][10]; data = (Object[][]) alDaten.toArray(data); initJRDS(parameter, KuecheReportFac.REPORT_MODUL, KuecheReportFac.REPORT_KUECHENAUSWERTUNG1, theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto); return getReportPrint(); }
From source file:com.lp.server.partner.ejbfac.KundeReportFacBean.java
License:Open Source License
@TransactionAttribute(TransactionAttributeType.NEVER) public CustomerPricelistReportDto printKundenpreislisteRaw(Integer kundeIId, Integer artikelgruppeIId, Integer artikelklasseIId, boolean bMitGesperrten, String artikelNrVon, String artikelNrBis, boolean bMitVersteckten, java.sql.Date datGueltikeitsdatumI, boolean nurSonderkonditionen, boolean bMitArtikelbezeichnungenInMandantensprache, boolean nurWebshopartikel, TheClientDto theClientDto) {/*w w w . j av a 2 s . c om*/ CustomerPricelistReportDto returnDto = new CustomerPricelistReportDto(); useCase = KundeReportFac.UC_REPORT_KUNDE_KUNDENPREISLISTE; KundeDto kundeDto = getKundeFac().kundeFindByPrimaryKey(kundeIId, theClientDto); if (!kundeDto.getMandantCNr().equals(theClientDto.getMandant())) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FALSCHER_MANDANT, "Kunde (i_id = " + kundeIId + ") in Mandant " + theClientDto.getMandant() + " nicht vorhanden"); } // HashMap<String, Object> parameter = new HashMap<String, Object>(); try { returnDto.setCustomer(new IdValueDto(kundeDto.getIId(), kundeDto.getPartnerDto().formatAnrede())); if (artikelgruppeIId != null) { returnDto.setItemgroup(new IdValueDto(artikelgruppeIId, getArtikelFac().artgruFindByPrimaryKey(artikelgruppeIId, theClientDto).getCNr())); } if (artikelklasseIId != null) { returnDto.setItemclass(new IdValueDto(artikelklasseIId, getArtikelFac().artklaFindByPrimaryKey(artikelklasseIId, theClientDto).getCNr())); } returnDto.setOnlyWebshopItems(nurWebshopartikel); ParametermandantDto param = getParameterFac().getMandantparameter(theClientDto.getMandant(), ParameterFac.KATEGORIE_KUNDEN, ParameterFac.PARAMETER_PREISBASIS_VERKAUF); int iPreisbasis = (Integer) param.getCWertAsObject(); // Mwstsatz aus Artikel String sQuery = "SELECT artikelliste.i_id, artikelliste.c_nr, aspr.c_bez, aspr.c_kbez, aspr.c_zbez,aspr.c_zbez2,artikelliste.einheit_c_nr, gruppe.c_nr, " + " klasse.c_nr, artikelliste.b_versteckt,artikelliste.mwstsatz_i_id, gruppe.i_id, shopgruppe, sgspr.c_bez " + " FROM FLRArtikelliste AS artikelliste" + " LEFT OUTER JOIN artikelliste.flrshopgruppe as shopgruppe " + " LEFT OUTER JOIN shopgruppe.shopgruppesprset AS sgspr " + " LEFT OUTER JOIN artikelliste.flrartikelgruppe AS gruppe " + " LEFT OUTER JOIN artikelliste.flrartikelklasse AS klasse " // + // " LEFT OUTER JOIN artikelliste.artikelsperreset AS sperren " + " LEFT OUTER JOIN artikelliste.artikelsprset AS aspr WHERE artikelliste.mandant_c_nr='" + theClientDto.getMandant() + "' AND artikelliste.artikelart_c_nr NOT IN ('" + ArtikelFac.ARTIKELART_HANDARTIKEL + "') "; if (!bMitGesperrten) { sQuery += " AND artikelliste.artikelsperreset IS EMPTY"; } if (artikelklasseIId != null) { sQuery += " AND klasse.i_id=" + artikelklasseIId.intValue(); } if (artikelgruppeIId != null) { sQuery += " AND gruppe.i_id=" + artikelgruppeIId.intValue(); } if (bMitVersteckten == false) { sQuery += " AND artikelliste.b_versteckt=0 "; } if (artikelNrVon != null) { sQuery += " AND artikelliste.c_nr >='" + artikelNrVon + "'"; } if (artikelNrBis != null) { sQuery = sQuery + " AND artikelliste.c_nr <='" + artikelNrBis + "'"; } if (nurWebshopartikel) { sQuery = sQuery + " AND shopgruppe.i_id IS NOT NULL "; } sQuery += "ORDER BY artikelliste.c_nr"; Session session = FLRSessionFactory.getFactory().openSession(); Query inventurliste = session.createQuery(sQuery); session.enableFilter("filterLocale").setParameter("paramLocale", kundeDto.getPartnerDto().getLocaleCNrKommunikation()); List<?> resultList = inventurliste.list(); Iterator<?> resultListIterator = resultList.iterator(); // ArrayList alDaten = new ArrayList(); // // int row = 0; // int preisNachkommastellen = // getMandantFac().getNachkommastellenPreisVK(theClientDto.getMandant()) // ; int preisNachkommastellen = 4; while (resultListIterator.hasNext()) { Object o[] = (Object[]) resultListIterator.next(); Integer artikel_i_id = (Integer) o[0]; Integer artgruIId = (Integer) o[11]; CustomerPricelistItemDto reportArtikel = new CustomerPricelistItemDto(artikel_i_id, (String) o[1]); // Integer artikel_i_id = (Integer) o[0]; // String artikelnummer = (String) o[1]; // String bezeichnung = (String) o[2]; // String kurzbezeichnung = (String) o[3]; // String zusatzbezeichnung = (String) o[4]; // String zusatzbezeichnung2 = (String) o[5]; // String einheit = (String) o[6]; // String gruppe = (String) o[7]; // String klasse = (String) o[8]; // Short versteckt = (Short) o[9]; // Integer mwstsatzIId = (Integer) o[10]; reportArtikel.setName((String) o[2]); reportArtikel.setShortName((String) o[3]); reportArtikel.setAdditionalName((String) o[4]); reportArtikel.setAdditionalName2((String) o[5]); reportArtikel.setUnit((String) o[6]); reportArtikel.setItemGroup((String) o[7]); reportArtikel.setItemClass((String) o[8]); reportArtikel.setHidden((Short) o[9]); reportArtikel.setVATId((Integer) o[10]); // reportArtikel.setArtikelgruppeId(artgruIId); reportArtikel.setSpecialCondition(false); reportArtikel.setItemGroupDto(new IdValueDto(artgruIId, (String) o[7])); if (o[12] != null) { FLRShopgruppe flrShopgruppe = (FLRShopgruppe) o[12]; CustomerPricelistShopgroupDto shopgroupDto = new CustomerPricelistShopgroupDto(); shopgroupDto.setId(flrShopgruppe.getI_id()); shopgroupDto.setCnr(flrShopgruppe.getC_nr()); shopgroupDto.setName(flrShopgruppe.getC_nr()); shopgroupDto.setName(o[13] != null ? (String) o[13] : flrShopgruppe.getC_nr()); reportArtikel.setShopgroupDto(shopgroupDto); } BigDecimal preisBasis = null; if (iPreisbasis == 0 || iPreisbasis == 2) { preisBasis = getVkPreisfindungFac().ermittlePreisbasis(artikel_i_id, datGueltikeitsdatumI, null, kundeDto.getCWaehrung(), theClientDto); } else { preisBasis = getVkPreisfindungFac().ermittlePreisbasis(artikel_i_id, datGueltikeitsdatumI, kundeDto.getVkpfArtikelpreislisteIIdStdpreisliste(), kundeDto.getCWaehrung(), theClientDto); } // Preisbasis fuer Menge =1 ist nun definiert // int iAnzahlZeilenSubreport = 8; // String[] fieldnames = new String[] { "Menge", "Basis", // "BasisPreis", "Fixpreis", "Rabattsatz", // "BerechneterPreis", "Waehrung", "Soko" }; // ArrayList al = new ArrayList(); if (nurSonderkonditionen == false) { CustomerPricelistPriceDto preisDto = new CustomerPricelistPriceDto( CustomerPricelistPriceDto.PREISTYP_VKPREISBASIS, preisNachkommastellen); preisDto.setBasePrice(preisBasis); // Object[] zeile = new Object[iAnzahlZeilenSubreport]; // zeile[0] = null; // zeile[1] = "VK-Preisbasis"; // zeile[2] = preisBasis; // zeile[3] = null; VkPreisfindungPreislisteDto artikelPreisliste = null; try { artikelPreisliste = getVkPreisfindungFac().getAktuellePreislisteByArtikelIIdPreislisteIId( artikel_i_id, kundeDto.getVkpfArtikelpreislisteIIdStdpreisliste(), new Date(System.currentTimeMillis()), kundeDto.getCWaehrung(), theClientDto); } catch (Throwable t) { // ignore } if (artikelPreisliste != null) { if (artikelPreisliste.getNArtikelfixpreis() != null) { // zeile[5] = // artikelPreisliste.getNArtikelfixpreis(); preisDto.setCalculatedPrice(artikelPreisliste.getNArtikelfixpreis()); } else { // zeile[4] = artikelPreisliste // .getNArtikelstandardrabattsatz() // .doubleValue(); preisDto.setDiscountRate( artikelPreisliste.getNArtikelstandardrabattsatz().doubleValue()); if (preisBasis != null) { BigDecimal p = getVkPreisfindungFac().berechneVerkaufspreis(preisBasis, artikelPreisliste.getNArtikelstandardrabattsatz().doubleValue()).nettopreis; preisDto.setCalculatedPrice(p); // zeile[5] = getVkPreisfindungFac() // .berechneVerkaufspreis( // preisBasis, // artikelPreisliste // .getNArtikelstandardrabattsatz() // .doubleValue()).nettopreis; } else { // zeile[5] = new BigDecimal(0); preisDto.setCalculatedPrice(BigDecimal.ZERO); } } } else { // zeile[5] = preisBasis; preisDto.setCalculatedPrice(preisBasis); } // zeile[6] = kundeDto.getCWaehrung(); // zeile[7] = new Boolean(false); // al.add(zeile); preisDto.setCurrency(kundeDto.getCWaehrung()); preisDto.setSpecialCondition(false); reportArtikel.getPrices().add(preisDto); // Staffelpreis VkpfMengenstaffelDto[] vkpfMengenstaffelDtos = getVkPreisfindungFac() .vkpfMengenstaffelFindByArtikelIIdGueltigkeitsdatum(artikel_i_id, datGueltikeitsdatumI, kundeDto.getVkpfArtikelpreislisteIIdStdpreisliste(), theClientDto); for (int i = 0; i < vkpfMengenstaffelDtos.length; i++) { VkpfMengenstaffelDto vkpfMengenstaffelDto = vkpfMengenstaffelDtos[i]; if (vkpfMengenstaffelDto.getVkpfartikelpreislisteIId() == null || vkpfMengenstaffelDto.getVkpfartikelpreislisteIId() .equals(kundeDto.getVkpfArtikelpreislisteIIdStdpreisliste())) { BigDecimal preisBasisStaffel = getVkPreisfindungFac().ermittlePreisbasis(artikel_i_id, datGueltikeitsdatumI, vkpfMengenstaffelDto.getNMenge(), vkpfMengenstaffelDto.getVkpfartikelpreislisteIId(), kundeDto.getCWaehrung(), theClientDto); CustomerPricelistPriceDto staffelpreisDto = new CustomerPricelistPriceDto( CustomerPricelistPriceDto.PREISTYP_VKSTAFFELPREIS, preisNachkommastellen); staffelpreisDto.setAmount(vkpfMengenstaffelDto.getNMenge()); staffelpreisDto.setBasePrice(preisBasisStaffel); // zeile = new Object[iAnzahlZeilenSubreport]; // zeile[0] = vkpfMengenstaffelDto.getNMenge(); // zeile[1] = "VK-Staffelpreis"; // zeile[2] = preisBasisStaffel; String waehrung = theClientDto.getSMandantenwaehrung(); if (vkpfMengenstaffelDto.getVkpfartikelpreislisteIId() != null) { waehrung = getVkPreisfindungFac() .vkpfartikelpreislisteFindByPrimaryKey( vkpfMengenstaffelDto.getVkpfartikelpreislisteIId()) .getWaehrungCNr(); } // zeile[5] = waehrung; if (vkpfMengenstaffelDto.getNArtikelfixpreis() != null) { // zeile[3] = vkpfMengenstaffelDto // .getNArtikelfixpreis(); // zeile[5] = vkpfMengenstaffelDto // .getNArtikelfixpreis(); // zeile[6] = waehrung; staffelpreisDto.setFixPrice(vkpfMengenstaffelDto.getNArtikelfixpreis()); staffelpreisDto.setCalculatedPrice(vkpfMengenstaffelDto.getNArtikelfixpreis()); staffelpreisDto.setCurrency(waehrung); } else { // zeile[3] = null; // zeile[4] = vkpfMengenstaffelDto // .getFArtikelstandardrabattsatz(); // zeile[5] = getVkPreisfindungFac() // .berechneVerkaufspreis( // preisBasisStaffel, // vkpfMengenstaffelDto // .getFArtikelstandardrabattsatz()).nettopreis; // zeile[6] = kundeDto.getCWaehrung(); // zeile[7] = new Boolean(false); staffelpreisDto .setDiscountRate(vkpfMengenstaffelDto.getFArtikelstandardrabattsatz()); staffelpreisDto.setCalculatedPrice( getVkPreisfindungFac().berechneVerkaufspreis(preisBasisStaffel, vkpfMengenstaffelDto.getFArtikelstandardrabattsatz()).nettopreis); staffelpreisDto.setCurrency(kundeDto.getCWaehrung()); } // al.add(zeile); reportArtikel.getPrices().add(staffelpreisDto); } } } // Soko Artikel KundesokoDto kundeSokoArtikel = getKundesokoFac() .kundesokoFindByKundeIIdArtikelIIdGueltigkeitsdatumOhneExc(kundeIId, artikel_i_id, datGueltikeitsdatumI); if (kundeSokoArtikel != null) { // oZeile[REPORT_KUNDENPREISLISTE_ENTHAELT_SOKO] = new // Boolean( // true); reportArtikel.setSpecialCondition(true); KundesokomengenstaffelDto[] kundesokomengenstaffelDto = getKundesokoFac() .kundesokomengenstaffelFindByKundesokoIIdInZielWaehrung(kundeSokoArtikel.getIId(), datGueltikeitsdatumI, kundeDto.getCWaehrung(), theClientDto); for (int u = 0; u < kundesokomengenstaffelDto.length; u++) { KundesokomengenstaffelDto kdsDto = kundesokomengenstaffelDto[u]; CustomerPricelistPriceDto sokopreisDto = new CustomerPricelistPriceDto( CustomerPricelistPriceDto.PREISTYP_SOKOARTIKEL, preisNachkommastellen); sokopreisDto.setSpecialCondition(true); sokopreisDto.setBasePrice(preisBasis); // Object[] zeile = new Object[iAnzahlZeilenSubreport]; // zeile[0] = kdsDto.getNMenge(); // zeile[1] = "Soko-Artikel"; // zeile[2] = preisBasis; if (kdsDto.getNArtikelfixpreis() != null) { // zeile[3] = kdsDto.getNArtikelfixpreis(); // zeile[5] = kdsDto.getNArtikelfixpreis(); sokopreisDto.setFixPrice(kdsDto.getNArtikelfixpreis()); sokopreisDto.setCalculatedPrice(kdsDto.getNArtikelfixpreis()); } else { // zeile[4] = // kdsDto.getFArtikelstandardrabattsatz(); sokopreisDto.setDiscountRate(kdsDto.getFArtikelstandardrabattsatz()); BigDecimal nPreisbasis = null; if (iPreisbasis == 0 || iPreisbasis == 2) { // WH 21.06.06 Es gilt die VK-Basis, die zu // Beginn // der Mengenstaffel gueltig ist nPreisbasis = getVkPreisfindungFac().ermittlePreisbasis(artikel_i_id, datGueltikeitsdatumI, null, kundeDto.getCWaehrung(), theClientDto); } else { nPreisbasis = getVkPreisfindungFac().ermittlePreisbasis(artikel_i_id, datGueltikeitsdatumI, kundeDto.getVkpfArtikelpreislisteIIdStdpreisliste(), kundeDto.getCWaehrung(), theClientDto); } if (nPreisbasis != null) { // zeile[6] = kundeDto.getCWaehrung(); // zeile[5] = getVkPreisfindungFac() // .berechneVerkaufspreis( // nPreisbasis, // kdsDto.getFArtikelstandardrabattsatz()).nettopreis; sokopreisDto.setCalculatedPrice(getVkPreisfindungFac().berechneVerkaufspreis( nPreisbasis, kdsDto.getFArtikelstandardrabattsatz()).nettopreis); } } // zeile[6] = kundeDto.getCWaehrung(); sokopreisDto.setCurrency(kundeDto.getCWaehrung()); sokopreisDto.setAmount(kdsDto.getNMenge()); // al.add(zeile); reportArtikel.getPrices().add(sokopreisDto); } } // Soko Artikelgruppe if (artgruIId != null) { KundesokoDto kundeSokoArtGru = getKundesokoFac() .kundesokoFindByKundeIIdArtgruIIdGueltigkeitsdatumOhneExc(kundeIId, artgruIId, datGueltikeitsdatumI); if (kundeSokoArtGru != null) { KundesokomengenstaffelDto[] kundesokomengenstaffelDto = getKundesokoFac() .kundesokomengenstaffelFindByKundesokoIIdInZielWaehrung(kundeSokoArtGru.getIId(), datGueltikeitsdatumI, kundeDto.getCWaehrung(), theClientDto); for (int u = 0; u < kundesokomengenstaffelDto.length; u++) { KundesokomengenstaffelDto kdsDto = kundesokomengenstaffelDto[u]; CustomerPricelistPriceDto sokopreisDto = new CustomerPricelistPriceDto( CustomerPricelistPriceDto.PREISTYP_SOKOARTIKELGRUPPE, preisNachkommastellen); sokopreisDto.setSpecialCondition(true); sokopreisDto.setAmount(kdsDto.getNMenge()); sokopreisDto.setBasePrice(preisBasis); // Object[] zeile = new // Object[iAnzahlZeilenSubreport]; // zeile[0] = kdsDto.getNMenge(); // zeile[1] = "Soko-Artikelgruppe"; // zeile[2] = preisBasis; if (kdsDto.getNArtikelfixpreis() != null) { sokopreisDto.setFixPrice(kdsDto.getNArtikelfixpreis()); sokopreisDto.setCalculatedPrice(kdsDto.getNArtikelfixpreis()); // zeile[3] = kdsDto.getNArtikelfixpreis(); // zeile[5] = kdsDto.getNArtikelfixpreis(); } else { sokopreisDto.setDiscountRate(kdsDto.getFArtikelstandardrabattsatz()); // zeile[4] = kdsDto // .getFArtikelstandardrabattsatz(); BigDecimal nPreisbasis = null; if (iPreisbasis == 0 || iPreisbasis == 2) { // WH 21.06.06 Es gilt die VK-Basis, die // zu // Beginn // der Mengenstaffel gueltig ist nPreisbasis = getVkPreisfindungFac().ermittlePreisbasis(artikel_i_id, datGueltikeitsdatumI, null, kundeDto.getCWaehrung(), theClientDto); } else { nPreisbasis = getVkPreisfindungFac().ermittlePreisbasis(artikel_i_id, datGueltikeitsdatumI, kundeDto.getVkpfArtikelpreislisteIIdStdpreisliste(), kundeDto.getCWaehrung(), theClientDto); } if (nPreisbasis != null) { sokopreisDto.setCalculatedPrice(getVkPreisfindungFac().berechneVerkaufspreis( nPreisbasis, kdsDto.getFArtikelstandardrabattsatz()).nettopreis); // zeile[5] = getVkPreisfindungFac() // .berechneVerkaufspreis( // nPreisbasis, // kdsDto.getFArtikelstandardrabattsatz()).nettopreis; } } sokopreisDto.setCurrency(kundeDto.getCWaehrung()); // zeile[6] = kundeDto.getCWaehrung(); reportArtikel.getPrices().add(sokopreisDto); // al.add(zeile); } } } // Object[][] dataSub = new // Object[al.size()][fieldnames.length]; // dataSub = (Object[][]) al.toArray(dataSub); // // oZeile[REPORT_KUNDENPREISLISTE_SUBREPORT_PREISE] = new // LPDatenSubreport( // dataSub, fieldnames); // alDaten.add(oZeile); if (bMitArtikelbezeichnungenInMandantensprache) { // Object[] oZeileMand = oZeile.clone(); Artikelspr artikelspr = em.find(Artikelspr.class, new ArtikelsprPK(artikel_i_id, theClientDto.getLocUiAsString())); CustomerPricelistItemDescriptionDto bezDto = new CustomerPricelistItemDescriptionDto(); if (artikelspr != null) { bezDto.setName(artikelspr.getCBez()); bezDto.setShortName(artikelspr.getCKbez()); bezDto.setAdditionalName(artikelspr.getCZbez()); bezDto.setAdditionalName2(artikelspr.getCZbez2()); // oZeileMand[REPORT_KUNDENPREISLISTE_BEZEICHNUNG] = // artikelspr // .getCBez(); // oZeileMand[REPORT_KUNDENPREISLISTE_KURZBEZEICHNUNG] = // artikelspr // .getCKbez(); // oZeileMand[REPORT_KUNDENPREISLISTE_ZUSATZBEZEICHNUNG] // = artikelspr // .getCZbez(); // oZeileMand[REPORT_KUNDENPREISLISTE_ZUSATZBEZEICHNUNG2] // = artikelspr // .getCZbez2(); // } else { // oZeileMand[REPORT_KUNDENPREISLISTE_BEZEICHNUNG] = // null; // oZeileMand[REPORT_KUNDENPREISLISTE_KURZBEZEICHNUNG] = // null; // oZeileMand[REPORT_KUNDENPREISLISTE_ZUSATZBEZEICHNUNG] // = null; // oZeileMand[REPORT_KUNDENPREISLISTE_ZUSATZBEZEICHNUNG2] // = null; } reportArtikel.setClientDescriptionDto(bezDto); // alDaten.add(oZeileMand); } if (!nurSonderkonditionen || (nurSonderkonditionen & reportArtikel.getSpecialCondition())) { returnDto.getItems().add(reportArtikel); } } session.close(); // Object[][] dataTemp = new Object[1][1]; // data = (Object[][]) alDaten.toArray(dataTemp); // parameter.put("P_ARTIKELNRVON", artikelNrVon); // parameter.put("P_ARTIKELNRBIS", artikelNrBis); // parameter.put("P_MITVERSTECKTEN", new Boolean(bMitVersteckten)); // parameter.put("P_NURSOKO", new Boolean(nurSonderkonditionen)); // parameter.put("P_MITMANDANTENSPRACHE", new Boolean( // bMitArtikelbezeichnungenInMandantensprache)); // // parameter.put("P_PREISGUELTIGKEIT", datGueltikeitsdatumI); returnDto.setItemRangeFrom(artikelNrVon); returnDto.setItemRangeTo(artikelNrBis); returnDto.setWithHidden(bMitVersteckten); returnDto.setOnlySpecialCondition(nurSonderkonditionen); returnDto.setWithClientLanguage(bMitArtikelbezeichnungenInMandantensprache); returnDto.setPriceValidityMs(datGueltikeitsdatumI.getTime()); } catch (RemoteException e) { throwEJBExceptionLPRespectOld(e); // } catch(Throwable t) { // System.out.println("uups " + t.getMessage()) ; } // initJRDS(parameter, KundeReportFac.REPORT_MODUL, // KundeReportFac.REPORT_KUNDENPREISLISTE, // theClientDto.getMandant(), theClientDto.getLocUi(), // theClientDto); return returnDto; }
From source file:com.lp.server.partner.ejbfac.KundeReportFacBean.java
License:Open Source License
private JasperPrintLP printKundenpreislisteOld(Integer kundeIId, Integer artikelgruppeIId, Integer artikelklasseIId, boolean bMitInaktiven, String artikelNrVon, String artikelNrBis, boolean bMitVersteckten, java.sql.Date datGueltikeitsdatumI, boolean nurSonderkonditionen, boolean bMitArtikelbezeichnungenInMandantensprache, TheClientDto theClientDto) { useCase = KundeReportFac.UC_REPORT_KUNDE_KUNDENPREISLISTE; KundeDto kundeDto = getKundeFac().kundeFindByPrimaryKey(kundeIId, theClientDto); HashMap<String, Object> parameter = new HashMap<String, Object>(); try {/*from w ww . ja v a 2 s . c o m*/ parameter.put("P_KUNDE", kundeDto.getPartnerDto().formatAnrede()); if (artikelgruppeIId != null) { parameter.put("P_ARTIKELGRUPPE", getArtikelFac().artgruFindByPrimaryKey(artikelgruppeIId, theClientDto).getCNr()); } if (artikelklasseIId != null) { parameter.put("P_ARTIKELKLASSE", getArtikelFac().artklaFindByPrimaryKey(artikelklasseIId, theClientDto).getCNr()); } ParametermandantDto param = getParameterFac().getMandantparameter(theClientDto.getMandant(), ParameterFac.KATEGORIE_KUNDEN, ParameterFac.PARAMETER_PREISBASIS_VERKAUF); int iPreisbasis = (Integer) param.getCWertAsObject(); // Mwstsatz aus Artikel String sQuery = "SELECT artikelliste.i_id, artikelliste.c_nr, aspr.c_bez, aspr.c_kbez, aspr.c_zbez,aspr.c_zbez2,artikelliste.einheit_c_nr, gruppe.c_nr, klasse.c_nr, artikelliste.b_versteckt,artikelliste.mwstsatz_i_id, gruppe.i_id " + " FROM FLRArtikelliste AS artikelliste" + " LEFT OUTER JOIN artikelliste.flrartikelgruppe AS gruppe " + " LEFT OUTER JOIN artikelliste.flrartikelklasse AS klasse " + " LEFT OUTER JOIN artikelliste.artikelsprset AS aspr WHERE artikelliste.mandant_c_nr='" + theClientDto.getMandant() + "' AND artikelliste.artikelart_c_nr NOT IN ('" + ArtikelFac.ARTIKELART_HANDARTIKEL + "') "; if (artikelklasseIId != null) { sQuery += " AND klasse.i_id=" + artikelklasseIId.intValue(); } if (artikelgruppeIId != null) { sQuery += " AND gruppe.i_id=" + artikelgruppeIId.intValue(); } if (bMitVersteckten == false) { sQuery += " AND artikelliste.b_versteckt=0 "; } if (artikelNrVon != null) { sQuery += " AND artikelliste.c_nr >='" + artikelNrVon + "'"; } if (artikelNrBis != null) { sQuery = sQuery + " AND artikelliste.c_nr <='" + artikelNrBis + "'"; } sQuery += "ORDER BY artikelliste.c_nr"; Session session = FLRSessionFactory.getFactory().openSession(); Query inventurliste = session.createQuery(sQuery); session.enableFilter("filterLocale").setParameter("paramLocale", kundeDto.getPartnerDto().getLocaleCNrKommunikation()); List<?> resultList = inventurliste.list(); Iterator<?> resultListIterator = resultList.iterator(); ArrayList alDaten = new ArrayList(); int row = 0; while (resultListIterator.hasNext()) { Object o[] = (Object[]) resultListIterator.next(); Integer artikel_i_id = (Integer) o[0]; String artikelnummer = (String) o[1]; String bezeichnung = (String) o[2]; String kurzbezeichnung = (String) o[3]; String zusatzbezeichnung = (String) o[4]; String zusatzbezeichnung2 = (String) o[5]; String einheit = (String) o[6]; String gruppe = (String) o[7]; String klasse = (String) o[8]; Short versteckt = (Short) o[9]; Integer mwstsatzIId = (Integer) o[10]; Integer artgruIId = (Integer) o[11]; Object[] oZeile = new Object[REPORT_KUNDENPREISLISTE_ANZAHL_SPALTEN]; oZeile[REPORT_KUNDENPREISLISTE_ARTIKELNUMMER] = artikelnummer; oZeile[REPORT_KUNDENPREISLISTE_BEZEICHNUNG] = bezeichnung; oZeile[REPORT_KUNDENPREISLISTE_KURZBEZEICHNUNG] = kurzbezeichnung; oZeile[REPORT_KUNDENPREISLISTE_ZUSATZBEZEICHNUNG] = zusatzbezeichnung; oZeile[REPORT_KUNDENPREISLISTE_ZUSATZBEZEICHNUNG2] = zusatzbezeichnung2; oZeile[REPORT_KUNDENPREISLISTE_ARTIKELGRUPPE] = gruppe; oZeile[REPORT_KUNDENPREISLISTE_ARTIKELKLASSE] = klasse; oZeile[REPORT_KUNDENPREISLISTE_VERSTECKT] = Helper.short2Boolean(versteckt); oZeile[REPORT_KUNDENPREISLISTE_ENTHAELT_SOKO] = new Boolean(false); BigDecimal preisBasis = getVkPreisfindungFac().ermittlePreisbasis(artikel_i_id, datGueltikeitsdatumI, null, kundeDto.getCWaehrung(), theClientDto); // Preisbasis fuer Menge =1 ist nun definiert int iAnzahlZeilenSubreport = 8; String[] fieldnames = new String[] { "Menge", "Basis", "BasisPreis", "Fixpreis", "Rabattsatz", "BerechneterPreis", "Waehrung", "Soko" }; ArrayList al = new ArrayList(); if (nurSonderkonditionen == false) { Object[] zeile = new Object[iAnzahlZeilenSubreport]; zeile[0] = null; zeile[1] = "VK-Preisbasis"; zeile[2] = preisBasis; zeile[3] = null; VkPreisfindungPreislisteDto artikelPreisliste = null; try { artikelPreisliste = getVkPreisfindungFac().getAktuellePreislisteByArtikelIIdPreislisteIId( artikel_i_id, kundeDto.getVkpfArtikelpreislisteIIdStdpreisliste(), new Date(System.currentTimeMillis()), kundeDto.getCWaehrung(), theClientDto); } catch (Throwable t) { // ignore } if (artikelPreisliste != null) { if (artikelPreisliste.getNArtikelfixpreis() != null) { zeile[5] = artikelPreisliste.getNArtikelfixpreis(); } else { zeile[4] = artikelPreisliste.getNArtikelstandardrabattsatz().doubleValue(); if (preisBasis != null) { zeile[5] = getVkPreisfindungFac().berechneVerkaufspreis(preisBasis, artikelPreisliste.getNArtikelstandardrabattsatz().doubleValue()).nettopreis; } else { zeile[5] = new BigDecimal(0); } } } else { zeile[5] = preisBasis; } zeile[6] = kundeDto.getCWaehrung(); zeile[7] = new Boolean(false); al.add(zeile); // Staffelpreis VkpfMengenstaffelDto[] vkpfMengenstaffelDtos = getVkPreisfindungFac() .vkpfMengenstaffelFindByArtikelIIdGueltigkeitsdatum(artikel_i_id, datGueltikeitsdatumI, kundeDto.getVkpfArtikelpreislisteIIdStdpreisliste(), theClientDto); for (int i = 0; i < vkpfMengenstaffelDtos.length; i++) { VkpfMengenstaffelDto vkpfMengenstaffelDto = vkpfMengenstaffelDtos[i]; if (vkpfMengenstaffelDto.getVkpfartikelpreislisteIId() == null || vkpfMengenstaffelDto.getVkpfartikelpreislisteIId() .equals(kundeDto.getVkpfArtikelpreislisteIIdStdpreisliste())) { BigDecimal preisBasisStaffel = getVkPreisfindungFac().ermittlePreisbasis(artikel_i_id, datGueltikeitsdatumI, vkpfMengenstaffelDto.getNMenge(), vkpfMengenstaffelDto.getVkpfartikelpreislisteIId(), kundeDto.getCWaehrung(), theClientDto); zeile = new Object[iAnzahlZeilenSubreport]; zeile[0] = vkpfMengenstaffelDto.getNMenge(); zeile[1] = "VK-Staffelpreis"; zeile[2] = preisBasisStaffel; String waehrung = theClientDto.getSMandantenwaehrung(); if (vkpfMengenstaffelDto.getVkpfartikelpreislisteIId() != null) { waehrung = getVkPreisfindungFac() .vkpfartikelpreislisteFindByPrimaryKey( vkpfMengenstaffelDto.getVkpfartikelpreislisteIId()) .getWaehrungCNr(); } zeile[5] = waehrung; if (vkpfMengenstaffelDto.getNArtikelfixpreis() != null) { zeile[3] = vkpfMengenstaffelDto.getNArtikelfixpreis(); zeile[5] = vkpfMengenstaffelDto.getNArtikelfixpreis(); zeile[6] = waehrung; } else { zeile[3] = null; zeile[4] = vkpfMengenstaffelDto.getFArtikelstandardrabattsatz(); zeile[5] = getVkPreisfindungFac().berechneVerkaufspreis(preisBasisStaffel, vkpfMengenstaffelDto.getFArtikelstandardrabattsatz()).nettopreis; zeile[6] = kundeDto.getCWaehrung(); zeile[7] = new Boolean(false); } al.add(zeile); } } } // Soko Artikel KundesokoDto kundeSokoArtikel = getKundesokoFac() .kundesokoFindByKundeIIdArtikelIIdGueltigkeitsdatumOhneExc(kundeIId, artikel_i_id, datGueltikeitsdatumI); if (kundeSokoArtikel != null) { oZeile[REPORT_KUNDENPREISLISTE_ENTHAELT_SOKO] = new Boolean(true); KundesokomengenstaffelDto[] kundesokomengenstaffelDto = getKundesokoFac() .kundesokomengenstaffelFindByKundesokoIIdInZielWaehrung(kundeSokoArtikel.getIId(), datGueltikeitsdatumI, kundeDto.getCWaehrung(), theClientDto); for (int u = 0; u < kundesokomengenstaffelDto.length; u++) { KundesokomengenstaffelDto kdsDto = kundesokomengenstaffelDto[u]; Object[] zeile = new Object[iAnzahlZeilenSubreport]; zeile[0] = kdsDto.getNMenge(); zeile[1] = "Soko-Artikel"; zeile[2] = preisBasis; if (kdsDto.getNArtikelfixpreis() != null) { zeile[3] = kdsDto.getNArtikelfixpreis(); zeile[5] = kdsDto.getNArtikelfixpreis(); } else { zeile[4] = kdsDto.getFArtikelstandardrabattsatz(); BigDecimal nPreisbasis = null; if (iPreisbasis == 0 || iPreisbasis == 2) { // WH 21.06.06 Es gilt die VK-Basis, die zu // Beginn // der Mengenstaffel gueltig ist nPreisbasis = getVkPreisfindungFac().ermittlePreisbasis(artikel_i_id, datGueltikeitsdatumI, null, kundeDto.getCWaehrung(), theClientDto); } else { nPreisbasis = getVkPreisfindungFac().ermittlePreisbasis(artikel_i_id, datGueltikeitsdatumI, kundeDto.getVkpfArtikelpreislisteIIdStdpreisliste(), kundeDto.getCWaehrung(), theClientDto); } if (nPreisbasis != null) { zeile[6] = kundeDto.getCWaehrung(); zeile[5] = getVkPreisfindungFac().berechneVerkaufspreis(nPreisbasis, kdsDto.getFArtikelstandardrabattsatz()).nettopreis; } } zeile[6] = kundeDto.getCWaehrung(); al.add(zeile); } // Soko Artikelgruppe if (artgruIId != null) { KundesokoDto kundeSokoArtGru = getKundesokoFac() .kundesokoFindByKundeIIdArtgruIIdGueltigkeitsdatumOhneExc(kundeIId, artgruIId, datGueltikeitsdatumI); if (kundeSokoArtGru != null) { kundesokomengenstaffelDto = getKundesokoFac() .kundesokomengenstaffelFindByKundesokoIIdInZielWaehrung( kundeSokoArtGru.getIId(), datGueltikeitsdatumI, kundeDto.getCWaehrung(), theClientDto); for (int u = 0; u < kundesokomengenstaffelDto.length; u++) { KundesokomengenstaffelDto kdsDto = kundesokomengenstaffelDto[u]; Object[] zeile = new Object[iAnzahlZeilenSubreport]; zeile[0] = kdsDto.getNMenge(); zeile[1] = "Soko-Artikelgruppe"; zeile[2] = preisBasis; if (kdsDto.getNArtikelfixpreis() != null) { zeile[3] = kdsDto.getNArtikelfixpreis(); zeile[5] = kdsDto.getNArtikelfixpreis(); } else { zeile[4] = kdsDto.getFArtikelstandardrabattsatz(); BigDecimal nPreisbasis = null; if (iPreisbasis == 0 || iPreisbasis == 2) { // WH 21.06.06 Es gilt die VK-Basis, die // zu // Beginn // der Mengenstaffel gueltig ist nPreisbasis = getVkPreisfindungFac().ermittlePreisbasis(artikel_i_id, datGueltikeitsdatumI, null, kundeDto.getCWaehrung(), theClientDto); } else { nPreisbasis = getVkPreisfindungFac().ermittlePreisbasis(artikel_i_id, datGueltikeitsdatumI, kundeDto.getVkpfArtikelpreislisteIIdStdpreisliste(), kundeDto.getCWaehrung(), theClientDto); } if (nPreisbasis != null) { zeile[5] = getVkPreisfindungFac().berechneVerkaufspreis(nPreisbasis, kdsDto.getFArtikelstandardrabattsatz()).nettopreis; } } zeile[6] = kundeDto.getCWaehrung(); al.add(zeile); } } } } Object[][] dataSub = new Object[al.size()][fieldnames.length]; dataSub = (Object[][]) al.toArray(dataSub); oZeile[REPORT_KUNDENPREISLISTE_SUBREPORT_PREISE] = new LPDatenSubreport(dataSub, fieldnames); alDaten.add(oZeile); if (bMitArtikelbezeichnungenInMandantensprache) { Object[] oZeileMand = oZeile.clone(); Artikelspr artikelspr = em.find(Artikelspr.class, new ArtikelsprPK(artikel_i_id, theClientDto.getLocUiAsString())); if (artikelspr != null) { oZeileMand[REPORT_KUNDENPREISLISTE_BEZEICHNUNG] = artikelspr.getCBez(); oZeileMand[REPORT_KUNDENPREISLISTE_KURZBEZEICHNUNG] = artikelspr.getCKbez(); oZeileMand[REPORT_KUNDENPREISLISTE_ZUSATZBEZEICHNUNG] = artikelspr.getCZbez(); oZeileMand[REPORT_KUNDENPREISLISTE_ZUSATZBEZEICHNUNG2] = artikelspr.getCZbez2(); } else { oZeileMand[REPORT_KUNDENPREISLISTE_BEZEICHNUNG] = null; oZeileMand[REPORT_KUNDENPREISLISTE_KURZBEZEICHNUNG] = null; oZeileMand[REPORT_KUNDENPREISLISTE_ZUSATZBEZEICHNUNG] = null; oZeileMand[REPORT_KUNDENPREISLISTE_ZUSATZBEZEICHNUNG2] = null; } alDaten.add(oZeileMand); } } session.close(); Object[][] dataTemp = new Object[1][1]; data = (Object[][]) alDaten.toArray(dataTemp); parameter.put("P_ARTIKELNRVON", artikelNrVon); parameter.put("P_ARTIKELNRBIS", artikelNrBis); parameter.put("P_MITVERSTECKTEN", new Boolean(bMitVersteckten)); parameter.put("P_NURSOKO", new Boolean(nurSonderkonditionen)); parameter.put("P_MITMANDANTENSPRACHE", new Boolean(bMitArtikelbezeichnungenInMandantensprache)); parameter.put("P_PREISGUELTIGKEIT", datGueltikeitsdatumI); } catch (RemoteException e) { throwEJBExceptionLPRespectOld(e); } initJRDS(parameter, KundeReportFac.REPORT_MODUL, KundeReportFac.REPORT_KUNDENPREISLISTE, theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto); return getReportPrint(); }
From source file:com.lp.server.partner.ejbfac.WebshopCustomerServiceEjb.java
License:Open Source License
@Override public WebshopCustomersResult getCustomers(WebshopAuthHeader header) { WebshopCustomersResult result = new WebshopCustomersResult(); List<FLRKunde> flrCustomers = new ArrayList<FLRKunde>(); Session session = null; try {// w ww .ja va 2s.co m setupSessionParams(header); SessionFactory factory = FLRSessionFactory.getFactory(); session = factory.openSession(); String sLocUI = Helper.locale2String(authController.getWebClientDto().getLocUi()); session.enableFilter("filterLocale").setParameter("paramLocale", sLocUI); String queryString = MessageFormat.format( "select kunde FROM FLRKunde as kunde " + "left outer join kunde.flrpartner.partner_paselektion_set as paset " + "left outer join paset.flrselektion as s " + "WHERE s.b_webshop = 1 AND " + " kunde.mandant_c_nr = ''{0}'' " + " ORDER BY kunde.i_id", new Object[] { authController.getWebClientDto().getMandant() }); Query query = session.createQuery(queryString); flrCustomers = query.list(); addCustomerReferences(flrCustomers, result); result.setOkay(); return result; } catch (HeliumSimpleAuthException e) { myLogger.error("HeliumSimpleAuthException (" + e.getErrorCode() + ")"); return new WebshopCustomersResult(WebshopCustomersResult.ERROR_AUTHENTIFICATION); } catch (Exception e) { myLogger.error("Error (" + e.getMessage() + ")"); return new WebshopCustomersResult(WebshopCustomersResult.ERROR_EJB_EXCEPTION); } finally { HelperWebshop.closeFLRSession(session); } }