List of usage examples for org.hibernate Criteria createCriteria
public Criteria createCriteria(String associationPath) throws HibernateException;
From source file:com.lp.server.rechnung.ejbfac.RechnungFacBean.java
License:Open Source License
/** * Die Anzahl der an einen Kunden gelegten Rechnungen in eimem zeitraum * ermitteln. geht ueber hibernate (der performace wegen). * /*w w w . j a v a 2 s .com*/ * @param theClientDto * String * @param kundeIId * Integer * @param dVon * Date * @param dBis * Date * @param bStatistikadresse * boolean * @return Integer * @throws EJBExceptionLP */ public Integer getAnzahlDerRechnungenVomKundenImZeitraum(TheClientDto theClientDto, Integer kundeIId, Date dVon, Date dBis, boolean bStatistikadresse) throws EJBExceptionLP { Session session = null; try { SessionFactory factory = FLRSessionFactory.getFactory(); session = factory.openSession(); Criteria c = session.createCriteria(FLRRechnung.class); c.add(Restrictions.eq(RechnungFac.FLR_RECHNUNG_MANDANT_C_NR, theClientDto.getMandant())); c.createCriteria(RechnungFac.FLR_RECHNUNG_FLRRECHNUNGART).add(Restrictions .eq(RechnungFac.FLR_RECHNUNGART_RECHNUNGTYP_C_NR, RechnungFac.RECHNUNGTYP_RECHNUNG)); if (kundeIId != null) { if (bStatistikadresse == true) { c.add(Restrictions.eq(RechnungFac.FLR_RECHNUNG_KUNDE_I_ID_STATISTIKADRESSE, kundeIId)); } else { c.createCriteria(RechnungFac.FLR_RECHNUNG_FLRKUNDE) .add(Restrictions.eq(KundeFac.FLR_KUNDE_I_ID, kundeIId)); } } if (dVon != null) { c.add(Restrictions.ge(RechnungFac.FLR_RECHNUNG_D_BELEGDATUM, dVon)); } if (dBis != null) { c.add(Restrictions.le(RechnungFac.FLR_RECHNUNG_D_BELEGDATUM, dBis)); } // Filter nach Status Collection<String> cStati = new LinkedList<String>(); cStati.add(RechnungFac.STATUS_BEZAHLT); cStati.add(RechnungFac.STATUS_TEILBEZAHLT); cStati.add(RechnungFac.STATUS_OFFEN); cStati.add(RechnungFac.STATUS_VERBUCHT); c.add(Restrictions.in(RechnungFac.FLR_RECHNUNG_STATUS_C_NR, cStati)); List<?> list = c.list(); return new Integer(list.size()); } finally { if (session != null) { session.close(); } } }
From source file:com.lp.server.rechnung.ejbfac.RechnungFacBean.java
License:Open Source License
public Integer getZahlungsmoraleinesKunden(Integer kundeIId, boolean bStatistikadresse, TheClientDto theClientDto) {/*from www . j a va 2 s .c o m*/ Session session = null; SessionFactory factory = FLRSessionFactory.getFactory(); session = factory.openSession(); Criteria c = session.createCriteria(FLRRechnung.class); c.add(Restrictions.eq(RechnungFac.FLR_RECHNUNG_MANDANT_C_NR, theClientDto.getMandant())); c.createCriteria(RechnungFac.FLR_RECHNUNG_FLRRECHNUNGART).add( Restrictions.eq(RechnungFac.FLR_RECHNUNGART_RECHNUNGTYP_C_NR, RechnungFac.RECHNUNGTYP_RECHNUNG)); if (kundeIId != null) { if (bStatistikadresse == true) { c.add(Restrictions.eq(RechnungFac.FLR_RECHNUNG_KUNDE_I_ID_STATISTIKADRESSE, kundeIId)); } else { c.createCriteria(RechnungFac.FLR_RECHNUNG_FLRKUNDE) .add(Restrictions.eq(KundeFac.FLR_KUNDE_I_ID, kundeIId)); } } c.add(Restrictions.le(RechnungFac.FLR_RECHNUNG_D_BELEGDATUM, new java.sql.Date(System.currentTimeMillis()))); try { ParametermandantDto parameter = getParameterFac().getMandantparameter(theClientDto.getMandant(), ParameterFac.KATEGORIE_KUNDEN, ParameterFac.PARAMETER_ZAHLUNGSMORAL_MONATE); Integer iAnzalMonate = (Integer) parameter.getCWertAsObject(); Calendar cal = Calendar.getInstance(); cal.set(Calendar.MONTH, cal.get(Calendar.MONTH) - iAnzalMonate.intValue()); c.add(Restrictions.ge(RechnungFac.FLR_RECHNUNG_D_BELEGDATUM, new java.sql.Date(cal.getTimeInMillis()))); } catch (RemoteException e) { throwEJBExceptionLPRespectOld(e); } // Filter nach Status Collection<String> cStati = new LinkedList<String>(); cStati.add(RechnungFac.STATUS_BEZAHLT); c.add(Restrictions.in(RechnungFac.FLR_RECHNUNG_STATUS_C_NR, cStati)); c.addOrder(Order.desc("c_nr")); try { ParametermandantDto parameter = getParameterFac().getMandantparameter(theClientDto.getMandant(), ParameterFac.KATEGORIE_KUNDEN, ParameterFac.PARAMETER_ZAHLUNGSMORAL_ANZAHL_RECHNUNGEN); Integer iAnzalRechnungen = (Integer) parameter.getCWertAsObject(); c.setMaxResults(iAnzalRechnungen); } catch (RemoteException e) { throwEJBExceptionLPRespectOld(e); } List<?> list = c.list(); if (list.size() == 0) { return 0; } Iterator<?> iter = list.iterator(); int iZaehler = 0; int iGesamtTage = 0; while (iter.hasNext()) { FLRRechnung rech = (FLRRechnung) iter.next(); RechnungDto rechnungDto = rechnungFindByPrimaryKey(rech.getI_id()); if (rechnungDto.getTBezahltdatum() != null) { iGesamtTage += Helper.ermittleTageEinesZeitraumes(rechnungDto.getTBelegdatum(), rechnungDto.getTBezahltdatum()); iZaehler++; } } if (iZaehler != 0) { return iGesamtTage / iZaehler; } else { return 0; } }
From source file:com.lp.server.rechnung.ejbfac.RechnungFacBean.java
License:Open Source License
public FLRRechnungReport[] rechnungFindByBelegdatumVonBis(String mandantCNr, Date dVon, Date dBis, Collection<String> cRechnungstyp, Collection<String> cStati, Integer kundeIId, boolean bStatistikadresse) { Session session = null;/*from w w w .j a va 2 s .c o m*/ try { SessionFactory factory = FLRSessionFactory.getFactory(); session = factory.openSession(); Criteria c = session.createCriteria(FLRRechnungReport.class); c.add(Restrictions.eq(RechnungFac.FLR_RECHNUNG_MANDANT_C_NR, mandantCNr)); c.add(Restrictions.in(RechnungFac.FLR_RECHNUNG_STATUS_C_NR, cStati)); if (dVon != null) { c.add(Restrictions.ge(RechnungFac.FLR_RECHNUNG_D_BELEGDATUM, dVon)); } if (dBis != null) { c.add(Restrictions.lt(RechnungFac.FLR_RECHNUNG_D_BELEGDATUM, dBis)); } if (kundeIId != null) { if (bStatistikadresse == true) { c.add(Restrictions.eq(RechnungFac.FLR_RECHNUNG_KUNDE_I_ID_STATISTIKADRESSE, kundeIId)); } else { c.add(Restrictions.eq(RechnungFac.FLR_RECHNUNG_KUNDE_I_ID, kundeIId)); } } c.createCriteria(RechnungFac.FLR_RECHNUNG_FLRRECHNUNGART) .add(Restrictions.in(RechnungFac.FLR_RECHNUNGART_RECHNUNGTYP_C_NR, cRechnungstyp)); List<?> list = c.list(); if (list.isEmpty()) { return new FLRRechnungReport[0]; } else { int i = 0; FLRRechnungReport[] re = new FLRRechnungReport[list.size()]; for (Iterator<?> iter = list.iterator(); iter.hasNext();) { re[i++] = (FLRRechnungReport) iter.next(); } return re; } } finally { if (session != null) { session.close(); } } }
From source file:com.lp.server.rechnung.ejbfac.RechnungFacBean.java
License:Open Source License
public ArrayList<Integer> getAngelegteRechnungen(TheClientDto theClientDto) throws EJBExceptionLP { Session session = null;// w w w . j av a 2s . co m ArrayList<Integer> a = new ArrayList<Integer>(); try { SessionFactory factory = FLRSessionFactory.getFactory(); session = factory.openSession(); Criteria c = session.createCriteria(FLRRechnung.class); // Filter auf Mandant c.add(Restrictions.eq(RechnungFac.FLR_RECHNUNG_MANDANT_C_NR, theClientDto.getMandant())); // nur Rechnungen c.createCriteria(RechnungFac.FLR_RECHNUNG_FLRRECHNUNGART).add(Restrictions .eq(RechnungFac.FLR_RECHNUNGART_RECHNUNGTYP_C_NR, RechnungFac.RECHNUNGTYP_RECHNUNG)); // Filter nach Status: nur angelegte c.add(Restrictions.eq(RechnungFac.FLR_RECHNUNG_STATUS_C_NR, RechnungFac.STATUS_ANGELEGT)); // nach RE-Nummer sortieren c.addOrder(Order.asc(RechnungFac.FLR_RECHNUNG_C_NR)); // Query ausfuehren List<?> list = c.list(); for (Iterator<?> iter = list.iterator(); iter.hasNext();) { FLRRechnung item = (FLRRechnung) iter.next(); a.add(item.getI_id()); } } finally { if (session != null) { session.close(); } } return a; }
From source file:com.lp.server.rechnung.ejbfac.RechnungReportFacBean.java
License:Open Source License
public JasperPrintLP printRechnungenOffene(ReportRechnungJournalKriterienDto krit, TheClientDto theClientDto) throws EJBExceptionLP { Session session = null;/*from w w w. j av a 2s. c o m*/ try { Map<String, Object> mapParameter = new TreeMap<String, Object>(); MandantDto mandantDto = getMandantFac().mandantFindByPrimaryKey(theClientDto.getMandant(), theClientDto); this.useCase = UC_REPORT_RECHNUNGEN_OFFENE; SessionFactory factory = FLRSessionFactory.getFactory(); session = factory.openSession(); // Kunde oder Statistikadresse verwenden final String critKundeIId; final String critFLRKunde; if (krit.getBVerwendeStatistikAdresse()) { critKundeIId = RechnungFac.FLR_RECHNUNG_KUNDE_I_ID_STATISTIKADRESSE; critFLRKunde = RechnungFac.FLR_RECHNUNG_FLRSTATISTIKADRESSE; } else { critKundeIId = RechnungFac.FLR_RECHNUNG_KUNDE_I_ID; critFLRKunde = RechnungFac.FLR_RECHNUNG_FLRKUNDE; } List<Integer> kundenIIds = new ArrayList<Integer>(); if (krit.kundeIId != null) { kundenIIds.add(krit.kundeIId); } else if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_PARTNER) { Iterator<?> iter = session.createCriteria(FLRKunde.class).createAlias("flrpartner", "p") .addOrder(Order.asc("p.c_name1nachnamefirmazeile1")) .add(Restrictions.eq("mandant_c_nr", theClientDto.getMandant())).list().iterator(); while (iter.hasNext()) kundenIIds.add(((FLRKunde) iter.next()).getI_id()); } else { kundenIIds.add(null); } List<Object[]> dataList = new ArrayList<Object[]>(); for (Integer kndIId : kundenIIds) { Criteria c = session.createCriteria(FLRRechnungReport.class); // Filter nach Mandant c.add(Restrictions.eq(RechnungFac.FLR_RECHNUNG_MANDANT_C_NR, theClientDto.getMandant())); // Rechnungstypen Collection<String> cRechnungstyp = new LinkedList<String>(); cRechnungstyp.add(RechnungFac.RECHNUNGTYP_RECHNUNG); if (krit.getBGutschriftenBeruecksichtigen()) { cRechnungstyp.add(RechnungFac.RECHNUNGTYP_GUTSCHRIFT); } c.createCriteria(RechnungFac.FLR_RECHNUNG_FLRRECHNUNGART) .add(Restrictions.in(RechnungFac.FLR_RECHNUNGART_RECHNUNGTYP_C_NR, cRechnungstyp)); // Kostenstelle if (krit.kostenstelleIId != null) { c.add(Restrictions.eq(RechnungFac.FLR_RECHNUNG_KOSTENSTELLE_I_ID, krit.kostenstelleIId)); } if (kndIId != null) { c.add(Restrictions.eq(critKundeIId, kndIId)); KundeDto kundeDto = getKundeFac().kundeFindByPrimaryKey(kndIId, theClientDto); mapParameter.put("P_KUNDE", kundeDto.getPartnerDto().formatTitelAnrede()); } // Filter nach einem Vertrter if (krit.vertreterIId != null) { c.add(Restrictions.eq(RechnungFac.FLR_RECHNUNG_FLRVERTRETER + ".i_id", krit.vertreterIId)); } String sVon = null; String sBis = null; if (krit.dVon != null) { c.add(Restrictions.ge(RechnungFac.FLR_RECHNUNG_D_BELEGDATUM, krit.dVon)); sVon = Helper.formatDatum(krit.dVon, theClientDto.getLocUi()); } if (krit.dBis != null) { c.add(Restrictions.le(RechnungFac.FLR_RECHNUNG_D_BELEGDATUM, krit.dBis)); sBis = Helper.formatDatum(krit.dBis, theClientDto.getLocUi()); } 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 (krit.sBelegnummerVon != null) { sVon = HelperServer.getBelegnummernFilterForHibernateCriterias(f, iGeschaeftsjahr, sMandantKuerzel, krit.sBelegnummerVon); c.add(Restrictions.ge(RechnungFac.FLR_RECHNUNG_C_NR, sVon)); } if (krit.sBelegnummerBis != null) { sBis = HelperServer.getBelegnummernFilterForHibernateCriterias(f, iGeschaeftsjahr, sMandantKuerzel, krit.sBelegnummerBis); c.add(Restrictions.le(RechnungFac.FLR_RECHNUNG_C_NR, sBis)); } // Alle Stati ausser Angelegt, Bezahlt, Storniert Collection<String> cStati = new LinkedList<String>(); cStati.add(RechnungFac.STATUS_ANGELEGT); cStati.add(RechnungFac.STATUS_STORNIERT); c.add(Restrictions.not(Restrictions.in(RechnungFac.FLR_RECHNUNG_STATUS_C_NR, cStati))); c.add(Restrictions.or(Restrictions.gt("t_bezahltdatum", krit.getTStichtag()), Restrictions.isNull("t_bezahltdatum"))); boolean mitNichtZugeordnetenBelegen = false; // Sortierung nach Kostenstelle if (krit.bSortiereNachKostenstelle) { c.createCriteria(RechnungFac.FLR_RECHNUNG_FLRKOSTENSTELLE).addOrder(Order.asc("c_nr")); } // Sortierung nach Kunde if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_PARTNER) { c.createCriteria(critFLRKunde).createCriteria(KundeFac.FLR_PARTNER) .addOrder(Order.asc(PartnerFac.FLR_PARTNER_NAME1NACHNAMEFIRMAZEILE1)); c.addOrder(Order.asc(RechnungFac.FLR_RECHNUNG_C_NR)); mitNichtZugeordnetenBelegen = krit.getBMitNichtZugeordnetendBelegen(); } // Sortierung nach Belegnummer else if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_BELEGNUMMER) { c.addOrder(Order.asc(RechnungFac.FLR_RECHNUNG_C_NR)); } else if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_VERTRETER) { c.createCriteria(RechnungFac.FLR_RECHNUNG_FLRVERTRETER) .addOrder(Order.asc(PersonalFac.FLR_PERSONAL_C_KURZZEICHEN)); } else if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_FAELLIGKEIT) { c.addOrder(Order.asc(RechnungFac.FLR_RECHNUNG_T_FAELLIGKEIT)) .addOrder(Order.asc(RechnungFac.FLR_RECHNUNG_C_NR)); } // stichtag ab belegdatum c.add(Restrictions.le(RechnungFac.FLR_RECHNUNG_D_BELEGDATUM, krit.getTStichtag())); List<?> firstResultList = c.list(); Iterator<?> firstResultListIterator = firstResultList.iterator(); List<FLRRechnungReport> resultList = new LinkedList<FLRRechnungReport>(); while (firstResultListIterator.hasNext()) { FLRRechnungReport re = (FLRRechnungReport) firstResultListIterator.next(); // stichtag bereits bezahlt? if (re.getT_bezahltdatum() == null || !krit.getTStichtag().after(re.getT_bezahltdatum())) { resultList.add(re); } } Iterator<?> resultListIterator = resultList.iterator(); int row = 0; Object[][] tempData = new Object[resultList.size()][OFFENE_ANZAHL_SPALTEN]; KundeDto kundeDto = null; if (kndIId != null) kundeDto = getKundeFac().kundeFindByPrimaryKey(kndIId, theClientDto); if (mitNichtZugeordnetenBelegen && kundeDto.getIidDebitorenkonto() != null) { // TODO: nur FLRFinanzBuchungDetail holen Query query = session.createQuery( "SELECT buchungdetail from FLRFinanzBuchungDetail buchungdetail LEFT OUTER JOIN buchungdetail.flrbuchung AS buchung" + " WHERE" + BuchungDetailQueryBuilder.buildNurOffeneBuchungDetails("buchungdetail") + "AND" + BuchungDetailQueryBuilder.buildNichtZuordenbareVonKonto("buchungdetail", "buchung", kundeDto.getIidDebitorenkonto()) + (krit.getTStichtag() == null ? "" : (" AND buchung.d_buchungsdatum<='" + Helper.formatDateWithSlashes(krit.getTStichtag()) + "'"))); @SuppressWarnings("unchecked") List<FLRFinanzBuchungDetail> bdList = query.list(); if (bdList.size() > 0) { if (tempData.length < 1) { tempData = new Object[1][OFFENE_ANZAHL_SPALTEN]; String sFirma = kundeDto.getPartnerDto().getCName1nachnamefirmazeile1(); tempData[row][OFFENE_FELD_FIRMA] = sFirma; tempData[row][OFFENE_FELD_DEBITORENNR] = kundeDto.getIidDebitorenkonto() != null ? getFinanzFac().kontoFindByPrimaryKey(kundeDto.getIidDebitorenkonto()).getCNr() : null; } tempData[0][OFFENE_SUBREPORT_OFFENE_BUCHUNGEN] = FinanzSubreportGenerator .createBuchungsdetailSubreport(bdList, true); } } while (resultListIterator.hasNext()) { FLRRechnungReport re = (FLRRechnungReport) resultListIterator.next(); RechnungDto reDto = getRechnungFac().rechnungFindByPrimaryKey(re.getI_id()); // Kunde oder Statistikadresse? final Integer kundeIId, kundeIIdStatistik; if (krit.getBVerwendeStatistikAdresse()) { kundeIId = reDto.getKundeIIdStatistikadresse(); } else { kundeIId = reDto.getKundeIId(); // Statistikdaten wenn nicht Kriterium Statistikadresse kundeIIdStatistik = reDto.getKundeIIdStatistikadresse(); KundeDto kundeDtoStatistik = getKundeFac().kundeFindByPrimaryKey(kundeIIdStatistik, theClientDto); String sFirmaStatistik = kundeDtoStatistik.getPartnerDto().getCName1nachnamefirmazeile1(); String sKundeLKZStatistik = null; if (kundeDtoStatistik.getPartnerDto().getLandplzortDto() != null) { sKundeLKZStatistik = kundeDtoStatistik.getPartnerDto().getLandplzortDto().getLandDto() .getCLkz(); } tempData[row][OFFENE_FELD_FIRMA_STATISTIK] = sFirmaStatistik; tempData[row][OFFENE_FELD_FIRMA_LKZ_STATISTIK] = sKundeLKZStatistik; } if (kundeDto == null || kundeDto.getIId() != kundeIId) { kundeDto = getKundeFac().kundeFindByPrimaryKey(kundeIId, theClientDto); } String sFirma = kundeDto.getPartnerDto().getCName1nachnamefirmazeile1(); String sKundeLKZ = null; if (kundeDto.getPartnerDto().getLandplzortDto() != null) { sKundeLKZ = kundeDto.getPartnerDto().getLandplzortDto().getLandDto().getCLkz(); } tempData[row][OFFENE_FELD_RECHNUNGART] = re.getFlrrechnungart().getRechnungtyp_c_nr(); tempData[row][OFFENE_FELD_RECHNUNGSNUMMER] = reDto.getCNr(); tempData[row][OFFENE_FELD_FIRMA] = sFirma; tempData[row][OFFENE_FELD_FIRMA_LKZ] = sKundeLKZ; tempData[row][OFFENE_FELD_RECHNUNGSDATUM] = re.getD_belegdatum(); tempData[row][OFFENE_FELD_KURS] = re.getN_kurs(); tempData[row][OFFENE_FELD_WAEHRUNG] = re.getWaehrung_c_nr(); tempData[row][OFFENE_FELD_DEBITORENNR] = kundeDto.getIidDebitorenkonto() != null ? getFinanzFac().kontoFindByPrimaryKey(kundeDto.getIidDebitorenkonto()).getCNr() : null; // Vertreter if (re.getFlrvertreter() != null) { if (re.getFlrvertreter().getFlrpartner().getC_name2vornamefirmazeile2() != null) { tempData[row][OFFENE_FELD_VERTRETER] = re.getFlrvertreter().getFlrpartner() .getC_name1nachnamefirmazeile1() + " " + re.getFlrvertreter().getFlrpartner().getC_name2vornamefirmazeile2(); } else { tempData[row][OFFENE_FELD_VERTRETER] = re.getFlrvertreter().getFlrpartner() .getC_name1nachnamefirmazeile1(); } } // datum der letzten zahlung bis zum stichtag ermitteln RechnungzahlungDto[] zahlungen = getRechnungFac().zahlungFindByRechnungIId(re.getI_id()); java.sql.Date dZahldatum = null; for (int i = 0; i < zahlungen.length; i++) { if ((dZahldatum == null || zahlungen[i].getDZahldatum().after(dZahldatum)) && !zahlungen[i].getDZahldatum().after(krit.getTStichtag())) { dZahldatum = new Date(zahlungen[i].getDZahldatum().getTime()); } } // Zahlungsbetrag bis zum Stichtag ermitteln BigDecimal bdBezahlt = new BigDecimal(0); for (int i = 0; i < zahlungen.length; i++) { if (!zahlungen[i].getDZahldatum().after(krit.getTStichtag())) { bdBezahlt = bdBezahlt.add(zahlungen[i].getNBetrag()); } } if (reDto.getKostenstelleIId() != null) { KostenstelleDto kstDto = getSystemFac() .kostenstelleFindByPrimaryKey(reDto.getKostenstelleIId()); tempData[row][OFFENE_FELD_KOSTENSTELLE] = kstDto.getCNr(); } if (reDto.getNWert() == null) { EJBExceptionLP ex = new EJBExceptionLP(EJBExceptionLP.FEHLER_RECHNUNG_HAT_KEINEN_WERT, ""); ArrayList<Object> alInfo = new ArrayList<Object>(); alInfo.add("ID: " + reDto.getIId()); alInfo.add("Nr: " + reDto.getCNr()); ex.setAlInfoForTheClient(alInfo); throw ex; } BigDecimal bdWertBrutto = reDto.getNWert().add(reDto.getNWertust()); BigDecimal bdWertNetto = reDto.getNWert(); BigDecimal bdWertBruttoFW = reDto.getNWertfw().add(reDto.getNWertustfw()); BigDecimal bdWertNettoFW = reDto.getNWertfw(); BigDecimal bdBezahltUst = getRechnungFac().getBereitsBezahltWertVonRechnungUst(reDto.getIId(), null, krit.getTStichtag()); BigDecimal bdBezahltNetto = getRechnungFac().getBereitsBezahltWertVonRechnung(reDto.getIId(), null, krit.getTStichtag()); BigDecimal bdBezahltUstFw = getRechnungFac() .getBereitsBezahltWertVonRechnungUstFw(reDto.getIId(), null, krit.getTStichtag()); BigDecimal bdBezahltNettoFw = getRechnungFac() .getBereitsBezahltWertVonRechnungFw(reDto.getIId(), null, krit.getTStichtag()); BigDecimal bdNettoOffenFw = reDto.getNWertfw().subtract(bdBezahltNettoFw); BigDecimal bdUstOffenFw = reDto.getNWertustfw().subtract(bdBezahltUstFw); BigDecimal bdNettoOffenMandWhg = getLocaleFac().rechneUmInAndereWaehrungZuDatum(bdNettoOffenFw, reDto.getWaehrungCNr(), theClientDto.getSMandantenwaehrung(), krit.getTStichtag(), theClientDto); BigDecimal bdUstOffenMandWhg = getLocaleFac().rechneUmInAndereWaehrungZuDatum(bdUstOffenFw, reDto.getWaehrungCNr(), theClientDto.getSMandantenwaehrung(), krit.getTStichtag(), theClientDto); BigDecimal bdUstAnzahlungMandWhg = new BigDecimal(0); BigDecimal bdNettoAnzahlungMandWhg = new BigDecimal(0); BigDecimal bdUstAnzahlungFW = new BigDecimal(0); BigDecimal bdNettoAnzahlungFW = new BigDecimal(0); if (reDto.getAuftragIId() != null && reDto.getRechnungartCNr().equals(RechnungFac.RECHNUNGART_SCHLUSSZAHLUNG)) { bdNettoAnzahlungMandWhg = getLocaleFac().rechneUmInAndereWaehrungZuDatum( getRechnungFac().getAnzahlungenZuSchlussrechnungFw(reDto.getIId()), reDto.getWaehrungCNr(), theClientDto.getSMandantenwaehrung(), krit.getTStichtag(), theClientDto); bdUstAnzahlungMandWhg = getLocaleFac().rechneUmInAndereWaehrungZuDatum( getRechnungFac().getAnzahlungenZuSchlussrechnungUstFw(reDto.getIId()), reDto.getWaehrungCNr(), theClientDto.getSMandantenwaehrung(), krit.getTStichtag(), theClientDto); } tempData[row][OFFENE_FELD_WERT_BRUTTO_ANZAHLUNGEN] = bdNettoAnzahlungMandWhg .add(bdUstAnzahlungMandWhg); tempData[row][OFFENE_FELD_WERT_NETTO_ANZAHLUNGEN] = bdNettoAnzahlungMandWhg; tempData[row][OFFENE_FELD_WERT_BRUTTO_ANZAHLUNGEN_FW] = bdNettoAnzahlungFW .add(bdUstAnzahlungFW); tempData[row][OFFENE_FELD_WERT_NETTO_ANZAHLUNGEN_FW] = bdNettoAnzahlungFW; // SP554 bdNettoOffenMandWhg = bdNettoOffenMandWhg.subtract(bdNettoAnzahlungMandWhg); bdUstOffenMandWhg = bdUstOffenMandWhg.subtract(bdUstAnzahlungMandWhg); if (re.getFlrrechnungart().getRechnungtyp_c_nr().equals(RechnungFac.RECHNUNGTYP_RECHNUNG)) { tempData[row][OFFENE_FELD_WERT_BRUTTO] = bdWertBrutto; tempData[row][OFFENE_FELD_WERT_NETTO] = bdWertNetto; tempData[row][OFFENE_FELD_WERT_BRUTTO_OFFEN] = bdNettoOffenMandWhg.add(bdUstOffenMandWhg); tempData[row][OFFENE_FELD_WERT_NETTO_OFFEN] = bdNettoOffenMandWhg; // FW tempData[row][OFFENE_FELD_WERT_BRUTTO_FW] = bdWertBruttoFW; tempData[row][OFFENE_FELD_WERT_NETTO_FW] = bdWertNettoFW; tempData[row][OFFENE_FELD_WERT_BRUTTO_OFFEN_FW] = bdNettoOffenFw.add(bdUstOffenFw); tempData[row][OFFENE_FELD_WERT_NETTO_OFFEN_FW] = bdNettoOffenFw; } else if (re.getFlrrechnungart().getRechnungtyp_c_nr() .equals(RechnungFac.RECHNUNGTYP_GUTSCHRIFT)) { tempData[row][OFFENE_FELD_WERT_BRUTTO] = bdWertBrutto.negate(); tempData[row][OFFENE_FELD_WERT_NETTO] = bdWertNetto.negate(); tempData[row][OFFENE_FELD_WERT_BRUTTO_OFFEN] = bdNettoOffenMandWhg.add(bdUstOffenMandWhg) .negate(); tempData[row][OFFENE_FELD_WERT_NETTO_OFFEN] = bdNettoOffenMandWhg.negate(); // FW tempData[row][OFFENE_FELD_WERT_BRUTTO_FW] = bdWertBruttoFW.negate(); tempData[row][OFFENE_FELD_WERT_NETTO_FW] = bdWertNettoFW.negate(); tempData[row][OFFENE_FELD_WERT_BRUTTO_OFFEN_FW] = bdNettoOffenFw.add(bdUstOffenFw).negate(); tempData[row][OFFENE_FELD_WERT_NETTO_OFFEN_FW] = bdNettoOffenFw.negate(); } tempData[row][OFFENE_FELD_MAHNDATUM] = getMahnwesenFac() .getAktuellesMahndatumEinerRechnung(reDto.getIId(), theClientDto); tempData[row][OFFENE_FELD_MAHNSTUFE] = getMahnwesenFac() .getAktuelleMahnstufeEinerRechnung(reDto.getIId(), theClientDto); tempData[row][OFFENE_FELD_MAHNSPERRE] = reDto.getTMahnsperrebis(); // Faelligkeitsdatum // java.sql.Date dFaellig; // if (reDto.getZahlungszielIId() != null) { // dFaellig = // getMandantFac().berechneZielDatumFuerBelegdatum(reDto // .getTBelegdatum(), // reDto.getZahlungszielIId(), theClientDto); // } // else { // dFaellig = new // java.sql.Date(reDto.getTBelegdatum().getTime()); // } if (re.getT_faelligkeit() != null) { tempData[row][OFFENE_FELD_FAELLIGKEITSDATUM] = new java.util.Date( re.getT_faelligkeit().getTime()); } else { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_RECHNUNG_FAELLIGKEIT_NICHT_BERECHENBAR, new Exception("Faelligkeit nicht berechenbar")); } // Differenz in Tagen: Stichtag - Faelligkeitsdatum tempData[row][OFFENE_FELD_TAGE_BIS_FAELLIGKEITSDATUM] = Helper .getDifferenzInTagen(krit.getTStichtag(), re.getT_faelligkeit()); row++; } dataList.addAll(Arrays.asList(tempData)); } data = dataList.toArray(new Object[0][]); // Waehrung mapParameter.put(LPReport.P_WAEHRUNG, mandantDto.getWaehrungCNr()); mapParameter.put("P_STICHTAG", Helper.formatDatum(krit.getTStichtag(), theClientDto.getLocUi())); StringBuffer sSortierung = new StringBuffer(); if (krit.bSortiereNachKostenstelle) { sSortierung.append( getTextRespectUISpr("lp.kostenstelle", theClientDto.getMandant(), theClientDto.getLocUi())); sSortierung.append(", "); } if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_PARTNER) { if (krit.getBVerwendeStatistikAdresse()) { sSortierung.append(getTextRespectUISpr("rech.statistikadresse", theClientDto.getMandant(), theClientDto.getLocUi())); } else { sSortierung.append( getTextRespectUISpr("lp.kunde", theClientDto.getMandant(), theClientDto.getLocUi())); } } else if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_BELEGNUMMER) { sSortierung.append(getTextRespectUISpr("rechnung.rechnungsnummer", theClientDto.getMandant(), theClientDto.getLocUi())); } else if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_VERTRETER) { sSortierung.append( getTextRespectUISpr("lp.vertreter", theClientDto.getMandant(), theClientDto.getLocUi())); } else if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_FAELLIGKEIT) { sSortierung.append( getTextRespectUISpr("lp.faelligkeit", theClientDto.getMandant(), theClientDto.getLocUi())); } mapParameter.put(LPReport.P_SORTIERUNG, sSortierung.toString()); mapParameter.put(LPReport.P_SORTIERENACHKOSTENSTELLE, new Boolean(krit.bSortiereNachKostenstelle)); mapParameter.put(LPReport.P_SORTIERENACHKUNDE, new Boolean(krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_PARTNER)); mapParameter.put(LPReport.P_SORTIERENACHVERTRETER, new Boolean(krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_VERTRETER)); String sZessionstext = null; sZessionstext = getParameterFac().parametermandantFindByPrimaryKey(ParameterFac.PARAMETER_ZESSIONSTEXT, ParameterFac.KATEGORIE_ALLGEMEIN, theClientDto.getMandant()).getCWert(); if (sZessionstext != null) { mapParameter.put("P_ZESSIONSTEXT", sZessionstext); } /** * @todo zinsen PJ 4538 */ initJRDS(mapParameter, RechnungReportFac.REPORT_MODUL, RechnungReportFac.REPORT_RECHNUNGEN_OFFENE, theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto); return getReportPrint(); // } // catch (FinderException ex) { // { // @ToDo FinderException // throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_DRUCKEN, // null); // } // throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_DRUCKEN, ex); } catch (RemoteException ex) { throwEJBExceptionLPRespectOld(ex); return null; } finally { try { session.close(); } catch (HibernateException he) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER, he); } } }
From source file:com.lp.server.rechnung.ejbfac.RechnungReportFacBean.java
License:Open Source License
public JasperPrintLP printZahlungsjournal(TheClientDto theClientDto, int iSortierung, Date dVon, Date dBis, Integer bankverbindungIId, boolean bSortierungNachKostenstelle) throws EJBExceptionLP { this.useCase = UC_REPORT_ZAHLUNGSJOURNAL; SessionFactory factory = FLRSessionFactory.getFactory(); Session session = null;/*from w w w. j av a 2s . c om*/ try { session = factory.openSession(); Criteria c = session.createCriteria(FLRRechnungZahlung.class); // Filter von/bis if (dVon != null) { c.add(Restrictions.ge(RechnungFac.FLR_RECHNUNG_ZAHLUNG_D_ZAHLDATUM, dVon)); } if (dBis != null) { c.add(Restrictions.le(RechnungFac.FLR_RECHNUNG_ZAHLUNG_D_ZAHLDATUM, dBis)); } if (bankverbindungIId != null) { c.add(Restrictions.eq(RechnungFac.FLR_RECHNUNG_ZAHLUNG_BANKVERBINDUNG_I_ID, bankverbindungIId)); } Criteria cRechnung = c.createCriteria(RechnungFac.FLR_RECHNUNG_ZAHLUNG_FLRRECHNUNG); // Filter nach Mandant cRechnung.add(Restrictions.eq(RechnungFac.FLR_RECHNUNG_MANDANT_C_NR, theClientDto.getMandant())); // Sortierung if (bSortierungNachKostenstelle) { cRechnung.createCriteria(RechnungFac.FLR_RECHNUNG_FLRKOSTENSTELLE).addOrder(Order.asc("c_nr")); } if (iSortierung == RechnungReportFac.REPORT_ZAHLUNGEN_SORT_BANK_AUSZUG) { // SK full_join wird hier benoetigt damit auch Gutschriften die // keine Bankverbindung haben angedruckt werden c.createCriteria(RechnungFac.FLR_RECHNUNG_ZAHLUNG_FLRBANKVERBINDUNG, CriteriaSpecification.FULL_JOIN) .createCriteria(FinanzFac.FLR_BANKKONTO_FLRBANK, CriteriaSpecification.FULL_JOIN) .createCriteria(BankFac.FLR_PARTNERBANK_FLRPARTNER, CriteriaSpecification.FULL_JOIN) .addOrder(Order.asc(PartnerFac.FLR_PARTNER_C_NAME1NACHNAMEFIRMAZEILE1)); c.addOrder(Order.asc(RechnungFac.FLR_RECHNUNG_ZAHLUNG_I_AUSZUG)); } else if (iSortierung == RechnungReportFac.REPORT_ZAHLUNGEN_SORT_RECHNUNGSNUMMER) { cRechnung.addOrder(Order.asc(RechnungFac.FLR_RECHNUNG_C_NR)); } else if (iSortierung == RechnungReportFac.REPORT_ZAHLUNGEN_SORT_ZAHLUNGSAUSGANG) { c.addOrder(Order.asc(RechnungFac.FLR_RECHNUNG_ZAHLUNG_D_ZAHLDATUM)); } List<?> resultList = c.list(); Iterator<?> resultListIterator = resultList.iterator(); int row = 0; data = new Object[resultList.size()][ZAHLUNGEN_ANZAHL_FELDER]; while (resultListIterator.hasNext()) { FLRRechnungZahlung zahlung = (FLRRechnungZahlung) resultListIterator.next(); RechnungDto erDto = getRechnungFac().rechnungFindByPrimaryKey(zahlung.getRechnung_i_id()); String sErCNr = erDto.getCNr(); KundeDto kundeDto = getKundeFac().kundeFindByPrimaryKey(erDto.getKundeIId(), theClientDto); String sFirma = kundeDto.getPartnerDto().formatAnrede(); data[row][ZAHLUNGEN_FELD_DEBITORENKONTO] = kundeDto.getIDebitorenkontoAsIntegerNotiId(); data[row][ZAHLUNGEN_FELD_ER_C_NR] = sErCNr; data[row][ZAHLUNGEN_FELD_KOSTENSTELLE] = zahlung.getFlrrechnung().getFlrkostenstelle().getC_nr(); data[row][ZAHLUNGEN_FELD_RECHNUNGSART] = erDto.getRechnungartCNr(); data[row][ZAHLUNGEN_FELD_FIRMA] = sFirma; data[row][ZAHLUNGEN_FELD_ZAHLDATUM] = zahlung.getD_zahldatum(); String sLaenderart = getFinanzServiceFac().getLaenderartZuPartner(kundeDto.getPartnerIId(), theClientDto); data[row][ZAHLUNGEN_FELD_LAENDERART] = sLaenderart; if (zahlung.getFlrbankverbindung() != null) { data[row][ZAHLUNGEN_FELD_BANK] = zahlung.getFlrbankverbindung().getFlrbank().getFlrpartner() .getC_name1nachnamefirmazeile1(); } else { } data[row][ZAHLUNGEN_FELD_AUSZUG] = zahlung.getI_auszug(); data[row][ZAHLUNGEN_FELD_WECHSEL] = zahlung.getD_wechsel_faellig_am(); data[row][ZAHLUNGEN_FELD_BELEGWAEHRUNG] = erDto.getWaehrungCNr(); if (zahlung.getFlrbankverbindung() != null) { data[row][ZAHLUNGEN_FELD_KONTO] = zahlung.getFlrbankverbindung().getC_kontonummer(); } if (RechnungFac.RECHNUNGART_GUTSCHRIFT.equals(erDto.getRechnungartCNr())) { data[row][ZAHLUNGEN_FELD_BETRAG] = zahlung.getN_betrag().negate(); data[row][ZAHLUNGEN_FELD_BETRAG_UST] = zahlung.getN_betrag_ust().negate(); data[row][ZAHLUNGEN_FELD_BETRAG_MANDANTENWAEHRUNG_ZU_BELEGZEIT] = zahlung.getN_betragfw() .multiply(erDto.getNKurs()).negate(); data[row][ZAHLUNGEN_FELD_BETRAG_UST_MANDANTENWAEHRUNG_ZU_BELEGZEIT] = zahlung .getN_betrag_ustfw().multiply(erDto.getNKurs()).negate(); data[row][ZAHLUNGEN_FELD_BETRAG_FW] = zahlung.getN_betragfw().negate(); data[row][ZAHLUNGEN_FELD_BETRAG_UST_FW] = zahlung.getN_betrag_ustfw().negate(); } else { data[row][ZAHLUNGEN_FELD_BETRAG] = zahlung.getN_betrag(); data[row][ZAHLUNGEN_FELD_BETRAG_UST] = zahlung.getN_betrag_ust(); data[row][ZAHLUNGEN_FELD_BETRAG_MANDANTENWAEHRUNG_ZU_BELEGZEIT] = zahlung.getN_betragfw() .multiply(erDto.getNKurs()); data[row][ZAHLUNGEN_FELD_BETRAG_UST_MANDANTENWAEHRUNG_ZU_BELEGZEIT] = zahlung .getN_betrag_ustfw().multiply(erDto.getNKurs()); data[row][ZAHLUNGEN_FELD_BETRAG_FW] = zahlung.getN_betragfw(); data[row][ZAHLUNGEN_FELD_BETRAG_UST_FW] = zahlung.getN_betrag_ustfw(); } data[row][ZAHLUNGEN_FELD_ZAHLUNGSART] = zahlung.getZahlungsart_c_nr(); if (zahlung.getFlrkassenbuch() != null) { data[row][ZAHLUNGEN_FELD_KASSENBUCH] = zahlung.getFlrkassenbuch().getC_bez(); } else { data[row][ZAHLUNGEN_FELD_KASSENBUCH] = ""; } row++; } } catch (RemoteException e) { throwEJBExceptionLPRespectOld(e); } finally { try { session.close(); } catch (HibernateException he) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER, he); } } Map<String, Object> mapParameter = new TreeMap<String, Object>(); mapParameter.put("VON", dVon); mapParameter.put("BIS", dBis); mapParameter.put("WAEHRUNG_C_NR", theClientDto.getSMandantenwaehrung()); String sSortierung = null; if (iSortierung == RechnungReportFac.REPORT_ZAHLUNGEN_SORT_BANK_AUSZUG) { sSortierung = "Bank, Auszug"; } else if (iSortierung == RechnungReportFac.REPORT_ZAHLUNGEN_SORT_RECHNUNGSNUMMER) { sSortierung = "Rechnungsnummer"; } else if (iSortierung == RechnungReportFac.REPORT_ZAHLUNGEN_SORT_ZAHLUNGSAUSGANG) { sSortierung = "Zahlungseingangsdatum"; } mapParameter.put("SORTIERUNG", sSortierung); mapParameter.put("P_SORTIERTNACHKOSTENSTELLE", new Boolean(bSortierungNachKostenstelle)); initJRDS(mapParameter, RechnungReportFac.REPORT_MODUL, RechnungReportFac.REPORT_ZAHLUNGSJOURNAL, theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto); return getReportPrint(); }
From source file:com.lp.server.rechnung.ejbfac.RechnungReportFacBean.java
License:Open Source License
private JasperPrintLP buildWarenausgangsjournal(ReportRechnungJournalKriterienDto krit, TheClientDto theClientDto) throws EJBExceptionLP { Session session = null;/* w w w . java2 s . co m*/ try { String querySelect = "SELECT R.C_NR AS R_C_NR," + "R.T_BELEGDATUM AS R_T_BELEGDATUM," + "COALESCE " + "(LP.N_NETTOGESAMTPREISPLUSVERSTECKTERAUFSCHLAGMINUSRABATT, P.N_NETTOEINZELPREISPLUSAUFSCHLAGMINUSRABATT, P.N_NETTOEINZELPREIS ) " + "AS P_N_NETTOEINZELPREISPLUSAUFSCHLAGMINUSRABATT," + "PN.C_NAME1NACHNAMEFIRMAZEILE1 AS PN_C_NAME1NACHNAMEFIRMAZEILE1," + "KN.I_KUNDENNUMMER AS KN_I_KUNDENNUMMER," + "AR.C_NR AS AR_C_NR," + "ARS.C_BEZ AS ARS_C_BEZ," + "ARK.C_NR AS ARK_C_NR," + "ARG.C_NR AS ARG_C_NR," + "LA.C_LKZ AS LA_C_LKZ," + "AR.C_WARENVERKEHRSNUMMER AS AR_C_WARENVERKEHRSNUMMER," + "COALESCE (LP.N_MENGE, P.N_MENGE) AS P_N_MENGE," + "COALESCE (cast (LP.EINHEIT_C_NR AS VARCHAR), cast (P.EINHEIT_C_NR AS VARCHAR)) AS P_EINHEIT_C_NR," + "ARS.C_ZBEZ AS ARS_C_ZBEZ," + "R.N_PROVISION AS R_N_PROVISION," + "PE.C_KURZZEICHEN AS PE_C_KURZZEICHEN," + "KNTE.C_NR AS KNTE_C_NR," + "KNTD.C_NR AS KNTD_C_NR," + "LPO.C_PLZ AS LPO_C_PLZ," + "LA2.C_LKZ AS LA2_C_LKZ," + "PN.C_STRASSE AS PN_C_STRASSE," + "COALESCE (LSPOSMWSTSATZ.F_MWSTSATZ, POSMWSTSATZ.F_MWSTSATZ, MWSTSATZ.F_MWSTSATZ) AS MWSTSATZ_F_MWSTSATZ," + "BRANCH.C_NR AS BRANCH_C_NR," + "cast (PARTKL.C_NR AS VARCHAR) AS PARTKL_C_NR," + "LA2.C_LKZ AS LA2_C_LKZ," + "L.C_NR AS L_C_NR," + "L.T_BELEGDATUM AS L_T_BELEGDATUM," + "PARTNER_STATISTIK.I_ID AS PART_STATISTIK_I_ID," + "cast (PARTNER_STATISTIK.ANREDE_C_NR AS VARCHAR) AS PART_STATISTIK_ANREDE_C_NR," + "PARTNER_STATISTIK.C_NAME1NACHNAMEFIRMAZEILE1 AS PARTNER_STATISTIK_C_NAME1," + "PARTNER_STATISTIK.C_NAME2VORNAMEFIRMAZEILE2 AS PARTNER_STATISTIK_C_NAME2," + "PARTNER_STATISTIK.C_NAME3VORNAME2ABTEILUNG AS PARTNER_STATISTIK_C_NAME3_ABTEILUNG," + "PARTNER_STATISTIK.C_STRASSE AS PARTNER_STATISTIK_C_STRASSE," + "PARTNER_STATISTIK_LAND.C_LKZ AS PARTNER_STATISTIK_C_LKZ," + "PARTNER_STATISTIK_ORT.C_NAME AS PARTNER_STATISTIK_C_ORT," + "PARTNER_STATISTIK_LPO.C_PLZ AS PARTNER_STATISTIK_C_PLZ," + "PN.I_ID AS PARTNER_I_ID," + "cast (R.WAEHRUNG_C_NR AS VARCHAR)AS R_WAEHRUNG_C_NR," + "R.N_KURS AS R_N_KURS," + "R.RECHNUNGART_C_NR AS R_RECHNUNGART_C_NR," + "R.RECHNUNG_I_ID_ZURECHNUNG AS R_RECHNUNG_I_ID_ZURECHNUNG," + "AR.F_VERTRETERPROVISIONMAX AS AR_F_VERTRETERPROVISIONMAX," + "COALESCE (R.C_BESTELLNUMMER,L.C_BESTELLNUMMER) AS R_BESTELLNUMMER," + "KNRECHNUNGSADRESSELS.I_KUNDENNUMMER AS KN_RECHNUNGSADRESSELS_I_KUNDENNUMMER," + "PARTNERRECHNUNGSADRESSELS.C_NAME1NACHNAMEFIRMAZEILE1 AS PARTNERRECHNUNGSADRESSELSBEZEICHNUNG," + "PARTNERRECHNUNGSADRESSELS.C_KBEZ AS PARTNERRECHNUNGSADRESSELSKBEZ," + "KN.C_HINWEISEXTERN AS KUNDEHINWEISEXTERN," + "KN.C_HINWEISINTERN AS KUNDEHINWEISINTERN," + "PEPROVISION.C_KURZZEICHEN AS PEPROVISION_C_KURZZEICHEN," + "AR.F_GEWICHTKG AS ARTIKELGEWICHTKG," + "RELAGER.C_NR AS RELAGERCNR," + "LSLAGER.C_NR AS LSLAGERCNR," + "LSZIELLAGER.C_NR AS LSZIELLAGERCNR," + "KNLIEFERADRESSELS.I_KUNDENNUMMER AS KN_KNLIEFERADRESSELS_I_KUNDENNUMMER," + "cast(COALESCE (P.X_TEXTINHALT,LP.X_TEXTINHALT) AS VARCHAR) AS R_TEXTINHALT, " + "PLIEFERADRESSELS.C_ILN AS C_ILNLIEFERADRESSELS, " + "PN.C_ILN AS C_ILNPARTNER, " + "PLIEFERADRESSELS.I_ID AS PART_STATISTIK_I_ID," + "cast (PLIEFERADRESSELS.ANREDE_C_NR AS VARCHAR) AS PLIEFERADRESSELS_ANREDE_C_NR," + "PLIEFERADRESSELS.C_NAME1NACHNAMEFIRMAZEILE1 AS PLIEFERADRESSELS_C_NAME1," + "PLIEFERADRESSELS.C_NAME2VORNAMEFIRMAZEILE2 AS PLIEFERADRESSELS_C_NAME2," + "PLIEFERADRESSELS.C_NAME3VORNAME2ABTEILUNG AS PLIEFERADRESSELS_C_NAME3_ABTEILUNG," + "PLIEFERADRESSELS.C_STRASSE AS PLIEFERADRESSELS_C_STRASSE," + "PLIEFERADRESSELS_LAND.C_LKZ AS PLIEFERADRESSELS_C_LKZ," + "PLIEFERADRESSELS_ORT.C_NAME AS PLIEFERADRESSELS_C_ORT," + "PLIEFERADRESSELS_LPO.C_PLZ AS PLIEFERADRESSELS_C_PLZ, " + "BEGR.C_NR AS BEGR_C_NR, " + "ABP.T_UEBERSTEUERTERLIEFERTERMIN AS UEBERSTEUERTERLIEFERTERMIN, " + "KN.I_LIEFERDAUER AS LIEFERDAUER, " + "AB.C_NR AS AUFTRAGSNUMMER, " + "ABG.C_NR AS AUFTRGABEGRUENDUNG, " + " COALESCE ( (SELECT AVG(N_GESTEHUNGSPREIS) FROM WW_LAGERBEWEGUNG WHERE I_BELEGARTPOSITIONID=P.I_ID AND C_BELEGARTNR=R.RECHNUNGART_C_NR AND B_HISTORIE=0),(SELECT AVG(N_GESTEHUNGSPREIS) FROM WW_LAGERBEWEGUNG WHERE I_BELEGARTPOSITIONID=LP.I_ID AND C_BELEGARTNR='Lieferschein' AND B_HISTORIE=0)) AS GESTPREIS," + " KT.C_BEZ, " + "CASE WHEN LP.POSITION_I_ID_ARTIKELSET IS NULL THEN " + " CASE WHEN (SELECT COUNT(*) FROM LS_LIEFERSCHEINPOSITION WHERE POSITION_I_ID_ARTIKELSET=LP.I_ID) > 0 THEN 'Kopf' " + " ELSE NULL END " + "ELSE 'Position' END AS ARTIKELSETART, COALESCE (R.C_BEZ,L.C_BEZ) AS R_BEZ "; String queryFrom = "FROM RECH_RECHNUNG R " + "INNER JOIN RECH_RECHNUNGPOSITION P ON P.RECHNUNG_I_ID=R.I_ID " + "LEFT OUTER JOIN LS_LIEFERSCHEIN L ON L.I_ID=P.LIEFERSCHEIN_I_ID " + "LEFT OUTER JOIN LS_LIEFERSCHEINPOSITION LP ON LP.LIEFERSCHEIN_I_ID=P.LIEFERSCHEIN_I_ID " + "LEFT OUTER JOIN PART_KUNDE KN ON KN.I_ID=R.KUNDE_I_ID " + "LEFT OUTER JOIN PART_PARTNER PN ON PN.I_ID=KN.PARTNER_I_ID " + "LEFT OUTER JOIN WW_ARTIKEL AR ON AR.I_ID=COALESCE(LP.ARTIKEL_I_ID, P.ARTIKEL_I_ID) " + "LEFT OUTER JOIN WW_ARTKLA ARK ON ARK.I_ID=AR.ARTKLA_I_ID " + "LEFT OUTER JOIN WW_ARTGRU ARG ON ARG.I_ID=AR.ARTGRU_I_ID " + "LEFT OUTER JOIN LP_LAND LA ON LA.I_ID=AR.LAND_I_ID_URSPRUNGSLAND " + "LEFT OUTER JOIN PERS_PERSONAL PE ON PE.I_ID=R.PERSONAL_I_ID_VERTRETER " + "LEFT OUTER JOIN FB_KONTO KNTE ON KNTE.I_ID=KN.KONTO_I_ID_ERLOESEKONTO " + "LEFT OUTER JOIN FB_KONTO KNTD ON KNTD.I_ID=KN.KONTO_I_ID_DEBITORENKONTO " + "LEFT OUTER JOIN LP_LANDPLZORT LPO ON LPO.I_ID=PN.LANDPLZORT_I_ID " + "LEFT OUTER JOIN LP_LAND LA2 ON LA2.I_ID=LPO.LAND_I_ID " + "LEFT OUTER JOIN LP_MWSTSATZ MWSTSATZ ON MWSTSATZ.I_ID=R.MWSTSATZ_I_ID " + "LEFT OUTER JOIN LP_MWSTSATZ POSMWSTSATZ ON POSMWSTSATZ.I_ID=P.MWSTSATZ_I_ID " + "LEFT OUTER JOIN LP_MWSTSATZ LSPOSMWSTSATZ ON LSPOSMWSTSATZ.I_ID=LP.MWSTSATZ_I_ID " + "LEFT OUTER JOIN PART_BRANCHE BRANCH ON BRANCH.I_ID=PN.BRANCHE_I_ID " + "LEFT OUTER JOIN PART_PARTNERKLASSE PARTKL ON PARTKL.I_ID=PN.PARTNERKLASSE_I_ID " + "LEFT OUTER JOIN PART_KUNDE KNSTATISTIK ON KNSTATISTIK.I_ID=R.KUNDE_I_ID_STATISTIKADRESSE " + "LEFT OUTER JOIN PART_PARTNER PARTNER_STATISTIK ON PARTNER_STATISTIK.I_ID = KNSTATISTIK.PARTNER_I_ID " + "LEFT OUTER JOIN LP_LANDPLZORT PARTNER_STATISTIK_LPO ON PARTNER_STATISTIK_LPO.I_ID=PARTNER_STATISTIK.LANDPLZORT_I_ID " + "LEFT OUTER JOIN LP_LAND PARTNER_STATISTIK_LAND ON PARTNER_STATISTIK_LAND.I_ID=PARTNER_STATISTIK_LPO.LAND_I_ID " + "LEFT OUTER JOIN LP_ORT PARTNER_STATISTIK_ORT ON PARTNER_STATISTIK_ORT.I_ID=PARTNER_STATISTIK_LPO.ORT_I_ID " + "LEFT OUTER JOIN PART_KUNDE KNRECHNUNGSADRESSELS ON KNRECHNUNGSADRESSELS.I_ID=L.KUNDE_I_ID_RECHNUNGSADRESSE " + "LEFT OUTER JOIN PART_PARTNER PARTNERRECHNUNGSADRESSELS ON PARTNERRECHNUNGSADRESSELS.I_ID=KNRECHNUNGSADRESSELS.PARTNER_I_ID " + "LEFT OUTER JOIN PERS_PERSONAL PEPROVISION ON PEPROVISION.I_ID=KN.PERSONAL_I_ID_BEKOMMEPROVISION " + "LEFT OUTER JOIN WW_LAGER RELAGER ON RELAGER.I_ID=R.LAGER_I_ID " + "LEFT OUTER JOIN WW_LAGER LSLAGER ON LSLAGER.I_ID=L.LAGER_I_ID " + "LEFT OUTER JOIN WW_LAGER LSZIELLAGER ON LSZIELLAGER.I_ID=L.ZIELLAGER_I_ID " + "LEFT OUTER JOIN PART_KUNDE KNLIEFERADRESSELS ON KNLIEFERADRESSELS.I_ID=L.KUNDE_I_ID_LIEFERADRESSE " + "LEFT OUTER JOIN PART_PARTNER PLIEFERADRESSELS ON PLIEFERADRESSELS.I_ID=KNLIEFERADRESSELS.PARTNER_I_ID " + "LEFT OUTER JOIN LP_LANDPLZORT PLIEFERADRESSELS_LPO ON PLIEFERADRESSELS_LPO.I_ID=PLIEFERADRESSELS.LANDPLZORT_I_ID " + "LEFT OUTER JOIN LP_LAND PLIEFERADRESSELS_LAND ON PLIEFERADRESSELS_LAND.I_ID=PLIEFERADRESSELS_LPO.LAND_I_ID " + "LEFT OUTER JOIN LP_ORT PLIEFERADRESSELS_ORT ON PLIEFERADRESSELS_ORT.I_ID=PLIEFERADRESSELS_LPO.ORT_I_ID " + "LEFT OUTER JOIN LS_BEGRUENDUNG BEGR ON BEGR.I_ID=L.BEGRUENDUNG_I_ID " + "LEFT OUTER JOIN AUFT_AUFTRAGPOSITION ABP ON ABP.I_ID=LP.AUFTRAGPOSITION_I_ID " + "LEFT OUTER JOIN AUFT_AUFTRAG AB ON AB.I_ID=ABP.AUFTRAG_I_ID " + "LEFT OUTER JOIN AUFT_AUFTRAGBEGRUENDUNG ABG ON ABG.I_ID=AB.AUFTRAGBEGRUENDUNG_I_ID " + "LEFT OUTER JOIN LP_KOSTENTRAEGER KT ON KT.I_ID=COALESCE(LP.KOSTENTRAEGER_I_ID, P.KOSTENTRAEGER_I_ID) " + "LEFT OUTER JOIN WW_ARTIKELSPR ARS ON ARS.ARTIKEL_I_ID=AR.I_ID AND ARS.LOCALE_C_NR='" + theClientDto.getLocUiAsString() + "' "; String queryWhere = ""; if (krit.dVon != null && krit.dBis != null) { queryWhere = "WHERE R.T_BELEGDATUM BETWEEN '" + Helper.formatDateWithSlashes(krit.dVon) + "' AND '" + Helper.formatDateWithSlashes(krit.dBis) + "' "; } else { if (krit.sBelegnummerVon != null && krit.sBelegnummerBis != null) { queryWhere = "WHERE R.C_NR BETWEEN '" + krit.sBelegnummerVon + "' AND '" + krit.sBelegnummerBis + "' "; } } queryWhere = queryWhere + "AND (POSITIONSART_C_NR='" + RechnungFac.POSITIONSART_RECHNUNG_HANDEINGABE.trim() + "' " + "OR P.POSITIONSART_C_NR='" + RechnungFac.POSITIONSART_RECHNUNG_IDENT.trim() + "' " + "OR P.POSITIONSART_C_NR='" + RechnungFac.POSITIONSART_RECHNUNG_LIEFERSCHEIN.trim() + "' " + "OR P.POSITIONSART_C_NR='" + RechnungFac.POSITIONSART_RECHNUNG_TEXTEINGABE.trim() + "') "; String[] sRechnungsarten = null; if (krit.getBGutschriftenBeruecksichtigen()) { sRechnungsarten = new String[5]; sRechnungsarten[0] = LocaleFac.BELEGART_RECHNUNG; sRechnungsarten[1] = LocaleFac.BELEGART_GUTSCHRIFT; sRechnungsarten[2] = RechnungFac.RECHNUNGART_WERTGUTSCHRIFT; sRechnungsarten[3] = RechnungFac.RECHNUNGART_ANZAHLUNG; sRechnungsarten[4] = RechnungFac.RECHNUNGART_SCHLUSSZAHLUNG; } else { sRechnungsarten = new String[3]; sRechnungsarten[0] = LocaleFac.BELEGART_RECHNUNG; sRechnungsarten[1] = RechnungFac.RECHNUNGART_ANZAHLUNG; sRechnungsarten[2] = RechnungFac.RECHNUNGART_SCHLUSSZAHLUNG; } queryWhere = queryWhere + "AND R.MANDANT_C_NR = '" + theClientDto.getMandant() + "' "; boolean bFirstRechnungArt = true; for (int i = 0; i < sRechnungsarten.length; i++) { if (bFirstRechnungArt) { queryWhere = queryWhere + "AND RECHNUNGART_C_NR IN ("; bFirstRechnungArt = false; } else { queryWhere = queryWhere + ", "; } queryWhere = queryWhere + "'" + sRechnungsarten[i].trim() + "'"; } queryWhere = queryWhere + ")"; queryWhere = queryWhere + "AND STATUS_C_NR NOT LIKE '" + RechnungFac.STATUS_STORNIERT + "' "; if (krit.kundeIId != null) { queryWhere = queryWhere + "AND R.KUNDE_I_ID = " + krit.kundeIId + " "; } if (krit.vertreterIId != null) { queryWhere = queryWhere + "AND R.PERSONAL_I_ID_VERTRETER = " + krit.vertreterIId + " "; } if (!krit.getBMitTexteingaben()) { // das OR muss wegen Gutschriften rein queryWhere = queryWhere + "AND (LP.LIEFERSCHEINPOSITIONART_C_NR != 'Texteingabe' OR LP.LIEFERSCHEINPOSITIONART_C_NR IS NULL) "; } if (krit.kostenstelleIId != null) { queryWhere = queryWhere + "AND R.KOSTENSTELLE_I_ID = " + krit.kostenstelleIId + " "; } String queryOrder = "ORDER BY "; if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_PARTNER) { queryOrder = queryOrder + "PN.C_NAME1NACHNAMEFIRMAZEILE1"; } else if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_BELEGNUMMER) { queryOrder = queryOrder + "R.C_NR"; } else if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_VERTRETER) { queryOrder = queryOrder + "R.PERSONAL_I_ID_VERTRETER"; } else if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_IDENT) { queryOrder = queryOrder + "AR.C_NR"; } if (krit.getBVerwendeStatistikAdresse()) { queryOrder = queryOrder + ", PARTNER_STATISTIK.I_ID"; } String queryString = querySelect + queryFrom + queryWhere + queryOrder; this.useCase = UC_REPORT_WARENAUSGANGSJOURNAL; SessionFactory factory = FLRSessionFactory.getFactory(); session = factory.openSession(); Query query = session.createSQLQuery(queryString); List<?> list = query.list(); Map<Integer, Object> tmData = new TreeMap<Integer, Object>(); int i = 0; for (Iterator<?> iter = list.iterator(); iter.hasNext();) { tmData.put(i, iter.next()); i++; } // Lieferscheine ohne Rechnung hinten anhaengen // Alle Lieferscheine ohne Rechnung Kriterien List<?> LsList = null; if (krit.dVon != null || krit.dBis != null) { Criteria cLsPosCrit = session.createCriteria(FLRLieferscheinposition.class); Criteria cLs = cLsPosCrit .createCriteria(LieferscheinpositionFac.FLR_LIEFERSCHEINPOSITION_FLRLIEFERSCHEIN); // Filter nach Mandant cLs.add(Restrictions.eq(LieferscheinFac.FLR_LIEFERSCHEIN_MANDANT_C_NR, theClientDto.getMandant())); // Filter nach Status (keine stornierten) cLs.add(Restrictions .not(Restrictions.eq(LieferscheinFac.FLR_LIEFERSCHEIN_LIEFERSCHEINSTATUS_STATUS_C_NR, LieferscheinFac.LSSTATUS_STORNIERT))); // Filter nach Datum if (krit.dVon != null) { cLs.add(Restrictions.ge(LieferscheinFac.FLR_LIEFERSCHEIN_D_BELEGDATUM, krit.dVon)); } if (krit.dBis != null) { cLs.add(Restrictions.le(LieferscheinFac.FLR_LIEFERSCHEIN_D_BELEGDATUM, krit.dBis)); } cLsPosCrit.add(Restrictions.gt(LieferscheinpositionFac.FLR_LIEFERSCHEINPOSITION_N_MENGE, new BigDecimal(0))); // Filter nach Kunde if (krit.kundeIId != null) { cLs.add(Restrictions.eq(LieferscheinFac.FLR_LIEFERSCHEIN_KUNDE_I_ID_RECHNUNGSADRESSE, krit.kundeIId)); } // Filter nach Vertreter if (krit.vertreterIId != null) { cLs.add(Restrictions.eq(LieferscheinFac.FLR_LIEFERSCHEIN_PERSONAL_I_ID_VERTRETER, krit.vertreterIId)); } // Filter nach Kostenstelle if (krit.kostenstelleIId != null) { cLs.add(Restrictions.eq(LieferscheinFac.FLR_LIEFERSCHEIN_KOSTENSTELLE_I_ID, krit.kostenstelleIId)); } if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_BELEGNUMMER) { cLs.addOrder(Order.asc(LieferscheinFac.FLR_LIEFERSCHEIN_C_NR)); } if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_PARTNER) { cLs.createAlias("flrkunde", "k").createAlias("k.flrpartner", "p") .addOrder(Order.asc("p.c_name1nachnamefirmazeile1")); } if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_VERTRETER) { cLs.addOrder(Order.asc(LieferscheinFac.FLR_LIEFERSCHEIN_PERSONAL_I_ID_VERTRETER)); } if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_IDENT) { cLsPosCrit.createAlias("flrartikel", "a").addOrder(Order.asc("a.c_nr")); } if (krit.getBNurOffene()) { Collection<String> cStati = new LinkedList<String>(); cStati.add(LieferscheinFac.LSSTATUS_ANGELEGT); cStati.add(LieferscheinFac.LSSTATUS_OFFEN); cStati.add(LieferscheinFac.LSSTATUS_ERLEDIGT); cStati.add(LieferscheinFac.LSSTATUS_GELIEFERT); } cLs.add(Restrictions.isNull(LieferscheinFac.FLR_LIEFERSCHEIN_FLRRECHNUNG)); LsList = cLsPosCrit.list(); } // befuellen if (LsList != null) { for (Iterator<?> iter = LsList.iterator(); iter.hasNext();) { FLRLieferscheinposition lspos = (FLRLieferscheinposition) iter.next(); Object[] dataRow = new Object[REPORT_WARENAUSGANG_ANZAHL_SPALTEN]; dataRow[FELD_WARENAUSGANG_LIEFERSCHEINNUMMER] = lspos.getFlrlieferschein().getC_nr(); dataRow[FELD_WARENAUSGANG_LIEFERSCHEINDATUM] = lspos.getFlrlieferschein().getD_belegdatum(); if (lspos.getFlrlieferschein().getFlrbegruendung() != null) { dataRow[FELD_WARENAUSGANG_GRUNDNICHTEINGEHALTEN] = lspos.getFlrlieferschein() .getFlrbegruendung().getC_nr(); if (lspos.getFlrlieferschein().getFlrbegruendung().getC_bez() != null) { dataRow[FELD_WARENAUSGANG_GRUNDNICHTEINGEHALTEN] = lspos.getFlrlieferschein() .getFlrbegruendung().getC_bez(); } } dataRow[FELD_WARENAUSGANG_KUNDENBEZEICHNUNG] = lspos.getFlrlieferschein().getFlrkunde() .getFlrpartner().getC_name1nachnamefirmazeile1(); dataRow[FELD_WARENAUSGANG_TEXTEINGABE] = lspos.getC_textinhalt(); dataRow[FELD_WARENAUSGANG_ILN_LIEFERADRESSE] = lspos.getFlrlieferschein().getFlrkunde() .getFlrpartner().getC_iln(); dataRow[FELD_WARENAUSGANG_KUNDENNUMMER_LIEFERADRESSE_LS] = lspos.getFlrlieferschein() .getFlrkunde().getI_kundennummer(); dataRow[FELD_WARENAUSGANG_KUNDENNUMMER] = lspos.getFlrlieferschein().getFlrkunde() .getI_kundennummer(); dataRow[FELD_WARENAUSGANG_PARTNER_I_ID] = lspos.getFlrlieferschein().getFlrkunde() .getFlrpartner().getI_id(); if (lspos.getFlrartikel() != null) { dataRow[FELD_WARENAUSGANG_ARTIKELNUMMER] = lspos.getFlrartikel().getC_nr(); dataRow[FELD_WARENAUSGANG_ARTIKELPROVISION] = lspos.getFlrartikel() .getF_vertreterprovisionmax(); if (lspos.getFlrartikel().getI_id() != null) { ArtikelDto artikelDto = getArtikelFac() .artikelFindByPrimaryKeySmall(lspos.getFlrartikel().getI_id(), theClientDto); dataRow[FELD_WARENAUSGANG_ARTIKELBEZEICHNUNG] = artikelDto.formatArtikelbezeichnung(); dataRow[FELD_WARENAUSGANG_ARTIKEL_GEWICHTKG] = artikelDto.getFGewichtkg(); if (artikelDto.formatArtikelbezeichnung().length() > 1) { if (artikelDto.formatBezeichnung() != null) { // Comment out SK.. funktioniert so nicht // ??? // data[i][ // FELD_WARENAUSGANG_ARTIKELBEZEICHNUNG2] = // artikelDto. // formatBezeichnung().substring(artikelDto. // formatArtikelbezeichnung(). // length() - 1); } else { // data[i][ // FELD_WARENAUSGANG_ARTIKELBEZEICHNUNG2] = // artikelDto.formatBezeichnung(); } } else { dataRow[FELD_WARENAUSGANG_ARTIKELBEZEICHNUNG2] = ""; } } else { dataRow[FELD_WARENAUSGANG_ARTIKELBEZEICHNUNG] = ""; dataRow[FELD_WARENAUSGANG_ARTIKELBEZEICHNUNG2] = ""; } if (lspos.getFlrartikel().getFlrartikelklasse() != null) { dataRow[FELD_WARENAUSGANG_ARTIKELKLASSE] = lspos.getFlrartikel().getFlrartikelklasse() .getC_nr(); } else { dataRow[FELD_WARENAUSGANG_ARTIKELKLASSE] = ""; } if (lspos.getFlrartikel().getFlrartikelgruppe() != null) { dataRow[FELD_WARENAUSGANG_ARTIKELGRUPPE] = lspos.getFlrartikel().getFlrartikelgruppe() .getC_nr(); } else { dataRow[FELD_WARENAUSGANG_ARTIKELGRUPPE] = ""; } dataRow[FELD_WARENAUSGANG_EINHEIT] = lspos.getFlrartikel().getEinheit_c_nr(); } dataRow[FELD_WARENAUSGANG_URSPRUNGSLAND] = ""; dataRow[FELD_WARENAUSGANG_WARENVERKEHRSNUMMER] = ""; dataRow[FELD_WARENAUSGANG_MENGE] = lspos.getN_menge(); dataRow[FELD_WARENAUSGANG_POSITIONSPREIS] = lspos .getN_nettogesamtpreisplusversteckteraufschlagminusrabatt(); dataRow[FELD_WARENAUSGANG_GESTPREIS] = getLagerFac() .getGemittelterGestehungspreisEinerAbgangsposition(LocaleFac.BELEGART_LIEFERSCHEIN, lspos.getI_id()); if (lspos.getFlrkostentraeger() != null) { dataRow[FELD_WARENAUSGANG_KOSTENTRAEGER] = lspos.getFlrkostentraeger().getC_bez(); } dataRow[FELD_WARENAUSGANG_TEXTEINGABE] = lspos.getC_textinhalt(); dataRow[FELD_WARENAUSGANG_RECHNUNGSPROVISION] = null; if (lspos.getFlrlieferschein().getPersonal_i_id_vertreter() != null) { PersonalDto persDto = getPersonalFac().personalFindByPrimaryKey( lspos.getFlrlieferschein().getPersonal_i_id_vertreter(), theClientDto); dataRow[FELD_WARENAUSGANG_PROVISIONSEMPFAENGER] = persDto.getCKurzzeichen(); } if (lspos.getFlrmwstsatz() != null) { dataRow[FELD_WARENAUSGANG_MWST] = lspos.getFlrmwstsatz().getF_mwstsatz(); } dataRow[FELD_WARENAUSGANG_ERLOESKONTO] = null; dataRow[FELD_WARENAUSGANG_DEBITORENKONTO] = null; if (lspos.getFlrlieferschein().getFlrkunde().getFlrpartner().getFlrlandplzort() == null) { dataRow[FELD_WARENAUSGANG_PLZ] = ""; dataRow[FELD_WARENAUSGANG_LKZ] = ""; dataRow[FELD_WARENAUSGANG_STATISTIKADRESSE_ORT] = ""; } else { dataRow[FELD_WARENAUSGANG_PLZ] = lspos.getFlrlieferschein().getFlrkunde().getFlrpartner() .getFlrlandplzort().getC_plz(); dataRow[FELD_WARENAUSGANG_LKZ] = lspos.getFlrlieferschein().getFlrkunde().getFlrpartner() .getFlrlandplzort().getFlrland().getC_lkz(); dataRow[FELD_WARENAUSGANG_STATISTIKADRESSE_ORT] = lspos.getFlrlieferschein().getFlrkunde() .getFlrpartner().getFlrlandplzort().getFlrort().getC_name(); dataRow[FELD_WARENAUSGANG_LIEFERADRESSE_ORT] = lspos.getFlrlieferschein().getFlrkunde() .getFlrpartner().getFlrlandplzort().getFlrort().getC_name(); } dataRow[FELD_WARENAUSGANG_ADRESSE] = lspos.getFlrlieferschein().getFlrkunde().getFlrpartner() .getC_strasse(); dataRow[FELD_WARENAUSGANG_STATISTIKADRESSE_PARTNER_I_ID] = dataRow[FELD_WARENAUSGANG_PARTNER_I_ID]; dataRow[FELD_WARENAUSGANG_STATISTIKADRESSE_ANREDE_C_NR] = lspos.getFlrlieferschein() .getFlrkunde().getFlrpartner().getAnrede_c_nr(); dataRow[FELD_WARENAUSGANG_STATISTIKADRESSE_C_NAME1] = lspos.getFlrlieferschein().getFlrkunde() .getFlrpartner().getC_name1nachnamefirmazeile1(); dataRow[FELD_WARENAUSGANG_STATISTIKADRESSE_C_NAME2] = lspos.getFlrlieferschein().getFlrkunde() .getFlrpartner().getC_name2vornamefirmazeile2(); dataRow[FELD_WARENAUSGANG_STATISTIKADRESSE_C_NAME3ABTEILUNG] = lspos.getFlrlieferschein() .getFlrkunde().getFlrpartner().getC_name3vorname2abteilung(); dataRow[FELD_WARENAUSGANG_STATISTIKADRESSE_C_STRASSE] = lspos.getFlrlieferschein().getFlrkunde() .getFlrpartner().getC_strasse(); dataRow[FELD_WARENAUSGANG_STATISTIKADRESSE_LAND] = dataRow[FELD_WARENAUSGANG_LKZ]; dataRow[FELD_WARENAUSGANG_STATISTIKADRESSE_PLZ] = dataRow[FELD_WARENAUSGANG_PLZ]; dataRow[FELD_WARENAUSGANG_LIEFERADRESSE_PARTNER_I_ID] = dataRow[FELD_WARENAUSGANG_PARTNER_I_ID]; dataRow[FELD_WARENAUSGANG_LIEFERADRESSE_ANREDE_C_NR] = lspos.getFlrlieferschein().getFlrkunde() .getFlrpartner().getAnrede_c_nr(); dataRow[FELD_WARENAUSGANG_LIEFERADRESSE_C_NAME1] = lspos.getFlrlieferschein().getFlrkunde() .getFlrpartner().getC_name1nachnamefirmazeile1(); dataRow[FELD_WARENAUSGANG_LIEFERADRESSE_C_NAME2] = lspos.getFlrlieferschein().getFlrkunde() .getFlrpartner().getC_name2vornamefirmazeile2(); dataRow[FELD_WARENAUSGANG_LIEFERADRESSE_C_NAME3ABTEILUNG] = lspos.getFlrlieferschein() .getFlrkunde().getFlrpartner().getC_name3vorname2abteilung(); dataRow[FELD_WARENAUSGANG_LIEFERADRESSE_C_STRASSE] = lspos.getFlrlieferschein().getFlrkunde() .getFlrpartner().getC_strasse(); dataRow[FELD_WARENAUSGANG_LIEFERADRESSE_LAND] = dataRow[FELD_WARENAUSGANG_LKZ]; dataRow[FELD_WARENAUSGANG_LIEFERADRESSE_PLZ] = dataRow[FELD_WARENAUSGANG_PLZ]; Integer brancheIId = lspos.getFlrlieferschein().getFlrkunde().getFlrpartner().getBranche_i_id(); if (brancheIId != null) { dataRow[FELD_WARENAUSGANG_BRANCHE] = getPartnerServicesFac() .brancheFindByPrimaryKey(brancheIId, theClientDto).getCNr(); } Integer partnerklIId = lspos.getFlrlieferschein().getFlrkunde().getFlrpartner() .getPartnerklasse_i_id(); if (partnerklIId != null) { dataRow[FELD_WARENAUSGANG_PARTNERKLASSE] = getPartnerFac() .partnerklasseFindByPrimaryKey(partnerklIId, theClientDto).getCNr(); } dataRow[FELD_WARENAUSGANG_USTLAND] = null; dataRow[FELD_WARENAUSGANG_WAEHRUNG] = lspos.getFlrlieferschein() .getWaehrung_c_nr_lieferscheinwaehrung(); dataRow[FELD_WARENAUSGANG_KURS] = new BigDecimal( lspos.getFlrlieferschein().getF_wechselkursmandantwaehrungzulieferscheinwaehrung()); dataRow[FELD_WARENAUSGANG_BESTELLNUMMER] = lspos.getFlrlieferschein().getC_bestellnummer(); dataRow[FELD_WARENAUSGANG_PROJEKT] = lspos.getFlrlieferschein().getC_bez_projektbezeichnung(); if (lspos.getFlrlieferschein().getFlrkunderechnungsadresse() != null) { dataRow[FELD_WARENAUSGANG_KUNDENNUMMER_RECHNUNGSADRESSE_LS] = lspos.getFlrlieferschein() .getFlrkunderechnungsadresse().getI_kundennummer(); dataRow[FELD_WARENAUSGANG_KUNDENBEZEICHNUNG_RECHNUNGSADRESSE_LS] = lspos .getFlrlieferschein().getFlrkunderechnungsadresse().getFlrpartner() .getC_name1nachnamefirmazeile1(); dataRow[FELD_WARENAUSGANG_KUNDEKURZBEZEICHNUNG_RECHNUNGSADRESSE_LS] = lspos .getFlrlieferschein().getFlrkunderechnungsadresse().getFlrpartner().getC_kbez(); } else { dataRow[FELD_WARENAUSGANG_KUNDENNUMMER_RECHNUNGSADRESSE_LS] = ""; dataRow[FELD_WARENAUSGANG_KUNDENBEZEICHNUNG_RECHNUNGSADRESSE_LS] = ""; dataRow[FELD_WARENAUSGANG_KUNDEKURZBEZEICHNUNG_RECHNUNGSADRESSE_LS] = ""; } dataRow[FELD_WARENAUSGANG_KUNDE_HINWEISEXT] = lspos.getFlrlieferschein().getFlrkunde() .getC_hinweisextern(); dataRow[FELD_WARENAUSGANG_KUNDE_HINWEISINT] = lspos.getFlrlieferschein().getFlrkunde() .getC_hinweisintern(); if (lspos.getPosition_i_id_artikelset() != null) { dataRow[FELD_WARENAUSGANG_SETARTIKEL_TYP] = ArtikelFac.SETARTIKEL_TYP_POSITION; } else { if (lspos.getSetartikel_set().size() > 0) { dataRow[FELD_WARENAUSGANG_SETARTIKEL_TYP] = ArtikelFac.SETARTIKEL_TYP_KOPF; } } if (lspos.getFlrlieferschein().getFlrauftrag() != null) { dataRow[FELD_WARENAUSGANG_KUNDE_LIEFERDAUER] = lspos.getFlrlieferschein().getFlrauftrag() .getFlrkunde().getI_lieferdauer(); dataRow[FELD_WARENAUSGANG_AUFTRAG_NUMMER] = lspos.getFlrlieferschein().getFlrauftrag() .getC_nr(); if (lspos.getFlrlieferschein().getFlrauftrag().getFlrbegruendung() != null) { String bez = lspos.getFlrlieferschein().getFlrauftrag().getFlrbegruendung().getC_nr(); if (lspos.getFlrlieferschein().getFlrauftrag().getFlrbegruendung().getC_bez() != null) { bez += " " + lspos.getFlrlieferschein().getFlrauftrag().getFlrbegruendung().getC_bez(); } dataRow[FELD_WARENAUSGANG_AUFTRAG_BEGRUENDUNG] = bez; } } if (lspos.getFlrpositionensichtauftrag() != null) { dataRow[FELD_WARENAUSGANG_GEPLANTER_LIEFERTERMIN] = lspos.getFlrpositionensichtauftrag() .getT_uebersteuerterliefertermin(); } if (lspos.getFlrlieferschein().getFlrkunde().getFlrpersonal() != null) { dataRow[FELD_WARENAUSGANG_KUNDE_PROVISIONSEMPFAENGER_KURZZEICHEN] = lspos .getFlrlieferschein().getFlrkunde().getFlrpersonal().getC_kurzzeichen(); } else { dataRow[FELD_WARENAUSGANG_KUNDE_PROVISIONSEMPFAENGER_KURZZEICHEN] = ""; } dataRow[FELD_WARENAUSGANG_LAGER_RECHNUNG] = ""; if (lspos.getFlrlieferschein().getFlrlager() != null) { dataRow[FELD_WARENAUSGANG_LAGER_LIEFERSCHEIN] = lspos.getFlrlieferschein().getFlrlager() .getC_nr(); } else { dataRow[FELD_WARENAUSGANG_LAGER_LIEFERSCHEIN] = ""; } if (lspos.getFlrlieferschein().getFlrziellager() != null) { dataRow[FELD_WARENAUSGANG_ZIELLAGER_LIEFERSCHEIN] = lspos.getFlrlieferschein() .getFlrziellager().getC_nr(); } else { dataRow[FELD_WARENAUSGANG_ZIELLAGER_LIEFERSCHEIN] = ""; } if (lspos.getFlrlieferschein().getFlrkunderechnungsadresse() != null) { dataRow[FELD_WARENAUSGANG_ILN_RECHNUNGSADRESSE] = lspos.getFlrlieferschein() .getFlrkunderechnungsadresse().getFlrpartner().getC_iln(); } tmData.put(i, dataRow); i++; } } // tmData in Object[][] umwandeln data = new Object[tmData.size()][REPORT_WARENAUSGANG_ANZAHL_SPALTEN]; for (int y = 0; y < data.length; y++) { data[y] = (Object[]) tmData.get(y); if (RechnungFac.RECHNUNGART_GUTSCHRIFT.equals(data[y][FELD_WARENAUSGANG_RECHNUNGSART]) || RechnungFac.RECHNUNGART_WERTGUTSCHRIFT.equals(data[y][FELD_WARENAUSGANG_RECHNUNGSART])) { BigDecimal bdMenge = (BigDecimal) data[y][FELD_WARENAUSGANG_MENGE]; if (bdMenge != null) { data[y][FELD_WARENAUSGANG_MENGE] = bdMenge.multiply(new BigDecimal(-1)); } else { data[y][FELD_WARENAUSGANG_MENGE] = new BigDecimal(0); } // SK: Achtung bremst if (data[y][FELD_WARENAUSGANG_ZURECHNUNG] != null) { RechnungDto rechDto = getRechnungFac() .rechnungFindByPrimaryKey((Integer) data[y][FELD_WARENAUSGANG_ZURECHNUNG]); data[y][FELD_WARENAUSGANG_ZURECHNUNG] = rechDto.getCNr(); data[y][FELD_WARENAUSGANG_LIEFERSCHEINDATUM] = rechDto.getTBelegdatum(); } } // Dauert so zu lange.. Felder werden einzeln uebergeben /* * Integer partnerIId = (Integer) * data[y][FELD_WARENAUSGANG_STATISTIKADRESSE]; * if(partnerIId!=null){ PartnerDto helper = * getPartnerFac().partnerFindByPrimaryKey(partnerIId , * theClientDto); data[y][FELD_WARENAUSGANG_STATISTIKADRESSE]= * helper.formatFixTitelName1Name2(); } */ } Map<String, Object> mapParameter = new TreeMap<String, Object>(); StringBuffer sSortierung = new StringBuffer(); mapParameter.put("P_MITTEXTEINGABEN", krit.getBMitTexteingaben()); if (krit.bSortiereNachKostenstelle) { sSortierung.append( getTextRespectUISpr("lp.kostenstelle", theClientDto.getMandant(), theClientDto.getLocUi())); sSortierung.append(", "); } if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_PARTNER) { if (krit.getBVerwendeStatistikAdresse()) { sSortierung.append(getTextRespectUISpr("rech.statistikadresse", theClientDto.getMandant(), theClientDto.getLocUi())); } else { sSortierung.append( getTextRespectUISpr("lp.kunde", theClientDto.getMandant(), theClientDto.getLocUi())); } } else if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_BELEGNUMMER) { sSortierung.append( getTextRespectUISpr("bes.belegnummer", theClientDto.getMandant(), theClientDto.getLocUi())); } else if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_VERTRETER) { sSortierung.append( getTextRespectUISpr("lp.vertreter", theClientDto.getMandant(), theClientDto.getLocUi())); } else if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_IDENT) { sSortierung.append( getTextRespectUISpr("lp.artikel", theClientDto.getMandant(), theClientDto.getLocUi())); } mapParameter.put(LPReport.P_SORTIERUNG, sSortierung.toString()); if (krit.dBis != null && krit.dVon != null) { mapParameter.put(PARAMETER_WARENAUSGANG_BIS, krit.dBis.toString()); mapParameter.put(PARAMETER_WARENAUSGANG_VON, krit.dVon.toString()); } if (krit.sBelegnummerBis != null && krit.sBelegnummerVon != null) { mapParameter.put(PARAMETER_WARENAUSGANG_BIS, krit.sBelegnummerBis); mapParameter.put(PARAMETER_WARENAUSGANG_VON, krit.sBelegnummerVon); } mapParameter.put(PARAMETER_WARENAUSGNAG_GRUPPIERUNGNACHSTATISTIK, krit.getBVerwendeStatistikAdresse()); mapParameter.put(PARAMETER_WARENAUSGANG_MANDANTENWAEHRUNG, theClientDto.getSMandantenwaehrung()); initJRDS(mapParameter, RechnungReportFac.REPORT_MODUL, RechnungReportFac.REPORT_WARENAUSGANGSJOURNAL, theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto); return getReportPrint(); } catch (RemoteException ex) { throwEJBExceptionLPRespectOld(ex); return null; } finally { if (session != null) { session.close(); } } }
From source file:com.lp.server.rechnung.ejbfac.RechnungReportFacBean.java
License:Open Source License
public JasperPrintLP printZusammenfassendeMeldung(java.sql.Date dVon, java.sql.Date dBis, Integer partnerIIdFinanzamt, TheClientDto theClientDto) { Session session = null;/*ww w. ja v a 2 s.c o m*/ try { PartnerDto partnerDtoFinazamt = getPartnerFac().partnerFindByPrimaryKey(partnerIIdFinanzamt, theClientDto); this.useCase = UC_REPORT_ALLE; SessionFactory factory = FLRSessionFactory.getFactory(); session = factory.openSession(); // Kunde oder Statistikadresse verwenden Criteria c = session.createCriteria(FLRRechnungReport.class); // Filter nach Mandant c.add(Restrictions.eq(RechnungFac.FLR_RECHNUNG_MANDANT_C_NR, theClientDto.getMandant())); // Rechnungen und Gutschriften Collection<String> cArten = new LinkedList<String>(); cArten.add(RechnungFac.RECHNUNGTYP_RECHNUNG); cArten.add(RechnungFac.RECHNUNGART_GUTSCHRIFT); c.createCriteria(RechnungFac.FLR_RECHNUNG_FLRRECHNUNGART) .add(Restrictions.in(RechnungFac.FLR_RECHNUNGART_RECHNUNGTYP_C_NR, cArten)); // Filter nach Status (keine stornierten) c.add(Restrictions .not(Restrictions.eq(RechnungFac.FLR_RECHNUNG_STATUS_C_NR, RechnungFac.STATUS_STORNIERT))); // Datum von/bis String sVon = null; String sBis = null; if (dVon != null) { c.add(Restrictions.ge(RechnungFac.FLR_RECHNUNG_D_BELEGDATUM, dVon)); sVon = Helper.formatDatum(dVon, theClientDto.getLocUi()); } if (dBis != null) { c.add(Restrictions.le(RechnungFac.FLR_RECHNUNG_D_BELEGDATUM, dBis)); sBis = Helper.formatDatum(dBis, theClientDto.getLocUi()); } // 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(); // Immer nach Kunde sortiert c.createCriteria(RechnungFac.FLR_RECHNUNG_FLRKUNDE).createCriteria(KundeFac.FLR_PARTNER) .addOrder(Order.asc(PartnerFac.FLR_PARTNER_NAME1NACHNAMEFIRMAZEILE1)); c.addOrder(Order.asc(RechnungFac.FLR_RECHNUNG_C_NR)); List<?> list = c.list(); ArrayList<Object[]> alZeilen = new ArrayList<Object[]>(); for (Iterator<?> iter = list.iterator(); iter.hasNext();) { FLRRechnungReport r = (FLRRechnungReport) iter.next(); Object[] zeile = new Object[REPORT_ZM_ANZAHL_SPALTEN]; zeile[FELD_ZM_BELEGDATUM] = r.getD_belegdatum(); // Bezahlte Betraege BigDecimal bdBezahlt = getRechnungFac().getBereitsBezahltWertVonRechnung(r.getI_id(), null); BigDecimal bdBezahltUst = getRechnungFac().getBereitsBezahltWertVonRechnungUst(r.getI_id(), null); BigDecimal bdWertmw = null; BigDecimal bdWertUstmw = null; BigDecimal bdBezahltmw = null; BigDecimal bdBezahltUstmw = null; bdBezahltmw = bdBezahlt; bdBezahltUstmw = bdBezahltUst; bdWertmw = r.getN_wert(); bdWertUstmw = r.getN_wertust(); if (r.getFlrrechnungart().getC_nr().equals(RechnungFac.RECHNUNGART_GUTSCHRIFT) || r.getFlrrechnungart().getC_nr().equals(RechnungFac.RECHNUNGART_WERTGUTSCHRIFT)) { if (bdWertmw != null) bdWertmw = bdWertmw.negate(); if (bdWertUstmw != null) bdWertUstmw = bdWertUstmw.negate(); if (bdBezahltmw != null) bdBezahltmw = bdBezahltmw.negate(); if (bdBezahltUstmw != null) bdBezahltUstmw = bdBezahltUstmw.negate(); } zeile[FELD_ZM_BETRAG] = bdWertmw; zeile[FELD_ZM_BETRAGUST] = bdWertUstmw; zeile[FELD_ZM_BEZAHLT] = bdBezahltmw; zeile[FELD_ZM_BEZAHLTUST] = bdBezahltUstmw; // Kostenstelle if (r.getFlrkostenstelle() != null) { String sKostenstellen = ""; KostenstelleDto k = null; RechnungkontierungDto[] rechnungkontierungsDto = getRechnungFac() .rechnungkontierungFindByRechnungIId(r.getI_id()); if (rechnungkontierungsDto.length != 0) { for (int e = 0; e < rechnungkontierungsDto.length; e++) { k = getSystemFac() .kostenstelleFindByPrimaryKey(rechnungkontierungsDto[e].getKostenstelleIId()); sKostenstellen = sKostenstellen + k.getCNr() + " "; } } else { sKostenstellen = r.getFlrkostenstelle().getC_nr(); } zeile[FELD_ZM_KOSTENSTELLENUMMER] = sKostenstellen; } else { zeile[FELD_ZM_KOSTENSTELLENUMMER] = null; } // Kundendaten FLRKunde flrKunde, flrKundeStatistik; flrKunde = r.getFlrkunde(); // Statistikdaten wenn nicht Kriterium Statistikadresse flrKundeStatistik = r.getFlrstatistikadresse(); zeile[FELD_ZM_KUNDE_STATISTIK] = flrKundeStatistik.getFlrpartner().getC_name1nachnamefirmazeile1(); if (flrKundeStatistik.getFlrpartner().getC_name2vornamefirmazeile2() != null) { zeile[FELD_ZM_KUNDE2_STATISTIK] = flrKundeStatistik.getFlrpartner() .getC_name2vornamefirmazeile2(); } else { zeile[FELD_ZM_KUNDE2_STATISTIK] = ""; } PartnerDto partnerDtoStatistik = getPartnerFac() .partnerFindByPrimaryKey(flrKundeStatistik.getFlrpartner().getI_id(), theClientDto); zeile[FELD_ZM_ADRESSE_STATISTIK] = partnerDtoStatistik.formatAdresse(); zeile[FELD_ZM_KUNDE] = flrKunde.getFlrpartner().getC_name1nachnamefirmazeile1(); zeile[FELD_ZM_REVERSE_CHARGE] = Helper.short2Boolean(r.getB_reversecharge()); zeile[FELD_ZM_KUNDE_UID] = flrKunde.getFlrpartner().getC_uid(); if (r.getFlrvertreter() != null) { if (r.getFlrvertreter().getFlrpartner().getC_name2vornamefirmazeile2() != null) { zeile[FELD_ZM_VERTRETER] = r.getFlrvertreter().getFlrpartner() .getC_name1nachnamefirmazeile1() + " " + r.getFlrvertreter().getFlrpartner().getC_name2vornamefirmazeile2(); } else { zeile[FELD_ZM_VERTRETER] = r.getFlrvertreter().getFlrpartner() .getC_name1nachnamefirmazeile1(); } } if (flrKunde.getFlrpartner().getC_name2vornamefirmazeile2() != null) { zeile[FELD_ZM_KUNDE2] = flrKunde.getFlrpartner().getC_name2vornamefirmazeile2(); } else { zeile[FELD_ZM_KUNDE2] = ""; } PartnerDto partnerDto = getPartnerFac().partnerFindByPrimaryKey(flrKunde.getFlrpartner().getI_id(), theClientDto); zeile[FELD_ZM_ADRESSE] = partnerDto.formatAdresse(); Integer mahnstufeIId = getMahnwesenFac().getAktuelleMahnstufeEinerRechnung(r.getI_id(), theClientDto); if (mahnstufeIId != null) { zeile[FELD_ZM_MAHNSTUFE] = mahnstufeIId; MahnstufeDto mahnstufeDto = getMahnwesenFac() .mahnstufeFindByPrimaryKey(new MahnstufePK(mahnstufeIId, r.getMandant_c_nr())); // Zinsen nur fuer noch nicht vollstaendig bezahlte if (!r.getStatus_c_nr().equals(RechnungFac.STATUS_BEZAHLT)) { if (mahnstufeDto.getFZinssatz() != null) { BigDecimal bdOffen = r.getN_wert().subtract(bdBezahlt); // Zinsen zeile[FELD_ZM_ZINSEN] = bdOffen .multiply(new BigDecimal(mahnstufeDto.getFZinssatz().floatValue())) .movePointLeft(2); } } } zeile[FELD_ZM_ORT] = partnerDto.formatAdresse(); if (r.getFlrrechnungart().getC_nr().equals(RechnungFac.RECHNUNGART_RECHNUNG)) { zeile[FELD_ZM_RECHNUNGSNUMMER] = "RE " + r.getC_nr(); zeile[FELD_ZM_RECHNUNGSNUMMERZUGUTSCHRIFT] = ""; } else if (r.getFlrrechnungart().getC_nr().equals(RechnungFac.RECHNUNGART_ANZAHLUNG)) { zeile[FELD_ZM_RECHNUNGSNUMMER] = "AZ " + r.getC_nr(); zeile[FELD_ZM_RECHNUNGSNUMMERZUGUTSCHRIFT] = ""; } else if (r.getFlrrechnungart().getC_nr().equals(RechnungFac.RECHNUNGART_SCHLUSSZAHLUNG)) { zeile[FELD_ZM_RECHNUNGSNUMMER] = "SZ " + r.getC_nr(); zeile[FELD_ZM_RECHNUNGSNUMMERZUGUTSCHRIFT] = ""; } else { if (r.getFlrrechnungart().getC_nr().equals(RechnungFac.RECHNUNGART_GUTSCHRIFT) || r.getFlrrechnungart().getC_nr().equals(RechnungFac.RECHNUNGART_WERTGUTSCHRIFT)) { zeile[FELD_ZM_RECHNUNGSNUMMER] = "GS " + r.getC_nr(); // wenn es eine Gutschrift ist die C_NR der Rechnung // uebergeben if (r.getFlrrechnung() != null) { zeile[FELD_ZM_RECHNUNGSNUMMERZUGUTSCHRIFT] = "RE " + r.getFlrrechnung().getC_nr(); } } else { zeile[FELD_ZM_RECHNUNGSNUMMER] = r.getC_nr(); zeile[FELD_ZM_RECHNUNGSNUMMERZUGUTSCHRIFT] = ""; } } if (r.getZahlungsziel_i_id() != null) { zeile[FELD_ZM_ZIELDATUM] = getMandantFac().berechneZielDatumFuerBelegdatum(r.getD_belegdatum(), r.getZahlungsziel_i_id(), theClientDto); } // Bezahlt if (r.getT_bezahltdatum() != null) { zeile[FELD_ZM_BEZAHLTDATUM] = r.getT_bezahltdatum(); // Zahltage int iZahltage = Helper.getDifferenzInTagen(r.getD_belegdatum(), r.getT_bezahltdatum()); zeile[FELD_ZM_ZAHLTAGE] = new Integer(iZahltage); } // Debitorenkontonummer KontoDtoSmall kontoDtoDeb = null; if (flrKunde.getKonto_i_id_debitorenkonto() != null) { kontoDtoDeb = getFinanzFac() .kontoFindByPrimaryKeySmallOhneExc(flrKunde.getKonto_i_id_debitorenkonto()); } String sKontonummer; if (kontoDtoDeb != null) { sKontonummer = kontoDtoDeb.getCNr(); } else { sKontonummer = ""; } zeile[FELD_ZM_DEBITORENKONTO] = sKontonummer; zeile[FELD_ZM_WAEHRUNG] = r.getWaehrung_c_nr(); zeile[FELD_ZM_KURS] = r.getN_kurs(); // 14217 String sLaenderart = getFinanzServiceFac().getLaenderartZuPartner(partnerDtoFinazamt, partnerDto, theClientDto); zeile[FELD_ZM_LAENDERART] = sLaenderart; if (sLaenderart != null && sLaenderart.equals(FinanzFac.LAENDERART_EU_AUSLAND_MIT_UID)) { alZeilen.add(zeile); } } data = new Object[alZeilen.size()][REPORT_ZM_ANZAHL_SPALTEN]; data = alZeilen.toArray(data); MandantDto mandantDto = getMandantFac().mandantFindByPrimaryKey(theClientDto.getMandant(), theClientDto); // Waehrung HashMap mapParameter = new HashMap(); mapParameter.put(LPReport.P_WAEHRUNG, mandantDto.getWaehrungCNr()); StringBuffer sSortierung = new StringBuffer(); sSortierung.append(getTextRespectUISpr("lp.kunde", theClientDto.getMandant(), theClientDto.getLocUi())); StringBuffer sFilter = new StringBuffer(); if (sVon != null) { sFilter.append(getTextRespectUISpr("lp.von", theClientDto.getMandant(), theClientDto.getLocUi())); sFilter.append(" " + sVon + " "); } if (sBis != null) { sFilter.append(getTextRespectUISpr("lp.bis", theClientDto.getMandant(), theClientDto.getLocUi())); sFilter.append(" " + sBis + " "); } mapParameter.put(LPReport.P_SORTIERUNG, sSortierung.toString()); mapParameter.put(LPReport.P_FILTER, sFilter.toString()); FinanzamtDto finanzamtDto = getFinanzFac().finanzamtFindByPrimaryKey(partnerIIdFinanzamt, theClientDto.getMandant(), theClientDto); boolean bRunden = false; bRunden = Helper.short2boolean(finanzamtDto.getBUmsatzRunden()); mapParameter.put("P_FA_NAME", finanzamtDto.getPartnerDto().formatFixName1Name2()); mapParameter.put("P_FA_ADRESSE", finanzamtDto.getPartnerDto().formatAdresse()); // Steuernummer mapParameter.put("P_FA_STEUERNUMMER", finanzamtDto.getCSteuernummer()); mapParameter.put("P_FA_REFERAT", finanzamtDto.getCReferat()); mapParameter.put("P_UMSATZRUNDEN", new Boolean(bRunden)); initJRDS(mapParameter, RechnungReportFac.REPORT_MODUL, RechnungReportFac.REPORT_RECHNUNGEN_ZM, theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto); return getReportPrint(); } catch (RemoteException ex) { throwEJBExceptionLPRespectOld(ex); return null; } finally { if (session != null) { session.close(); } } }
From source file:com.lp.server.rechnung.ejbfac.RechnungReportFacBean.java
License:Open Source License
private JasperPrintLP buildAlleReport(ReportRechnungJournalKriterienDto krit, String rechnungtypCNr, String sReportname, TheClientDto theClientDto) throws EJBExceptionLP { Session session = null;/*from w ww.j a v a 2 s . c om*/ try { this.useCase = UC_REPORT_ALLE; SessionFactory factory = FLRSessionFactory.getFactory(); session = factory.openSession(); // Kunde oder Statistikadresse verwenden final String critKundeIId; final String critFLRKunde; if (krit.getBVerwendeStatistikAdresse()) { critKundeIId = RechnungFac.FLR_RECHNUNG_KUNDE_I_ID_STATISTIKADRESSE; critFLRKunde = RechnungFac.FLR_RECHNUNG_FLRSTATISTIKADRESSE; } else { critKundeIId = RechnungFac.FLR_RECHNUNG_KUNDE_I_ID; critFLRKunde = RechnungFac.FLR_RECHNUNG_FLRKUNDE; } Criteria c = session.createCriteria(FLRRechnungReport.class); // Filter nach Mandant c.add(Restrictions.eq(RechnungFac.FLR_RECHNUNG_MANDANT_C_NR, theClientDto.getMandant())); if (krit.getBGutschriftenBeruecksichtigen()) { // Rechnungen und Gutschriften Collection<String> cArten = new LinkedList<String>(); cArten.add(rechnungtypCNr); cArten.add(RechnungFac.RECHNUNGART_GUTSCHRIFT); c.createCriteria(RechnungFac.FLR_RECHNUNG_FLRRECHNUNGART) .add(Restrictions.in(RechnungFac.FLR_RECHNUNGART_RECHNUNGTYP_C_NR, cArten)); } else { // nur Rechnungen c.createCriteria(RechnungFac.FLR_RECHNUNG_FLRRECHNUNGART) .add(Restrictions.eq(RechnungFac.FLR_RECHNUNGART_RECHNUNGTYP_C_NR, rechnungtypCNr)); } // Filter nach Kostenstelle if (krit.kostenstelleIId != null) { c.add(Restrictions.eq(RechnungFac.FLR_RECHNUNG_KOSTENSTELLE_I_ID, krit.kostenstelleIId)); } // Filter nach einem Kunden Map<String, Object> mapParameter = new TreeMap<String, Object>(); if (krit.kundeIId != null) { c.add(Restrictions.eq(critKundeIId, krit.kundeIId)); KundeDto kundeDto = getKundeFac().kundeFindByPrimaryKey(krit.kundeIId, theClientDto); mapParameter.put("P_KUNDE", kundeDto.getPartnerDto().formatTitelAnrede()); } // Filter nach einem Vertrter if (krit.vertreterIId != null) { c.add(Restrictions.eq(RechnungFac.FLR_RECHNUNG_FLRVERTRETER + ".i_id", krit.vertreterIId)); } // Filter nach Status (keine stornierten) c.add(Restrictions .not(Restrictions.eq(RechnungFac.FLR_RECHNUNG_STATUS_C_NR, RechnungFac.STATUS_STORNIERT))); // Nur offene anzeigen? if (krit.getBNurOffene()) { Collection<String> cStati = new LinkedList<String>(); cStati.add(RechnungFac.STATUS_ANGELEGT); cStati.add(RechnungFac.STATUS_OFFEN); cStati.add(RechnungFac.STATUS_TEILBEZAHLT); cStati.add(RechnungFac.STATUS_VERBUCHT); c.add(Restrictions.in(RechnungFac.FLR_RECHNUNG_STATUS_C_NR, cStati)); } // Datum von/bis String sVon = null; String sBis = null; if (krit.dVon != null) { c.add(Restrictions.ge(RechnungFac.FLR_RECHNUNG_D_BELEGDATUM, krit.dVon)); sVon = Helper.formatDatum(krit.dVon, theClientDto.getLocUi()); } if (krit.dBis != null) { c.add(Restrictions.le(RechnungFac.FLR_RECHNUNG_D_BELEGDATUM, krit.dBis)); sBis = Helper.formatDatum(krit.dBis, theClientDto.getLocUi()); } // 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 (krit.sBelegnummerVon != null) { sVon = HelperServer.getBelegnummernFilterForHibernateCriterias(f, iGeschaeftsjahr, sMandantKuerzel, krit.sBelegnummerVon); c.add(Restrictions.ge(RechnungFac.FLR_RECHNUNG_C_NR, sVon)); } if (krit.sBelegnummerBis != null) { sBis = HelperServer.getBelegnummernFilterForHibernateCriterias(f, iGeschaeftsjahr, sMandantKuerzel, krit.sBelegnummerBis); c.add(Restrictions.le(RechnungFac.FLR_RECHNUNG_C_NR, sBis)); } // Sortierung nach Kostenstelle ist optional if (krit.bSortiereNachKostenstelle) { c.createCriteria(RechnungFac.FLR_RECHNUNG_FLRKOSTENSTELLE).addOrder(Order.asc("c_nr")); } // Sortierung nach Partner ist optional if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_PARTNER) { c.createCriteria(critFLRKunde).createCriteria(KundeFac.FLR_PARTNER) .addOrder(Order.asc(PartnerFac.FLR_PARTNER_NAME1NACHNAMEFIRMAZEILE1)); } else if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_BELEGNUMMER) { c.addOrder(Order.asc(RechnungFac.FLR_RECHNUNG_C_NR)); } if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_VERTRETER) { c.createCriteria(RechnungFac.FLR_RECHNUNG_FLRVERTRETER) .addOrder(Order.asc(PersonalFac.FLR_PERSONAL_C_KURZZEICHEN)); } List<?> list = c.list(); data = new Object[list.size()][REPORT_ALLE_ANZAHL_SPALTEN]; // Map mapZahlungsziele = // getMandantFac().zahlungszielFindAllByMandantAsDto // (theClientDto.getMandant(), // theClientDto.getIDUser()); int i = 0; for (Iterator<?> iter = list.iterator(); iter.hasNext();) { FLRRechnungReport r = (FLRRechnungReport) iter.next(); data[i][FELD_ALLE_BELEGDATUM] = r.getD_belegdatum(); // Bezahlte Betraege BigDecimal bdBezahlt = getRechnungFac().getBereitsBezahltWertVonRechnung(r.getI_id(), null); BigDecimal bdBezahltUst = getRechnungFac().getBereitsBezahltWertVonRechnungUst(r.getI_id(), null); BigDecimal bdWertmw = null; BigDecimal bdWertUstmw = null; BigDecimal bdBezahltmw = null; BigDecimal bdBezahltUstmw = null; bdBezahltmw = bdBezahlt; bdBezahltUstmw = bdBezahltUst; BigDecimal bdWertFW = null; BigDecimal bdWertUstFW = null; BigDecimal bdBezahltFW = getRechnungFac().getBereitsBezahltWertVonRechnungFw(r.getI_id(), null); BigDecimal bdBezahltUstFW = getRechnungFac().getBereitsBezahltWertVonRechnungUstFw(r.getI_id(), null); bdWertmw = r.getN_wert(); bdWertUstmw = r.getN_wertust(); bdWertFW = r.getN_wertfw(); bdWertUstFW = r.getN_wertustfw(); if (r.getFlrrechnungart().getC_nr().equals(RechnungFac.RECHNUNGART_GUTSCHRIFT) || r.getFlrrechnungart().getC_nr().equals(RechnungFac.RECHNUNGART_WERTGUTSCHRIFT)) { if (bdWertmw != null) bdWertmw = bdWertmw.negate(); if (bdWertUstmw != null) bdWertUstmw = bdWertUstmw.negate(); if (bdBezahltmw != null) bdBezahltmw = bdBezahltmw.negate(); if (bdBezahltUstmw != null) bdBezahltUstmw = bdBezahltUstmw.negate(); // FW if (bdWertFW != null) bdWertFW = bdWertFW.negate(); if (bdWertUstFW != null) bdWertUstFW = bdWertUstFW.negate(); if (bdBezahltFW != null) bdBezahltFW = bdBezahltFW.negate(); if (bdBezahltUstFW != null) bdBezahltUstFW = bdBezahltUstFW.negate(); } data[i][FELD_ALLE_BETRAG] = bdWertmw; data[i][FELD_ALLE_BETRAGUST] = bdWertUstmw; data[i][FELD_ALLE_BEZAHLT] = bdBezahltmw; data[i][FELD_ALLE_BEZAHLTUST] = bdBezahltUstmw; data[i][FELD_ALLE_BETRAG_FW] = bdWertFW; data[i][FELD_ALLE_BETRAGUST_FW] = bdWertUstFW; data[i][FELD_ALLE_BEZAHLT_FW] = bdBezahltFW; data[i][FELD_ALLE_BEZAHLTUST_FW] = bdBezahltUstFW; BigDecimal bdUstAnzahlungMandWhg = new BigDecimal(0); BigDecimal bdNettoAnzahlungMandWhg = new BigDecimal(0); BigDecimal bdUstAnzahlungFW = new BigDecimal(0); BigDecimal bdNettoAnzahlungFW = new BigDecimal(0); if (r.getFlrauftrag() != null && r.getFlrrechnungart().getC_nr().equals(RechnungFac.RECHNUNGART_SCHLUSSZAHLUNG)) { bdUstAnzahlungFW = getRechnungFac().getAnzahlungenZuSchlussrechnungUstFw(r.getI_id()); bdNettoAnzahlungFW = getRechnungFac().getAnzahlungenZuSchlussrechnungFw(r.getI_id()); bdNettoAnzahlungMandWhg = getLocaleFac().rechneUmInAndereWaehrungZuDatum(bdNettoAnzahlungFW, r.getWaehrung_c_nr(), theClientDto.getSMandantenwaehrung(), new Date(System.currentTimeMillis()), theClientDto); bdUstAnzahlungMandWhg = getLocaleFac().rechneUmInAndereWaehrungZuDatum(bdUstAnzahlungFW, r.getWaehrung_c_nr(), theClientDto.getSMandantenwaehrung(), new Date(System.currentTimeMillis()), theClientDto); } data[i][FELD_ALLE_WERT_ANZAHLUNGEN] = bdNettoAnzahlungMandWhg; data[i][FELD_ALLE_WERT_ANZAHLUNGENUST] = bdUstAnzahlungMandWhg; data[i][FELD_ALLE_WERT_ANZAHLUNGEN_FW] = bdNettoAnzahlungFW; data[i][FELD_ALLE_WERT_ANZAHLUNGENUST_FW] = bdUstAnzahlungFW; // Kostenstelle if (r.getFlrkostenstelle() != null) { String sKostenstellen = ""; KostenstelleDto k = null; RechnungkontierungDto[] rechnungkontierungsDto = getRechnungFac() .rechnungkontierungFindByRechnungIId(r.getI_id()); if (rechnungkontierungsDto.length != 0) { for (int e = 0; e < rechnungkontierungsDto.length; e++) { k = getSystemFac() .kostenstelleFindByPrimaryKey(rechnungkontierungsDto[e].getKostenstelleIId()); sKostenstellen = sKostenstellen + k.getCNr() + " "; } } else { sKostenstellen = r.getFlrkostenstelle().getC_nr(); } data[i][FELD_ALLE_KOSTENSTELLENUMMER] = sKostenstellen; } else { data[i][FELD_ALLE_KOSTENSTELLENUMMER] = null; } // Kundendaten FLRKunde flrKunde, flrKundeStatistik; if (krit.getBVerwendeStatistikAdresse()) { flrKunde = r.getFlrstatistikadresse(); } else { flrKunde = r.getFlrkunde(); // Statistikdaten wenn nicht Kriterium Statistikadresse flrKundeStatistik = r.getFlrstatistikadresse(); data[i][FELD_ALLE_KUNDE_STATISTIK] = flrKundeStatistik.getFlrpartner() .getC_name1nachnamefirmazeile1(); if (flrKundeStatistik.getFlrpartner().getC_name2vornamefirmazeile2() != null) { data[i][FELD_ALLE_KUNDE2_STATISTIK] = flrKundeStatistik.getFlrpartner() .getC_name2vornamefirmazeile2(); } else { data[i][FELD_ALLE_KUNDE2_STATISTIK] = ""; } PartnerDto partnerDtoStatistik = getPartnerFac() .partnerFindByPrimaryKey(flrKundeStatistik.getFlrpartner().getI_id(), theClientDto); data[i][FELD_ALLE_ADRESSE_STATISTIK] = partnerDtoStatistik.formatAdresse(); } data[i][FELD_ALLE_KUNDE] = flrKunde.getFlrpartner().getC_name1nachnamefirmazeile1(); data[i][FELD_ALLE_REVERSE_CHARGE] = Helper.short2Boolean(r.getB_reversecharge()); data[i][FELD_ALLE_STATUS] = r.getStatus_c_nr(); data[i][FELD_ALLE_ZOLLBELEGNUMMER] = r.getC_zollpapier(); data[i][FELD_ALLE_KUNDE_UID] = flrKunde.getFlrpartner().getC_uid(); if (r.getFlrvertreter() != null) { if (r.getFlrvertreter().getFlrpartner().getC_name2vornamefirmazeile2() != null) { data[i][FELD_ALLE_VERTRETER] = r.getFlrvertreter().getFlrpartner() .getC_name1nachnamefirmazeile1() + " " + r.getFlrvertreter().getFlrpartner().getC_name2vornamefirmazeile2(); } else { data[i][FELD_ALLE_VERTRETER] = r.getFlrvertreter().getFlrpartner() .getC_name1nachnamefirmazeile1(); } } if (flrKunde.getFlrpartner().getC_name2vornamefirmazeile2() != null) { data[i][FELD_ALLE_KUNDE2] = flrKunde.getFlrpartner().getC_name2vornamefirmazeile2(); } else { data[i][FELD_ALLE_KUNDE2] = ""; } PartnerDto partnerDto = getPartnerFac().partnerFindByPrimaryKey(flrKunde.getFlrpartner().getI_id(), theClientDto); data[i][FELD_ALLE_ADRESSE] = partnerDto.formatAdresse(); Integer mahnstufeIId = getMahnwesenFac().getAktuelleMahnstufeEinerRechnung(r.getI_id(), theClientDto); if (mahnstufeIId != null) { data[i][FELD_ALLE_MAHNSTUFE] = mahnstufeIId; MahnstufeDto mahnstufeDto = getMahnwesenFac() .mahnstufeFindByPrimaryKey(new MahnstufePK(mahnstufeIId, r.getMandant_c_nr())); // Zinsen nur fuer noch nicht vollstaendig bezahlte if (!r.getStatus_c_nr().equals(RechnungFac.STATUS_BEZAHLT)) { if (mahnstufeDto.getFZinssatz() != null) { BigDecimal bdOffen = r.getN_wert().subtract(bdBezahlt); // Zinsen data[i][FELD_ALLE_ZINSEN] = bdOffen .multiply(new BigDecimal(mahnstufeDto.getFZinssatz().floatValue())) .movePointLeft(2); } } } data[i][FELD_ALLE_ORT] = partnerDto.formatAdresse(); if (r.getFlrrechnungart().getC_nr().equals(RechnungFac.RECHNUNGART_RECHNUNG)) { data[i][FELD_ALLE_RECHNUNGSNUMMER] = "RE " + r.getC_nr(); data[i][FELD_ALLE_RECHNUNGSNUMMERZUGUTSCHRIFT] = ""; } else { if (r.getFlrrechnungart().getC_nr().equals(RechnungFac.RECHNUNGART_GUTSCHRIFT) || r.getFlrrechnungart().getC_nr().equals(RechnungFac.RECHNUNGART_WERTGUTSCHRIFT)) { data[i][FELD_ALLE_RECHNUNGSNUMMER] = "GS " + r.getC_nr(); // wenn es eine Gutschrift ist die C_NR der Rechnung // uebergeben if (r.getFlrrechnung() != null) { data[i][FELD_ALLE_RECHNUNGSNUMMERZUGUTSCHRIFT] = "RE " + r.getFlrrechnung().getC_nr(); } } else if (r.getFlrrechnungart().getC_nr().equals(RechnungFac.RECHNUNGART_ANZAHLUNG)) { data[i][FELD_ALLE_RECHNUNGSNUMMER] = "AZ " + r.getC_nr(); } else if (r.getFlrrechnungart().getC_nr().equals(RechnungFac.RECHNUNGART_SCHLUSSZAHLUNG)) { data[i][FELD_ALLE_RECHNUNGSNUMMER] = "SR " + r.getC_nr(); } else if (r.getFlrrechnungart().getC_nr().equals(RechnungFac.RECHNUNGART_PROFORMARECHNUNG)) { data[i][FELD_ALLE_RECHNUNGSNUMMER] = "PF " + r.getC_nr(); } else { data[i][FELD_ALLE_RECHNUNGSNUMMER] = r.getC_nr(); data[i][FELD_ALLE_RECHNUNGSNUMMERZUGUTSCHRIFT] = ""; } } if (r.getZahlungsziel_i_id() != null) { data[i][FELD_ALLE_ZIELDATUM] = getMandantFac().berechneZielDatumFuerBelegdatum( r.getD_belegdatum(), r.getZahlungsziel_i_id(), theClientDto); } // Bezahlt if (r.getT_bezahltdatum() != null) { data[i][FELD_ALLE_BEZAHLTDATUM] = r.getT_bezahltdatum(); // Zahltage int iZahltage = Helper.getDifferenzInTagen(r.getD_belegdatum(), r.getT_bezahltdatum()); data[i][FELD_ALLE_ZAHLTAGE] = new Integer(iZahltage); } // Debitorenkontonummer KontoDtoSmall kontoDtoDeb = null; if (flrKunde.getKonto_i_id_debitorenkonto() != null) { kontoDtoDeb = getFinanzFac() .kontoFindByPrimaryKeySmallOhneExc(flrKunde.getKonto_i_id_debitorenkonto()); } String sKontonummer; if (kontoDtoDeb != null) { sKontonummer = kontoDtoDeb.getCNr(); } else { sKontonummer = ""; } data[i][FELD_ALLE_DEBITORENKONTO] = sKontonummer; data[i][FELD_ALLE_WAEHRUNG] = r.getWaehrung_c_nr(); data[i][FELD_ALLE_KURS] = r.getN_kurs(); // 14217 String sLaenderart = getFinanzServiceFac().getLaenderartZuPartner(partnerDto.getIId(), theClientDto); data[i][FELD_ALLE_LAENDERART] = sLaenderart; i++; } MandantDto mandantDto = getMandantFac().mandantFindByPrimaryKey(theClientDto.getMandant(), theClientDto); // Waehrung mapParameter.put(LPReport.P_WAEHRUNG, mandantDto.getWaehrungCNr()); StringBuffer sSortierung = new StringBuffer(); if (krit.bSortiereNachKostenstelle) { sSortierung.append( getTextRespectUISpr("lp.kostenstelle", theClientDto.getMandant(), theClientDto.getLocUi())); sSortierung.append(", "); } if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_PARTNER) { if (krit.getBVerwendeStatistikAdresse()) { sSortierung.append(getTextRespectUISpr("rech.statistikadresse", theClientDto.getMandant(), theClientDto.getLocUi())); } else { sSortierung.append( getTextRespectUISpr("lp.kunde", theClientDto.getMandant(), theClientDto.getLocUi())); } } else if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_BELEGNUMMER) { sSortierung.append( getTextRespectUISpr("bes.belegnummer", theClientDto.getMandant(), theClientDto.getLocUi())); } else if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_VERTRETER) { sSortierung.append( getTextRespectUISpr("lp.vertreter", theClientDto.getMandant(), theClientDto.getLocUi())); } StringBuffer sFilter = new StringBuffer(); if (sVon != null) { sFilter.append(getTextRespectUISpr("lp.von", theClientDto.getMandant(), theClientDto.getLocUi())); sFilter.append(" " + sVon + " "); } if (sBis != null) { sFilter.append(getTextRespectUISpr("lp.bis", theClientDto.getMandant(), theClientDto.getLocUi())); sFilter.append(" " + sBis + " "); } if (krit.kostenstelleIId != null) { if (sFilter.length() > 0) { sFilter.append(", "); } KostenstelleDto kstDto = getSystemFac().kostenstelleFindByPrimaryKey(krit.kostenstelleIId); sFilter.append( getTextRespectUISpr("lp.kostenstelle", theClientDto.getMandant(), theClientDto.getLocUi())); sFilter.append(" "); sFilter.append(kstDto.getCNr()); } // Statistikadresse if (krit.getBVerwendeStatistikAdresse()) { if (sFilter.length() > 0) { sFilter.append(", "); } sFilter.append(getTextRespectUISpr("rech.nachstatistikadresse", theClientDto.getMandant(), theClientDto.getLocUi())); } mapParameter.put(LPReport.P_SORTIERUNG, sSortierung.toString()); mapParameter.put(LPReport.P_SORTIERENACHKOSTENSTELLE, new Boolean(krit.bSortiereNachKostenstelle)); mapParameter.put(LPReport.P_SORTIERENACHKUNDE, new Boolean(krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_PARTNER)); mapParameter.put(LPReport.P_SORTIERENACHVERTRETER, new Boolean(krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_VERTRETER)); mapParameter.put(LPReport.P_FILTER, sFilter.toString()); initJRDS(mapParameter, RechnungReportFac.REPORT_MODUL, sReportname, theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto); return getReportPrint(); // } // catch (FinderException ex) { // { // @ToDo FinderException // throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_DRUCKEN, // null); // } // throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_DRUCKEN, ex); } catch (RemoteException ex) { throwEJBExceptionLPRespectOld(ex); return null; } finally { if (session != null) { session.close(); } } }
From source file:com.lp.server.stueckliste.ejbfac.StuecklisteReportFacBean.java
License:Open Source License
/** * Hole Stuecklisteneigenschaften fuer einen Artikel. Keys in Hashtable sind * StuecklisteReportFac.REPORT_STUECKLISTE_EIGENSCHAFTEN_INDEX und * StuecklisteReportFac.REPORT_STUECKLISTE_EIGENSCHAFTEN_MATERIALPLATZ. * /*from w w w.jav a 2s . c o m*/ * @param iIdStklIDI * Integer StuecklisteId * @param sMandantCNr * String * @param theClientDto der aktuelle Benutzer * @return Hashtable * @throws EJBExceptionLP */ public Hashtable getStuecklisteEigenschaften(Integer iIdStklIDI, String sMandantCNr, TheClientDto theClientDto) throws EJBExceptionLP { Hashtable<String, String> daten = new Hashtable<String, String>(); ; SessionFactory factory = FLRSessionFactory.getFactory(); Session session = null; try { session = factory.openSession(); Criteria crit = session.createCriteria(FLRStuecklisteeigenschaft.class); Criteria cStueckliste = crit.createCriteria("flrstueckliste"); Criteria cArt = crit.createCriteria("flrstuecklisteeigenschaftart"); cStueckliste.add(Restrictions.eq("i_id", iIdStklIDI)); cStueckliste.add(Restrictions.eq("mandant_c_nr", sMandantCNr)); List<?> resultList = crit.list(); Iterator<?> it = resultList.iterator(); while (it.hasNext()) { FLRStuecklisteeigenschaft flr = (FLRStuecklisteeigenschaft) it.next(); if (flr.getFlrstuecklisteeigenschaftart().getC_bez() .equals(StuecklisteReportFac.REPORT_STUECKLISTE_EIGENSCHAFTEN_INDEX)) { daten.put(StuecklisteReportFac.REPORT_STUECKLISTE_EIGENSCHAFTEN_INDEX, flr.getC_bez()); } if (flr.getFlrstuecklisteeigenschaftart().getC_bez() .equals(StuecklisteReportFac.REPORT_STUECKLISTE_EIGENSCHAFTEN_MATERIALPLATZ)) { daten.put(StuecklisteReportFac.REPORT_STUECKLISTE_EIGENSCHAFTEN_MATERIALPLATZ, flr.getC_bez()); } } } finally { try { session.close(); } catch (HibernateException he) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_HIBERNATE, he); } } if (daten != null && daten.size() == 0) { return null; } return daten; }