List of usage examples for org.hibernate.criterion Restrictions isNull
public static Criterion isNull(String propertyName)
From source file:com.lp.server.lieferschein.ejbfac.LieferscheinpositionFacBean.java
License:Open Source License
public LieferscheinpositionDto[] getLieferscheinPositionenByLieferschein(Integer iIdLieferscheinI, TheClientDto theClientDto) throws EJBExceptionLP { ArrayList<LieferscheinpositionDto> dtos = new ArrayList<LieferscheinpositionDto>(); LieferscheinpositionDto[] aLieferscheinpositionDto = null; Session sesion = null;// w w w .j a va2 s . c o m try { SessionFactory factory = FLRSessionFactory.getFactory(); sesion = factory.openSession(); Criteria crit = sesion.createCriteria(FLRLieferscheinposition.class); crit.add(Restrictions.eq("flrlieferschein.i_id", iIdLieferscheinI)); crit.add(Restrictions.isNull("position_i_id")); crit.addOrder(Order.asc("i_sort")); List<?> l = crit.list(); Iterator<?> iter = l.iterator(); while (iter.hasNext()) { FLRLieferscheinposition pos = (FLRLieferscheinposition) iter.next(); LieferscheinpositionDto apositionDto = getLieferscheinpositionFac() .lieferscheinpositionFindByPrimaryKey(pos.getI_id(), theClientDto); if (pos.getPositionsart_c_nr().equals(LocaleFac.POSITIONSART_POSITION)) { if (!pos.getC_zbez().equals(LocaleFac.POSITIONBEZ_ENDE)) { dtos.add(apositionDto); } } else { dtos.add(apositionDto); } } } catch (RemoteException ex) { throwEJBExceptionLPRespectOld(ex); return null; } finally { if (sesion != null) { sesion.close(); } } aLieferscheinpositionDto = new LieferscheinpositionDto[dtos.size()]; for (int i = 0; i < dtos.size(); i++) { aLieferscheinpositionDto[i] = dtos.get(i); } return aLieferscheinpositionDto; }
From source file:com.lp.server.personal.ejbfac.ZeiterfassungReportFacBean.java
License:Open Source License
public JasperPrintLP printMaschinenliste(java.sql.Timestamp tStichtag, boolean bMitVersteckten, TheClientDto theClientDto) {/*w w w .ja va 2s.co m*/ sAktuellerReport = ZeiterfassungReportFac.REPORT_MASCHINENLISTE; SessionFactory factory = FLRSessionFactory.getFactory(); Session session = factory.openSession(); org.hibernate.Criteria crit = session .createCriteria(com.lp.server.personal.fastlanereader.generated.FLRMaschine.class) .add(Restrictions.eq("mandant_c_nr", theClientDto.getMandant())); if (bMitVersteckten == false) { crit.add(Restrictions.eq(ZeiterfassungFac.FLR_MASCHINE_B_VERSTECKT, Helper.boolean2Short(false))); } if (tStichtag != null) { crit.add(Restrictions.or(Restrictions.le(ZeiterfassungFac.FLR_MASCHINE_T_KAUFDATUM, tStichtag), Restrictions.isNull(ZeiterfassungFac.FLR_MASCHINE_T_KAUFDATUM))); } crit.createAlias(ZeiterfassungFac.FLR_MASCHINE_FLR_MASCHINENGRUPPE, "m").addOrder(Order.asc("m.c_bez")); crit.addOrder(Order.asc(ZeiterfassungFac.FLR_MASCHINE_C_INVENTARNUMMER)); List<?> resultList = crit.list(); data = new Object[resultList.size()][10]; Iterator<?> resultListIterator = resultList.iterator(); int row = 0; while (resultListIterator.hasNext()) { FLRMaschine flrmaschine = (FLRMaschine) resultListIterator.next(); data[row][REPORT_MASCHINENLISTE_INVENTARNUMMER] = flrmaschine.getC_inventarnummer(); data[row][REPORT_MASCHINENLISTE_BEZEICHNUNG] = flrmaschine.getC_bez(); data[row][REPORT_MASCHINENLISTE_IDENTIFIKATIONSNUMMER] = flrmaschine.getC_identifikationsnr(); data[row][REPORT_MASCHINENLISTE_KAUFDATUM] = flrmaschine.getT_kaufdatum(); data[row][REPORT_MASCHINENLISTE_VERFUEGBARKEIT] = flrmaschine.getF_verfuegbarkeitinprozent(); data[row][REPORT_MASCHINENLISTE_AUTOENDE] = new Boolean( Helper.short2Boolean(flrmaschine.getB_autoendebeigeht())); data[row][REPORT_MASCHINENLISTE_KOSTEN_ZUM_ZEITPUNKT] = getZeiterfassungFac() .getMaschinenKostenZumZeitpunkt(flrmaschine.getI_id(), new Timestamp(System.currentTimeMillis())); data[row][REPORT_MASCHINENLISTE_MASCHINENGRUPPE] = flrmaschine.getFlrmaschinengruppe().getC_bez(); Session s2 = FLRSessionFactory.getFactory().openSession(); Query query2 = session.createQuery("FROM FLRMaschinenzeitdaten m WHERE m.maschine_i_id=" + flrmaschine.getI_id() + " ORDER BY m.t_von DESC"); query2.setMaxResults(1); List<?> resultListSub = query2.list(); String starter = ""; Timestamp tUm = null; if (resultListSub.size() > 0) { FLRMaschinenzeitdaten m = (FLRMaschinenzeitdaten) resultListSub.iterator().next(); starter = m.getFlrpersonal_gestartet().getFlrpartner().getC_name1nachnamefirmazeile1(); if (m.getFlrpersonal_gestartet().getFlrpartner().getC_name2vornamefirmazeile2() != null) { starter += " " + m.getFlrpersonal_gestartet().getFlrpartner().getC_name2vornamefirmazeile2(); } tUm = new Timestamp(m.getT_von().getTime()); } data[row][REPORT_MASCHINENLISTE_ZULETZT_GESTARTET_VON] = starter; data[row][REPORT_MASCHINENLISTE_ZULETZT_GESTARTET_UM] = tUm; row++; } HashMap<String, Object> parameter = new HashMap<String, Object>(); parameter.put("T_STICHTAG", tStichtag); initJRDS(parameter, ZeiterfassungReportFac.REPORT_MODUL, ZeiterfassungReportFac.REPORT_MASCHINENLISTE, theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto); return getReportPrint(); }
From source file:com.lp.server.personal.ejbfac.ZeiterfassungReportFacBean.java
License:Open Source License
private JasperPrintLP erstelleTelefonzeiten(Integer personalIId, Integer partnerIId, java.sql.Timestamp tVon, java.sql.Timestamp tBis, boolean bSortiertNachPersonal, TheClientDto theClientDto) { SessionFactory factory = FLRSessionFactory.getFactory(); Session session = factory.openSession(); HashMap<String, Object> parameter = new HashMap<String, Object>(); org.hibernate.Criteria crit = session.createCriteria(FLRTelefonzeiten.class) .createAlias(ZeiterfassungFac.FLR_TELEFONZEITEN_FLRPERSONAL, "p") .add(Restrictions.eq("p.mandant_c_nr", theClientDto.getMandant())); if (personalIId != null) { crit.add(Restrictions.eq(ZeiterfassungFac.FLR_TELEFONZEITEN_PERSONAL_I_ID, personalIId)); }// ww w . j av a 2 s . co m if (partnerIId != null) { crit.add(Restrictions.eq(ZeiterfassungFac.FLR_TELEFONZEITEN_PARTNER_I_ID, partnerIId)); com.lp.server.partner.service.PartnerDto partnerDto = getPartnerFac() .partnerFindByPrimaryKey(partnerIId, theClientDto); parameter.put("P_PARTNER", partnerDto.formatFixTitelName1Name2()); } else { if (bSortiertNachPersonal == false && partnerIId == null) { crit.add(Restrictions.isNull(ZeiterfassungFac.FLR_TELEFONZEITEN_PARTNER_I_ID)); } } if (bSortiertNachPersonal == true) { parameter.put("P_SORTIERUNG", getTextRespectUISpr("lp.personal", theClientDto.getMandant(), theClientDto.getLocUi())); } else { parameter.put("P_SORTIERUNG", getTextRespectUISpr("lp.partner", theClientDto.getMandant(), theClientDto.getLocUi())); } crit.add(Restrictions.ge(ZeiterfassungFac.FLR_TELEFONZEITEN_T_VON, tVon)); crit.add(Restrictions.lt(ZeiterfassungFac.FLR_TELEFONZEITEN_T_VON, tBis)); crit.addOrder(Order.asc(ZeiterfassungFac.FLR_TELEFONZEITEN_T_VON)); List<?> list = crit.list(); Iterator<?> iterator = list.iterator(); data = new Object[list.size()][10]; int row = 0; while (iterator.hasNext()) { FLRTelefonzeiten flrTelefonzeiten = (FLRTelefonzeiten) iterator.next(); String sVorname = flrTelefonzeiten.getFlrpersonal().getFlrpartner().getC_name2vornamefirmazeile2(); String sNachname = flrTelefonzeiten.getFlrpersonal().getFlrpartner().getC_name1nachnamefirmazeile1(); if (sVorname != null) { sNachname = sVorname + " " + sNachname; } data[row][REPORT_TELEFONLISTE_PERSON] = sNachname; if (flrTelefonzeiten.getFlransprechpartner() != null) { sVorname = flrTelefonzeiten.getFlransprechpartner().getFlrpartneransprechpartner() .getC_name2vornamefirmazeile2(); sNachname = flrTelefonzeiten.getFlransprechpartner().getFlrpartneransprechpartner() .getC_name1nachnamefirmazeile1(); if (sVorname != null) { sNachname = sVorname + " " + sNachname; } data[row][REPORT_TELEFONLISTE_ANSPRECHPARTNER] = sNachname; } if (flrTelefonzeiten.getT_bis() != null) { java.sql.Time tTemp = new java.sql.Time( flrTelefonzeiten.getT_bis().getTime() - flrTelefonzeiten.getT_von().getTime() - 3600000); data[row][REPORT_TELEFONLISTE_DAUER] = Helper.time2Double(tTemp); } if (flrTelefonzeiten.getFlrpartner() != null) { com.lp.server.partner.service.PartnerDto partnerDto = getPartnerFac() .partnerFindByPrimaryKey(flrTelefonzeiten.getFlrpartner().getI_id(), theClientDto); data[row][REPORT_TELEFONLISTE_PARTNER] = partnerDto.formatFixTitelName1Name2(); if (flrTelefonzeiten.getFlrpartner().getFlrlandplzort() != null) { data[row][REPORT_TELEFONLISTE_LKZ_PARTNER] = flrTelefonzeiten.getFlrpartner().getFlrlandplzort() .getFlrland().getC_lkz(); } } if (bSortiertNachPersonal == true) { data[row][REPORT_TELEFONLISTE_GRUPPIERUNG] = personalIId; } else { if (flrTelefonzeiten.getFlrpartner() != null) { data[row][REPORT_TELEFONLISTE_GRUPPIERUNG] = flrTelefonzeiten.getFlrpartner().getI_id(); } } data[row][REPORT_TELEFONLISTE_VON] = new Timestamp(flrTelefonzeiten.getT_von().getTime()); if (flrTelefonzeiten.getT_bis() != null) { data[row][REPORT_TELEFONLISTE_BIS] = new Timestamp(flrTelefonzeiten.getT_bis().getTime()); } data[row][REPORT_TELEFONLISTE_KOMMENTAREXTERN] = flrTelefonzeiten.getX_kommentarext(); data[row][REPORT_TELEFONLISTE_KOMMENTARINTERN] = flrTelefonzeiten.getX_kommentarint(); row++; } Calendar c = Calendar.getInstance(); c.setTimeInMillis(tBis.getTime()); c.set(Calendar.DAY_OF_MONTH, c.get(Calendar.DAY_OF_MONTH) - 1); tBis = new Timestamp(c.getTimeInMillis()); parameter.put("P_VON", tVon); parameter.put("P_BIS", tBis); sAktuellerReport = ZeiterfassungReportFac.REPORT_TELEFONZEITEN; index = -1; initJRDS(parameter, ZeiterfassungReportFac.REPORT_MODUL, ZeiterfassungReportFac.REPORT_TELEFONZEITEN, theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto); return getReportPrint(); }
From source file:com.lp.server.personal.ejbfac.ZutrittscontrollerReportFacBean.java
License:Open Source License
public JasperPrintLP printZutrittsjournal(java.sql.Timestamp tVon, java.sql.Timestamp tBis, TheClientDto theClientDto) {//www . j a v a 2s .c om index = -1; sAktuellerReport = ZutrittscontrollerReportFac.REPORT_ZUTRITTSJOURNAL; Session session = FLRSessionFactory.getFactory().openSession(); org.hibernate.Criteria crit = session .createCriteria(com.lp.server.personal.fastlanereader.generated.FLRZutrittslog.class) .add(Restrictions.eq("mandant_c_nr", theClientDto.getMandant())); crit.add(Restrictions.ge(ZutrittscontrollerFac.FLR_ZUTRITTSLOG_T_ZEITPUNKT, tVon)); crit.add(Restrictions.le(ZutrittscontrollerFac.FLR_ZUTRITTSLOG_T_ZEITPUNKT, tBis)); // Wenn Hauptmandant try { String hauptmandant = getMandantFac().mandantFindByPrimaryKey(theClientDto.getMandant(), theClientDto) .getAnwenderDto().getMandantCNrHauptmandant(); if (!hauptmandant.equals(theClientDto.getMandant())) { crit.add(Restrictions.or( Restrictions.isNull(ZutrittscontrollerFac.FLR_ZUTRITTSLOG_MANDANT_C_NR_OBJEKT), Restrictions.or( Restrictions.eq(ZutrittscontrollerFac.FLR_ZUTRITTSLOG_MANDANT_C_NR_OBJEKT, theClientDto.getMandant()), Restrictions.eq(ZutrittscontrollerFac.FLR_ZUTRITTSLOG_FLRMANDANT + ".c_nr", theClientDto.getMandant())))); } } catch (RemoteException ex) { throwEJBExceptionLPRespectOld(ex); } crit.addOrder(Order.desc(ZutrittscontrollerFac.FLR_ZUTRITTSLOG_T_ZEITPUNKT)); List<?> results = crit.list(); Iterator<?> resultListIterator = results.iterator(); data = new Object[results.size()][7]; int row = 0; while (resultListIterator.hasNext()) { FLRZutrittslog log = (FLRZutrittslog) resultListIterator.next(); data[row][REPORT_ZUTRITTSJOURNAL_AUSWEIS] = log.getC_ausweis(); data[row][REPORT_ZUTRITTSJOURNAL_CONTROLLER] = log.getC_zutrittscontroller(); data[row][REPORT_ZUTRITTSJOURNAL_ERLAUBT] = log.getB_erlaubt(); data[row][REPORT_ZUTRITTSJOURNAL_MANDANT] = log.getMandant_c_nr(); data[row][REPORT_ZUTRITTSJOURNAL_OBJEKT] = log.getC_zutrittsobjekt(); data[row][REPORT_ZUTRITTSJOURNAL_PERSON] = log.getC_person(); data[row][REPORT_ZUTRITTSJOURNAL_ZEITPUNKT] = new java.sql.Timestamp(log.getT_zeitpunkt().getTime()); row++; } session.close(); HashMap<String, Object> parameter = new HashMap<String, Object>(); parameter.put("P_VON", tVon); parameter.put("P_BIS", tBis); initJRDS(parameter, ZutrittscontrollerReportFac.REPORT_MODUL, ZutrittscontrollerReportFac.REPORT_ZUTRITTSJOURNAL, theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto); return getReportPrint(); }
From source file:com.lp.server.rechnung.ejbfac.RechnungFacBean.java
License:Open Source License
public RechnungPositionDto[] getRechnungPositionenByRechnungIId(Integer iIdRechnungI, TheClientDto theClientDto) throws EJBExceptionLP { ArrayList<RechnungPositionDto> dtos = new ArrayList<RechnungPositionDto>(); RechnungPositionDto[] positionDtos = null; Session sesion = null;//from w ww .jav a 2s. c o m try { SessionFactory factory = FLRSessionFactory.getFactory(); sesion = factory.openSession(); Criteria crit = sesion.createCriteria(FLRRechnungPosition.class); crit.add(Restrictions.eq("flrrechnung.i_id", iIdRechnungI)); crit.add(Restrictions.isNull("position_i_id")); crit.addOrder(Order.asc("i_sort")); List<?> l = crit.list(); Iterator<?> iter = l.iterator(); while (iter.hasNext()) { FLRRechnungPosition pos = (FLRRechnungPosition) iter.next(); RechnungPositionDto apositionDto = rechnungPositionFindByPrimaryKey(pos.getI_id()); if (pos.getPositionsart_c_nr().equals(LocaleFac.POSITIONSART_POSITION)) { if (!pos.getC_zusatzbezeichnung().equals(LocaleFac.POSITIONBEZ_ENDE)) { dtos.add(apositionDto); } } else { dtos.add(apositionDto); } } } finally { if (sesion != null) { sesion.close(); } } positionDtos = new RechnungPositionDto[dtos.size()]; for (int i = 0; i < dtos.size(); i++) { positionDtos[i] = dtos.get(i); } return positionDtos; }
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;/*w w w. ja v a2s . 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
private JasperPrintLP buildWarenausgangsjournal(ReportRechnungJournalKriterienDto krit, TheClientDto theClientDto) throws EJBExceptionLP { Session session = null;//from w ww . j a v a 2s . c o 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.reklamation.ejbfac.ReklamationReportFacBean.java
License:Open Source License
@TransactionAttribute(TransactionAttributeType.NEVER) public JasperPrintLP printOffeneReklamationenEinesArtikels(Integer artikelIId, TheClientDto theClientDto) { sAktuellerReport = ReklamationReportFac.REPORT_OFFENEREKLAMATIONENEINESARTIKEL; Session session = FLRSessionFactory.getFactory().openSession(); org.hibernate.Criteria crit = session.createCriteria(FLRReklamation.class); crit.add(Restrictions.eq("mandant_c_nr", theClientDto.getMandant())); session.enableFilter("filterMandant").setParameter("paramMandant", theClientDto.getMandant()); session.enableFilter("filterLocale").setParameter("paramLocale", theClientDto.getLocUiAsString()); crit.createAlias(ReklamationFac.FLR_REKLAMATION_FLRARTIKEL, "a", CriteriaSpecification.LEFT_JOIN); crit.add(Restrictions.eq("a.i_id", artikelIId)); crit.add(Restrictions.isNull(ReklamationFac.FLR_REKLAMATION_T_ERLEDIGT)); List<?> results = crit.list(); Iterator<?> resultListIterator = results.iterator(); data = new Object[results.size()][REPORT_OFFENEREKLAMATIONENEINESARTIKEL_ANZAHL_SPALTEN]; int row = 0;/*from www . j av a 2s. c o m*/ while (resultListIterator.hasNext()) { FLRReklamation flrReklamation = (FLRReklamation) resultListIterator.next(); data[row][REPORT_OFFENEREKLAMATIONENEINESARTIKEL_ART] = flrReklamation.getReklamationart_c_nr(); data[row][REPORT_OFFENEREKLAMATIONENEINESARTIKEL_BELEGNUMMER] = flrReklamation.getC_nr(); data[row][REPORT_OFFENEREKLAMATIONENEINESARTIKEL_DATUM] = new java.sql.Timestamp( flrReklamation.getT_belegdatum().getTime()); data[row][REPORT_OFFENEREKLAMATIONENEINESARTIKEL_GRUND] = flrReklamation.getC_grund(); if (flrReklamation.getKunde_i_id() != null) { KundeDto kundeDto = getKundeFac().kundeFindByPrimaryKey(flrReklamation.getKunde_i_id(), theClientDto); data[row][REPORT_OFFENEREKLAMATIONENEINESARTIKEL_KUNDE] = kundeDto.getPartnerDto() .formatFixTitelName1Name2(); } if (flrReklamation.getLieferant_i_id() != null) { LieferantDto lieferantDto = getLieferantFac() .lieferantFindByPrimaryKey(flrReklamation.getLieferant_i_id(), theClientDto); data[row][REPORT_OFFENEREKLAMATIONENEINESARTIKEL_LIEFERANT] = lieferantDto.getPartnerDto() .formatFixTitelName1Name2(); } } HashMap<String, Object> parameter = new HashMap<String, Object>(); ArtikelDto artikelDto = getArtikelFac().artikelFindByPrimaryKeySmall(artikelIId, theClientDto); parameter.put("P_ARTIKEL", artikelDto.formatArtikelbezeichnung()); initJRDS(parameter, ReklamationReportFac.REPORT_MODUL, ReklamationReportFac.REPORT_OFFENEREKLAMATIONENEINESARTIKEL, theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto); return getReportPrint(); }
From source file:com.lushapp.common.orm.hibernate.HibernateDao.java
License:Apache License
/** * ??Criterion,./* w ww . j av a 2s . c o m*/ */ protected Criterion buildCriterion(final String propertyName, final Object propertyValue, final MatchType matchType) { Assert.hasText(propertyName, "propertyName?"); Criterion criterion = null; String value; Character ESCAPE = '!'; // ?MatchTypecriterion switch (matchType) { case EQ: criterion = Restrictions.eq(propertyName, propertyValue); break; case NE: criterion = Restrictions.ne(propertyName, propertyValue); break; case LIKE: // value = (String) propertyValue; if ((ESCAPE.toString()).equals(value)) { criterion = Restrictions.like(propertyName, (String) propertyValue, MatchMode.ANYWHERE); } else { criterion = new LikeExpression(propertyName, (String) propertyValue, MatchMode.ANYWHERE, ESCAPE, true); } break; case SLIKE: // value = (String) propertyValue; if ((ESCAPE.toString()).equals(value)) { criterion = Restrictions.like(propertyName, (String) propertyValue, MatchMode.START); } else { criterion = new LikeExpression(propertyName, (String) propertyValue, MatchMode.START, ESCAPE, true); } break; case ELIKE: // value = (String) propertyValue; if ((ESCAPE.toString()).equals(value)) { criterion = Restrictions.like(propertyName, (String) propertyValue, MatchMode.END); } else { criterion = new LikeExpression(propertyName, (String) propertyValue, MatchMode.END, ESCAPE, true); } break; case LE: criterion = Restrictions.le(propertyName, propertyValue); break; case LT: criterion = Restrictions.lt(propertyName, propertyValue); break; case GE: criterion = Restrictions.ge(propertyName, propertyValue); break; case GT: criterion = Restrictions.gt(propertyName, propertyValue); break; case ISNULL: criterion = Restrictions.isNull(propertyName); } return criterion; }
From source file:com.lyh.licenseworkflow.dao.EnhancedHibernateDaoSupport.java
/** * ?// w w w .j a va 2 s . c o m * * @param propertyNames ??? * @param values ??? * @param start ? - 0 * @param pageSize * @return */ @SuppressWarnings("unchecked") public List<T> getPagingEntitiesByPropName(final String[] propertyNames, final Object[] values, final int start, final int pageSize) { if (ArrayUtils.isEmpty(propertyNames) || ArrayUtils.isEmpty(values) || propertyNames.length != values.length) { throw new IllegalArgumentException("Invalid arguments to execute sql query."); } return (List<T>) getHibernateTemplate().execute(new HibernateCallback() { public Object doInHibernate(Session session) throws HibernateException, SQLException { Criteria criteria = session.createCriteria(getEntityName()); for (int i = 0; i < propertyNames.length; i++) { if (values[i] == null) criteria.add(Restrictions.isNull(propertyNames[i])); else if (values[i].toString().indexOf("%") != -1) {// ,?value?% criteria.add(Restrictions.like(propertyNames[i], values[i])); } else { criteria.add(Restrictions.eq(propertyNames[i], values[i])); } } criteria.setFirstResult(start); criteria.setMaxResults(pageSize); return criteria.list(); } }); }