Java tutorial
/******************************************************************************* * HELIUM V, Open Source ERP software for sustained success * at small and medium-sized enterprises. * Copyright (C) 2004 - 2014 HELIUM V IT-Solutions GmbH * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published * by the Free Software Foundation, either version 3 of theLicense, or * (at your option) any later version. * * According to sec. 7 of the GNU Affero General Public License, version 3, * the terms of the AGPL are supplemented with the following terms: * * "HELIUM V" and "HELIUM 5" are registered trademarks of * HELIUM V IT-Solutions GmbH. The licensing of the program under the * AGPL does not imply a trademark license. Therefore any rights, title and * interest in our trademarks remain entirely with us. If you want to propagate * modified versions of the Program under the name "HELIUM V" or "HELIUM 5", * you may only do so if you have a written permission by HELIUM V IT-Solutions * GmbH (to acquire a permission please contact HELIUM V IT-Solutions * at trademark@heliumv.com). * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. * * Contact: developers@heliumv.com ******************************************************************************/ package com.lp.server.artikel.ejbfac; import java.math.BigDecimal; import java.rmi.RemoteException; import java.sql.Timestamp; import java.util.ArrayList; import java.util.Calendar; import java.util.Collection; import java.util.Date; import java.util.GregorianCalendar; import java.util.HashMap; import java.util.Hashtable; import java.util.Iterator; import java.util.LinkedList; import java.util.List; import java.util.Locale; import java.util.Map; import java.util.Set; import java.util.TreeMap; import javax.ejb.Stateless; import javax.ejb.TransactionAttribute; import javax.ejb.TransactionAttributeType; import javax.interceptor.Interceptors; import net.sf.jasperreports.engine.JRDataSource; import net.sf.jasperreports.engine.JRException; import net.sf.jasperreports.engine.JRField; import org.hibernate.Criteria; import org.hibernate.HibernateException; import org.hibernate.Query; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.criterion.Example; import org.hibernate.criterion.Order; import org.hibernate.criterion.Restrictions; import com.lp.server.anfrage.service.ReportAnfragestatistikKriterienDto; import com.lp.server.angebotstkl.fastlanereader.generated.FLRAgstklposition; import com.lp.server.angebotstkl.service.AngebotstklpositionFac; import com.lp.server.artikel.fastlanereader.generated.FLRArtikel; import com.lp.server.artikel.fastlanereader.generated.FLRArtikelbestellt; import com.lp.server.artikel.fastlanereader.generated.FLRArtikellager; import com.lp.server.artikel.fastlanereader.generated.FLRArtikellagerplaetze; import com.lp.server.artikel.fastlanereader.generated.FLRArtikellieferant; import com.lp.server.artikel.fastlanereader.generated.FLRArtikellieferantstaffel; import com.lp.server.artikel.fastlanereader.generated.FLRArtikellog; import com.lp.server.artikel.fastlanereader.generated.FLRFehlmenge; import com.lp.server.artikel.fastlanereader.generated.FLRInventurstand; import com.lp.server.artikel.fastlanereader.generated.FLRLagerbewegung; import com.lp.server.artikel.fastlanereader.generated.FLRLagercockpitumbuchung; import com.lp.server.artikel.service.ArtikelDto; import com.lp.server.artikel.service.ArtikelFac; import com.lp.server.artikel.service.ArtikelReportFac; import com.lp.server.artikel.service.ArtikelbestelltFac; import com.lp.server.artikel.service.ArtikelkommentarDto; import com.lp.server.artikel.service.ArtikellagerplaetzeDto; import com.lp.server.artikel.service.ArtikellieferantDto; import com.lp.server.artikel.service.ArtklaDto; import com.lp.server.artikel.service.BelegInfos; import com.lp.server.artikel.service.HerstellerDto; import com.lp.server.artikel.service.LagerDto; import com.lp.server.artikel.service.LagerFac; import com.lp.server.artikel.service.LagerplatzDto; import com.lp.server.artikel.service.MaterialDto; import com.lp.server.artikel.service.RahmenbestelltReportDto; import com.lp.server.artikel.service.ReportRahmenreservierungDto; import com.lp.server.artikel.service.VerkaufspreisDto; import com.lp.server.artikel.service.VkPreisfindungEinzelverkaufspreisDto; import com.lp.server.artikel.service.VkPreisfindungPreislisteDto; import com.lp.server.artikel.service.VkpfMengenstaffelDto; import com.lp.server.artikel.service.VkpfartikelpreislisteDto; import com.lp.server.artikel.service.VkpreisfindungDto; import com.lp.server.auftrag.fastlanereader.generated.FLRAuftragReport; import com.lp.server.auftrag.fastlanereader.generated.FLRAuftragpositionReport; import com.lp.server.auftrag.fastlanereader.generated.FLRAuftragseriennrn; import com.lp.server.auftrag.service.AuftragDto; import com.lp.server.auftrag.service.AuftragFac; import com.lp.server.auftrag.service.AuftragServiceFac; import com.lp.server.auftrag.service.AuftragpositionDto; import com.lp.server.auftrag.service.AuftragpositionFac; import com.lp.server.benutzer.service.RechteFac; import com.lp.server.bestellung.fastlanereader.generated.FLRBestellpositionReport; import com.lp.server.bestellung.fastlanereader.generated.FLRWareneingangspositionen; import com.lp.server.bestellung.service.BestellpositionDto; import com.lp.server.bestellung.service.BestellpositionFac; import com.lp.server.bestellung.service.BestellungDto; import com.lp.server.bestellung.service.BestellungFac; import com.lp.server.bestellung.service.BewegungsvorschauDto; import com.lp.server.fertigung.fastlanereader.generated.FLRLos; import com.lp.server.fertigung.fastlanereader.generated.FLRLosReport; import com.lp.server.fertigung.service.FertigungFac; import com.lp.server.fertigung.service.LosDto; import com.lp.server.lieferschein.service.LieferscheinpositionDto; import com.lp.server.partner.fastlanereader.generated.FLRKundesokomengenstaffel; import com.lp.server.partner.fastlanereader.generated.FLRPartner; import com.lp.server.partner.service.KundeDto; import com.lp.server.partner.service.KundeReportFac; import com.lp.server.partner.service.KundesokoDto; import com.lp.server.personal.service.PersonalDto; import com.lp.server.rechnung.service.RechnungDto; import com.lp.server.rechnung.service.RechnungPositionDto; import com.lp.server.stueckliste.fastlanereader.generated.FLRStueckliste; import com.lp.server.stueckliste.fastlanereader.generated.FLRStuecklistearbeitsplan; import com.lp.server.stueckliste.fastlanereader.generated.FLRStuecklisteposition; import com.lp.server.stueckliste.service.FertigungsgruppeDto; import com.lp.server.stueckliste.service.StuecklisteDto; import com.lp.server.stueckliste.service.StuecklisteReportFac; import com.lp.server.stueckliste.service.StuecklisteeigenschaftDto; import com.lp.server.system.jcr.service.PrintInfoDto; import com.lp.server.system.jcr.service.docnode.DocNodeBase; import com.lp.server.system.jcr.service.docnode.DocNodeFile; import com.lp.server.system.jcr.service.docnode.DocNodeFolder; import com.lp.server.system.jcr.service.docnode.DocNodeLiteral; import com.lp.server.system.jcr.service.docnode.HeliumDocPath; import com.lp.server.system.service.KostenstelleDto; import com.lp.server.system.service.LocaleFac; import com.lp.server.system.service.MandantDto; import com.lp.server.system.service.MandantFac; import com.lp.server.system.service.MediaFac; import com.lp.server.system.service.MwstsatzDto; import com.lp.server.system.service.ParameterFac; import com.lp.server.system.service.ParametermandantDto; import com.lp.server.system.service.TheClientDto; import com.lp.server.system.service.ZusatzfunktionberechtigungDto; import com.lp.server.util.HelperServer; import com.lp.server.util.LPReport; import com.lp.server.util.fastlanereader.FLRSessionFactory; import com.lp.server.util.report.JasperPrintLP; import com.lp.server.util.report.TimingInterceptor; import com.lp.util.AufgeloesteFehlmengenDto; import com.lp.util.EJBExceptionLP; import com.lp.util.Helper; import com.lp.util.LPDatenSubreport; @Stateless @Interceptors(TimingInterceptor.class) public class ArtikelReportFacBean extends LPReport implements ArtikelReportFac, JRDataSource { private String sAktuellerReport = null; private Object[][] data = null; private static int REPORT_LOSSTATUS_LOSNR = 0; private static int REPORT_LOSSTATUS_MENGE = 1; private static int REPORT_LOSSTATUS_AUFTRAG = 2; private static int REPORT_LOSSTATUS_PROJEKT = 3; private static int REPORT_LOSSTATUS_BEGINN = 4; private static int REPORT_LOSSTATUS_ENDE = 5; private static int REPORT_LOSSTATUS_STATUS = 6; private static int REPORT_LOSSTATUS_ABGELIEFERT = 7; private static int REPORT_LOSSTATUS_PREIS_ABLIEFERUNG_MATERIAL = 8; private static int REPORT_LOSSTATUS_PREIS_ABLIEFERUNG_ZEIT = 9; private static int REPORT_LOSSTATUS_ANGELEGT = 10; private static int REPORT_LOSSTATUS_ERLEDIGT = 11; private static int REPORT_LOSSTATUS_AUSGEGEBEN = 12; private static int REPORT_LOSSTATUS_KUNDE = 13; private static int REPORT_LOSSTATUS_FERTIGUNGSGRUPPE = 14; private static int REPORT_LOSSTATUS_TECHNIKER = 15; private static int REPORT_LOSSTATUS_ZIELLAGER = 16; private static int REPORT_LOSSTATUS_AUFTRAG_PROJEKT = 17; private static int REPORT_ARTIKELETIKETT_ARTIKELNUMMER = 0; private static int REPORT_ARTIKELETIKETT_KURZBEZEICHNUNG = 1; private static int REPORT_ARTIKELETIKETT_BEZEICHNUNG = 2; private static int REPORT_ARTIKELETIKETT_ZUSATZBEZEICHNUNG = 3; private static int REPORT_ARTIKELETIKETT_ZUSATZBEZEICHNUNG2 = 4; private static int REPORT_ARTIKELETIKETT_EINHEIT = 5; private static int REPORT_ARTIKELETIKETT_REFERENZNUMMER = 6; private static int REPORT_ARTIKELETIKETT_HERSTELLER = 7; private static int REPORT_ARTIKELETIKETT_LIEFERANT = 8; private static int REPORT_ARTIKELETIKETT_LAGERSTAND = 9; private static int REPORT_ARTIKELETIKETT_LAGERORT = 10; private static int REPORT_ARTIKELETIKETT_LIEFERANT_ARTIKELNUMMER = 11; private static int REPORT_ARTIKELETIKETT_LIEFERANT_ARTIKELBEZEICHNUNG = 12; private static int REPORT_ARTIKELETIKETT_MENGE = 13; private static int REPORT_ARTIKELETIKETT_KOMMENTAR = 14; private static int REPORT_ARTIKELETIKETT_BREITE = 15; private static int REPORT_ARTIKELETIKETT_HOEHE = 16; private static int REPORT_ARTIKELETIKETT_TIEFE = 17; private static int REPORT_ARTIKELETIKETT_BAUFORM = 18; private static int REPORT_ARTIKELETIKETT_VERPACKUNGSART = 19; private static int REPORT_ARTIKELETIKETT_MATERIAL = 20; private static int REPORT_ARTIKELETIKETT_HERSTELLER_NAME1 = 21; private static int REPORT_ARTIKELETIKETT_HERSTELLER_NAME2 = 22; private static int REPORT_ARTIKELETIKETT_INDEX = 23; private static int REPORT_ARTIKELETIKETT_REVISION = 24; private static int REPORT_ARTIKELETIKETT_MANDANTADRESSE = 25; private static int REPORT_ARTIKELETIKETT_VERPACKUNGS_EAN = 26; private static int REPORT_ARTIKELETIKETT_VERKAUFS_EAN = 27; private static int REPORT_ARTIKELETIKETT_VERPACKUNGSMENGE = 28; private static int REPORT_ARTIKELETIKETT_SNRCHNR = 29; private static int REPORT_ARTIKELETIKETT_ANZAHL_SPALTEN = 30; private static int REPORT_FREIINFERTIGUNG_LOSNR = 0; private static int REPORT_FREIINFERTIGUNG_FREIEMENGE = 1; private static int REPORT_FREIINFERTIGUNG_AUFTRAG = 2; private static int REPORT_FREIINFERTIGUNG_PROJEKT = 3; private static int REPORT_FREIINFERTIGUNG_BEGINN = 4; private static int REPORT_FREIINFERTIGUNG_ENDE = 5; private static int REPORT_LIEFERANTENPREIS_LIEFERANT = 0; private static int REPORT_LIEFERANTENPREIS_MENGE = 1; private static int REPORT_LIEFERANTENPREIS_NETTOPREIS = 2; private static int REPORT_LIEFERANTENPREIS_MINDESTBESTELLMENGE = 3; private static int REPORT_LIEFERANTENPREIS_WIEDERBESCHAFFUNGSZEIT = 4; private static int REPORT_LIEFERANTENPREIS_FIXKOSTEN = 5; private static int REPORT_LIEFERANTENPREIS_GUELTIGAB = 6; private static int REPORT_LIEFERANTENPREIS_ANZAHL_SPALTEN = 7; private static int REPORT_FEHLMENGENLISTE_LOS = 0; private static int REPORT_FEHLMENGENLISTE_PROJEKTNAME = 1; private static int REPORT_FEHLMENGENLISTE_LIEFERTERMIN = 2; private static int REPORT_FEHLMENGENLISTE_MENGE = 3; private static int REPORT_FEHLMENGENLISTE_KUNDE = 4; private static int REPORT_FEHLMENGENLISTE_STUECKLISTE_NUMMER = 5; private static int REPORT_FEHLMENGENLISTE_STUECKLISTE_BEZEICHNUNG = 6; private static int REPORT_FEHLMENGENLISTE_LOSBEGINN = 7; private static int REPORT_FEHLMENGENLISTE_LOSENDE = 8; private static int REPORT_FEHLMENGENLISTE_ABLIEFERTERMIN = 9; private static int REPORT_ARTIKELSTAMMBLATT_ARTIKELNUMMER = 0; private static int REPORT_ARTIKELSTAMMBLATT_BEZEICHNUNG = 1; private static int REPORT_ARTIKELSTAMMBLATT_KURZBEZEICHNUNG = 2; private static int REPORT_ARTIKELSTAMMBLATT_ZUSATZBEZEICHNUNG = 3; private static int REPORT_ARTIKELSTAMMBLATT_BILD = 4; private static int REPORT_ARTIKELSTAMMBLATT_LANGTEXT = 5; private static int REPORT_ARTIKELSTAMMBLATT_MATERIAL = 6; private static int REPORT_ARTIKELSTAMMBLATT_GEWICHT = 7; private static int REPORT_ARTIKELSTAMMBLATT_VERPACKUNGSEINHEIT = 8; private static int REPORT_ARTIKELSTAMMBLATT_VERKAUFSPREIS = 9; private static int REPORT_ARTIKELSTAMMBLATT_LIEFERANT = 10; private static int REPORT_ARTIKELSTAMMBLATT_EINKAUFSPREIS = 11; private static int REPORT_ARTIKELSTAMMBLATT_ARTIKELNUMMERLIEFERANT = 12; private static int REPORT_ARTIKELSTAMMBLATT_EAN = 13; private static int REPORT_ARTIKELSTAMMBLATT_WARENVERKEHRSNUMMER = 14; private static int REPORT_ARTIKELSTAMMBLATT_LAGERPLATZ = 15; private static int REPORT_ARTIKELSTAMMBLATT_LAGERSTAND = 16; private static int REPORT_ARTIKELSTAMMBLATT_RESERVIERT = 17; private static int REPORT_ARTIKELSTAMMBLATT_FEHLMENGE = 18; private static int REPORT_ARTIKELSTAMMBLATT_INFERTIGUNG = 19; private static int REPORT_ARTIKELSTAMMBLATT_BESTELLT = 20; private static int REPORT_ARTIKELSTAMMBLATT_RAHMENRESERVIERT = 21; private static int REPORT_ARTIKELSTAMMBLATT_RAHMENBESTELLT = 22; private static int REPORT_ARTIKELSTAMMBLATT_DETAILBEDARF = 23; private static int REPORT_ARTIKELSTAMMBLATT_SUBREPORT_LAGERSTAENDE = 24; private static int REPORT_VERWENDUNGSNACHWEIS_STUECKLISTE = 0; private static int REPORT_VERWENDUNGSNACHWEIS_BEZEICHNUNG = 1; private static int REPORT_VERWENDUNGSNACHWEIS_ZUSATZ = 2; private static int REPORT_VERWENDUNGSNACHWEIS_ARBEITSGANG = 3; private static int REPORT_VERWENDUNGSNACHWEIS_MENGE = 4; private static int REPORT_VERWENDUNGSNACHWEIS_EINHEIT = 5; private static int REPORT_VERWENDUNGSNACHWEIS_SPERREN = 6; private static int REPORT_VERWENDUNGSNACHWEIS_LETZTE_VERWENDUNG = 7; private static int REPORT_VERWENDUNGSNACHWEIS_VERBRAUCHTEMENGE = 8; private static int REPORT_VERWENDUNGSNACHWEIS_VERSTECKT = 9; private static int REPORT_VERWENDUNGSNACHWEIS_STUECKZEIT = 10; private static int REPORT_VERWENDUNGSNACHWEIS_RUESTZEIT = 11; private static int REPORT_VERWENDUNGSNACHWEIS_LAGERSTAND = 12; private static int REPORT_VERWENDUNGSNACHWEIS_RESERVIERT = 13; private static int REPORT_VERWENDUNGSNACHWEIS_RAHMENRESERVIERT = 14; private static int REPORT_VERWENDUNGSNACHWEIS_IN_FERTIGUNG = 15; private static int REPORT_VERWENDUNGSNACHWEIS_FEHLMENGE = 16; private static int REPORT_KUNDENSOKOS_KUNDE_NAME1 = 0; private static int REPORT_KUNDENSOKOS_KUNDE_NAME2 = 1; private static int REPORT_KUNDENSOKOS_KUNDE_LKZ = 2; private static int REPORT_KUNDENSOKOS_KUNDE_PLZ = 3; private static int REPORT_KUNDENSOKOS_KUNDE_ORT = 4; private static int REPORT_KUNDENSOKOS_KUNDE_KDARTIKELNUMMER = 5; private static int REPORT_KUNDENSOKOS_KUNDE_KDARTIKELBEZ = 6; private static int REPORT_KUNDENSOKOS_KUNDE_KDARTIKELBEZ2 = 7; private static int REPORT_KUNDENSOKOS_KUNDE_GUELTIAGAB = 8; private static int REPORT_KUNDENSOKOS_KUNDE_GUELTIAGBIS = 9; private static int REPORT_KUNDENSOKOS_KUNDE_MENGE = 10; private static int REPORT_KUNDENSOKOS_KUNDE_FIXPREIS = 11; private static int REPORT_KUNDENSOKOS_KUNDE_RABATT = 12; private static int REPORT_KUNDENSOKOS_KUNDE_BERECHNETER_PREIS = 13; private static int REPORT_KUNDENSOKOS_KUNDE_NAECHSTE_VKPREISBASIS_GUELTIG_AB = 14; private static int REPORT_KUNDENSOKOS_ANZAHL_FELDER = 15; private static int REPORT_BEWEGUNGSVORSCHAU_BELEGART = 0; private static int REPORT_BEWEGUNGSVORSCHAU_BELEGNR = 1; private static int REPORT_BEWEGUNGSVORSCHAU_MENGE = 2; private static int REPORT_BEWEGUNGSVORSCHAU_LIEFERTERMIN = 3; private static int REPORT_BEWEGUNGSVORSCHAU_PARTNER = 4; private static int REPORT_BEWEGUNGSVORSCHAU_FIKTIVERLAGERSTAND = 5; private static int REPORT_BEWEGUNGSVORSCHAU_PROJEKT = 6; private static int REPORT_BEWEGUNGSVORSCHAU_FINALTERMIN = 7; private static int REPORT_BEWEGUNGSVORSCHAU_INTERNEBESTELLUNG_BERUECKSICHTIGT_LAGER = 8; private static int REPORT_BEWEGUNGSVORSCHAU_BESTELLVORSCHLAG_BERUECKSICHTIGT_LAGER = 9; private static int REPORT_BEWEGUNGSVORSCHAU_BEST_ABTERMIN = 10; private static int REPORT_BEWEGUNGSVORSCHAU_BEST_ABNUMMER = 11; private static int REPORT_BEWEGUNGSVORSCHAU_LOS_AUFTRAGSNUMMER = 12; private static int REPORT_BEWEGUNGSVORSCHAU_ANZAHL_FELDER = 13; private static final int REPORT_AUFGELOESTEFEHLMENGEN_ARTIKEL = 0; private static final int REPORT_AUFGELOESTEFEHLMENGEN_MENGE = 1; private static final int REPORT_AUFGELOESTEFEHLMENGEN_EINHEIT = 2; private static final int REPORT_AUFGELOESTEFEHLMENGEN_BEZEICHNUNG = 3; private static final int REPORT_AUFGELOESTEFEHLMENGEN_LAGER = 4; private static final int REPORT_AUFGELOESTEFEHLMENGEN_SNRCHNR = 5; private static final int REPORT_AUFGELOESTEFEHLMENGEN_ARTIKELKLASSE = 6; private static final int REPORT_AUFGELOESTEFEHLMENGEN_ZUSATZBEZEICHNUNG = 7; private static final int REPORT_AUFGELOESTEFEHLMENGEN_ZUSATZBEZEICHNUNG2 = 8; private static final int REPORT_AUFGELOESTEFEHLMENGEN_FARBCODE = 9; private static final int REPORT_AUFGELOESTEFEHLMENGEN_MATERIAL = 10; private static final int REPORT_AUFGELOESTEFEHLMENGEN_HOEHE = 11; private static final int REPORT_AUFGELOESTEFEHLMENGEN_BREITE = 12; private static final int REPORT_AUFGELOESTEFEHLMENGEN_TIEFE = 13; private static final int REPORT_AUFGELOESTEFEHLMENGEN_BAUFORM = 14; private static final int REPORT_AUFGELOESTEFEHLMENGEN_VERPACKUNGSART = 15; private static final int REPORT_AUFGELOESTEFEHLMENGEN_GEWICHTKG = 16; private static final int REPORT_AUFGELOESTEFEHLMENGEN_RASTERSTEHEND = 17; private static final int REPORT_AUFGELOESTEFEHLMENGEN_LAGERORT = 18; private static int REPORT_VKPREISLISTE_ARTIKELNUMMER = 0; private static int REPORT_VKPREISLISTE_BEZEICHNUNG = 1; private static int REPORT_VKPREISLISTE_KURZBEZEICHNUNG = 2; private static int REPORT_VKPREISLISTE_ZUSATZBEZEICHNUNG = 3; private static int REPORT_VKPREISLISTE_ZUSATZBEZEICHNUNG2 = 4; private static int REPORT_VKPREISLISTE_VKPREIS = 5; private static int REPORT_VKPREISLISTE_KOMMENTAR = 6; private static int REPORT_VKPREISLISTE_EINHEIT = 7; private static int REPORT_VKPREISLISTE_ARTIKELGRUPPE = 8; private static int REPORT_VKPREISLISTE_ARTIKELKLASSE = 9; private static int REPORT_VKPREISLISTE_STAFFEL1 = 10; private static int REPORT_VKPREISLISTE_PREISSTAFFEL1 = 11; private static int REPORT_VKPREISLISTE_STAFFEL2 = 12; private static int REPORT_VKPREISLISTE_PREISSTAFFEL2 = 13; private static int REPORT_VKPREISLISTE_STAFFEL3 = 14; private static int REPORT_VKPREISLISTE_PREISSTAFFEL3 = 15; private static int REPORT_VKPREISLISTE_STAFFEL4 = 16; private static int REPORT_VKPREISLISTE_PREISSTAFFEL4 = 17; private static int REPORT_VKPREISLISTE_STAFFEL5 = 18; private static int REPORT_VKPREISLISTE_PREISSTAFFEL5 = 19; private static int REPORT_VKPREISLISTE_VERSTECKT = 20; private static int REPORT_VKPREISLISTE_SHOPGRUPPE = 21; private static int REPORT_VKPREISLISTE_MATERIALZUSCHLAG = 22; private static int REPORT_VKPREISLISTE_ANZAHL_SPALTEN = 23; private static int REPORT_AENDERUNGEN_EIGENSCHAFT = 0; private static int REPORT_AENDERUNGEN_VON = 1; private static int REPORT_AENDERUNGEN_NACH = 2; private static int REPORT_AENDERUNGEN_WER = 3; private static int REPORT_AENDERUNGEN_WANN = 4; private static int REPORT_AENDERUNGEN_SPRACHE = 5; private static int REPORT_AENDERUNGEN_ANZAHL_SPALTEN = 6; private static int REPORT_LAGERCOCKPIT_MATERIAL_VERTEILUNGSVORSCHLAG_ARTIKELNUMMER = 0; private static int REPORT_LAGERCOCKPIT_MATERIAL_VERTEILUNGSVORSCHLAG_BEZEICHNUNG = 1; private static int REPORT_LAGERCOCKPIT_MATERIAL_VERTEILUNGSVORSCHLAG_ZUSATZBEZEICHNUNG = 2; private static int REPORT_LAGERCOCKPIT_MATERIAL_VERTEILUNGSVORSCHLAG_EINHEIT = 3; private static int REPORT_LAGERCOCKPIT_MATERIAL_VERTEILUNGSVORSCHLAG_LOS_NUMMER = 4; private static int REPORT_LAGERCOCKPIT_MATERIAL_VERTEILUNGSVORSCHLAG_LOS_PROJEKT = 5; private static int REPORT_LAGERCOCKPIT_MATERIAL_VERTEILUNGSVORSCHLAG_LOS_BEGINN = 6; private static int REPORT_LAGERCOCKPIT_MATERIAL_VERTEILUNGSVORSCHLAG_LOS_ENDE = 7; private static int REPORT_LAGERCOCKPIT_MATERIAL_VERTEILUNGSVORSCHLAG_LOS_KOMMENTAR = 8; private static int REPORT_LAGERCOCKPIT_MATERIAL_VERTEILUNGSVORSCHLAG_LOS_STKLNUMMER = 9; private static int REPORT_LAGERCOCKPIT_MATERIAL_VERTEILUNGSVORSCHLAG_LOS_STKLBEZEICHUNG = 10; private static int REPORT_LAGERCOCKPIT_MATERIAL_VERTEILUNGSVORSCHLAG_LOS_STKLZUSATZBEZEICHNUNG = 11; private static int REPORT_LAGERCOCKPIT_MATERIAL_VERTEILUNGSVORSCHLAG_MENGE = 12; private static int REPORT_LAGERCOCKPIT_MATERIAL_VERTEILUNGSVORSCHLAG_LAGER = 13; private static int REPORT_LAGERCOCKPIT_MATERIAL_VERTEILUNGSVORSCHLAG_LAGERPLAETZE = 14; private static int REPORT_LAGERCOCKPIT_MATERIAL_VERTEILUNGSVORSCHLAG_TYP = 15; private static int REPORT_LAGERCOCKPIT_MATERIAL_VERTEILUNGSVORSCHLAG_ZIEL = 16; private static int REPORT_LAGERCOCKPIT_MATERIAL_VERTEILUNGSVORSCHLAG_QUELLE = 17; private static int REPORT_LAGERCOCKPIT_MATERIAL_VERTEILUNGSVORSCHLAG_LAGERSTAND = 18; private static int REPORT_LAGERCOCKPIT_MATERIAL_VERTEILUNGSVORSCHLAG_ANZAHL_SPALTEN = 19; private static int REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG_ARTIKELNUMMER = 0; private static int REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG_BEZEICHNUNG = 1; private static int REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG_ZUSATZBEZEICHNUNG = 2; private static int REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG_EINHEIT = 3; private static int REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG_LOS_NUMMER = 4; private static int REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG_LOS_PROJEKT = 5; private static int REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG_LOS_BEGINN = 6; private static int REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG_LOS_ENDE = 7; private static int REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG_LOS_KOMMENTAR = 8; private static int REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG_LOS_STKLNUMMER = 9; private static int REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG_LOS_STKLBEZEICHUNG = 10; private static int REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG_LOS_STKLZUSATZBEZEICHNUNG = 11; private static int REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG_UMZUBUCHENDE_MENGE = 12; private static int REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG_LAGERSTAND_KUMULIERT = 13; private static int REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG_LAGER = 14; private static int REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG_LAGERPLAETZE = 15; private static int REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG_LAGERBEWIRTSCHAFTET = 16; private static int REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG_BESTELLNUMMER = 17; private static int REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG_WARENEINGANG = 18; private static int REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG_ANZAHL_SPALTEN = 19; private static int REPORT_RAHMENBEST_BESTELLUNGSNUMMER = 0; private static int REPORT_RAHMENBEST_LIEFERANT = 1; private static int REPORT_RAHMENBEST_PROJEKT = 2; private static int REPORT_RAHMENBEST_LIEFERTERMIN = 3; private static int REPORT_RAHMENBEST_RAHMENMENGE = 4; private static int REPORT_RAHMENBEST_OFFENE_MENGE = 5; private static int REPORT_RAHMENBEST_AB_TERMIN = 7; private static int REPORT_RAHMENBEST_AB_NUMMER = 8; private static int REPORT_RAHMENBEST_AB_KOMMENTAR = 9; private static int REPORT_RAHMENBEST_PREIS = 10; private static int REPORT_RAHMENBEST_ANZAHL_SPALTEN = 11; private static int REPORT_BESTELLTLISTE_BESTELLUNG = 0; private static int REPORT_BESTELLTLISTE_LIEFERANTENNAME = 1; private static int REPORT_BESTELLTLISTE_PROJEKTNAME = 2; private static int REPORT_BESTELLTLISTE_LIEFERTERMIN = 3; private static int REPORT_BESTELLTLISTE_MENGE = 4; private static int REPORT_BESTELLTLISTE_BESTELLMENGE = 5; private static int REPORT_BESTELLTLISTE_OFFENEMENGE = 6; private static int REPORT_BESTELLTLISTE_AB_TERMIN = 7; private static int REPORT_BESTELLTLISTE_AB_NUMMER = 8; private static int REPORT_BESTELLTLISTE_AB_KOMMENTAR = 9; public final static int REPORT_RAHMENRESERVIERUNG_AUFTRAGCNR = 0; public final static int REPORT_RAHMENRESERVIERUNG_KUNDECNAME1 = 1; public final static int REPORT_RAHMENRESERVIERUNG_AUFTRAGCBEZ = 2; public final static int REPORT_RAHMENRESERVIERUNG_AUFTRAGPOSITIONRAHMENTERMIN = 3; public final static int REPORT_RAHMENRESERVIERUNG_AUFTRAGPOSITIONMENGE = 4; public final static int REPORT_RAHMENRESERVIERUNG_AUFTRAGPOSITIONOFFENEMENGE = 5; public final static int REPORT_RAHMENRESERVIERUNG_AUFTRAGPOSITIONGELIEFERT = 6; private static int REPORT_ARTIKELSTATISTIK_BELEGART = 0; private static int REPORT_ARTIKELSTATISTIK_BELEGNUMMER = 1; private static int REPORT_ARTIKELSTATISTIK_FIRMA = 2; private static int REPORT_ARTIKELSTATISTIK_BELEGDATUM = 3; private static int REPORT_ARTIKELSTATISTIK_MENGE = 4; private static int REPORT_ARTIKELSTATISTIK_PREIS = 5; private static int REPORT_ARTIKELSTATISTIK_LIEFERTERMIN = 6; private static int REPORT_ARTIKELSTATISTIK_SNRCHNR = 7; private static int REPORT_ARTIKELSTATISTIK_LAGER = 8; private static int REPORT_ARTIKELSTATISTIK_BUCHUNGSZEIT = 9; private static int REPORT_ARTIKELSTATISTIK_BELEGARTCNR = 10; private static int REPORT_ARTIKELSTATISTIK_STUECKLISTENARTIKEL = 11; private static int REPORT_ARTIKELSTATISTIK_INVENTURMENGE = 12; private static int REPORT_ARTIKELSTATISTIK_WE_REFERENZ = 13; private static int REPORT_ARTIKELSTATISTIK_HERSTELLER = 14; private static int REPORT_ARTIKELSTATISTIK_URSPRUNGSLAND = 15; private static int REPORT_ARTIKELSTATISTIK_VERLEIHTAGE = 16; private static int REPORT_ARTIKELSTATISTIK_VERLEIHFAKTOR = 17; private static int REPORT_ARTIKELSTATISTIK_LOS_STATUS = 18; private static int REPORT_ARTIKELSTATISTIK_LOS_AUFTRAG = 19; private static int REPORT_ARTIKELSTATISTIK_LOS_PROJEKT = 20; private static int REPORT_ARTIKELSTATISTIK_LOS_ABGELIFERT = 21; private static int REPORT_ARTIKELSTATISTIK_LOS_BEGINN = 22; private static int REPORT_ARTIKELSTATISTIK_LOS_ENDE = 23; private static int REPORT_ARTIKELSTATISTIK_AUFTRAG_AUSLOESER = 24; private static int REPORT_ARTIKELSTATISTIK_BEWEGUNGSVORSCHAU = 25; private static int REPORT_ARTIKELSTATISTIK_SORTIERDATUM = 26; private static int REPORT_ARTIKELSTATISTIK_MATERIALZUSCHLAG = 27; private static int REPORT_ARTIKELSTATISTIK_ANZAHL_SPALTEN = 28; private static int REPORT_MONATSSTATISTIK_MONAT = 0; private static int REPORT_MONATSSTATISTIK_JAHR = 1; private static int REPORT_MONATSSTATISTIK_ZUGANG_MENGE = 2; private static int REPORT_MONATSSTATISTIK_ZUGANG_WERT = 3; private static int REPORT_MONATSSTATISTIK_ABGANG_MENGE = 4; private static int REPORT_MONATSSTATISTIK_ABGANG_WERT = 5; private static int REPORT_LAGERPLATZ_LAGERPLATZ = 0; private static int REPORT_LAGERPLATZ_LAGER = 1; private static int REPORT_LAGERPLATZ_ANZAHL_SPALTEN = 2; private static int REPORT_VKPREISENTWICKLUNG_ART = 0; private static int REPORT_VKPREISENTWICKLUNG_PREISLISTENNAME = 1; private static int REPORT_VKPREISENTWICKLUNG_VKPREISBASIS = 2; private static int REPORT_VKPREISENTWICKLUNG_FIXPREIS = 3; private static int REPORT_VKPREISENTWICKLUNG_RABATT = 4; private static int REPORT_VKPREISENTWICKLUNG_BERECHNETERPREIS = 5; private static int REPORT_VKPREISENTWICKLUNG_GUELTIGAB = 6; private static int REPORT_VKPREISENTWICKLUNG_GUELTIGBIS = 7; private static int REPORT_VKPREISENTWICKLUNG_T_AENDERN = 8; private static int REPORT_VKPREISENTWICKLUNG_PERSON_GEAENDERT = 9; private static int REPORT_VKPREISENTWICKLUNG_STAFFELMENGE = 10; private static int REPORT_AUFTRAGSERIENNR_AUFTRAG = 0; private static int REPORT_AUFTRAGSERIENNR_KUNDE = 1; private static int REPORT_AUFTRAGSERIENNR_BELEGDATUM = 2; private static int REPORT_AUFTRAGSERIENNR_PROJEKT = 3; private static int REPORT_AUFTRAGSERIENNR_SERIENNUMMER = 4; private static int REPORT_AUFTRAGSERIENNR_ANZAHL_SPALTEN = 5; private static int REPORT_MINDESTLAGERSTAENDE_ARTIKEL = 0; private static int REPORT_MINDESTLAGERSTAENDE_BEZEICHNUNG = 1; private static int REPORT_MINDESTLAGERSTAENDE_ZUSATZBEZEICHNUNG = 2; private static int REPORT_MINDESTLAGERSTAENDE_ZUSATZBEZEICHNUNG2 = 3; private static int REPORT_MINDESTLAGERSTAENDE_KURZBEZEICHNUNG = 4; private static int REPORT_MINDESTLAGERSTAENDE_LETZTER_ABGANG = 5; private static int REPORT_MINDESTLAGERSTAENDE_VK_PREISBASIS = 6; private static int REPORT_MINDESTLAGERSTAENDE_LAGERSTAND = 7; private static int REPORT_MINDESTLAGERSTAENDE_LAGERMINDESTSTAND = 8; private static int REPORT_MINDESTLAGERSTAENDE_LAGERSOLLSTAND = 9; private static int REPORT_MINDESTLAGERSTAENDE_RAHMENBESTELLT = 10; private static int REPORT_MINDESTLAGERSTAENDE_DETAILBEDARF = 11; private static int REPORT_MINDESTLAGERSTAENDE_RAHMENRESERVIERT = 12; private static int REPORT_MINDESTLAGERSTAENDE_FERTIGUNGSSATZGROESSE = 13; private static int REPORT_MINDESTLAGERSTAENDE_ANZAHL_SPALTEN = 14; private static int REPORT_NAECHSTE_WARTUNGEN_ARTIKEL = 0; private static int REPORT_NAECHSTE_WARTUNGEN_BEZEICHNUNG = 1; private static int REPORT_NAECHSTE_WARTUNGEN_ZUSATZBEZEICHNUNG = 2; private static int REPORT_NAECHSTE_WARTUNGEN_ZUSATZBEZEICHNUNG2 = 3; private static int REPORT_NAECHSTE_WARTUNGEN_KURZBEZEICHNUNG = 4; private static int REPORT_NAECHSTE_WARTUNGEN_REFERENZNUMMER = 5; private static int REPORT_NAECHSTE_WARTUNGEN_REVISION = 6; private static int REPORT_NAECHSTE_WARTUNGEN_INDEX = 7; private static int REPORT_NAECHSTE_WARTUNGEN_ARTIKELGRUPPE = 8; private static int REPORT_NAECHSTE_WARTUNGEN_ARTIKELKLASSE = 9; private static int REPORT_NAECHSTE_WARTUNGEN_LAGERPLATZ = 10; private static int REPORT_NAECHSTE_WARTUNGEN_LAGER_LAGERPLATZ = 11; private static int REPORT_NAECHSTE_WARTUNGEN_WARTUNGSINTERVALL = 12; private static int REPORT_NAECHSTE_WARTUNGEN_FAELLIG_SEIT = 13; private static int REPORT_NAECHSTE_WARTUNGEN_LETZTE_WARTUNG = 14; private static int REPORT_NAECHSTE_WARTUNGEN_ANZAHL_SPALTEN = 15; public Object getFieldValue(JRField jRField) throws JRException { Object value = null; String fieldName = jRField.getName(); if (sAktuellerReport.equals(ArtikelReportFac.REPORT_ARTIKELSTATISTIK)) { if ("Belegart".equals(fieldName)) { value = data[index][REPORT_ARTIKELSTATISTIK_BELEGART]; } else if ("Belegnummer".equals(fieldName)) { value = data[index][REPORT_ARTIKELSTATISTIK_BELEGNUMMER]; } else if ("Firma".equals(fieldName)) { value = data[index][REPORT_ARTIKELSTATISTIK_FIRMA]; } else if ("Buchungszeit".equals(fieldName)) { value = data[index][REPORT_ARTIKELSTATISTIK_BUCHUNGSZEIT]; } else if ("Belegdatum".equals(fieldName)) { value = data[index][REPORT_ARTIKELSTATISTIK_BELEGDATUM]; } else if ("Sortierdatum".equals(fieldName)) { value = data[index][REPORT_ARTIKELSTATISTIK_SORTIERDATUM]; } else if ("Menge".equals(fieldName)) { value = data[index][REPORT_ARTIKELSTATISTIK_MENGE]; } else if ("Liefertermin".equals(fieldName)) { value = data[index][REPORT_ARTIKELSTATISTIK_LIEFERTERMIN]; } else if ("Preis".equals(fieldName)) { value = data[index][REPORT_ARTIKELSTATISTIK_PREIS]; } else if ("Materialzuschlag".equals(fieldName)) { value = data[index][REPORT_ARTIKELSTATISTIK_MATERIALZUSCHLAG]; } else if ("Snrchnr".equals(fieldName)) { value = data[index][REPORT_ARTIKELSTATISTIK_SNRCHNR]; } else if ("Lager".equals(fieldName)) { value = data[index][REPORT_ARTIKELSTATISTIK_LAGER]; } else if ("F_BELEGARTCNR".equals(fieldName)) { value = data[index][REPORT_ARTIKELSTATISTIK_BELEGARTCNR]; } else if ("F_STUECKLISTENARTIKEL".equals(fieldName)) { value = data[index][REPORT_ARTIKELSTATISTIK_STUECKLISTENARTIKEL]; } else if ("Inventurmenge".equals(fieldName)) { value = data[index][REPORT_ARTIKELSTATISTIK_INVENTURMENGE]; } else if ("F_WE_REFERENZ".equals(fieldName)) { value = data[index][REPORT_ARTIKELSTATISTIK_WE_REFERENZ]; } else if ("F_HERSTELLER".equals(fieldName)) { value = data[index][REPORT_ARTIKELSTATISTIK_HERSTELLER]; } else if ("F_URSPRUNGSLAND".equals(fieldName)) { value = data[index][REPORT_ARTIKELSTATISTIK_URSPRUNGSLAND]; } else if ("F_VERLEIHTAGE".equals(fieldName)) { value = data[index][REPORT_ARTIKELSTATISTIK_VERLEIHTAGE]; } else if ("F_VERLEIHFAKTOR".equals(fieldName)) { value = data[index][REPORT_ARTIKELSTATISTIK_VERLEIHFAKTOR]; } else if ("F_MATERIALZUSCHLAG".equals(fieldName)) { value = data[index][REPORT_ARTIKELSTATISTIK_MATERIALZUSCHLAG]; } else if ("F_LOS_STATUS".equals(fieldName)) { value = data[index][REPORT_ARTIKELSTATISTIK_LOS_STATUS]; } else if ("F_LOS_AUFTRAG".equals(fieldName)) { value = data[index][REPORT_ARTIKELSTATISTIK_LOS_AUFTRAG]; } else if ("F_LOS_PROJEKT".equals(fieldName)) { value = data[index][REPORT_ARTIKELSTATISTIK_LOS_PROJEKT]; } else if ("F_LOS_ABGELIFERT".equals(fieldName)) { value = data[index][REPORT_ARTIKELSTATISTIK_LOS_ABGELIFERT]; } else if ("F_LOS_BEGINN".equals(fieldName)) { value = data[index][REPORT_ARTIKELSTATISTIK_LOS_BEGINN]; } else if ("F_LOS_ENDE".equals(fieldName)) { value = data[index][REPORT_ARTIKELSTATISTIK_LOS_ENDE]; } else if ("F_AUFTRAG_AUSLOESER".equals(fieldName)) { value = data[index][REPORT_ARTIKELSTATISTIK_AUFTRAG_AUSLOESER]; } else if ("F_BEWEGUNGSVORSCHAU".equals(fieldName)) { value = data[index][REPORT_ARTIKELSTATISTIK_BEWEGUNGSVORSCHAU]; } } else if (sAktuellerReport.equals(ArtikelReportFac.REPORT_MONATSSTATISTIK)) { if ("Jahr".equals(fieldName)) { value = data[index][REPORT_MONATSSTATISTIK_JAHR]; } else if ("Monat".equals(fieldName)) { value = data[index][REPORT_MONATSSTATISTIK_MONAT]; } else if ("Zugangsmenge".equals(fieldName)) { value = data[index][REPORT_MONATSSTATISTIK_ZUGANG_MENGE]; } else if ("Zugangswert".equals(fieldName)) { value = data[index][REPORT_MONATSSTATISTIK_ZUGANG_WERT]; } else if ("Abgangsmenge".equals(fieldName)) { value = data[index][REPORT_MONATSSTATISTIK_ABGANG_MENGE]; } else if ("Abgangswert".equals(fieldName)) { value = data[index][REPORT_MONATSSTATISTIK_ABGANG_WERT]; } } else if (sAktuellerReport.equals(ArtikelReportFac.REPORT_KUNDENSOKOS)) { if ("KundeName1".equals(fieldName)) { value = data[index][REPORT_KUNDENSOKOS_KUNDE_NAME1]; } else if ("KundeName2".equals(fieldName)) { value = data[index][REPORT_KUNDENSOKOS_KUNDE_NAME2]; } else if ("Lkz".equals(fieldName)) { value = data[index][REPORT_KUNDENSOKOS_KUNDE_LKZ]; } else if ("Plz".equals(fieldName)) { value = data[index][REPORT_KUNDENSOKOS_KUNDE_PLZ]; } else if ("Ort".equals(fieldName)) { value = data[index][REPORT_KUNDENSOKOS_KUNDE_ORT]; } else if ("KdArtikelnummer".equals(fieldName)) { value = data[index][REPORT_KUNDENSOKOS_KUNDE_KDARTIKELNUMMER]; } else if ("KdArtikelbez".equals(fieldName)) { value = data[index][REPORT_KUNDENSOKOS_KUNDE_KDARTIKELBEZ]; } else if ("KdArtikelbez2".equals(fieldName)) { value = data[index][REPORT_KUNDENSOKOS_KUNDE_KDARTIKELBEZ2]; } else if ("Gueltigab".equals(fieldName)) { value = data[index][REPORT_KUNDENSOKOS_KUNDE_GUELTIAGAB]; } else if ("Gueltigbis".equals(fieldName)) { value = data[index][REPORT_KUNDENSOKOS_KUNDE_GUELTIAGBIS]; } else if ("Menge".equals(fieldName)) { value = data[index][REPORT_KUNDENSOKOS_KUNDE_MENGE]; } else if ("Fixpreis".equals(fieldName)) { value = data[index][REPORT_KUNDENSOKOS_KUNDE_FIXPREIS]; } else if ("Rabatt".equals(fieldName)) { value = data[index][REPORT_KUNDENSOKOS_KUNDE_RABATT]; } else if ("BerechneterPreis".equals(fieldName)) { value = data[index][REPORT_KUNDENSOKOS_KUNDE_BERECHNETER_PREIS]; } else if ("NaechsteVKPreisbasisGueltigab".equals(fieldName)) { value = data[index][REPORT_KUNDENSOKOS_KUNDE_NAECHSTE_VKPREISBASIS_GUELTIG_AB]; } } else if (sAktuellerReport.equals(ArtikelReportFac.REPORT_LAGERCOCKPIT_MATERIAL_VERTEILUNGSVORSCHLAG)) { if ("Artikelnummer".equals(fieldName)) { value = data[index][REPORT_LAGERCOCKPIT_MATERIAL_VERTEILUNGSVORSCHLAG_ARTIKELNUMMER]; } else if ("Bezeichung".equals(fieldName)) { value = data[index][REPORT_LAGERCOCKPIT_MATERIAL_VERTEILUNGSVORSCHLAG_BEZEICHNUNG]; } else if ("Zusatzbezeichnung".equals(fieldName)) { value = data[index][REPORT_LAGERCOCKPIT_MATERIAL_VERTEILUNGSVORSCHLAG_ZUSATZBEZEICHNUNG]; } else if ("Einheit".equals(fieldName)) { value = data[index][REPORT_LAGERCOCKPIT_MATERIAL_VERTEILUNGSVORSCHLAG_EINHEIT]; } else if ("Menge".equals(fieldName)) { value = data[index][REPORT_LAGERCOCKPIT_MATERIAL_VERTEILUNGSVORSCHLAG_MENGE]; } else if ("Lager".equals(fieldName)) { value = data[index][REPORT_LAGERCOCKPIT_MATERIAL_VERTEILUNGSVORSCHLAG_LAGER]; } else if ("Lagerstand".equals(fieldName)) { value = data[index][REPORT_LAGERCOCKPIT_MATERIAL_VERTEILUNGSVORSCHLAG_LAGERSTAND]; } else if ("Lagerplaetze".equals(fieldName)) { value = data[index][REPORT_LAGERCOCKPIT_MATERIAL_VERTEILUNGSVORSCHLAG_LAGERPLAETZE]; } else if ("LosBeginn".equals(fieldName)) { value = data[index][REPORT_LAGERCOCKPIT_MATERIAL_VERTEILUNGSVORSCHLAG_LOS_BEGINN]; } else if ("LosEnde".equals(fieldName)) { value = data[index][REPORT_LAGERCOCKPIT_MATERIAL_VERTEILUNGSVORSCHLAG_LOS_ENDE]; } else if ("LosKommentar".equals(fieldName)) { value = data[index][REPORT_LAGERCOCKPIT_MATERIAL_VERTEILUNGSVORSCHLAG_LOS_KOMMENTAR]; } else if ("Losnummer".equals(fieldName)) { value = data[index][REPORT_LAGERCOCKPIT_MATERIAL_VERTEILUNGSVORSCHLAG_LOS_NUMMER]; } else if ("LosProjekt".equals(fieldName)) { value = data[index][REPORT_LAGERCOCKPIT_MATERIAL_VERTEILUNGSVORSCHLAG_LOS_PROJEKT]; } else if ("LosStklbezeichnung".equals(fieldName)) { value = data[index][REPORT_LAGERCOCKPIT_MATERIAL_VERTEILUNGSVORSCHLAG_LOS_STKLBEZEICHUNG]; } else if ("LosStklnummer".equals(fieldName)) { value = data[index][REPORT_LAGERCOCKPIT_MATERIAL_VERTEILUNGSVORSCHLAG_LOS_STKLNUMMER]; } else if ("LosStklzusatzbezeichnung".equals(fieldName)) { value = data[index][REPORT_LAGERCOCKPIT_MATERIAL_VERTEILUNGSVORSCHLAG_LOS_STKLZUSATZBEZEICHNUNG]; } else if ("Typ".equals(fieldName)) { value = data[index][REPORT_LAGERCOCKPIT_MATERIAL_VERTEILUNGSVORSCHLAG_TYP]; } else if ("Ziel".equals(fieldName)) { value = data[index][REPORT_LAGERCOCKPIT_MATERIAL_VERTEILUNGSVORSCHLAG_ZIEL]; } else if ("Quelle".equals(fieldName)) { value = data[index][REPORT_LAGERCOCKPIT_MATERIAL_VERTEILUNGSVORSCHLAG_QUELLE]; } } else if (sAktuellerReport.equals(ArtikelReportFac.REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG)) { if ("Artikelnummer".equals(fieldName)) { value = data[index][REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG_ARTIKELNUMMER]; } else if ("Lagerbewirtschaftet".equals(fieldName)) { value = data[index][REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG_LAGERBEWIRTSCHAFTET]; } else if ("Bezeichnung".equals(fieldName)) { value = data[index][REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG_BEZEICHNUNG]; } else if ("Zusatzbezeichnung".equals(fieldName)) { value = data[index][REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG_ZUSATZBEZEICHNUNG]; } else if ("Einheit".equals(fieldName)) { value = data[index][REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG_EINHEIT]; } else if ("UmzubuchendeMenge".equals(fieldName)) { value = data[index][REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG_UMZUBUCHENDE_MENGE]; } else if ("Lager".equals(fieldName)) { value = data[index][REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG_LAGER]; } else if ("LagerstandKumuliert".equals(fieldName)) { value = data[index][REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG_LAGERSTAND_KUMULIERT]; } else if ("Lagerplaetze".equals(fieldName)) { value = data[index][REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG_LAGERPLAETZE]; } else if ("LosBeginn".equals(fieldName)) { value = data[index][REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG_LOS_BEGINN]; } else if ("LosEnde".equals(fieldName)) { value = data[index][REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG_LOS_ENDE]; } else if ("LosKommentar".equals(fieldName)) { value = data[index][REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG_LOS_KOMMENTAR]; } else if ("Losnummer".equals(fieldName)) { value = data[index][REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG_LOS_NUMMER]; } else if ("LosProjekt".equals(fieldName)) { value = data[index][REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG_LOS_PROJEKT]; } else if ("LosStklbezeichnung".equals(fieldName)) { value = data[index][REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG_LOS_STKLBEZEICHUNG]; } else if ("LosStklnummer".equals(fieldName)) { value = data[index][REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG_LOS_STKLNUMMER]; } else if ("LosStklzusatzbezeichnung".equals(fieldName)) { value = data[index][REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG_LOS_STKLZUSATZBEZEICHNUNG]; } else if ("Bestellnummer".equals(fieldName)) { value = data[index][REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG_BESTELLNUMMER]; } else if ("Wareneingang".equals(fieldName)) { value = data[index][REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG_WARENEINGANG]; } } else if (sAktuellerReport.equals(ArtikelReportFac.REPORT_AUFTRAGSSERIENNUMMERN)) { if ("Auftrag".equals(fieldName)) { value = data[index][REPORT_AUFTRAGSERIENNR_AUFTRAG]; } else if ("Belegdatum".equals(fieldName)) { value = data[index][REPORT_AUFTRAGSERIENNR_BELEGDATUM]; } else if ("Projekt".equals(fieldName)) { value = data[index][REPORT_AUFTRAGSERIENNR_PROJEKT]; } else if ("Kunde".equals(fieldName)) { value = data[index][REPORT_AUFTRAGSERIENNR_KUNDE]; } else if ("Seriennummer".equals(fieldName)) { value = data[index][REPORT_AUFTRAGSERIENNR_SERIENNUMMER]; } } else if (sAktuellerReport.equals(ArtikelReportFac.REPORT_AENDERUNGEN)) { if ("Eigenschaft".equals(fieldName)) { value = data[index][REPORT_AENDERUNGEN_EIGENSCHAFT]; } else if ("Nach".equals(fieldName)) { value = data[index][REPORT_AENDERUNGEN_NACH]; } else if ("Von".equals(fieldName)) { value = data[index][REPORT_AENDERUNGEN_VON]; } else if ("Wer".equals(fieldName)) { value = data[index][REPORT_AENDERUNGEN_WER]; } else if ("Wann".equals(fieldName)) { value = data[index][REPORT_AENDERUNGEN_WANN]; } else if ("Sprache".equals(fieldName)) { value = data[index][REPORT_AENDERUNGEN_SPRACHE]; } } else if (sAktuellerReport.equals(ArtikelReportFac.REPORT_LIEFERANTENPREIS)) { if ("Fixkosten".equals(fieldName)) { value = data[index][REPORT_LIEFERANTENPREIS_FIXKOSTEN]; } else if ("Gueltigab".equals(fieldName)) { value = data[index][REPORT_LIEFERANTENPREIS_GUELTIGAB]; } else if ("Lieferant".equals(fieldName)) { value = data[index][REPORT_LIEFERANTENPREIS_LIEFERANT]; } else if ("Menge".equals(fieldName)) { value = data[index][REPORT_LIEFERANTENPREIS_MENGE]; } else if ("Mindestbestellmenge".equals(fieldName)) { value = data[index][REPORT_LIEFERANTENPREIS_MINDESTBESTELLMENGE]; } else if ("Nettopreis".equals(fieldName)) { value = data[index][REPORT_LIEFERANTENPREIS_NETTOPREIS]; } else if ("Wiederbeschaffungszeit".equals(fieldName)) { value = data[index][REPORT_LIEFERANTENPREIS_WIEDERBESCHAFFUNGSZEIT]; } } else if (sAktuellerReport.equals(ArtikelReportFac.REPORT_ARTIKELETIKETT)) { if ("Artikelnummer".equals(fieldName)) { value = data[index][REPORT_ARTIKELETIKETT_ARTIKELNUMMER]; } else if ("Bezeichnung".equals(fieldName)) { value = data[index][REPORT_ARTIKELETIKETT_BEZEICHNUNG]; } else if ("Einheit".equals(fieldName)) { value = data[index][REPORT_ARTIKELETIKETT_EINHEIT]; } else if ("Hersteller".equals(fieldName)) { value = data[index][REPORT_ARTIKELETIKETT_HERSTELLER]; } else if ("HerstellerName1".equals(fieldName)) { value = data[index][REPORT_ARTIKELETIKETT_HERSTELLER_NAME1]; } else if ("VerkaufsEAN".equals(fieldName)) { value = data[index][REPORT_ARTIKELETIKETT_VERKAUFS_EAN]; } else if ("VerpackungsEAN".equals(fieldName)) { value = data[index][REPORT_ARTIKELETIKETT_VERPACKUNGS_EAN]; } else if ("Verpackungsmenge".equals(fieldName)) { value = data[index][REPORT_ARTIKELETIKETT_VERPACKUNGSMENGE]; } else if ("HerstellerName2".equals(fieldName)) { value = data[index][REPORT_ARTIKELETIKETT_HERSTELLER_NAME2]; } else if ("Kurzbezeichnung".equals(fieldName)) { value = data[index][REPORT_ARTIKELETIKETT_KURZBEZEICHNUNG]; } else if ("Lagerort".equals(fieldName)) { value = data[index][REPORT_ARTIKELETIKETT_LAGERORT]; } else if ("Lieferant".equals(fieldName)) { value = data[index][REPORT_ARTIKELETIKETT_LIEFERANT]; } else if ("Lagerstand".equals(fieldName)) { value = data[index][REPORT_ARTIKELETIKETT_LAGERSTAND]; } else if ("Referenznummer".equals(fieldName)) { value = data[index][REPORT_ARTIKELETIKETT_REFERENZNUMMER]; } else if ("Zusatzbezeichnung".equals(fieldName)) { value = data[index][REPORT_ARTIKELETIKETT_ZUSATZBEZEICHNUNG]; } else if ("Zusatzbezeichnung2".equals(fieldName)) { value = data[index][REPORT_ARTIKELETIKETT_ZUSATZBEZEICHNUNG2]; } else if (F_ARTIKELLIEFERANT_ARTIKELNR.equals(fieldName)) { value = data[index][REPORT_ARTIKELETIKETT_LIEFERANT_ARTIKELNUMMER]; } else if (F_ARTIKELLIEFERANT_BEZ.equals(fieldName)) { value = data[index][REPORT_ARTIKELETIKETT_LIEFERANT_ARTIKELBEZEICHNUNG]; } else if ("Kommentar".equals(fieldName)) { value = data[index][REPORT_ARTIKELETIKETT_KOMMENTAR]; } else if ("Menge".equals(fieldName)) { value = data[index][REPORT_ARTIKELETIKETT_MENGE]; } else if ("SnrChnr".equals(fieldName)) { value = data[index][REPORT_ARTIKELETIKETT_SNRCHNR]; } else if ("Bauform".equals(fieldName)) { value = data[index][REPORT_ARTIKELETIKETT_BAUFORM]; } else if ("Verpackungsart".equals(fieldName)) { value = data[index][REPORT_ARTIKELETIKETT_VERPACKUNGSART]; } else if ("Breite".equals(fieldName)) { value = data[index][REPORT_ARTIKELETIKETT_BREITE]; } else if ("Hoehe".equals(fieldName)) { value = data[index][REPORT_ARTIKELETIKETT_HOEHE]; } else if ("Tiefe".equals(fieldName)) { value = data[index][REPORT_ARTIKELETIKETT_TIEFE]; } else if ("Material".equals(fieldName)) { value = data[index][REPORT_ARTIKELETIKETT_MATERIAL]; } else if ("Index".equals(fieldName)) { value = data[index][REPORT_ARTIKELETIKETT_INDEX]; } else if ("Revision".equals(fieldName)) { value = data[index][REPORT_ARTIKELETIKETT_REVISION]; } else if ("Mandantadresse".equals(fieldName)) { value = data[index][REPORT_ARTIKELETIKETT_MANDANTADRESSE]; } } else if (sAktuellerReport.equals(ArtikelReportFac.REPORT_LOSSTATUS)) { if ("Auftrag".equals(fieldName)) { value = data[index][REPORT_LOSSTATUS_AUFTRAG]; } else if ("Beginn".equals(fieldName)) { value = data[index][REPORT_LOSSTATUS_BEGINN]; } else if ("AuftragProjektbezeichnung".equals(fieldName)) { value = data[index][REPORT_LOSSTATUS_AUFTRAG_PROJEKT]; } else if ("Ende".equals(fieldName)) { value = data[index][REPORT_LOSSTATUS_ENDE]; } else if ("Los".equals(fieldName)) { value = data[index][REPORT_LOSSTATUS_LOSNR]; } else if ("Menge".equals(fieldName)) { value = data[index][REPORT_LOSSTATUS_MENGE]; } else if ("Projektbezeichnung".equals(fieldName)) { value = data[index][REPORT_LOSSTATUS_PROJEKT]; } else if ("Abgeliefert".equals(fieldName)) { value = data[index][REPORT_LOSSTATUS_ABGELIEFERT]; } else if ("Status".equals(fieldName)) { value = data[index][REPORT_LOSSTATUS_STATUS]; } else if ("PreisMaterial".equals(fieldName)) { value = data[index][REPORT_LOSSTATUS_PREIS_ABLIEFERUNG_MATERIAL]; } else if ("PreisZeit".equals(fieldName)) { value = data[index][REPORT_LOSSTATUS_PREIS_ABLIEFERUNG_ZEIT]; } else if ("Angelegt".equals(fieldName)) { value = data[index][REPORT_LOSSTATUS_ANGELEGT]; } else if ("Erledigt".equals(fieldName)) { value = data[index][REPORT_LOSSTATUS_ERLEDIGT]; } else if ("Ausgegeben".equals(fieldName)) { value = data[index][REPORT_LOSSTATUS_AUSGEGEBEN]; } else if ("Kunde".equals(fieldName)) { value = data[index][REPORT_LOSSTATUS_KUNDE]; } else if ("Fertigungsgruppe".equals(fieldName)) { value = data[index][REPORT_LOSSTATUS_FERTIGUNGSGRUPPE]; } else if ("Techniker".equals(fieldName)) { value = data[index][REPORT_LOSSTATUS_TECHNIKER]; } else if ("Ziellager".equals(fieldName)) { value = data[index][REPORT_LOSSTATUS_ZIELLAGER]; } } else if (sAktuellerReport.equals(ArtikelReportFac.REPORT_LAGERPLATZETIKETT)) { if ("Lagerplatz".equals(fieldName)) { value = data[index][REPORT_LAGERPLATZ_LAGERPLATZ]; } else if ("Lager".equals(fieldName)) { value = data[index][REPORT_LAGERPLATZ_LAGER]; } } else if (sAktuellerReport.equals(ArtikelReportFac.REPORT_VKPREISLISTE)) { if ("Artikelnummer".equals(fieldName)) { value = data[index][REPORT_VKPREISLISTE_ARTIKELNUMMER]; } else if ("Bezeichnung".equals(fieldName)) { value = data[index][REPORT_VKPREISLISTE_BEZEICHNUNG]; } else if ("Vkpreis".equals(fieldName)) { value = data[index][REPORT_VKPREISLISTE_VKPREIS]; } else if ("Kurzbezeichnung".equals(fieldName)) { value = data[index][REPORT_VKPREISLISTE_KURZBEZEICHNUNG]; } else if ("Zusatzbezeichnung".equals(fieldName)) { value = data[index][REPORT_VKPREISLISTE_ZUSATZBEZEICHNUNG]; } else if ("Zusatzbezeichnung2".equals(fieldName)) { value = data[index][REPORT_VKPREISLISTE_ZUSATZBEZEICHNUNG2]; } else if ("Einheit".equals(fieldName)) { value = data[index][REPORT_VKPREISLISTE_EINHEIT]; } else if ("Artikelgruppe".equals(fieldName)) { value = data[index][REPORT_VKPREISLISTE_ARTIKELGRUPPE]; } else if ("Shopgruppe".equals(fieldName)) { value = data[index][REPORT_VKPREISLISTE_SHOPGRUPPE]; } else if ("Artikelklasse".equals(fieldName)) { value = data[index][REPORT_VKPREISLISTE_ARTIKELKLASSE]; } else if ("Materialzuschlag".equals(fieldName)) { value = data[index][REPORT_VKPREISLISTE_MATERIALZUSCHLAG]; } else if ("Staffel1".equals(fieldName)) { value = data[index][REPORT_VKPREISLISTE_STAFFEL1]; } else if ("Staffel2".equals(fieldName)) { value = data[index][REPORT_VKPREISLISTE_STAFFEL2]; } else if ("Staffel3".equals(fieldName)) { value = data[index][REPORT_VKPREISLISTE_STAFFEL3]; } else if ("Staffel4".equals(fieldName)) { value = data[index][REPORT_VKPREISLISTE_STAFFEL4]; } else if ("Staffel5".equals(fieldName)) { value = data[index][REPORT_VKPREISLISTE_STAFFEL5]; } else if ("Staffelpreis1".equals(fieldName)) { value = data[index][REPORT_VKPREISLISTE_PREISSTAFFEL1]; } else if ("Staffelpreis2".equals(fieldName)) { value = data[index][REPORT_VKPREISLISTE_PREISSTAFFEL2]; } else if ("Staffelpreis3".equals(fieldName)) { value = data[index][REPORT_VKPREISLISTE_PREISSTAFFEL3]; } else if ("Staffelpreis4".equals(fieldName)) { value = data[index][REPORT_VKPREISLISTE_PREISSTAFFEL4]; } else if ("Staffelpreis5".equals(fieldName)) { value = data[index][REPORT_VKPREISLISTE_PREISSTAFFEL5]; } else if ("Versteckt".equals(fieldName)) { value = data[index][REPORT_VKPREISLISTE_VERSTECKT]; } } else if (sAktuellerReport.equals(ArtikelReportFac.REPORT_FREIINFERTIGUNG)) { if ("Auftrag".equals(fieldName)) { value = data[index][REPORT_FREIINFERTIGUNG_AUFTRAG]; } else if ("Beginn".equals(fieldName)) { value = data[index][REPORT_FREIINFERTIGUNG_BEGINN]; } else if ("Ende".equals(fieldName)) { value = data[index][REPORT_FREIINFERTIGUNG_ENDE]; } else if ("Los".equals(fieldName)) { value = data[index][REPORT_FREIINFERTIGUNG_LOSNR]; } else if ("Menge".equals(fieldName)) { value = data[index][REPORT_FREIINFERTIGUNG_FREIEMENGE]; } else if ("Projektbezeichnung".equals(fieldName)) { value = data[index][REPORT_FREIINFERTIGUNG_PROJEKT]; } } else if (sAktuellerReport.equals(ArtikelReportFac.REPORT_NAECHSTE_WARTUNGEN)) { if ("Artikel".equals(fieldName)) { value = data[index][REPORT_NAECHSTE_WARTUNGEN_ARTIKEL]; } else if ("Bezeichnung".equals(fieldName)) { value = data[index][REPORT_NAECHSTE_WARTUNGEN_BEZEICHNUNG]; } else if ("Wartungsintervall".equals(fieldName)) { value = data[index][REPORT_NAECHSTE_WARTUNGEN_WARTUNGSINTERVALL]; } else if ("FaelligSeit".equals(fieldName)) { value = data[index][REPORT_NAECHSTE_WARTUNGEN_FAELLIG_SEIT]; } else if ("Lager".equals(fieldName)) { value = data[index][REPORT_NAECHSTE_WARTUNGEN_LAGER_LAGERPLATZ]; } else if ("Lagerplatz".equals(fieldName)) { value = data[index][REPORT_NAECHSTE_WARTUNGEN_LAGERPLATZ]; } else if ("Artikelgruppe".equals(fieldName)) { value = data[index][REPORT_NAECHSTE_WARTUNGEN_ARTIKELGRUPPE]; } else if ("Artikelklasse".equals(fieldName)) { value = data[index][REPORT_NAECHSTE_WARTUNGEN_ARTIKELKLASSE]; } else if ("LetzteWartung".equals(fieldName)) { value = data[index][REPORT_NAECHSTE_WARTUNGEN_LETZTE_WARTUNG]; } else if ("Revision".equals(fieldName)) { value = data[index][REPORT_NAECHSTE_WARTUNGEN_REVISION]; } else if ("Index".equals(fieldName)) { value = data[index][REPORT_NAECHSTE_WARTUNGEN_INDEX]; } else if ("Kurzbezeichnung".equals(fieldName)) { value = data[index][REPORT_NAECHSTE_WARTUNGEN_KURZBEZEICHNUNG]; } else if ("Zusatzbezeichnung".equals(fieldName)) { value = data[index][REPORT_NAECHSTE_WARTUNGEN_ZUSATZBEZEICHNUNG]; } else if ("Zusatzbezeichnung2".equals(fieldName)) { value = data[index][REPORT_NAECHSTE_WARTUNGEN_ZUSATZBEZEICHNUNG2]; } else if ("Referenznummer".equals(fieldName)) { value = data[index][REPORT_NAECHSTE_WARTUNGEN_REFERENZNUMMER]; } } else if (sAktuellerReport.equals(ArtikelReportFac.REPORT_ARTIKELFEHLMENGE)) { if ("Los".equals(fieldName)) { value = data[index][REPORT_FEHLMENGENLISTE_LOS]; } else if ("Projektname".equals(fieldName)) { value = data[index][REPORT_FEHLMENGENLISTE_PROJEKTNAME]; } else if ("Liefertermin".equals(fieldName)) { value = data[index][REPORT_FEHLMENGENLISTE_LIEFERTERMIN]; } else if ("Menge".equals(fieldName)) { value = data[index][REPORT_FEHLMENGENLISTE_MENGE]; } else if ("Kunde".equals(fieldName)) { value = data[index][REPORT_FEHLMENGENLISTE_KUNDE]; } else if ("Stueckliste".equals(fieldName)) { value = data[index][REPORT_FEHLMENGENLISTE_STUECKLISTE_NUMMER]; } else if ("StuecklisteBezeichnung".equals(fieldName)) { value = data[index][REPORT_FEHLMENGENLISTE_STUECKLISTE_BEZEICHNUNG]; } else if ("LosBeginn".equals(fieldName)) { value = data[index][REPORT_FEHLMENGENLISTE_LOSBEGINN]; } else if ("LosEnde".equals(fieldName)) { value = data[index][REPORT_FEHLMENGENLISTE_LOSENDE]; } else if ("AB_Liefertermin".equals(fieldName)) { value = data[index][REPORT_FEHLMENGENLISTE_ABLIEFERTERMIN]; } } else if (sAktuellerReport.equals(ArtikelReportFac.REPORT_ARTIKELSTAMMBLATT)) { if ("Artikelnummer".equals(fieldName)) { value = data[index][REPORT_ARTIKELSTAMMBLATT_ARTIKELNUMMER]; } else if ("Bild".equals(fieldName)) { value = data[index][REPORT_ARTIKELSTAMMBLATT_BILD]; } else if ("Artikelnrlieferant".equals(fieldName)) { value = data[index][REPORT_ARTIKELSTAMMBLATT_ARTIKELNUMMERLIEFERANT]; } else if ("Bezeichnung".equals(fieldName)) { value = data[index][REPORT_ARTIKELSTAMMBLATT_BEZEICHNUNG]; } else if ("Eannummer".equals(fieldName)) { value = data[index][REPORT_ARTIKELSTAMMBLATT_EAN]; } else if ("Ekpreis".equals(fieldName)) { value = data[index][REPORT_ARTIKELSTAMMBLATT_EINKAUFSPREIS]; } else if ("Gewicht".equals(fieldName)) { value = data[index][REPORT_ARTIKELSTAMMBLATT_GEWICHT]; } else if ("Kurzbezeichnung".equals(fieldName)) { value = data[index][REPORT_ARTIKELSTAMMBLATT_KURZBEZEICHNUNG]; } else if ("Langtext".equals(fieldName)) { value = Helper.formatStyledTextForJasper(data[index][REPORT_ARTIKELSTAMMBLATT_LANGTEXT]); } else if ("Lieferant".equals(fieldName)) { value = data[index][REPORT_ARTIKELSTAMMBLATT_LIEFERANT]; } else if ("Material".equals(fieldName)) { value = data[index][REPORT_ARTIKELSTAMMBLATT_MATERIAL]; } else if ("Vkpreis".equals(fieldName)) { value = data[index][REPORT_ARTIKELSTAMMBLATT_VERKAUFSPREIS]; } else if ("Verpackungseinheit".equals(fieldName)) { value = data[index][REPORT_ARTIKELSTAMMBLATT_VERPACKUNGSEINHEIT]; } else if ("Warenverkehrsnummer".equals(fieldName)) { value = data[index][REPORT_ARTIKELSTAMMBLATT_WARENVERKEHRSNUMMER]; } else if ("Zusatzbezeichnung".equals(fieldName)) { value = data[index][REPORT_ARTIKELSTAMMBLATT_ZUSATZBEZEICHNUNG]; } else if ("Lagerstand".equals(fieldName)) { value = data[index][REPORT_ARTIKELSTAMMBLATT_LAGERSTAND]; } else if ("Lagerplatz".equals(fieldName)) { value = data[index][REPORT_ARTIKELSTAMMBLATT_LAGERPLATZ]; } else if ("Reserviert".equals(fieldName)) { value = data[index][REPORT_ARTIKELSTAMMBLATT_RESERVIERT]; } else if ("Fehlmenge".equals(fieldName)) { value = data[index][REPORT_ARTIKELSTAMMBLATT_FEHLMENGE]; } else if ("Infertigung".equals(fieldName)) { value = data[index][REPORT_ARTIKELSTAMMBLATT_INFERTIGUNG]; } else if ("Bestellt".equals(fieldName)) { value = data[index][REPORT_ARTIKELSTAMMBLATT_BESTELLT]; } else if ("Rahmenreserviert".equals(fieldName)) { value = data[index][REPORT_ARTIKELSTAMMBLATT_RAHMENRESERVIERT]; } else if ("Rahmenbestellt".equals(fieldName)) { value = data[index][REPORT_ARTIKELSTAMMBLATT_RAHMENBESTELLT]; } else if ("Detailbedarf".equals(fieldName)) { value = data[index][REPORT_ARTIKELSTAMMBLATT_DETAILBEDARF]; } else if ("DatenSubreport".equals(fieldName)) { value = data[index][REPORT_ARTIKELSTAMMBLATT_SUBREPORT_LAGERSTAENDE]; } } else if (sAktuellerReport.equals(ArtikelReportFac.REPORT_VERWENDUNGSNACHWEIS)) { if ("Artikelnummer".equals(fieldName)) { value = data[index][REPORT_VERWENDUNGSNACHWEIS_STUECKLISTE]; } else if ("Bezeichnung".equals(fieldName)) { value = data[index][REPORT_VERWENDUNGSNACHWEIS_BEZEICHNUNG]; } else if ("Menge".equals(fieldName)) { value = data[index][REPORT_VERWENDUNGSNACHWEIS_MENGE]; } else if ("Zusatz".equals(fieldName)) { value = data[index][REPORT_VERWENDUNGSNACHWEIS_ZUSATZ]; } else if ("Arbeitsgang".equals(fieldName)) { value = data[index][REPORT_VERWENDUNGSNACHWEIS_ARBEITSGANG]; } else if ("Einheit".equals(fieldName)) { value = data[index][REPORT_VERWENDUNGSNACHWEIS_EINHEIT]; } else if ("Letzteverwendung".equals(fieldName)) { value = data[index][REPORT_VERWENDUNGSNACHWEIS_LETZTE_VERWENDUNG]; } else if ("Sperren".equals(fieldName)) { value = data[index][REPORT_VERWENDUNGSNACHWEIS_SPERREN]; } else if ("Verbrauchtemenge".equals(fieldName)) { value = data[index][REPORT_VERWENDUNGSNACHWEIS_VERBRAUCHTEMENGE]; } else if ("Versteckt".equals(fieldName)) { value = data[index][REPORT_VERWENDUNGSNACHWEIS_VERSTECKT]; } else if ("Stueckzeit".equals(fieldName)) { value = data[index][REPORT_VERWENDUNGSNACHWEIS_STUECKZEIT]; } else if ("Ruestzeit".equals(fieldName)) { value = data[index][REPORT_VERWENDUNGSNACHWEIS_RUESTZEIT]; } else if ("Lagerstand".equals(fieldName)) { value = data[index][REPORT_VERWENDUNGSNACHWEIS_LAGERSTAND]; } else if ("Reserviert".equals(fieldName)) { value = data[index][REPORT_VERWENDUNGSNACHWEIS_RESERVIERT]; } else if ("Rahmenreserviert".equals(fieldName)) { value = data[index][REPORT_VERWENDUNGSNACHWEIS_RAHMENRESERVIERT]; } else if ("InFertigung".equals(fieldName)) { value = data[index][REPORT_VERWENDUNGSNACHWEIS_IN_FERTIGUNG]; } else if ("Fehlmengen".equals(fieldName)) { value = data[index][REPORT_VERWENDUNGSNACHWEIS_FEHLMENGE]; } } else if (sAktuellerReport.equals(ArtikelReportFac.REPORT_BEWEGUNGSVORSCHAU)) { if ("Belegart".equals(fieldName)) { value = data[index][REPORT_BEWEGUNGSVORSCHAU_BELEGART]; } else if ("Belegnummer".equals(fieldName)) { value = data[index][REPORT_BEWEGUNGSVORSCHAU_BELEGNR]; } else if ("Liefertermin".equals(fieldName)) { value = data[index][REPORT_BEWEGUNGSVORSCHAU_LIEFERTERMIN]; } else if ("BestellungABTermin".equals(fieldName)) { value = data[index][REPORT_BEWEGUNGSVORSCHAU_BEST_ABTERMIN]; } else if ("BestellungABNummer".equals(fieldName)) { value = data[index][REPORT_BEWEGUNGSVORSCHAU_BEST_ABNUMMER]; } else if ("Menge".equals(fieldName)) { value = data[index][REPORT_BEWEGUNGSVORSCHAU_MENGE]; } else if ("Partner".equals(fieldName)) { value = data[index][REPORT_BEWEGUNGSVORSCHAU_PARTNER]; } else if ("Fiktiverlagerstand".equals(fieldName)) { value = data[index][REPORT_BEWEGUNGSVORSCHAU_FIKTIVERLAGERSTAND]; } else if ("Projekt".equals(fieldName)) { value = data[index][REPORT_BEWEGUNGSVORSCHAU_PROJEKT]; } else if ("LosAuftrag".equals(fieldName)) { value = data[index][REPORT_BEWEGUNGSVORSCHAU_LOS_AUFTRAGSNUMMER]; } else if ("Finaltermin".equals(fieldName)) { value = data[index][REPORT_BEWEGUNGSVORSCHAU_FINALTERMIN]; } else if ("LAGERWIRDVONINTERNERBESTELLUNGBERUECKSICHTIGT".equals(fieldName)) { value = data[index][REPORT_BEWEGUNGSVORSCHAU_INTERNEBESTELLUNG_BERUECKSICHTIGT_LAGER]; } else if ("LAGERWIRDVONBESTELLVORSCHLAGBERUECKSICHTIGT".equals(fieldName)) { value = data[index][REPORT_BEWEGUNGSVORSCHAU_BESTELLVORSCHLAG_BERUECKSICHTIGT_LAGER]; } } else if (sAktuellerReport.equals(ArtikelReportFac.REPORT_AUFGELOESTEFEHLMENGEN)) { if ("Artikelnummer".equals(fieldName)) { value = data[index][REPORT_AUFGELOESTEFEHLMENGEN_ARTIKEL]; } else if ("Bezeichnung".equals(fieldName)) { value = data[index][REPORT_AUFGELOESTEFEHLMENGEN_BEZEICHNUNG]; } else if ("Menge".equals(fieldName)) { value = data[index][REPORT_AUFGELOESTEFEHLMENGEN_MENGE]; } else if ("Seriennrchnr".equals(fieldName)) { value = data[index][REPORT_AUFGELOESTEFEHLMENGEN_SNRCHNR]; } else if ("Lager".equals(fieldName)) { value = data[index][REPORT_AUFGELOESTEFEHLMENGEN_LAGER]; } else if ("Einheit".equals(fieldName)) { value = data[index][REPORT_AUFGELOESTEFEHLMENGEN_EINHEIT]; } else if ("Lagerort".equals(fieldName)) { value = data[index][REPORT_AUFGELOESTEFEHLMENGEN_LAGERORT]; } else if ("Artikelklasse".equals(fieldName)) { value = data[index][REPORT_AUFGELOESTEFEHLMENGEN_ARTIKELKLASSE]; } else if ("Farbcode".equals(fieldName)) { value = data[index][REPORT_AUFGELOESTEFEHLMENGEN_FARBCODE]; } else if ("Material".equals(fieldName)) { value = data[index][REPORT_AUFGELOESTEFEHLMENGEN_MATERIAL]; } else if ("Hoehe".equals(fieldName)) { value = data[index][REPORT_AUFGELOESTEFEHLMENGEN_HOEHE]; } else if ("Breite".equals(fieldName)) { value = data[index][REPORT_AUFGELOESTEFEHLMENGEN_BREITE]; } else if ("Tiefe".equals(fieldName)) { value = data[index][REPORT_AUFGELOESTEFEHLMENGEN_TIEFE]; } else if ("Zusatzbezeichnung".equals(fieldName)) { value = data[index][REPORT_AUFGELOESTEFEHLMENGEN_ZUSATZBEZEICHNUNG]; } else if ("Zusatzbezeichnung2".equals(fieldName)) { value = data[index][REPORT_AUFGELOESTEFEHLMENGEN_ZUSATZBEZEICHNUNG2]; } else if ("Rasterstehend".equals(fieldName)) { value = data[index][REPORT_AUFGELOESTEFEHLMENGEN_RASTERSTEHEND]; } else if ("Bauform".equals(fieldName)) { value = data[index][REPORT_AUFGELOESTEFEHLMENGEN_BAUFORM]; } else if ("Verpackungsart".equals(fieldName)) { value = data[index][REPORT_AUFGELOESTEFEHLMENGEN_VERPACKUNGSART]; } } else if (sAktuellerReport.equals(ArtikelReportFac.REPORT_ARTIKELBESTELLT)) { if ("Bestellung".equals(fieldName)) { value = data[index][REPORT_BESTELLTLISTE_BESTELLUNG]; } else if ("Lieferantenname".equals(fieldName)) { value = data[index][REPORT_BESTELLTLISTE_LIEFERANTENNAME]; } else if ("Projektname".equals(fieldName)) { value = data[index][REPORT_BESTELLTLISTE_PROJEKTNAME]; } else if ("Liefertermin".equals(fieldName)) { value = data[index][REPORT_BESTELLTLISTE_LIEFERTERMIN]; } else if ("Menge".equals(fieldName)) { value = data[index][REPORT_BESTELLTLISTE_MENGE]; } else if ("Bestellmenge".equals(fieldName)) { value = data[index][REPORT_BESTELLTLISTE_BESTELLMENGE]; } else if ("F_AB_NUMMER".equals(fieldName)) { value = data[index][REPORT_BESTELLTLISTE_AB_NUMMER]; } else if ("F_AB_TERMIN".equals(fieldName)) { value = data[index][REPORT_BESTELLTLISTE_AB_TERMIN]; } else if ("F_OFFENEMENGE".equals(fieldName)) { value = data[index][REPORT_BESTELLTLISTE_OFFENEMENGE]; } else if ("F_AB_KOMMENTAR".equals(fieldName)) { value = data[index][REPORT_BESTELLTLISTE_AB_KOMMENTAR]; } } else if (sAktuellerReport.equals(ArtikelReportFac.REPORT_ARTIKELBESTELLTRAHMEN)) { if ("F_BESTELLUNGCNR".equals(fieldName)) { value = data[index][REPORT_RAHMENBEST_BESTELLUNGSNUMMER]; } else if ("F_LIEFERANT".equals(fieldName)) { value = data[index][REPORT_RAHMENBEST_LIEFERANT]; } else if ("F_PROJEKT".equals(fieldName)) { value = data[index][REPORT_RAHMENBEST_PROJEKT]; } else if ("F_LIEFERTERMIN".equals(fieldName)) { value = data[index][REPORT_RAHMENBEST_LIEFERTERMIN]; } else if ("F_MENGE".equals(fieldName)) { value = data[index][REPORT_RAHMENBEST_RAHMENMENGE]; } else if ("F_OFFENE_MENGE".equals(fieldName)) { value = data[index][REPORT_RAHMENBEST_OFFENE_MENGE]; } else if ("F_PREIS".equals(fieldName)) { value = data[index][REPORT_RAHMENBEST_PREIS]; } else if ("F_AB_TERMIN".equals(fieldName)) { value = data[index][REPORT_RAHMENBEST_AB_TERMIN]; } else if ("F_AB_NUMMER".equals(fieldName)) { value = data[index][REPORT_RAHMENBEST_AB_NUMMER]; } else if ("F_AB_KOMMENTAR".equals(fieldName)) { value = data[index][REPORT_RAHMENBEST_AB_KOMMENTAR]; } } else if (sAktuellerReport.equals(ArtikelReportFac.REPORT_RAHMENRESERVIERUNG)) { if ("F_AUFTRAGCNR".equals(fieldName)) { value = data[index][REPORT_RAHMENRESERVIERUNG_AUFTRAGCNR]; } else if ("F_KUNDECNAME1".equals(fieldName)) { value = data[index][REPORT_RAHMENRESERVIERUNG_KUNDECNAME1]; } else if ("F_AUFTRAGCBEZ".equals(fieldName)) { value = data[index][REPORT_RAHMENRESERVIERUNG_AUFTRAGCBEZ]; } else if ("F_AUFTRAGPOSITIONRAHMENTERMIN".equals(fieldName)) { value = data[index][REPORT_RAHMENRESERVIERUNG_AUFTRAGPOSITIONRAHMENTERMIN]; } else if ("F_AUFTRAGPOSITIONMENGE".equals(fieldName)) { value = data[index][REPORT_RAHMENRESERVIERUNG_AUFTRAGPOSITIONMENGE]; } else if ("F_AUFTRAGPOSITIONOFFENEMENGE".equals(fieldName)) { value = data[index][REPORT_RAHMENRESERVIERUNG_AUFTRAGPOSITIONOFFENEMENGE]; } else if ("F_GELIEFERT".equals(fieldName)) { value = data[index][REPORT_RAHMENRESERVIERUNG_AUFTRAGPOSITIONGELIEFERT]; } } else if (sAktuellerReport.equals(ArtikelReportFac.REPORT_VKPREISENTWICKLUNG)) { if ("Art".equals(fieldName)) { value = data[index][REPORT_VKPREISENTWICKLUNG_ART]; } else if ("Preisliste".equals(fieldName)) { value = data[index][REPORT_VKPREISENTWICKLUNG_PREISLISTENNAME]; } else if ("Preisbasis".equals(fieldName)) { value = data[index][REPORT_VKPREISENTWICKLUNG_VKPREISBASIS]; } else if ("Fixpreis".equals(fieldName)) { value = data[index][REPORT_VKPREISENTWICKLUNG_FIXPREIS]; } else if ("Rabatt".equals(fieldName)) { value = data[index][REPORT_VKPREISENTWICKLUNG_RABATT]; } else if ("Berechneterpreis".equals(fieldName)) { value = data[index][REPORT_VKPREISENTWICKLUNG_BERECHNETERPREIS]; } else if ("Gueltigab".equals(fieldName)) { value = data[index][REPORT_VKPREISENTWICKLUNG_GUELTIGAB]; } else if ("Gueltigbis".equals(fieldName)) { value = data[index][REPORT_VKPREISENTWICKLUNG_GUELTIGBIS]; } else if ("Aenderungsdatum".equals(fieldName)) { value = data[index][REPORT_VKPREISENTWICKLUNG_T_AENDERN]; } else if ("PersonGeaendert".equals(fieldName)) { value = data[index][REPORT_VKPREISENTWICKLUNG_PERSON_GEAENDERT]; } else if ("Staffelmenge".equals(fieldName)) { value = data[index][REPORT_VKPREISENTWICKLUNG_STAFFELMENGE]; } } else if (sAktuellerReport.equals(ArtikelReportFac.REPORT_MINDESTLAGERSTAENDE)) { if ("Artikelnummer".equals(fieldName)) { value = data[index][REPORT_MINDESTLAGERSTAENDE_ARTIKEL]; } else if ("Bezeichnung".equals(fieldName)) { value = data[index][REPORT_MINDESTLAGERSTAENDE_BEZEICHNUNG]; } else if ("Zusatzbezeichnung".equals(fieldName)) { value = data[index][REPORT_MINDESTLAGERSTAENDE_ZUSATZBEZEICHNUNG]; } else if ("Zusatzbezeichnung2".equals(fieldName)) { value = data[index][REPORT_MINDESTLAGERSTAENDE_ZUSATZBEZEICHNUNG2]; } else if ("Kurzbezeichnung".equals(fieldName)) { value = data[index][REPORT_MINDESTLAGERSTAENDE_KURZBEZEICHNUNG]; } else if ("Lagermindeststand".equals(fieldName)) { value = data[index][REPORT_MINDESTLAGERSTAENDE_LAGERMINDESTSTAND]; } else if ("Lagersollstand".equals(fieldName)) { value = data[index][REPORT_MINDESTLAGERSTAENDE_LAGERSOLLSTAND]; } else if ("Fertigungssatzgroesse".equals(fieldName)) { value = data[index][REPORT_MINDESTLAGERSTAENDE_FERTIGUNGSSATZGROESSE]; } else if ("VKPreisbasis".equals(fieldName)) { value = data[index][REPORT_MINDESTLAGERSTAENDE_VK_PREISBASIS]; } else if ("LetzterAbgang".equals(fieldName)) { value = data[index][REPORT_MINDESTLAGERSTAENDE_LETZTER_ABGANG]; } else if ("Rahmenreserviert".equals(fieldName)) { value = data[index][REPORT_MINDESTLAGERSTAENDE_RAHMENRESERVIERT]; } else if ("Detailbedarf".equals(fieldName)) { value = data[index][REPORT_MINDESTLAGERSTAENDE_DETAILBEDARF]; } else if ("Rahmenbestellt".equals(fieldName)) { value = data[index][REPORT_MINDESTLAGERSTAENDE_RAHMENBESTELLT]; } else if ("Lagerstand".equals(fieldName)) { value = data[index][REPORT_MINDESTLAGERSTAENDE_LAGERSTAND]; } } return value; } @TransactionAttribute(TransactionAttributeType.NEVER) public JasperPrintLP printAufgeloesteFehlmengen(TreeMap<?, ?> tmAufgeloesteFehlmengen, TheClientDto theClientDto) { Set<?> s = tmAufgeloesteFehlmengen.keySet(); JasperPrintLP print = null; Iterator<?> it = s.iterator(); while (it.hasNext()) { Object key = it.next(); ArrayList<AufgeloesteFehlmengenDto> al = (ArrayList) tmAufgeloesteFehlmengen.get(key); // Nach Artikel sortieren for (int i = al.size() - 1; i > 0; --i) { for (int j = 0; j < i; ++j) { AufgeloesteFehlmengenDto a = (AufgeloesteFehlmengenDto) al.get(j); AufgeloesteFehlmengenDto b = (AufgeloesteFehlmengenDto) al.get(j + 1); if (a.getArtikelCNr().compareTo(b.getArtikelCNr()) > 0) { AufgeloesteFehlmengenDto h = a; al.set(j, b); al.set(j + 1, h); } } } data = new Object[al.size()][19]; for (int i = 0; i < al.size(); i++) { AufgeloesteFehlmengenDto aufgeloesteFehlmengenDto = (AufgeloesteFehlmengenDto) al.get(i); ArtikelDto artikelDto = aufgeloesteFehlmengenDto.getArtikelDto(); data[i][REPORT_AUFGELOESTEFEHLMENGEN_ARTIKEL] = aufgeloesteFehlmengenDto.getArtikelDto().getCNr(); data[i][REPORT_AUFGELOESTEFEHLMENGEN_BEZEICHNUNG] = artikelDto.getArtikelsprDto().getCBez(); data[i][REPORT_AUFGELOESTEFEHLMENGEN_ZUSATZBEZEICHNUNG] = artikelDto.getArtikelsprDto().getCZbez(); data[i][REPORT_AUFGELOESTEFEHLMENGEN_ZUSATZBEZEICHNUNG2] = artikelDto.getArtikelsprDto() .getCZbez2(); data[i][REPORT_AUFGELOESTEFEHLMENGEN_EINHEIT] = artikelDto.getEinheitCNr(); try { if (artikelDto.getFarbcodeIId() != null) { data[i][REPORT_AUFGELOESTEFEHLMENGEN_FARBCODE] = getArtikelFac() .farbcodeFindByPrimaryKey(artikelDto.getFarbcodeIId()).getCNr(); } // Material if (artikelDto.getMaterialIId() != null) { MaterialDto materialDto = getMaterialFac() .materialFindByPrimaryKey(artikelDto.getMaterialIId(), theClientDto); data[i][REPORT_AUFGELOESTEFEHLMENGEN_MATERIAL] = materialDto.getBezeichnung(); } // Lagerort data[i][REPORT_AUFGELOESTEFEHLMENGEN_LAGERORT] = getLagerFac().getLagerplaezteEinesArtikels( artikelDto.getIId(), aufgeloesteFehlmengenDto.getLagerDto().getIId()); // Artkelklasse if (artikelDto.getArtklaIId() != null) { ArtklaDto aklaDto = getArtikelFac().artklaFindByPrimaryKey(artikelDto.getArtklaIId(), theClientDto); data[i][REPORT_AUFGELOESTEFEHLMENGEN_ARTIKELKLASSE] = aklaDto.getBezeichnung(); } // Staerke/Hoehe if (artikelDto.getGeometrieDto() != null) { if (artikelDto.getGeometrieDto().getFHoehe() != null) { data[i][REPORT_AUFGELOESTEFEHLMENGEN_HOEHE] = artikelDto.getGeometrieDto().getFHoehe(); } if (artikelDto.getGeometrieDto().getFBreite() != null) { data[i][REPORT_AUFGELOESTEFEHLMENGEN_BREITE] = artikelDto.getGeometrieDto() .getFBreite(); } if (artikelDto.getGeometrieDto().getFTiefe() != null) { data[i][REPORT_AUFGELOESTEFEHLMENGEN_TIEFE] = artikelDto.getGeometrieDto().getFTiefe(); } } // Verpackung if (artikelDto.getVerpackungDto() != null) { data[i][REPORT_AUFGELOESTEFEHLMENGEN_BAUFORM] = artikelDto.getVerpackungDto().getCBauform(); data[i][REPORT_AUFGELOESTEFEHLMENGEN_VERPACKUNGSART] = artikelDto.getVerpackungDto() .getCVerpackungsart(); } // Gewicht data[i][REPORT_AUFGELOESTEFEHLMENGEN_GEWICHTKG] = artikelDto.getFGewichtkg(); // Montage Rasterstehend if (artikelDto.getMontageDto() != null && artikelDto.getMontageDto().getFRasterstehend() != null) { data[i][REPORT_AUFGELOESTEFEHLMENGEN_RASTERSTEHEND] = new Double( artikelDto.getMontageDto().getFRasterstehend().doubleValue()); } } catch (RemoteException ex1) { throwEJBExceptionLPRespectOld(ex1); } data[i][REPORT_AUFGELOESTEFEHLMENGEN_EINHEIT] = aufgeloesteFehlmengenDto.getArtikelDto() .getEinheitCNr(); data[i][REPORT_AUFGELOESTEFEHLMENGEN_LAGER] = aufgeloesteFehlmengenDto.getLagerDto().getCNr(); data[i][REPORT_AUFGELOESTEFEHLMENGEN_MENGE] = aufgeloesteFehlmengenDto.getAufgeloesteMenge(); data[i][REPORT_AUFGELOESTEFEHLMENGEN_SNRCHNR] = Helper .erzeugeStringAusStringArray(aufgeloesteFehlmengenDto.getSSeriennrChnr()); } HashMap<String, Object> parameter = new HashMap<String, Object>(); index = -1; sAktuellerReport = ArtikelReportFac.REPORT_AUFGELOESTEFEHLMENGEN; AufgeloesteFehlmengenDto aufgeloesteFehlmengenDto = (AufgeloesteFehlmengenDto) al.get(0); String losBez = aufgeloesteFehlmengenDto.getLosDto().getCNr(); if (aufgeloesteFehlmengenDto.getLosDto().getCProjekt() != null) { losBez += " " + aufgeloesteFehlmengenDto.getLosDto().getCProjekt(); } LosDto losDto = aufgeloesteFehlmengenDto.getLosDto(); parameter.put("P_LOSNUMMER", losDto.getCNr()); parameter.put("P_ANGELEGT", new java.util.Date(losDto.getTAnlegen().getTime())); parameter.put("P_PROJEKT", losDto.getCProjekt()); parameter.put("P_LOSKOMMENTAR", losDto.getCKommentar()); parameter.put("P_LOSLANGTEXT", losDto.getXText()); parameter.put("P_LOSGROESSE", losDto.getNLosgroesse()); parameter.put("P_PRODUKTIONSBEGINN", losDto.getTProduktionsbeginn()); parameter.put("P_PRODUKTIONSENDE", losDto.getTProduktionsende()); try { if (losDto.getAuftragIId() != null) { AuftragDto auftragDto = getAuftragFac().auftragFindByPrimaryKey(losDto.getAuftragIId()); parameter.put("P_AUFTRAGNUMMER", auftragDto.getCNr()); parameter.put("P_KUNDE", getKundeFac() .kundeFindByPrimaryKey(auftragDto.getKundeIIdAuftragsadresse(), theClientDto) .getPartnerDto().getCName1nachnamefirmazeile1()); } KostenstelleDto kstDto = getSystemFac().kostenstelleFindByPrimaryKey(losDto.getKostenstelleIId()); parameter.put("P_KOSTENSTELLENUMMER", kstDto.getCNr()); FertigungsgruppeDto fertGruppeDto = getStuecklisteFac() .fertigungsgruppeFindByPrimaryKey(losDto.getFertigungsgruppeIId()); parameter.put("P_FERTIGUNGSGRUPPE", fertGruppeDto.getCBez()); if (losDto.getStuecklisteIId() != null) { StuecklisteDto stkDto = getStuecklisteFac() .stuecklisteFindByPrimaryKey(losDto.getStuecklisteIId(), theClientDto); parameter.put("P_STUECKLISTEBEZEICHNUNG", stkDto.getArtikelDto().getArtikelsprDto().getCBez()); parameter.put("P_STUECKLISTEZUSATZBEZEICHNUNG", stkDto.getArtikelDto().getArtikelsprDto().getCZbez()); parameter.put("P_STUECKLISTEZUSATZBEZEICHNUNG2", stkDto.getArtikelDto().getArtikelsprDto().getCZbez2()); parameter.put("P_STUECKLISTENUMMER", stkDto.getArtikelDto().getCNr()); // Zeichnungsnummer StuecklisteeigenschaftDto[] stuecklisteeigenschaftDtos = getStuecklisteFac() .stuecklisteeigenschaftFindByStuecklisteIId(losDto.getStuecklisteIId()); ArrayList<Object[]> alZeichnung = new ArrayList<Object[]>(); for (int i = 0; i < stuecklisteeigenschaftDtos.length; i++) { StuecklisteeigenschaftDto dto = stuecklisteeigenschaftDtos[i]; Object[] o = new Object[2]; String sStklEigenschaftArt = dto.getStuecklisteeigenschaftartDto().getCBez(); o[0] = sStklEigenschaftArt; o[1] = dto.getCBez(); alZeichnung.add(o); // Index und Materialplatz auch einzeln an Report // uebergeben if (sStklEigenschaftArt .equals(StuecklisteReportFac.REPORT_STUECKLISTE_EIGENSCHAFTEN_INDEX)) { parameter.put(P_STUECKLISTENEIGENSCHAFT_INDEX, dto.getCBez()); } if (sStklEigenschaftArt .equals(StuecklisteReportFac.REPORT_STUECKLISTE_EIGENSCHAFTEN_MATERIALPLATZ)) { parameter.put(P_STUECKLISTENEIGENSCHAFT_MATERIALPLATZ, dto.getCBez()); } } // Stuecklisteeigenschaft fuer Subreport if (stuecklisteeigenschaftDtos.length > 0) { String[] fieldnames = new String[] { "F_EIGENSCHAFTART", "F_BEZEICHNUNG" }; Object[][] dataSub = new Object[alZeichnung.size()][fieldnames.length]; dataSub = (Object[][]) alZeichnung.toArray(dataSub); parameter.put("DATENSUBREPORT", new LPDatenSubreport(dataSub, fieldnames)); } // Stuecklisteeigenschaften als einzelne Parameter fuer // Index und Materialplatz Hashtable<?, ?> htStklEigenschaften = getStuecklisteReportFac().getStuecklisteEigenschaften( losDto.getStuecklisteIId(), theClientDto.getMandant(), theClientDto); if (htStklEigenschaften != null) { if (htStklEigenschaften .containsKey(StuecklisteReportFac.REPORT_STUECKLISTE_EIGENSCHAFTEN_INDEX)) { parameter.put(P_STUECKLISTENEIGENSCHAFT_INDEX, htStklEigenschaften .get(StuecklisteReportFac.REPORT_STUECKLISTE_EIGENSCHAFTEN_INDEX)); } if (htStklEigenschaften .containsKey(StuecklisteReportFac.REPORT_STUECKLISTE_EIGENSCHAFTEN_MATERIALPLATZ)) { parameter.put(P_STUECKLISTENEIGENSCHAFT_MATERIALPLATZ, htStklEigenschaften .get(StuecklisteReportFac.REPORT_STUECKLISTE_EIGENSCHAFTEN_MATERIALPLATZ)); } } } else { parameter.put("P_STUECKLISTEBEZEICHNUNG", losDto.getCProjekt()); parameter.put("P_STUECKLISTENUMMER", getTextRespectUISpr("fert.materialliste", theClientDto.getMandant(), theClientDto.getLocUi())); } } catch (RemoteException ex) { throwEJBExceptionLPRespectOld(ex); } initJRDS(parameter, ArtikelReportFac.REPORT_MODUL, ArtikelReportFac.REPORT_AUFGELOESTEFEHLMENGEN, theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto); if (print != null) { print = Helper.addReport2Report(print, getReportPrint().getPrint()); } else { print = getReportPrint(); } } PrintInfoDto values = new PrintInfoDto(); values.setDocPath(new HeliumDocPath().add(new DocNodeLiteral(theClientDto.getMandant())) .add(new DocNodeFolder(DocNodeBase.BELEGART_ARTIKEL)) .add(new DocNodeFile(DocNodeBase.BELEGART_AUFGLFEHLMENGEN))); // JCRDocFac.HELIUMV_NODE + "/" // + LocaleFac.BELEGART_ARTIKEL.trim() + "/" // + "AufgeloesteFehlmengen"; values.setiId(theClientDto.getIDPersonal()); values.setTable(""); print.setOInfoForArchive(values); return print; } @TransactionAttribute(TransactionAttributeType.NEVER) public JasperPrintLP printNaechsteWartungen(TheClientDto theClientDto) { // Erstellung des Reports HashMap<String, Object> parameter = new HashMap<String, Object>(); index = -1; sAktuellerReport = ArtikelReportFac.REPORT_NAECHSTE_WARTUNGEN; Session session = FLRSessionFactory.getFactory().openSession(); org.hibernate.Criteria crit = session.createCriteria(FLRArtikel.class); crit.add(Restrictions.isNotNull(ArtikelFac.FLR_ARTIKEL_I_WARTUNGSINTERVALL)); crit.add(Restrictions.eq("mandant_c_nr", theClientDto.getMandant())); crit.addOrder(Order.asc("c_nr")); List<?> results = crit.list(); Iterator<?> resultListIterator = results.iterator(); ArrayList alDaten = new ArrayList(); while (resultListIterator.hasNext()) { FLRArtikel flrartikel = (FLRArtikel) resultListIterator.next(); Object[] zeile = new Object[REPORT_NAECHSTE_WARTUNGEN_ANZAHL_SPALTEN]; ArtikelDto artikelDto = getArtikelFac().artikelFindByPrimaryKeySmall(flrartikel.getI_id(), theClientDto); Timestamp tFaelligSeit = null; if (artikelDto.getTLetztewartung() != null) { zeile[REPORT_NAECHSTE_WARTUNGEN_LETZTE_WARTUNG] = artikelDto.getTLetztewartung(); Calendar cWartungFaellig = Calendar.getInstance(); cWartungFaellig.setTimeInMillis(artikelDto.getTLetztewartung().getTime()); cWartungFaellig.add(Calendar.MONTH, artikelDto.getIWartungsintervall()); tFaelligSeit = new Timestamp(cWartungFaellig.getTimeInMillis()); } if (tFaelligSeit == null || tFaelligSeit.getTime() < System.currentTimeMillis()) { zeile[REPORT_NAECHSTE_WARTUNGEN_FAELLIG_SEIT] = tFaelligSeit; zeile[REPORT_NAECHSTE_WARTUNGEN_ARTIKEL] = flrartikel.getC_nr(); if (artikelDto.getArtikelsprDto() != null) { zeile[REPORT_NAECHSTE_WARTUNGEN_BEZEICHNUNG] = artikelDto.getArtikelsprDto().getCBez(); zeile[REPORT_NAECHSTE_WARTUNGEN_KURZBEZEICHNUNG] = artikelDto.getArtikelsprDto().getCKbez(); zeile[REPORT_NAECHSTE_WARTUNGEN_ZUSATZBEZEICHNUNG] = artikelDto.getArtikelsprDto().getCZbez(); zeile[REPORT_NAECHSTE_WARTUNGEN_ZUSATZBEZEICHNUNG2] = artikelDto.getArtikelsprDto().getCZbez2(); } zeile[REPORT_NAECHSTE_WARTUNGEN_REVISION] = artikelDto.getCRevision(); zeile[REPORT_NAECHSTE_WARTUNGEN_INDEX] = artikelDto.getCIndex(); zeile[REPORT_NAECHSTE_WARTUNGEN_REFERENZNUMMER] = artikelDto.getCReferenznr(); if (flrartikel.getFlrartikelgruppe() != null) { zeile[REPORT_NAECHSTE_WARTUNGEN_ARTIKELGRUPPE] = flrartikel.getFlrartikelgruppe().getC_nr(); } if (flrartikel.getFlrartikelklasse() != null) { zeile[REPORT_NAECHSTE_WARTUNGEN_ARTIKELKLASSE] = flrartikel.getFlrartikelklasse().getC_nr(); } zeile[REPORT_NAECHSTE_WARTUNGEN_WARTUNGSINTERVALL] = artikelDto.getIWartungsintervall(); ArtikellagerplaetzeDto artikellagerplaetzeDto = getLagerFac() .getErstenArtikellagerplatz(flrartikel.getI_id(), theClientDto); if (artikellagerplaetzeDto != null) { String lagerplatz = artikellagerplaetzeDto.getLagerplatzDto().getCLagerplatz(); if (artikellagerplaetzeDto.isbEsGibtMehrereLagerplaetze() == true) { lagerplatz += " ++"; } zeile[REPORT_NAECHSTE_WARTUNGEN_LAGERPLATZ] = lagerplatz; try { zeile[REPORT_NAECHSTE_WARTUNGEN_LAGER_LAGERPLATZ] = getLagerFac() .lagerFindByPrimaryKey(artikellagerplaetzeDto.getLagerplatzDto().getLagerIId()) .getCNr(); } catch (RemoteException e) { throwEJBExceptionLPRespectOld(e); } } alDaten.add(zeile); } } session.close(); Object[][] dataTemp = new Object[alDaten.size()][REPORT_NAECHSTE_WARTUNGEN_ANZAHL_SPALTEN]; data = (Object[][]) alDaten.toArray(dataTemp); initJRDS(parameter, ArtikelReportFac.REPORT_MODUL, ArtikelReportFac.REPORT_NAECHSTE_WARTUNGEN, theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto); return getReportPrint(); } @TransactionAttribute(TransactionAttributeType.NEVER) public JasperPrintLP printFehlmengen(Integer artikelIId, TheClientDto theClientDto) { if (artikelIId == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FELD_DARF_NICHT_NULL_SEIN, new Exception("artikelIId == null")); } // Erstellung des Reports HashMap<String, Object> parameter = new HashMap<String, Object>(); index = -1; sAktuellerReport = ArtikelReportFac.REPORT_ARTIKELFEHLMENGE; String eingeloggterMandant = theClientDto.getMandant(); FLRFehlmenge flrFehlmenge = new FLRFehlmenge(); flrFehlmenge.setArtikel_i_id(artikelIId); Session session = FLRSessionFactory.getFactory().openSession(); org.hibernate.Criteria crit = session.createCriteria(FLRFehlmenge.class).add(Example.create(flrFehlmenge)); List<?> results = crit.list(); Iterator<?> resultListIterator = results.iterator(); int row = 0; Object[][] dataHelp = new Object[results.size()][10]; while (resultListIterator.hasNext()) { FLRFehlmenge fehlmenge = (FLRFehlmenge) resultListIterator.next(); String sBelegnummer = null; String sProjektbezeichnung = null; String sMandant = null; String sKunde = null; String sStueckliste = null; String sStuecklisteBezeichnung = null; java.sql.Date tLosbeginn = null; java.sql.Date tLosende = null; java.sql.Timestamp tGeplanterliefertermin = null; if (fehlmenge.getC_belegartnr().equals(LocaleFac.BELEGART_LOS)) { com.lp.server.fertigung.service.LosDto losDto = null; try { if (fehlmenge.getFlrlossollmaterial() != null) { losDto = getFertigungFac() .losFindByPrimaryKey(fehlmenge.getFlrlossollmaterial().getLos_i_id()); sBelegnummer = "L" + losDto.getCNr(); tLosbeginn = losDto.getTProduktionsbeginn(); tLosende = losDto.getTProduktionsende(); if (losDto.getAuftragIId() != null) { AuftragDto auftragDto = null; auftragDto = getAuftragFac().auftragFindByPrimaryKey(losDto.getAuftragIId()); KundeDto kundeDto = getKundeFac() .kundeFindByPrimaryKey(auftragDto.getKundeIIdAuftragsadresse(), theClientDto); sKunde = kundeDto.getPartnerDto().formatTitelAnrede(); tGeplanterliefertermin = auftragDto.getDLiefertermin(); if (losDto.getAuftragpositionIId() != null) { AuftragpositionDto auftragpostionDto = getAuftragpositionFac() .auftragpositionFindByPrimaryKey(losDto.getAuftragpositionIId()); if (auftragpostionDto.getTUebersteuerbarerLiefertermin() != null) { tGeplanterliefertermin = auftragpostionDto.getTUebersteuerbarerLiefertermin(); } } else { } } else { sKunde = null; } sMandant = losDto.getMandantCNr(); sProjektbezeichnung = losDto.getCProjekt(); if (fehlmenge.getFlrlossollmaterial().getFlrlos().getFlrstueckliste() != null) { ArtikelDto artikelDto = getArtikelFac() .artikelFindByPrimaryKeySmall(fehlmenge.getFlrlossollmaterial().getFlrlos() .getFlrstueckliste().getFlrartikel().getI_id(), theClientDto); sStueckliste = artikelDto.getCNr(); sStuecklisteBezeichnung = artikelDto.formatBezeichnung(); } } else { sProjektbezeichnung = "Lossollmaterial gel\u00F6scht"; } } catch (RemoteException ex3) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER, ex3); } } if (sMandant == null || eingeloggterMandant.equals(sMandant)) { dataHelp[row][REPORT_FEHLMENGENLISTE_LOS] = sBelegnummer; dataHelp[row][REPORT_FEHLMENGENLISTE_PROJEKTNAME] = sProjektbezeichnung; dataHelp[row][REPORT_FEHLMENGENLISTE_LIEFERTERMIN] = fehlmenge.getT_liefertermin(); dataHelp[row][REPORT_FEHLMENGENLISTE_MENGE] = fehlmenge.getN_menge(); dataHelp[row][REPORT_FEHLMENGENLISTE_KUNDE] = sKunde; dataHelp[row][REPORT_FEHLMENGENLISTE_STUECKLISTE_NUMMER] = sStueckliste; dataHelp[row][REPORT_FEHLMENGENLISTE_STUECKLISTE_BEZEICHNUNG] = sStuecklisteBezeichnung; dataHelp[row][REPORT_FEHLMENGENLISTE_LOSBEGINN] = tLosbeginn; dataHelp[row][REPORT_FEHLMENGENLISTE_LOSENDE] = tLosende; dataHelp[row][REPORT_FEHLMENGENLISTE_ABLIEFERTERMIN] = tGeplanterliefertermin; row++; } } session.close(); data = new Object[row][4]; for (int i = 0; i < row; i++) { data[i] = dataHelp[i]; } ArtikelDto dto = getArtikelFac().artikelFindByPrimaryKey(artikelIId, theClientDto); parameter.put("P_ARTIKEL", dto.formatArtikelbezeichnung()); initJRDS(parameter, ArtikelReportFac.REPORT_MODUL, ArtikelReportFac.REPORT_ARTIKELFEHLMENGE, eingeloggterMandant, theClientDto.getLocUi(), theClientDto); return getReportPrint(); } public boolean next() throws JRException { index++; return (index < data.length); } @TransactionAttribute(TransactionAttributeType.NEVER) public JasperPrintLP printLosstatus(Integer artikelIId, TheClientDto theClientDto) { Integer stuecklisteIId = null; com.lp.server.stueckliste.service.StuecklisteDto stuecklisteDto = getStuecklisteFac() .stuecklisteFindByMandantCNrArtikelIIdOhneExc(artikelIId, theClientDto); if (stuecklisteDto != null) { stuecklisteIId = stuecklisteDto.getIId(); } if (stuecklisteIId != null) { Session session = FLRSessionFactory.getFactory().openSession(); org.hibernate.Criteria atikelliste = session.createCriteria(FLRLosReport.class); atikelliste.add(Restrictions.eq(FertigungFac.FLR_LOS_STUECKLISTE_I_ID, stuecklisteIId)); atikelliste.addOrder(Order.desc("c_nr")); List<?> resultList = atikelliste.list(); Iterator<?> resultListIterator = resultList.iterator(); int row = 0; data = new Object[resultList.size()][18]; while (resultListIterator.hasNext()) { FLRLosReport los = (FLRLosReport) resultListIterator.next(); FLRAuftragReport flrauftrag = null; if (los.getFlrauftragposition() != null) { flrauftrag = los.getFlrauftragposition().getFlrauftrag(); } else { flrauftrag = los.getFlrauftrag(); } if (flrauftrag != null) { data[row][REPORT_LOSSTATUS_AUFTRAG] = flrauftrag.getC_nr(); data[row][REPORT_LOSSTATUS_AUFTRAG_PROJEKT] = flrauftrag.getC_bez(); } data[row][REPORT_LOSSTATUS_LOSNR] = los.getC_nr(); data[row][REPORT_LOSSTATUS_MENGE] = los.getN_losgroesse(); data[row][REPORT_LOSSTATUS_PROJEKT] = los.getC_projekt(); data[row][REPORT_LOSSTATUS_BEGINN] = new java.util.Date(los.getT_produktionsbeginn().getTime()); data[row][REPORT_LOSSTATUS_ENDE] = new java.util.Date(los.getT_produktionsende().getTime()); data[row][REPORT_LOSSTATUS_STATUS] = los.getStatus_c_nr().trim(); Session session2 = FLRSessionFactory.getFactory().openSession(); String sQueryAblieferungen = "SELECT sum(losablieferung.n_menge) AS n_menge, sum(losablieferung.n_menge*losablieferung.n_materialwert) as materialwert,sum(losablieferung.n_menge*losablieferung.n_arbeitszeitwert) AS n_azwert " + " FROM FLRLosablieferung AS losablieferung WHERE losablieferung.flrlos.i_id=" + los.getI_id(); Query ablieferungen = session2.createQuery(sQueryAblieferungen); if (ablieferungen.list().iterator().hasNext()) { Object[] o = (Object[]) ablieferungen.list().iterator().next(); java.math.BigDecimal abgelieferteMange = (BigDecimal) o[0]; data[row][REPORT_LOSSTATUS_ABGELIEFERT] = abgelieferteMange; if (abgelieferteMange != null && abgelieferteMange.doubleValue() != 0) { data[row][REPORT_LOSSTATUS_PREIS_ABLIEFERUNG_MATERIAL] = ((BigDecimal) o[1]) .divide(abgelieferteMange, 4); data[row][REPORT_LOSSTATUS_PREIS_ABLIEFERUNG_ZEIT] = ((BigDecimal) o[2]) .divide(abgelieferteMange, 4); } } session2.close(); try { LosDto losDto = getFertigungFac().losFindByPrimaryKey(los.getI_id()); data[row][REPORT_LOSSTATUS_ANGELEGT] = losDto.getTAnlegen(); data[row][REPORT_LOSSTATUS_ERLEDIGT] = losDto.getTErledigt(); data[row][REPORT_LOSSTATUS_AUSGEGEBEN] = losDto.getTAusgabe(); if (los.getFlrauftrag() != null) { KundeDto kundeDto = getKundeFac() .kundeFindByPrimaryKey(los.getFlrauftrag().getFlrkunde().getI_id(), theClientDto); data[row][REPORT_LOSSTATUS_KUNDE] = kundeDto.getPartnerDto().formatFixName1Name2(); } data[row][REPORT_LOSSTATUS_FERTIGUNGSGRUPPE] = los.getFlrfertigungsgruppe().getC_bez(); if (losDto.getPersonalIIdTechniker() != null) { data[row][REPORT_LOSSTATUS_TECHNIKER] = getPersonalFac() .personalFindByPrimaryKey(losDto.getPersonalIIdTechniker(), theClientDto) .formatFixUFTitelName2Name1(); } data[row][REPORT_LOSSTATUS_ZIELLAGER] = getLagerFac() .lagerFindByPrimaryKey(losDto.getLagerIIdZiel()).getCNr(); } catch (RemoteException e) { throwEJBExceptionLPRespectOld(e); } row++; } session.close(); } else { data = new Object[0][0]; } HashMap<String, Object> parameter = new HashMap<String, Object>(); index = -1; sAktuellerReport = ArtikelReportFac.REPORT_LOSSTATUS; ArtikelDto dto = getArtikelFac().artikelFindByPrimaryKey(artikelIId, theClientDto); parameter.put("P_ARTIKEL", dto.formatArtikelbezeichnung()); initJRDS(parameter, ArtikelReportFac.REPORT_MODUL, ArtikelReportFac.REPORT_LOSSTATUS, theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto); return getReportPrint(); } @TransactionAttribute(TransactionAttributeType.NEVER) public JasperPrintLP printVerwendungsnachweis(Integer artikelIId, boolean bMitVerbrauchtenMengen, java.sql.Timestamp tVon, java.sql.Timestamp tBis, boolean bMitVersteckten, TheClientDto theClientDto) { if (artikelIId == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FELD_DARF_NICHT_NULL_SEIN, new Exception("artikelIId == null")); } // Erstellung des Reports JasperPrintLP print = null; HashMap<String, Object> parameter = new HashMap<String, Object>(); String sMandant = theClientDto.getMandant(); Locale locUi = theClientDto.getLocUi(); index = -1; sAktuellerReport = ArtikelReportFac.REPORT_VERWENDUNGSNACHWEIS; Session session = FLRSessionFactory.getFactory().openSession(); Session session2 = FLRSessionFactory.getFactory().openSession(); Session session3 = FLRSessionFactory.getFactory().openSession(); FLRStueckliste flrStueckliste = new FLRStueckliste(); flrStueckliste.setMandant_c_nr(sMandant); FLRStuecklisteposition flrStuecklisteposition = new FLRStuecklisteposition(); flrStuecklisteposition.setFlrstueckliste(flrStueckliste); FLRStuecklistearbeitsplan flrStuecklistearbeitsplan = new FLRStuecklistearbeitsplan(); flrStuecklistearbeitsplan.setFlrstueckliste(flrStueckliste); org.hibernate.Criteria crit2 = session2.createCriteria(FLRStuecklistearbeitsplan.class) .add(Example.create(flrStuecklistearbeitsplan)) .createAlias( com.lp.server.stueckliste.service.StuecklisteFac.FLR_STUECKLISTEPOSITION_FLRSTUECKLISTE, "s") .add(Restrictions.eq("s.mandant_c_nr", sMandant)) .createAlias(com.lp.server.stueckliste.service.StuecklisteFac.FLR_STUECKLISTEARBEITSPLAN_FLRARTIKEL, "a") .add(Restrictions.eq("a.i_id", artikelIId)).addOrder(Order.asc("a.c_nr")); List<?> results2 = crit2.list(); Iterator<?> resultListIterator2 = results2.iterator(); org.hibernate.Criteria crit = session.createCriteria(FLRStuecklisteposition.class) .createAlias( com.lp.server.stueckliste.service.StuecklisteFac.FLR_STUECKLISTEPOSITION_FLRSTUECKLISTE, "s") .add(Restrictions.eq("s.mandant_c_nr", sMandant)) .createAlias(com.lp.server.stueckliste.service.StuecklisteFac.FLR_STUECKLISTEPOSITION_FLRARTIKEL, "a") .add(Restrictions.eq("a.i_id", artikelIId)).addOrder(Order.asc("a.c_nr")); List<?> results = crit.list(); org.hibernate.Criteria crit3 = session3 .createCriteria(com.lp.server.angebotstkl.fastlanereader.generated.FLRAgstklposition.class) .createAlias(AngebotstklpositionFac.FLR_AGSTKLPOSITION_FLRAGSTKL, "as") .add(Restrictions.eq("as.mandant_c_nr", sMandant)) .createAlias(AngebotstklpositionFac.FLR_AGSTKLPOSITION_FLRARTIKEL, "a") .add(Restrictions.eq("a.i_id", artikelIId)).addOrder(Order.asc("as.c_nr")); List<?> results3 = crit3.list(); Iterator<?> resultListIterator3 = results3.iterator(); Iterator<?> resultListIterator = results.iterator(); data = new Object[results.size() + results2.size() + results3.size()][17]; int row = 0; while (resultListIterator.hasNext()) { FLRStuecklisteposition stuecklisteposition = (FLRStuecklisteposition) resultListIterator.next(); ArtikelDto artikelDto = getArtikelFac().artikelFindByPrimaryKey( stuecklisteposition.getFlrstueckliste().getFlrartikel().getI_id(), theClientDto); data[row][REPORT_VERWENDUNGSNACHWEIS_STUECKLISTE] = stuecklisteposition.getFlrstueckliste() .getFlrartikel().getC_nr(); data[row][REPORT_VERWENDUNGSNACHWEIS_BEZEICHNUNG] = artikelDto.formatBezeichnung(); data[row][REPORT_VERWENDUNGSNACHWEIS_VERSTECKT] = Helper.short2Boolean(artikelDto.getBVersteckt()); data[row][REPORT_VERWENDUNGSNACHWEIS_MENGE] = stuecklisteposition.getN_menge(); data[row][REPORT_VERWENDUNGSNACHWEIS_EINHEIT] = stuecklisteposition.getEinheit_c_nr(); try { data[row][REPORT_VERWENDUNGSNACHWEIS_LETZTE_VERWENDUNG] = getLagerFac() .getDatumLetzterZugangsOderAbgangsbuchung(artikelDto.getIId(), true); data[row][REPORT_VERWENDUNGSNACHWEIS_SPERREN] = getArtikelFac() .getArtikelsperrenText(artikelDto.getIId()); if (bMitVerbrauchtenMengen) { data[row][REPORT_VERWENDUNGSNACHWEIS_VERBRAUCHTEMENGE] = getLagerFac() .getVerbrauchteMengeEinesArtikels( stuecklisteposition.getFlrstueckliste().getFlrartikel().getI_id(), tVon, tBis, theClientDto); } data[row][REPORT_VERWENDUNGSNACHWEIS_LAGERSTAND] = getLagerFac() .getLagerstandAllerLagerEinesMandanten(artikelDto.getIId(), theClientDto); data[row][REPORT_VERWENDUNGSNACHWEIS_RESERVIERT] = getReservierungFac() .getAnzahlReservierungen(artikelDto.getIId(), theClientDto); data[row][REPORT_VERWENDUNGSNACHWEIS_IN_FERTIGUNG] = getFertigungFac() .getAnzahlInFertigung(artikelDto.getIId(), theClientDto); data[row][REPORT_VERWENDUNGSNACHWEIS_FEHLMENGE] = getFehlmengeFac() .getAnzahlFehlmengeEinesArtikels(artikelDto.getIId(), theClientDto); data[row][REPORT_VERWENDUNGSNACHWEIS_RAHMENRESERVIERT] = getReservierungFac() .getAnzahlRahmenreservierungen(artikelDto.getIId(), theClientDto); } catch (RemoteException e) { throwEJBExceptionLPRespectOld(e); } row++; } while (resultListIterator2.hasNext()) { FLRStuecklistearbeitsplan stuecklisteposition = (FLRStuecklistearbeitsplan) resultListIterator2.next(); ArtikelDto artikelDto = getArtikelFac().artikelFindByPrimaryKey( stuecklisteposition.getFlrstueckliste().getFlrartikel().getI_id(), theClientDto); data[row][REPORT_VERWENDUNGSNACHWEIS_STUECKLISTE] = stuecklisteposition.getFlrstueckliste() .getFlrartikel().getC_nr(); data[row][REPORT_VERWENDUNGSNACHWEIS_BEZEICHNUNG] = artikelDto.formatBezeichnung(); data[row][REPORT_VERWENDUNGSNACHWEIS_VERSTECKT] = Helper.short2Boolean(artikelDto.getBVersteckt()); data[row][REPORT_VERWENDUNGSNACHWEIS_ZUSATZ] = "A"; data[row][REPORT_VERWENDUNGSNACHWEIS_ARBEITSGANG] = stuecklisteposition.getI_arbeitsgang(); double lStueckzeit = stuecklisteposition.getL_stueckzeit(); data[row][REPORT_VERWENDUNGSNACHWEIS_STUECKZEIT] = Helper .rundeKaufmaennisch(new BigDecimal(lStueckzeit / 3600000), 4); double lRuestzeit = stuecklisteposition.getL_ruestzeit(); data[row][REPORT_VERWENDUNGSNACHWEIS_RUESTZEIT] = Helper .rundeKaufmaennisch(new BigDecimal(lRuestzeit / 3600000), 4); try { data[row][REPORT_VERWENDUNGSNACHWEIS_LETZTE_VERWENDUNG] = getLagerFac() .getDatumLetzterZugangsOderAbgangsbuchung(artikelDto.getIId(), true); data[row][REPORT_VERWENDUNGSNACHWEIS_SPERREN] = getArtikelFac() .getArtikelsperrenText(artikelDto.getIId()); } catch (RemoteException e) { throwEJBExceptionLPRespectOld(e); } row++; } while (resultListIterator3.hasNext()) { FLRAgstklposition stuecklisteposition = (FLRAgstklposition) resultListIterator3.next(); data[row][REPORT_VERWENDUNGSNACHWEIS_STUECKLISTE] = "AS " + stuecklisteposition.getFlragstkl().getC_nr(); data[row][REPORT_VERWENDUNGSNACHWEIS_BEZEICHNUNG] = stuecklisteposition.getFlragstkl().getC_bez(); data[row][REPORT_VERWENDUNGSNACHWEIS_MENGE] = stuecklisteposition.getN_menge(); data[row][REPORT_VERWENDUNGSNACHWEIS_EINHEIT] = stuecklisteposition.getEinheit_c_nr(); if (stuecklisteposition.getFlrartikel() != null) { try { data[row][REPORT_VERWENDUNGSNACHWEIS_LETZTE_VERWENDUNG] = getLagerFac() .getDatumLetzterZugangsOderAbgangsbuchung(stuecklisteposition.getFlrartikel().getI_id(), true); data[row][REPORT_VERWENDUNGSNACHWEIS_SPERREN] = getArtikelFac() .getArtikelsperrenText(stuecklisteposition.getFlrartikel().getI_id()); } catch (RemoteException e) { throwEJBExceptionLPRespectOld(e); } } row++; } session.close(); session2.close(); session3.close(); // Nun noch nach Stueckliste sortieren for (int m = data.length - 1; m > 0; --m) { for (int n = 0; n < m; ++n) { Object[] o1 = (Object[]) data[n]; Object[] o2 = (Object[]) data[n + 1]; String artnr1 = (String) o1[REPORT_VERWENDUNGSNACHWEIS_STUECKLISTE]; String artnr2 = (String) o2[REPORT_VERWENDUNGSNACHWEIS_STUECKLISTE]; if (artnr1.compareToIgnoreCase(artnr2) > 0) { data[n] = o2; data[n + 1] = o1; } } } ArtikelDto dto = getArtikelFac().artikelFindByPrimaryKey(artikelIId, theClientDto); parameter.put("P_ARTIKEL", dto.formatArtikelbezeichnung()); parameter.put("P_MITVERSTECKTEN", new Boolean(bMitVersteckten)); parameter.put("P_MITVERBRAUCHTENMENGEN", new Boolean(bMitVerbrauchtenMengen)); parameter.put("P_VON", tVon); parameter.put("P_BIS", tBis); initJRDS(parameter, ArtikelReportFac.REPORT_MODUL, ArtikelReportFac.REPORT_VERWENDUNGSNACHWEIS, sMandant, locUi, theClientDto); print = getReportPrint(); return print; } @TransactionAttribute(TransactionAttributeType.NEVER) public JasperPrintLP printFreiInFertigung(Integer artikelIId, TheClientDto theClientDto) { Session session = FLRSessionFactory.getFactory().openSession(); String sQuery = "SELECT lossollmaterial.los_i_id, sum(lossollmaterial.n_menge) AS n_menge " + " FROM FLRLossollmaterial AS lossollmaterial WHERE lossollmaterial." + FertigungFac.FLR_LOSSOLLMATERIAL_FLRARTIKEL + ".i_id=" + artikelIId + " AND lossollmaterial.n_menge > 0 AND lossollmaterial." + FertigungFac.FLR_LOSSOLLMATERIAL_FLRLOS + ".mandant_c_nr='" + theClientDto.getMandant() + "' AND lossollmaterial." + FertigungFac.FLR_LOSSOLLMATERIAL_FLRLOS + ".status_c_nr NOT IN ('" + FertigungFac.STATUS_ERLEDIGT + "','" + FertigungFac.STATUS_STORNIERT + "') GROUP BY lossollmaterial.los_i_id, lossollmaterial." + FertigungFac.FLR_LOSSOLLMATERIAL_FLRARTIKEL + ".i_id ORDER BY lossollmaterial.los_i_id DESC"; Query inventurliste = session.createQuery(sQuery); List<?> resultList = inventurliste.list(); Iterator<?> resultListIterator = resultList.iterator(); data = new Object[resultList.size()][6]; int row = 0; while (resultListIterator.hasNext()) { Object o[] = (Object[]) resultListIterator.next(); Integer los_i_id = (Integer) o[0]; java.math.BigDecimal n_menge = (java.math.BigDecimal) o[1]; try { LosDto losDto = getFertigungFac().losFindByPrimaryKey(los_i_id); if (losDto.getAuftragpositionIId() != null) { Integer auftrag_i_id = getAuftragpositionFac() .auftragpositionFindByPrimaryKey(losDto.getAuftragpositionIId()).getBelegIId(); data[row][REPORT_FREIINFERTIGUNG_AUFTRAG] = getAuftragFac() .auftragFindByPrimaryKey(auftrag_i_id).getCNr(); } Session session2 = FLRSessionFactory.getFactory().openSession(); String sQueryAblieferungen = "SELECT sum(losablieferung.n_menge) AS n_menge " + " FROM FLRLosablieferung AS losablieferung WHERE losablieferung.flrlos.i_id=" + losDto.getIId() + " GROUP BY losablieferung.los_i_id"; Query ablieferungen = session2.createQuery(sQueryAblieferungen); java.math.BigDecimal abgelieferteMange = new java.math.BigDecimal(0); if (ablieferungen.list().iterator().hasNext()) { abgelieferteMange = (java.math.BigDecimal) ablieferungen.list().iterator().next(); } session2.close(); java.math.BigDecimal teil1 = losDto.getNLosgroesse().subtract(abgelieferteMange); java.math.BigDecimal teil2 = n_menge.divide(losDto.getNLosgroesse(), java.math.BigDecimal.ROUND_HALF_EVEN); data[row][REPORT_FREIINFERTIGUNG_BEGINN] = new java.util.Date( losDto.getTProduktionsbeginn().getTime()); data[row][REPORT_FREIINFERTIGUNG_ENDE] = new java.util.Date(losDto.getTProduktionsende().getTime()); data[row][REPORT_FREIINFERTIGUNG_FREIEMENGE] = teil1.multiply(teil2); data[row][REPORT_FREIINFERTIGUNG_LOSNR] = losDto.getCNr(); data[row][REPORT_FREIINFERTIGUNG_PROJEKT] = losDto.getCProjekt(); } catch (RemoteException ex) { throwEJBExceptionLPRespectOld(ex); } row++; } session.close(); HashMap<String, Object> parameter = new HashMap<String, Object>(); ArtikelDto dto = getArtikelFac().artikelFindByPrimaryKey(artikelIId, theClientDto); parameter.put("P_ARTIKEL", dto.formatArtikelbezeichnung()); index = -1; sAktuellerReport = ArtikelReportFac.REPORT_FREIINFERTIGUNG; initJRDS(parameter, ArtikelReportFac.REPORT_MODUL, ArtikelReportFac.REPORT_FREIINFERTIGUNG, theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto); return getReportPrint(); } @TransactionAttribute(TransactionAttributeType.NEVER) public JasperPrintLP printArtikelstammblatt(Integer artikelIId, TheClientDto theClientDto) { // Erstellung des Reports HashMap<String, Object> parameter = new HashMap<String, Object>(); index = -1; sAktuellerReport = ArtikelReportFac.REPORT_ARTIKELSTAMMBLATT; data = new Object[1][25]; try { boolean darfEinkaufspreisSehen = false; boolean darfVerkaufspreisSehen = false; darfEinkaufspreisSehen = getTheJudgeFac().hatRecht(RechteFac.RECHT_LP_DARF_PREISE_SEHEN_EINKAUF, theClientDto); darfVerkaufspreisSehen = getTheJudgeFac().hatRecht(RechteFac.RECHT_LP_DARF_PREISE_SEHEN_VERKAUF, theClientDto); ArtikelDto artikelDto = getArtikelFac().artikelFindByPrimaryKey(artikelIId, theClientDto); data[0][REPORT_ARTIKELSTAMMBLATT_ARTIKELNUMMER] = artikelDto.getCNr(); byte[] bild = getArtikelkommentarFac().getArtikeldefaultBild(artikelIId, theClientDto); if (bild != null) { java.awt.Image myImage = Helper.byteArrayToImage(bild); data[0][REPORT_ARTIKELSTAMMBLATT_BILD] = myImage; } if (artikelDto.getArtikelsprDto() != null) { data[0][REPORT_ARTIKELSTAMMBLATT_BEZEICHNUNG] = artikelDto.getArtikelsprDto().getCBez(); data[0][REPORT_ARTIKELSTAMMBLATT_ZUSATZBEZEICHNUNG] = artikelDto.getArtikelsprDto().getCZbez(); data[0][REPORT_ARTIKELSTAMMBLATT_KURZBEZEICHNUNG] = artikelDto.getArtikelsprDto().getCKbez(); } ArtikellieferantDto[] artikellieferantDtos = getArtikelFac() .artikellieferantFindByArtikelIId(artikelIId, theClientDto); if (artikellieferantDtos != null && artikellieferantDtos.length > 0) { data[0][REPORT_ARTIKELSTAMMBLATT_LIEFERANT] = getLieferantFac() .lieferantFindByPrimaryKey(artikellieferantDtos[0].getLieferantIId(), theClientDto) .getPartnerDto().formatAnrede(); data[0][REPORT_ARTIKELSTAMMBLATT_ARTIKELNUMMERLIEFERANT] = artikellieferantDtos[0] .getCArtikelnrlieferant(); } if (artikelDto.getMaterialIId() != null) { data[0][REPORT_ARTIKELSTAMMBLATT_MATERIAL] = getMaterialFac() .materialFindByPrimaryKey(artikelDto.getMaterialIId(), theClientDto).getCNr(); } data[0][REPORT_ARTIKELSTAMMBLATT_GEWICHT] = artikelDto.getFGewichtkg(); data[0][REPORT_ARTIKELSTAMMBLATT_WARENVERKEHRSNUMMER] = artikelDto.getCWarenverkehrsnummer(); data[0][REPORT_ARTIKELSTAMMBLATT_EAN] = artikelDto.getCVerkaufseannr(); data[0][REPORT_ARTIKELSTAMMBLATT_VERPACKUNGSEINHEIT] = artikelDto.getFVerpackungsmenge(); data[0][REPORT_ARTIKELSTAMMBLATT_LAGERSTAND] = getLagerFac() .getLagerstandAllerLagerEinesMandanten(artikelDto.getIId(), theClientDto); data[0][REPORT_ARTIKELSTAMMBLATT_LAGERPLATZ] = getLagerFac() .getLagerplaezteEinesArtikels(artikelDto.getIId(), null); data[0][REPORT_ARTIKELSTAMMBLATT_RESERVIERT] = getReservierungFac() .getAnzahlReservierungen(artikelDto.getIId(), theClientDto); data[0][REPORT_ARTIKELSTAMMBLATT_FEHLMENGE] = getFehlmengeFac() .getAnzahlFehlmengeEinesArtikels(artikelDto.getIId(), theClientDto); data[0][REPORT_ARTIKELSTAMMBLATT_INFERTIGUNG] = getFertigungFac().getAnzahlInFertigung(artikelIId, theClientDto); data[0][REPORT_ARTIKELSTAMMBLATT_BESTELLT] = getArtikelbestelltFac() .getAnzahlBestellt(artikelDto.getIId()); data[0][REPORT_ARTIKELSTAMMBLATT_RAHMENRESERVIERT] = getReservierungFac() .getAnzahlRahmenreservierungen(artikelDto.getIId(), theClientDto); BigDecimal rahmenbestellt = null; Hashtable htAnzahlRahmenbestellt = getArtikelbestelltFac().getAnzahlRahmenbestellt(artikelDto.getIId(), theClientDto); if (htAnzahlRahmenbestellt.containsKey(ArtikelbestelltFac.KEY_RAHMENBESTELLT_ANZAHL)) { rahmenbestellt = (BigDecimal) htAnzahlRahmenbestellt .get(ArtikelbestelltFac.KEY_RAHMENBESTELLT_ANZAHL); data[0][REPORT_ARTIKELSTAMMBLATT_RAHMENBESTELLT] = rahmenbestellt; } data[0][REPORT_ARTIKELSTAMMBLATT_DETAILBEDARF] = getRahmenbedarfeFac() .getSummeAllerRahmenbedarfeEinesArtikels(artikelDto.getIId()); LagerDto[] lagerDtos = getLagerFac().lagerFindByMandantCNr(theClientDto.getMandant()); Object[][] dataSub = new Object[lagerDtos.length][2]; String[] fieldnames = new String[] { "F_LAGER", "F_LAGERSTAND" }; for (int i = 0; i < lagerDtos.length; i++) { dataSub[i][0] = lagerDtos[i].getCNr(); dataSub[i][1] = getLagerFac().getLagerstand(artikelDto.getIId(), lagerDtos[i].getIId(), theClientDto); } data[0][REPORT_ARTIKELSTAMMBLATT_SUBREPORT_LAGERSTAENDE] = new LPDatenSubreport(dataSub, fieldnames); if (darfEinkaufspreisSehen) { ArtikellieferantDto liefrant = getArtikelFac().getArtikelEinkaufspreis(artikelDto.getIId(), new BigDecimal(1), theClientDto.getSMandantenwaehrung(), theClientDto); if (liefrant != null) { data[0][REPORT_ARTIKELSTAMMBLATT_EINKAUFSPREIS] = liefrant.getLief1Preis(); } } if (darfVerkaufspreisSehen) { try { VkPreisfindungEinzelverkaufspreisDto dto = getVkPreisfindungFac().getArtikeleinzelverkaufspreis( artikelDto.getIId(), new java.sql.Date(System.currentTimeMillis()), theClientDto.getSMandantenwaehrung(), theClientDto); if (dto != null) { data[0][REPORT_ARTIKELSTAMMBLATT_VERKAUFSPREIS] = dto.getNVerkaufspreisbasis(); } } catch (RemoteException ex1) { // NOTHING HERE } } ArtikelkommentarDto[] dtos = getArtikelkommentarFac().artikelkommentardruckFindByArtikelIIdBelegartCNr( artikelDto.getIId(), LocaleFac.BELEGART_ANGEBOT, theClientDto.getLocUiAsString(), theClientDto); if (dtos != null && dtos.length > 0) { for (int i = 0; i < dtos.length; i++) { if (dtos[i].getDatenformatCNr().equals(MediaFac.DATENFORMAT_MIMETYPE_TEXT_HTML) && dtos[i].getArtikelkommentarsprDto() != null) { data[0][REPORT_ARTIKELSTAMMBLATT_LANGTEXT] = dtos[0].getArtikelkommentarsprDto() .getXKommentar(); } break; } } } catch (RemoteException ex) { throwEJBExceptionLPRespectOld(ex); } parameter = new HashMap<String, Object>(); parameter.put("P_WAEHRUNG", theClientDto.getSMandantenwaehrung()); initJRDS(parameter, ArtikelReportFac.REPORT_MODUL, ArtikelReportFac.REPORT_ARTIKELSTAMMBLATT, theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto); return getReportPrint(); } @TransactionAttribute(TransactionAttributeType.NEVER) public JasperPrintLP printAuftragsseriennummern(Integer artikelIId, java.sql.Date dVon, java.sql.Date dBis, TheClientDto theClientDto) { sAktuellerReport = ArtikelReportFac.REPORT_AUFTRAGSSERIENNUMMERN; Session session = FLRSessionFactory.getFactory().openSession(); org.hibernate.Criteria bestelltliste = session.createCriteria(FLRAuftragseriennrn.class); bestelltliste.add(Restrictions.eq("artikel_i_id", artikelIId)); bestelltliste.createAlias("flrauftragposition", "ap"); bestelltliste.createAlias("ap.flrauftrag", "a"); if (dVon != null) { bestelltliste.add(Restrictions.ge("a." + AuftragFac.FLR_AUFTRAG_D_BELEGDATUM, dVon)); } if (dBis != null) { bestelltliste.add(Restrictions.lt("a." + AuftragFac.FLR_AUFTRAG_D_BELEGDATUM, dBis)); } bestelltliste.addOrder(Order.desc("c_seriennr")); List<?> resultList = bestelltliste.list(); Iterator<?> resultListIterator = resultList.iterator(); data = new Object[resultList.size()][REPORT_AUFTRAGSERIENNR_ANZAHL_SPALTEN]; int row = 0; while (resultListIterator.hasNext()) { FLRAuftragseriennrn auftser = (FLRAuftragseriennrn) resultListIterator.next(); data[row][REPORT_AUFTRAGSERIENNR_SERIENNUMMER] = auftser.getC_seriennr(); data[row][REPORT_AUFTRAGSERIENNR_AUFTRAG] = auftser.getFlrauftragposition().getFlrauftrag().getC_nr(); data[row][REPORT_AUFTRAGSERIENNR_BELEGDATUM] = new Timestamp( auftser.getFlrauftragposition().getFlrauftrag().getT_belegdatum().getTime()); data[row][REPORT_AUFTRAGSERIENNR_PROJEKT] = auftser.getFlrauftragposition().getFlrauftrag().getC_bez(); String kunde = auftser.getFlrauftragposition().getFlrauftrag().getFlrkunde().getFlrpartner() .getC_name1nachnamefirmazeile1(); if (auftser.getFlrauftragposition().getFlrauftrag().getFlrkunde().getFlrpartner() .getC_name2vornamefirmazeile2() != null) { kunde += " " + auftser.getFlrauftragposition().getFlrauftrag().getFlrkunde().getFlrpartner() .getC_name2vornamefirmazeile2(); } data[row][REPORT_AUFTRAGSERIENNR_KUNDE] = kunde; row++; } HashMap<String, Object> parameter = new HashMap<String, Object>(); ArtikelDto dto = getArtikelFac().artikelFindByPrimaryKey(artikelIId, theClientDto); parameter.put("P_ARTIKEL", dto.formatArtikelbezeichnung()); initJRDS(parameter, ArtikelReportFac.REPORT_MODUL, ArtikelReportFac.REPORT_AUFTRAGSSERIENNUMMERN, theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto); return getReportPrint(); } @TransactionAttribute(TransactionAttributeType.NEVER) public JasperPrintLP printBewegungsvorschau(Integer artikelId, boolean bInternebestellungMiteinbeziehen, TheClientDto theClientDto) { HashMap<String, Object> parameter = new HashMap<String, Object>(); boolean bAuftragStundenMinuten = false; try { ArtikelDto dto = getArtikelFac().artikelFindByPrimaryKey(artikelId, theClientDto); parameter.put("P_ARTIKEL", dto.formatArtikelbezeichnung()); parameter.put("P_ARTIKELEINHEIT", dto.getEinheitCNr().trim()); parameter.put("P_BESTELLEINHEIT", dto.getEinheitCNrBestellung()); parameter.put("P_MULTIPLIKATORBESTELLMENGE", dto.getNUmrechnungsfaktor()); parameter.put("P_BESTELLEINHEIT_INVERS", Helper.short2Boolean(dto.getbBestellmengeneinheitInvers())); parameter.put("P_LAGERMINDESTSTAND", dto.getFLagermindest()); parameter.put("P_LAGERSOLLSTAND", dto.getFLagersoll()); parameter.put("P_FERTIGUNGSSATZGROESSE", dto.getFFertigungssatzgroesse()); ZusatzfunktionberechtigungDto zusatzfunktionberechtigungDto = getMandantFac() .zusatzfunktionberechtigungFindByPrimaryKey( MandantFac.ZUSATZFUNKTION_AUFTRAGTERMIN_STUNDEN_MINUTEN, theClientDto.getMandant()); if (zusatzfunktionberechtigungDto != null) { bAuftragStundenMinuten = true; } } catch (RemoteException ex) { throwEJBExceptionLPRespectOld(ex); } index = -1; sAktuellerReport = ArtikelReportFac.REPORT_BEWEGUNGSVORSCHAU; try { // SP 1008 OHNE Internebestellung ArrayList<?> list = getInternebestellungFac().getBewegungsvorschauSortiert(artikelId, false, theClientDto); BewegungsvorschauDto[] returnArray = new BewegungsvorschauDto[list.size()]; BewegungsvorschauDto[] dtos = (com.lp.server.bestellung.service.BewegungsvorschauDto[]) list .toArray(returnArray); LagerDto lagerDto = getLagerFac().getHauptlagerDesMandanten(theClientDto); LagerDto[] allelaegerDtos = getLagerFac().lagerFindByMandantCNr(theClientDto.getMandant()); int row = 0; data = new Object[list.size() + allelaegerDtos.length][REPORT_BEWEGUNGSVORSCHAU_ANZAHL_FELDER]; BigDecimal anfangslagerstand = new BigDecimal(0); if (Helper.short2boolean(lagerDto.getBBestellvorschlag()) || Helper.short2boolean(lagerDto.getBInternebestellung())) { anfangslagerstand = getLagerFac().getLagerstand(artikelId, lagerDto.getIId(), theClientDto); } data[0][REPORT_BEWEGUNGSVORSCHAU_BELEGART] = "Lagerstand"; data[0][REPORT_BEWEGUNGSVORSCHAU_BELEGNR] = lagerDto.getCNr(); data[0][REPORT_BEWEGUNGSVORSCHAU_PARTNER] = LagerFac.LAGERART_HAUPTLAGER.trim(); data[0][REPORT_BEWEGUNGSVORSCHAU_MENGE] = getLagerFac().getLagerstand(artikelId, lagerDto.getIId(), theClientDto); data[0][REPORT_BEWEGUNGSVORSCHAU_FIKTIVERLAGERSTAND] = anfangslagerstand; data[0][REPORT_BEWEGUNGSVORSCHAU_BESTELLVORSCHLAG_BERUECKSICHTIGT_LAGER] = Helper .short2Boolean(lagerDto.getBBestellvorschlag()); data[0][REPORT_BEWEGUNGSVORSCHAU_INTERNEBESTELLUNG_BERUECKSICHTIGT_LAGER] = Helper .short2Boolean(lagerDto.getBInternebestellung()); for (int i = 0; i < allelaegerDtos.length; i++) { LagerDto dto = allelaegerDtos[i]; if (!dto.getLagerartCNr().equals(LagerFac.LAGERART_HAUPTLAGER)) { row++; data[row][REPORT_BEWEGUNGSVORSCHAU_BELEGART] = "Lagerstand"; data[row][REPORT_BEWEGUNGSVORSCHAU_BELEGNR] = dto.getCNr(); data[row][REPORT_BEWEGUNGSVORSCHAU_PARTNER] = dto.getLagerartCNr(); BigDecimal bdLagerstandActLager = getLagerFac().getLagerstand(artikelId, dto.getIId(), theClientDto); data[row][REPORT_BEWEGUNGSVORSCHAU_MENGE] = bdLagerstandActLager; if (Helper.short2boolean(dto.getBBestellvorschlag()) || Helper.short2boolean(dto.getBInternebestellung())) { // Lagerstand der Laeger aendert sich nur wenn im Artikel // beruecksichigen aktiviert wurde anfangslagerstand = anfangslagerstand.add(bdLagerstandActLager); } data[row][REPORT_BEWEGUNGSVORSCHAU_FIKTIVERLAGERSTAND] = anfangslagerstand; data[row][REPORT_BEWEGUNGSVORSCHAU_BESTELLVORSCHLAG_BERUECKSICHTIGT_LAGER] = Helper .short2Boolean(dto.getBBestellvorschlag()); data[row][REPORT_BEWEGUNGSVORSCHAU_INTERNEBESTELLUNG_BERUECKSICHTIGT_LAGER] = Helper .short2Boolean(dto.getBInternebestellung()); } } for (int i = 0; i < dtos.length; i++) { row++; BewegungsvorschauDto dto = dtos[i]; data[row][REPORT_BEWEGUNGSVORSCHAU_BELEGART] = dto.getCBelegartCNr(); data[row][REPORT_BEWEGUNGSVORSCHAU_BELEGNR] = dto.getCBelegnummer(); if (dto.getCBelegartCNr() != null && dto.getCBelegartCNr().equals(LocaleFac.BELEGART_LOS)) { LosDto losDto = null; try { losDto = getFertigungFac().losFindByPrimaryKey(dto.getIBelegIId()); } catch (EJBExceptionLP e) { // Los nicht mehr vorhanden } if (losDto != null && losDto.getAuftragIId() != null) { AuftragDto aDto = getAuftragFac().auftragFindByPrimaryKey(losDto.getAuftragIId()); data[row][REPORT_BEWEGUNGSVORSCHAU_LOS_AUFTRAGSNUMMER] = aDto.getCNr(); } } data[row][REPORT_BEWEGUNGSVORSCHAU_PROJEKT] = dto.getCProjekt(); data[row][REPORT_BEWEGUNGSVORSCHAU_MENGE] = dto.getNMenge(); data[row][REPORT_BEWEGUNGSVORSCHAU_LIEFERTERMIN] = dto.getTLiefertermin(); if (dto.getCBelegartCNr() != null && dto.getCBelegartCNr().equals(LocaleFac.BELEGART_BESTELLUNG) && dto.getIBelegPositionIId() != null) { BestellpositionDto bestPosDto = getBestellpositionFac() .bestellpositionFindByPrimaryKeyOhneExc(dto.getIBelegPositionIId()); data[row][REPORT_BEWEGUNGSVORSCHAU_BEST_ABNUMMER] = bestPosDto.getCABNummer(); data[row][REPORT_BEWEGUNGSVORSCHAU_BEST_ABTERMIN] = dto.getTABTerminBestellung(); } if (bAuftragStundenMinuten) if (dto.getCBelegartCNr().equals(LocaleFac.BELEGART_AUFTRAG)) { AuftragDto auftragDto = getAuftragFac().auftragFindByPrimaryKey(dto.getIBelegIId()); data[row][REPORT_BEWEGUNGSVORSCHAU_FINALTERMIN] = Helper .formatTimestamp(auftragDto.getDFinaltermin(), theClientDto.getLocMandant()); } anfangslagerstand = anfangslagerstand.add(dto.getNMenge()); data[row][REPORT_BEWEGUNGSVORSCHAU_FIKTIVERLAGERSTAND] = anfangslagerstand; if (dto.getPartnerDto() != null) { data[row][REPORT_BEWEGUNGSVORSCHAU_PARTNER] = dto.getPartnerDto().formatFixTitelName1Name2(); } data[row][REPORT_BEWEGUNGSVORSCHAU_BESTELLVORSCHLAG_BERUECKSICHTIGT_LAGER] = null; data[row][REPORT_BEWEGUNGSVORSCHAU_INTERNEBESTELLUNG_BERUECKSICHTIGT_LAGER] = null; } } catch (RemoteException ex) { throwEJBExceptionLPRespectOld(ex); } initJRDS(parameter, ArtikelReportFac.REPORT_MODUL, ArtikelReportFac.REPORT_BEWEGUNGSVORSCHAU, theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto); return getReportPrint(); } @TransactionAttribute(TransactionAttributeType.NEVER) public JasperPrintLP printArtikelstatistik(Integer artikelIId, java.sql.Date dVon, java.sql.Date dBis, Integer iOption, boolean bMonatsstatistik, boolean bEingeschraenkt, boolean bMitHandlagerbewegungen, boolean bMitBewegungsvorschau, boolean bMitHistory, TheClientDto theClientDto) throws RemoteException { if (artikelIId == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FELD_DARF_NICHT_NULL_SEIN, new Exception("artikelIId == null")); } boolean bWeReferenzAndrucken = false; try { ParametermandantDto parameter = getParameterFac().getMandantparameter(theClientDto.getMandant(), ParameterFac.KATEGORIE_ARTIKEL, ParameterFac.PARAMETER_WE_REFERENZ_IN_STATISTIK); bWeReferenzAndrucken = ((Boolean) parameter.getCWertAsObject()).booleanValue(); } catch (RemoteException ex) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER, ex); } // Erstellung des Reports HashMap<String, Object> parameter = new HashMap<String, Object>(); Session session = FLRSessionFactory.getFactory().openSession(); org.hibernate.Criteria crit = session.createCriteria(FLRLagerbewegung.class).createAlias("flrartikel", "a") .add(Restrictions.eq("a.i_id", artikelIId)) .createAlias("flrlager", "l"); if (bMitHistory == false) { crit.add(Restrictions.eq("b_historie", Helper.boolean2Short(false))); } parameter.put("P_MITBUCHUNGSDETAILS", new Boolean(bMitHistory)); parameter.put("P_MITBEWEGUNGSVORSCHAU", new Boolean(bMitBewegungsvorschau)); parameter.put("P_EINGESCHRAENKT", new Boolean(bEingeschraenkt)); if (!getMandantFac().darfAnwenderAufZusatzfunktionZugreifen( MandantFac.ZUSATZFUNKTION_ZENTRALER_ARTIKELSTAMM, theClientDto)) { crit.add(Restrictions.eq("l.mandant_c_nr", theClientDto.getMandant())); } else { if (getMandantFac().darfAnwenderAufZusatzfunktionZugreifen(MandantFac.ZUSATZFUNKTION_GETRENNTE_LAGER, theClientDto)) { crit.add(Restrictions.eq("l.mandant_c_nr", theClientDto.getMandant())); } } // PJ 17221 // crit.add( // Restrictions.not(Restrictions.eq("l.lagerart_c_nr", // LagerFac.LAGERART_WERTGUTSCHRIFT))); crit.addOrder(Order.desc(LagerFac.FLR_LAGERBEWEGUNG_T_BELEGDATUM)) .addOrder(Order.desc(LagerFac.FLR_LAGERBEWEGUNG_T_BUCHUNGSZEIT)) .addOrder(Order.desc(LagerFac.FLR_LAGERBEWEGUNG_B_ABGANG)); if (dVon != null) { crit.add(Restrictions.ge(LagerFac.FLR_LAGERBEWEGUNG_T_BELEGDATUM, dVon)); parameter.put("P_VON", new java.sql.Timestamp(dVon.getTime())); } if (dBis != null) { crit.add(Restrictions.le(LagerFac.FLR_LAGERBEWEGUNG_T_BELEGDATUM, dBis)); parameter.put("P_BIS", new java.sql.Timestamp(dBis.getTime())); } boolean darfEinkaufspreisSehen = getTheJudgeFac().hatRecht(RechteFac.RECHT_LP_DARF_PREISE_SEHEN_EINKAUF, theClientDto); boolean darfVerkaufspreisSehen = getTheJudgeFac().hatRecht(RechteFac.RECHT_LP_DARF_PREISE_SEHEN_VERKAUF, theClientDto); parameter.put("P_RECHT_LP_DARF_PREISE_SEHEN_EINKAUF", darfEinkaufspreisSehen); parameter.put("P_RECHT_LP_DARF_PREISE_SEHEN_VERKAUF", darfVerkaufspreisSehen); if (iOption == ArtikelFac.REPORT_ARTIKELSTATISTIK_OPTION_ALLE) { parameter.put("P_MITSUMMENZEILE", new Boolean(false)); parameter.put("P_BELEGARTEN", getTextRespectUISpr("lp.alle", theClientDto.getMandant(), theClientDto.getLocUi())); parameter.put("P_BELEGART_AUSWAHL", "lp.alle"); } else if (iOption == ArtikelFac.REPORT_ARTIKELSTATISTIK_OPTION_EK) { parameter.put("P_MITSUMMENZEILE", new Boolean(true)); parameter.put("P_BELEGARTEN", getTextRespectUISpr("lp.einkauf", theClientDto.getMandant(), theClientDto.getLocUi())); String[] belegarten = new String[1]; belegarten[0] = LocaleFac.BELEGART_BESTELLUNG; crit.add(Restrictions.in(LagerFac.FLR_LAGERBEWEGUNG_C_BELEGARTNR, belegarten)); parameter.put("P_BELEGART_AUSWAHL", "lp.einkauf"); } else if (iOption == ArtikelFac.REPORT_ARTIKELSTATISTIK_OPTION_VK) { parameter.put("P_MITSUMMENZEILE", new Boolean(true)); parameter.put("P_BELEGARTEN", getTextRespectUISpr("lp.verkauf", theClientDto.getMandant(), theClientDto.getLocUi())); String[] belegarten = new String[3]; belegarten[0] = LocaleFac.BELEGART_RECHNUNG; belegarten[1] = LocaleFac.BELEGART_LIEFERSCHEIN; belegarten[2] = LocaleFac.BELEGART_GUTSCHRIFT; crit.add(Restrictions.in(LagerFac.FLR_LAGERBEWEGUNG_C_BELEGARTNR, belegarten)); parameter.put("P_BELEGART_AUSWAHL", "lp.verkauf"); } else if (iOption == ArtikelFac.REPORT_ARTIKELSTATISTIK_OPTION_FERTIGUNG) { parameter.put("P_MITSUMMENZEILE", new Boolean(true)); parameter.put("P_BELEGARTEN", getTextRespectUISpr("lp.fertigung", theClientDto.getMandant(), theClientDto.getLocUi())); String[] belegarten = new String[2]; belegarten[0] = LocaleFac.BELEGART_LOS; belegarten[1] = LocaleFac.BELEGART_LOSABLIEFERUNG; crit.add(Restrictions.in(LagerFac.FLR_LAGERBEWEGUNG_C_BELEGARTNR, belegarten)); parameter.put("P_BELEGART_AUSWAHL", "lp.fertigung"); } if (bMitHandlagerbewegungen == false) { String[] belegarten = new String[1]; belegarten[0] = LocaleFac.BELEGART_HAND; crit.add(Restrictions.not(Restrictions.in(LagerFac.FLR_LAGERBEWEGUNG_C_BELEGARTNR, belegarten))); } parameter.put("P_MITHANDLAGERBEWEGUNGEN", new Boolean(bMitHandlagerbewegungen)); if (bEingeschraenkt) { crit.setMaxResults(50); } List<?> results = crit.list(); Iterator<?> resultListIterator = results.iterator(); ArrayList<Object[]> al = new ArrayList<Object[]>(); // PJ 14202 Session sessionInv = FLRSessionFactory.getFactory().openSession(); String sQuery = "FROM FLRInventurstand AS i WHERE i.flrartikel.i_id=" + artikelIId; if (dVon != null) { sQuery += " AND i.flrinventur.t_inventurdatum>='" + Helper.formatDateWithSlashes(dVon) + "'"; } if (dBis != null) { sQuery += " AND i.flrinventur.t_inventurdatum<='" + Helper.formatDateWithSlashes(dBis) + "'"; } sQuery += " ORDER BY i.flrinventur.t_inventurdatum DESC"; Query inventurliste = sessionInv.createQuery(sQuery); ArrayList alInventurliste = new ArrayList(); List<?> resultList = inventurliste.list(); Iterator<?> resultListInventur = resultList.iterator(); while (resultListInventur.hasNext()) { FLRInventurstand item = (FLRInventurstand) resultListInventur.next(); alInventurliste.add(item); } while (resultListIterator.hasNext()) { FLRLagerbewegung lagerbewegung = (FLRLagerbewegung) resultListIterator.next(); if (bMitHistory == true || lagerbewegung.getN_menge().doubleValue() > 0) { while (alInventurliste.size() > 0) { FLRInventurstand flr = (FLRInventurstand) alInventurliste.get(0); if (lagerbewegung.getT_belegdatum().getTime() <= flr.getFlrinventur().getT_inventurdatum() .getTime()) { Object[] zeile = new Object[REPORT_ARTIKELSTATISTIK_ANZAHL_SPALTEN]; zeile[REPORT_ARTIKELSTATISTIK_BEWEGUNGSVORSCHAU] = new Boolean(false); zeile[REPORT_ARTIKELSTATISTIK_BELEGART] = "Inventurstand"; java.sql.Timestamp ts = new java.sql.Timestamp( flr.getFlrinventur().getT_inventurdatum().getTime()); zeile[REPORT_ARTIKELSTATISTIK_SORTIERDATUM] = ts; zeile[REPORT_ARTIKELSTATISTIK_BELEGDATUM] = ts; zeile[REPORT_ARTIKELSTATISTIK_BUCHUNGSZEIT] = ts; zeile[REPORT_ARTIKELSTATISTIK_INVENTURMENGE] = flr.getN_inventurmenge(); zeile[REPORT_ARTIKELSTATISTIK_BELEGNUMMER] = flr.getFlrinventur().getC_bez(); al.add(zeile); alInventurliste.remove(0); } else { break; } } Object[] zeile = new Object[REPORT_ARTIKELSTATISTIK_ANZAHL_SPALTEN]; zeile[REPORT_ARTIKELSTATISTIK_BEWEGUNGSVORSCHAU] = new Boolean(false); String sBelegartCNr = lagerbewegung.getFlrbelegart().getC_nr(); zeile[REPORT_ARTIKELSTATISTIK_BELEGARTCNR] = sBelegartCNr; if (lagerbewegung.getFlrlager().getLagerart_c_nr().equals(LagerFac.LAGERART_WERTGUTSCHRIFT)) { zeile[REPORT_ARTIKELSTATISTIK_BELEGART] = LagerFac.LAGERART_WERTGUTSCHRIFT; } else { zeile[REPORT_ARTIKELSTATISTIK_BELEGART] = lagerbewegung.getC_belegartnr(); } if (lagerbewegung.getC_belegartnr().equals(LocaleFac.BELEGART_LOS) || lagerbewegung.getC_belegartnr().equals(LocaleFac.BELEGART_LOSABLIEFERUNG)) { LosDto losDto = getFertigungFac().losFindByPrimaryKey(lagerbewegung.getI_belegartid()); if (losDto.getStuecklisteIId() != null) { zeile[REPORT_ARTIKELSTATISTIK_STUECKLISTENARTIKEL] = getStuecklisteFac() .stuecklisteFindByPrimaryKey(losDto.getStuecklisteIId(), theClientDto) .getArtikelDto().formatArtikelbezeichnung(); } else { zeile[REPORT_ARTIKELSTATISTIK_STUECKLISTENARTIKEL] = "Materialliste"; } zeile[REPORT_ARTIKELSTATISTIK_LOS_STATUS] = losDto.getStatusCNr(); zeile[REPORT_ARTIKELSTATISTIK_LOS_BEGINN] = losDto.getTProduktionsbeginn(); zeile[REPORT_ARTIKELSTATISTIK_LOS_ENDE] = losDto.getTProduktionsende(); zeile[REPORT_ARTIKELSTATISTIK_LOS_PROJEKT] = losDto.getCProjekt(); zeile[REPORT_ARTIKELSTATISTIK_LOS_ABGELIFERT] = getFertigungFac() .getErledigteMenge(losDto.getIId(), theClientDto); if (losDto.getAuftragIId() != null) { zeile[REPORT_ARTIKELSTATISTIK_LOS_AUFTRAG] = getAuftragFac() .auftragFindByPrimaryKey(losDto.getAuftragIId()).getCNr(); } } if (lagerbewegung.getC_belegartnr().equals(LocaleFac.BELEGART_LIEFERSCHEIN) || lagerbewegung.getC_belegartnr().equals(LocaleFac.BELEGART_RECHNUNG)) { Integer aufposIId = null; if (lagerbewegung.getC_belegartnr().equals(LocaleFac.BELEGART_RECHNUNG)) { RechnungPositionDto rechPos = getRechnungFac() .rechnungPositionFindByPrimaryKeyOhneExc(lagerbewegung.getI_belegartpositionid()); if (rechPos != null) { aufposIId = rechPos.getAuftragpositionIId(); } } else if (lagerbewegung.getC_belegartnr().equals(LocaleFac.BELEGART_LIEFERSCHEIN)) { LieferscheinpositionDto lsPos = getLieferscheinpositionFac() .lieferscheinpositionFindByPrimaryKeyOhneExc( lagerbewegung.getI_belegartpositionid(), theClientDto); if (lsPos != null) { aufposIId = lsPos.getAuftragpositionIId(); } } if (aufposIId != null) { AuftragpositionDto aufposDto = getAuftragpositionFac() .auftragpositionFindByPrimaryKey(aufposIId); AuftragDto aDto = getAuftragFac().auftragFindByPrimaryKey(aufposDto.getBelegIId()); zeile[REPORT_ARTIKELSTATISTIK_AUFTRAG_AUSLOESER] = aDto.getCNr(); } } zeile[REPORT_ARTIKELSTATISTIK_LAGER] = lagerbewegung.getFlrlager().getC_nr(); zeile[REPORT_ARTIKELSTATISTIK_SNRCHNR] = lagerbewegung.getC_seriennrchargennr(); BigDecimal preis = new BigDecimal(0); BigDecimal wert = new BigDecimal(0); if (lagerbewegung.getB_abgang().intValue() == 0) { if (darfEinkaufspreisSehen) { if (lagerbewegung.getC_belegartnr().equals(LocaleFac.BELEGART_GUTSCHRIFT)) { RechnungPositionDto rechposDto = getRechnungFac() .rechnungPositionFindByPrimaryKeyOhneExc( lagerbewegung.getI_belegartpositionid()); if (rechposDto != null) { RechnungDto rechnungDto = getRechnungFac() .rechnungFindByPrimaryKey(rechposDto.getRechnungIId()); preis = rechposDto.getNNettoeinzelpreisplusversteckteraufschlagminusrabatte() .divide(rechnungDto.getNKurs(), 5, BigDecimal.ROUND_HALF_EVEN); zeile[REPORT_ARTIKELSTATISTIK_PREIS] = Helper.rundeKaufmaennisch(preis, 4); } else { preis = lagerbewegung.getN_einstandspreis(); zeile[REPORT_ARTIKELSTATISTIK_PREIS] = Helper.rundeKaufmaennisch(preis, 4); } } else { preis = lagerbewegung.getN_einstandspreis(); zeile[REPORT_ARTIKELSTATISTIK_PREIS] = Helper.rundeKaufmaennisch(preis, 4); } } else { zeile[REPORT_ARTIKELSTATISTIK_PREIS] = null; } } else { if (darfVerkaufspreisSehen) { preis = lagerbewegung.getN_verkaufspreis(); if (lagerbewegung.getC_belegartnr().equals(LocaleFac.BELEGART_LOS)) { preis = getLagerFac().getGemittelterGestehungspreisEinerAbgangsposition( LocaleFac.BELEGART_LOS, lagerbewegung.getI_belegartpositionid()); } zeile[REPORT_ARTIKELSTATISTIK_PREIS] = Helper.rundeKaufmaennisch(preis, 4); } else { zeile[REPORT_ARTIKELSTATISTIK_PREIS] = null; } } if (bWeReferenzAndrucken) { zeile[REPORT_ARTIKELSTATISTIK_WE_REFERENZ] = getLagerFac().getWareneingangsreferenzSubreport( lagerbewegung.getC_belegartnr(), lagerbewegung.getI_belegartpositionid(), lagerbewegung.getC_seriennrchargennr(), false, theClientDto); } wert = preis.multiply(lagerbewegung.getN_menge()); BigDecimal d = lagerbewegung.getN_menge(); // Wenn Lagerabgang, dann negative Menge if (Helper.short2boolean(lagerbewegung.getB_abgang())) { d = d.negate(); } zeile[REPORT_ARTIKELSTATISTIK_MENGE] = d; if (lagerbewegung.getFlrhersteller() != null) { zeile[REPORT_ARTIKELSTATISTIK_HERSTELLER] = lagerbewegung.getFlrhersteller().getC_nr(); } if (lagerbewegung.getFlrland() != null) { zeile[REPORT_ARTIKELSTATISTIK_URSPRUNGSLAND] = lagerbewegung.getFlrland().getC_lkz(); } try { BelegInfos bi = getLagerFac().getBelegInfos(lagerbewegung.getC_belegartnr(), lagerbewegung.getI_belegartid(), lagerbewegung.getI_belegartpositionid(), theClientDto); zeile[REPORT_ARTIKELSTATISTIK_BELEGNUMMER] = bi.getBelegnummer(); zeile[REPORT_ARTIKELSTATISTIK_FIRMA] = bi.getKundeLieferant(); zeile[REPORT_ARTIKELSTATISTIK_VERLEIHFAKTOR] = bi.getVerleihfaktor(); zeile[REPORT_ARTIKELSTATISTIK_VERLEIHTAGE] = bi.getVerleihtage(); zeile[REPORT_ARTIKELSTATISTIK_BUCHUNGSZEIT] = lagerbewegung.getT_buchungszeit(); if (lagerbewegung.getC_belegartnr().equals(LocaleFac.BELEGART_LIEFERSCHEIN)) { zeile[REPORT_ARTIKELSTATISTIK_LIEFERTERMIN] = bi.getBelegdatum(); } if (bi.getBelegdatum() != null) { zeile[REPORT_ARTIKELSTATISTIK_BELEGDATUM] = bi.getBelegdatum(); } else { zeile[REPORT_ARTIKELSTATISTIK_BELEGDATUM] = lagerbewegung.getT_belegdatum(); } zeile[REPORT_ARTIKELSTATISTIK_MATERIALZUSCHLAG] = bi.getBdMaterialzuschlag(); zeile[REPORT_ARTIKELSTATISTIK_SORTIERDATUM] = zeile[REPORT_ARTIKELSTATISTIK_BELEGDATUM]; // Wenn Belegdatum und Buchungsdatum gleich, dann wird die // Buchungszeit + Datum als Belegdatum verwendet if (Helper.cutTimestamp((Timestamp) zeile[REPORT_ARTIKELSTATISTIK_BELEGDATUM]) .equals(Helper.cutTimestamp((Timestamp) zeile[REPORT_ARTIKELSTATISTIK_BUCHUNGSZEIT]))) { zeile[REPORT_ARTIKELSTATISTIK_SORTIERDATUM] = lagerbewegung.getT_buchungszeit(); } // Fuer Monatsstatistik Calendar c = Calendar.getInstance(); if (bi.getBelegdatum() != null) { c.setTimeInMillis(bi.getBelegdatum().getTime()); } else { c.setTimeInMillis(lagerbewegung.getT_buchungszeit().getTime()); } c.set(Calendar.HOUR_OF_DAY, 0); c.set(Calendar.MINUTE, 0); c.set(Calendar.SECOND, 0); c.set(Calendar.MILLISECOND, 0); c.set(Calendar.DAY_OF_MONTH, 1); // Schon enthalten? al.add(zeile); } catch (RemoteException ex2) { throwEJBExceptionLPRespectOld(ex2); } } } // while (alInventurliste.size() > 0) { FLRInventurstand flr = (FLRInventurstand) alInventurliste.get(0); Object[] zeile = new Object[REPORT_ARTIKELSTATISTIK_ANZAHL_SPALTEN]; zeile[REPORT_ARTIKELSTATISTIK_BELEGART] = "Inventurstand"; zeile[REPORT_ARTIKELSTATISTIK_BEWEGUNGSVORSCHAU] = new Boolean(false); java.sql.Timestamp ts = new java.sql.Timestamp(flr.getFlrinventur().getT_inventurdatum().getTime()); zeile[REPORT_ARTIKELSTATISTIK_SORTIERDATUM] = ts; zeile[REPORT_ARTIKELSTATISTIK_BELEGDATUM] = ts; zeile[REPORT_ARTIKELSTATISTIK_BUCHUNGSZEIT] = ts; zeile[REPORT_ARTIKELSTATISTIK_INVENTURMENGE] = flr.getN_inventurmenge(); zeile[REPORT_ARTIKELSTATISTIK_BELEGNUMMER] = flr.getFlrinventur().getC_bez(); al.add(zeile); alInventurliste.remove(0); } sessionInv.close(); session.close(); ArtikelDto aDto = getArtikelFac().artikelFindByPrimaryKey(artikelIId, theClientDto); parameter.put("P_ARTIKEL", aDto.formatArtikelbezeichnung()); parameter.put("P_ARTIKELEINHEIT", aDto.getEinheitCNr().trim()); parameter.put("P_BESTELLEINHEIT", aDto.getEinheitCNrBestellung()); parameter.put("P_MULTIPLIKATORBESTELLMENGE", aDto.getNUmrechnungsfaktor()); parameter.put("P_BESTELLEINHEIT_INVERS", Helper.short2Boolean(aDto.getbBestellmengeneinheitInvers())); if (bMonatsstatistik == true) { sAktuellerReport = ArtikelReportFac.REPORT_MONATSSTATISTIK; for (int i = 0; i < al.size() - 1; i = i + 1) { for (int j = al.size() - 1; j > i; j = j - 1) { Object[] erstes = (Object[]) al.get(j - 1); Object[] zweites = (Object[]) al.get(j); if (((java.sql.Timestamp) erstes[REPORT_ARTIKELSTATISTIK_BELEGDATUM]) .before(((java.sql.Timestamp) zweites[REPORT_ARTIKELSTATISTIK_BELEGDATUM]))) { Object[] temp = erstes; al.set(j - 1, zweites); al.set(j, temp); } } } // sortiere nach Jahr/Monat java.text.DateFormatSymbols symbols = new java.text.DateFormatSymbols(theClientDto.getLocUi()); String[] defaultMonths = symbols.getMonths(); GregorianCalendar cAktuell = new GregorianCalendar(); if (al.size() > 0) { Object[] erste = (Object[]) al.get(al.size() - 1); Object[] letzte = (Object[]) al.get(0); cAktuell.setTimeInMillis(((Timestamp) letzte[REPORT_ARTIKELSTATISTIK_BELEGDATUM]).getTime()); ArrayList alMonate = new ArrayList(); while (cAktuell.getTimeInMillis() >= ((Timestamp) erste[REPORT_ARTIKELSTATISTIK_BELEGDATUM]) .getTime()) { BigDecimal mengeZugang = new BigDecimal(0); BigDecimal wertZugang = new BigDecimal(0); BigDecimal mengeAbgang = new BigDecimal(0); BigDecimal wertAbgang = new BigDecimal(0); for (int i = 0; i < al.size(); i++) { Object[] zeile = (Object[]) al.get(i); Timestamp d = (Timestamp) zeile[REPORT_ARTIKELSTATISTIK_BELEGDATUM]; Calendar cZeile = Calendar.getInstance(); cZeile.setTimeInMillis(d.getTime()); if (cAktuell.get(Calendar.MONTH) == cZeile.get(Calendar.MONTH) && cAktuell.get(Calendar.YEAR) == cZeile.get(Calendar.YEAR)) { BigDecimal mengeZeile = (BigDecimal) zeile[REPORT_ARTIKELSTATISTIK_MENGE]; BigDecimal preisZeile = (BigDecimal) zeile[REPORT_ARTIKELSTATISTIK_PREIS]; if (mengeZeile != null && preisZeile != null) { boolean bGutschrift = false; if (zeile[REPORT_ARTIKELSTATISTIK_BELEGART] != null && zeile[REPORT_ARTIKELSTATISTIK_BELEGART] .equals(LocaleFac.BELEGART_GUTSCHRIFT)) { bGutschrift = true; } // SP18027 if (mengeZeile.doubleValue() > 0) { if (bGutschrift == true) { mengeAbgang = mengeAbgang.subtract(mengeZeile.abs()); wertAbgang = wertAbgang.subtract(mengeZeile.abs().multiply(preisZeile)); } else { mengeZugang = mengeZugang.add(mengeZeile); wertZugang = wertZugang.add(mengeZeile.multiply(preisZeile)); } } else { mengeAbgang = mengeAbgang.add(mengeZeile.abs()); wertAbgang = wertAbgang.add(mengeZeile.abs().multiply(preisZeile)); } } } } Object[] zeileMonate = new Object[KundeReportFac.REPORT_MONATSSTATISTIK_ANZAHL_FELDER]; zeileMonate[REPORT_MONATSSTATISTIK_MONAT] = defaultMonths[cAktuell.get(Calendar.MONTH)]; zeileMonate[REPORT_MONATSSTATISTIK_JAHR] = cAktuell.get(Calendar.YEAR); zeileMonate[REPORT_MONATSSTATISTIK_ABGANG_MENGE] = mengeAbgang; zeileMonate[REPORT_MONATSSTATISTIK_ABGANG_WERT] = wertAbgang; zeileMonate[REPORT_MONATSSTATISTIK_ZUGANG_MENGE] = mengeZugang; zeileMonate[REPORT_MONATSSTATISTIK_ZUGANG_WERT] = wertZugang; alMonate.add(zeileMonate); cAktuell.set(Calendar.DAY_OF_MONTH, 1); cAktuell.getTimeInMillis(); cAktuell.set(Calendar.MONTH, cAktuell.get(Calendar.MONTH) - 1); cAktuell.getTimeInMillis(); cAktuell.set(Calendar.DAY_OF_MONTH, cAktuell.getActualMaximum(Calendar.DAY_OF_MONTH)); cAktuell.getTimeInMillis(); } Object[][] dataTemp = new Object[1][1]; data = (Object[][]) alMonate.toArray(dataTemp); initJRDS(parameter, ArtikelFac.REPORT_MODUL, ArtikelReportFac.REPORT_MONATSSTATISTIK, theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto); return getReportPrint(); } else { return null; } } else { if (bMitBewegungsvorschau == true) { // SP 1008 OHNE Internebestellung ArrayList<?> list = getInternebestellungFac().getBewegungsvorschauSortiert(artikelIId, false, theClientDto); BewegungsvorschauDto[] returnArray = new BewegungsvorschauDto[list.size()]; BewegungsvorschauDto[] dtos = (com.lp.server.bestellung.service.BewegungsvorschauDto[]) list .toArray(returnArray); for (int i = 0; i < dtos.length; i++) { BewegungsvorschauDto dto = dtos[i]; if (dto.getTLiefertermin() != null) { Object[] zeile = new Object[REPORT_ARTIKELSTATISTIK_ANZAHL_SPALTEN]; zeile[REPORT_ARTIKELSTATISTIK_BEWEGUNGSVORSCHAU] = new Boolean(true); if (dto.getCBelegartCNr() != null && dto.getCBelegartCNr().equals(LocaleFac.BELEGART_LOSABLIEFERUNG)) { LosDto losDto = getFertigungFac().losFindByPrimaryKey(dto.getIBelegIId()); zeile[REPORT_ARTIKELSTATISTIK_LOS_STATUS] = losDto.getStatusCNr(); zeile[REPORT_ARTIKELSTATISTIK_LOS_BEGINN] = losDto.getTProduktionsbeginn(); zeile[REPORT_ARTIKELSTATISTIK_LOS_ENDE] = losDto.getTProduktionsende(); zeile[REPORT_ARTIKELSTATISTIK_LOS_PROJEKT] = losDto.getCProjekt(); zeile[REPORT_ARTIKELSTATISTIK_LOS_ABGELIFERT] = getFertigungFac() .getErledigteMenge(losDto.getIId(), theClientDto); if (losDto.getAuftragIId() != null) { zeile[REPORT_ARTIKELSTATISTIK_LOS_AUFTRAG] = getAuftragFac() .auftragFindByPrimaryKey(losDto.getAuftragIId()).getCNr(); } } zeile[REPORT_ARTIKELSTATISTIK_BELEGART] = dto.getCBelegartCNr(); zeile[REPORT_ARTIKELSTATISTIK_BELEGNUMMER] = dto.getCBelegnummer(); if (dto.getPartnerDto() != null) { zeile[REPORT_ARTIKELSTATISTIK_FIRMA] = dto.getPartnerDto().formatFixTitelName1Name2(); } else { zeile[REPORT_ARTIKELSTATISTIK_FIRMA] = dto.getCProjekt(); } // PJ17836 zeile[REPORT_ARTIKELSTATISTIK_SORTIERDATUM] = dto.getTLiefertermin(); if (dto.getTABTerminBestellung() != null) { zeile[REPORT_ARTIKELSTATISTIK_SORTIERDATUM] = new Timestamp( dto.getTABTerminBestellung().getTime()); } zeile[REPORT_ARTIKELSTATISTIK_BELEGDATUM] = dto.getTLiefertermin(); zeile[REPORT_ARTIKELSTATISTIK_BUCHUNGSZEIT] = dto.getTLiefertermin(); zeile[REPORT_ARTIKELSTATISTIK_LIEFERTERMIN] = dto.getTLiefertermin(); zeile[REPORT_ARTIKELSTATISTIK_MENGE] = dto.getNMenge(); al.add(zeile); } } // PJ17817 ReportAnfragestatistikKriterienDto kritDtoI = new ReportAnfragestatistikKriterienDto(); kritDtoI.setArtikelIId(artikelIId); ReportRahmenreservierungDto[] aReportRahmenreservierungDto = getReportRahmenreservierung(kritDtoI, theClientDto); for (int i = 0; i < aReportRahmenreservierungDto.length; i++) { ReportRahmenreservierungDto reportRahmenreservierungDto = (ReportRahmenreservierungDto) aReportRahmenreservierungDto[i]; Object[] zeile = new Object[REPORT_ARTIKELSTATISTIK_ANZAHL_SPALTEN]; zeile[REPORT_ARTIKELSTATISTIK_BEWEGUNGSVORSCHAU] = new Boolean(true); zeile[REPORT_ARTIKELSTATISTIK_BELEGART] = "Rahmenreservierung"; zeile[REPORT_ARTIKELSTATISTIK_BELEGNUMMER] = reportRahmenreservierungDto.getAuftragCNr(); zeile[REPORT_ARTIKELSTATISTIK_FIRMA] = reportRahmenreservierungDto.getCKundenname(); zeile[REPORT_ARTIKELSTATISTIK_SORTIERDATUM] = reportRahmenreservierungDto .getTUebersteuerterLiefertermin(); zeile[REPORT_ARTIKELSTATISTIK_LIEFERTERMIN] = reportRahmenreservierungDto .getTUebersteuerterLiefertermin(); zeile[REPORT_ARTIKELSTATISTIK_BELEGDATUM] = reportRahmenreservierungDto .getTUebersteuerterLiefertermin(); zeile[REPORT_ARTIKELSTATISTIK_BUCHUNGSZEIT] = reportRahmenreservierungDto .getTUebersteuerterLiefertermin(); zeile[REPORT_ARTIKELSTATISTIK_MENGE] = reportRahmenreservierungDto.getNOffeneMenge().negate(); al.add(zeile); } RahmenbestelltReportDto[] rahmenbestelltDtos = getReportRahmenbestelltDto(artikelIId, theClientDto); for (int i = 0; i < rahmenbestelltDtos.length; i++) { RahmenbestelltReportDto dto = rahmenbestelltDtos[i]; Object[] zeile = new Object[REPORT_ARTIKELSTATISTIK_ANZAHL_SPALTEN]; zeile[REPORT_ARTIKELSTATISTIK_BEWEGUNGSVORSCHAU] = new Boolean(true); zeile[REPORT_ARTIKELSTATISTIK_BELEGART] = "Rahmenbestellt"; zeile[REPORT_ARTIKELSTATISTIK_BELEGNUMMER] = dto.getBestellnummer(); zeile[REPORT_ARTIKELSTATISTIK_FIRMA] = dto.getLieferant(); zeile[REPORT_ARTIKELSTATISTIK_LIEFERTERMIN] = dto.getTLiefertermin(); zeile[REPORT_ARTIKELSTATISTIK_BELEGDATUM] = dto.getTLiefertermin(); zeile[REPORT_ARTIKELSTATISTIK_BUCHUNGSZEIT] = dto.getTLiefertermin(); zeile[REPORT_ARTIKELSTATISTIK_SORTIERDATUM] = dto.getTLiefertermin(); zeile[REPORT_ARTIKELSTATISTIK_MENGE] = dto.getOffenmenge(); // Nettoeinzelpreis zeile[REPORT_ARTIKELSTATISTIK_PREIS] = dto.getPreis(); al.add(zeile); } } Timestamp tHeute = new Timestamp(System.currentTimeMillis()); Timestamp tMorgen = new Timestamp(System.currentTimeMillis() + (24 * 3600000)); for (int i = 0; i < al.size(); i++) { // Bei Bewegungsvorschau-Daten kann der Liefertermin fruehestens // morgen sein Object[] zeile = (Object[]) al.get(i); if (((Boolean) zeile[REPORT_ARTIKELSTATISTIK_BEWEGUNGSVORSCHAU]) == true) { Timestamp t = (Timestamp) zeile[REPORT_ARTIKELSTATISTIK_SORTIERDATUM]; if (t.before(tHeute)) { zeile[REPORT_ARTIKELSTATISTIK_SORTIERDATUM] = tMorgen; al.set(i, zeile); } } } // PJ17836 immer nach diesem Sortierdatum sortieren for (int i = 0; i < al.size() - 1; i = i + 1) { for (int j = al.size() - 1; j > i; j = j - 1) { Object[] erstes = (Object[]) al.get(j - 1); Object[] zweites = (Object[]) al.get(j); if (((java.sql.Timestamp) erstes[REPORT_ARTIKELSTATISTIK_SORTIERDATUM]) .before(((java.sql.Timestamp) zweites[REPORT_ARTIKELSTATISTIK_SORTIERDATUM]))) { Object[] temp = erstes; al.set(j - 1, zweites); al.set(j, temp); } } } index = -1; sAktuellerReport = ArtikelReportFac.REPORT_ARTIKELSTATISTIK; Object[][] returnArray = new Object[al.size()][16]; data = (Object[][]) al.toArray(returnArray); initJRDS(parameter, ArtikelFac.REPORT_MODUL, ArtikelReportFac.REPORT_ARTIKELSTATISTIK, theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto); return getReportPrint(); } } @TransactionAttribute(TransactionAttributeType.NEVER) public JasperPrintLP printVkPreisentwicklung(Integer artikelIId, TheClientDto theClientDto) { if (artikelIId == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FELD_DARF_NICHT_NULL_SEIN, new Exception("artikelIId == null")); } // Erstellung des Reports HashMap<String, Object> parameter = new HashMap<String, Object>(); index = -1; sAktuellerReport = ArtikelReportFac.REPORT_VKPREISENTWICKLUNG; /* * Session session = FLRSessionFactory.getFactory().openSession(); * org.hibernate.Criteria crit = session.createCriteria( * FLRVkpfartikelverkaufspreisbasis * .class).add(Restrictions.eq("artikel_i_id", artikelIId)); List<?> * results = crit.list(); Iterator<?> resultListIterator = * results.iterator(); */ // int row = 0; ArrayList alDaten = new ArrayList(); try { VkPreisfindungEinzelverkaufspreisDto[] vkPreisfindungEinzelverkaufspreisDtos = getVkPreisfindungFac() .vkpfartikelverkaufspreisbasisFindByArtikelIId(artikelIId, theClientDto); // Preisbasis for (int i = 0; i < vkPreisfindungEinzelverkaufspreisDtos.length; i++) { Object[] zeile = new Object[11]; zeile[REPORT_VKPREISENTWICKLUNG_GUELTIGAB] = vkPreisfindungEinzelverkaufspreisDtos[i] .getTVerkaufspreisbasisgueltigab(); zeile[REPORT_VKPREISENTWICKLUNG_ART] = "Preisbasis"; zeile[REPORT_VKPREISENTWICKLUNG_T_AENDERN] = vkPreisfindungEinzelverkaufspreisDtos[i].getTAendern(); zeile[REPORT_VKPREISENTWICKLUNG_VKPREISBASIS] = vkPreisfindungEinzelverkaufspreisDtos[i] .getNVerkaufspreisbasis(); PersonalDto personalDto; personalDto = getPersonalFac().personalFindByPrimaryKey( vkPreisfindungEinzelverkaufspreisDtos[i].getPersonalIIdAendern(), theClientDto); zeile[REPORT_VKPREISENTWICKLUNG_PERSON_GEAENDERT] = personalDto.formatAnrede(); alDaten.add(zeile); } // Einzelpreis VkPreisfindungPreislisteDto[] preislisten = getVkPreisfindungFac() .vkPreisfindungPreislisteFindByArtikelIId(artikelIId); for (int i = 0; i < preislisten.length; i++) { Object[] zeile = new Object[11]; zeile[REPORT_VKPREISENTWICKLUNG_GUELTIGAB] = preislisten[i].getTPreisgueltigab(); zeile[REPORT_VKPREISENTWICKLUNG_ART] = "Einzelpreis"; zeile[REPORT_VKPREISENTWICKLUNG_T_AENDERN] = preislisten[i].getTAendern(); zeile[REPORT_VKPREISENTWICKLUNG_FIXPREIS] = preislisten[i].getNArtikelfixpreis(); if (preislisten[i].getNArtikelstandardrabattsatz() != null) { zeile[REPORT_VKPREISENTWICKLUNG_RABATT] = new Double( preislisten[i].getNArtikelstandardrabattsatz().doubleValue()); } zeile[REPORT_VKPREISENTWICKLUNG_PREISLISTENNAME] = getVkPreisfindungFac() .vkpfartikelpreislisteFindByPrimaryKey(preislisten[i].getVkpfartikelpreislisteIId()) .getCNr(); PersonalDto personalDto; personalDto = getPersonalFac().personalFindByPrimaryKey(preislisten[i].getPersonalIIdAendern(), theClientDto); zeile[REPORT_VKPREISENTWICKLUNG_PERSON_GEAENDERT] = personalDto.formatAnrede(); alDaten.add(zeile); } // Mengenstaffeln VkpfMengenstaffelDto[] staffeln = getVkPreisfindungFac().vkpfMengenstaffelFindByArtikelIId(artikelIId, theClientDto); for (int i = 0; i < staffeln.length; i++) { Object[] zeile = new Object[11]; zeile[REPORT_VKPREISENTWICKLUNG_GUELTIGAB] = staffeln[i].getTPreisgueltigab(); zeile[REPORT_VKPREISENTWICKLUNG_GUELTIGBIS] = staffeln[i].getTPreisgueltigbis(); zeile[REPORT_VKPREISENTWICKLUNG_ART] = "Mengenstaffel"; zeile[REPORT_VKPREISENTWICKLUNG_T_AENDERN] = staffeln[i].getTAendern(); zeile[REPORT_VKPREISENTWICKLUNG_FIXPREIS] = staffeln[i].getNArtikelfixpreis(); zeile[REPORT_VKPREISENTWICKLUNG_RABATT] = staffeln[i].getFArtikelstandardrabattsatz(); zeile[REPORT_VKPREISENTWICKLUNG_STAFFELMENGE] = staffeln[i].getNMenge(); PersonalDto personalDto; personalDto = getPersonalFac().personalFindByPrimaryKey(staffeln[i].getPersonalIIdAendern(), theClientDto); zeile[REPORT_VKPREISENTWICKLUNG_PERSON_GEAENDERT] = personalDto.formatAnrede(); alDaten.add(zeile); } } catch (RemoteException e) { throwEJBExceptionLPRespectOld(e); } ArtikelDto dto = getArtikelFac().artikelFindByPrimaryKey(artikelIId, theClientDto); parameter.put("P_ARTIKEL", dto.formatArtikelbezeichnung()); data = new Object[alDaten.size()][10]; data = (Object[][]) alDaten.toArray(data); initJRDS(parameter, ArtikelReportFac.REPORT_MODUL, ArtikelReportFac.REPORT_VKPREISENTWICKLUNG, theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto); return getReportPrint(); } @TransactionAttribute(TransactionAttributeType.NEVER) public JasperPrintLP printVkPreisliste(Integer preislisteIId, Integer artikelgruppeIId, Integer artikelklasseIId, Integer shopgruppeIId, boolean bMitInaktiven, String artikelNrVon, String artikelNrBis, boolean bMitVersteckten, java.sql.Date datGueltikeitsdatumI, TheClientDto theClientDto) { // Erstellung des Reports index = -1; sAktuellerReport = ArtikelReportFac.REPORT_VKPREISLISTE; Integer mwstsatzId_0 = null; try { Map<?, ?> m = getMandantFac().mwstsatzFindAll(theClientDto); Iterator<?> it = m.keySet().iterator(); while (it.hasNext()) { MwstsatzDto dto = (MwstsatzDto) m.get(it.next()); if (dto.getFMwstsatz() == 0) { mwstsatzId_0 = dto.getIId(); } } } catch (RemoteException ex4) { throwEJBExceptionLPRespectOld(ex4); } String eingeloggterMandant = theClientDto.getMandant(); String sQuery = ""; if (preislisteIId == null) { sQuery = "SELECT artikelliste.i_id, artikelliste.c_nr, aspr.c_bez, aspr.c_kbez, aspr.c_zbez,aspr.c_zbez2,artikelliste.einheit_c_nr, gruppe.c_nr, klasse.c_nr, artikelliste.b_versteckt, shopgruppe.c_nr " + " FROM FLRArtikelliste AS artikelliste" + " LEFT OUTER JOIN artikelliste.flrartikelgruppe AS gruppe " + " LEFT OUTER JOIN artikelliste.flrartikelklasse AS klasse " + " LEFT OUTER JOIN artikelliste.flrshopgruppe AS shopgruppe " + " LEFT OUTER JOIN artikelliste.artikelsprset AS aspr WHERE artikelliste.mandant_c_nr='" + eingeloggterMandant + "' AND artikelliste.artikelart_c_nr NOT IN ('" + ArtikelFac.ARTIKELART_HANDARTIKEL + "') "; if (artikelklasseIId != null) { sQuery += " AND klasse.i_id=" + artikelklasseIId.intValue(); } if (artikelgruppeIId != null) { sQuery += " AND gruppe.i_id=" + artikelgruppeIId.intValue(); } if (shopgruppeIId != null) { sQuery += " AND shopgruppe.i_id=" + shopgruppeIId.intValue(); } if (bMitVersteckten == false) { sQuery += " AND artikelliste.b_versteckt=0 "; } if (artikelNrVon != null) { sQuery += " AND artikelliste.c_nr >='" + artikelNrVon + "'"; } if (artikelNrBis != null) { sQuery = sQuery + " AND artikelliste.c_nr <='" + artikelNrBis + "'"; } sQuery += "ORDER BY artikelliste.c_nr"; } else { sQuery = "SELECT artikelliste.i_id, artikelliste.c_nr, aspr.c_bez, aspr.c_kbez, aspr.c_zbez,aspr.c_zbez2,artikelliste.einheit_c_nr, gruppe.c_nr, klasse.c_nr, artikelliste.b_versteckt, shopgruppe.c_nr " + " FROM FLRArtikelliste AS artikelliste" + " LEFT OUTER JOIN artikelliste.flrartikelgruppe AS gruppe " + " LEFT OUTER JOIN artikelliste.flrshopgruppe AS shopgruppe " + " LEFT OUTER JOIN artikelliste.flrartikelklasse AS klasse " + " LEFT OUTER JOIN artikelliste.artikelsprset AS aspr WHERE artikelliste.mandant_c_nr='" + eingeloggterMandant + "' AND artikelliste.artikelart_c_nr NOT IN ('" + ArtikelFac.ARTIKELART_HANDARTIKEL + "')";// AND // artikelliste.i_id // IN (SELECT // liste.artikel_i_id // FROM // FLRVkpfartikelpreis // liste WHERE // liste.vkpfartikelpreisliste_i_id=" // + preislisteIId + ") "; -> lt. WH muessen immer alle Artikel in // der Liste if (artikelklasseIId != null) { sQuery += " AND klasse.i_id=" + artikelklasseIId.intValue(); } if (artikelgruppeIId != null) { sQuery += " AND gruppe.i_id=" + artikelgruppeIId.intValue(); } if (shopgruppeIId != null) { sQuery += " AND shopgruppe.i_id=" + shopgruppeIId.intValue(); } if (artikelNrVon != null) { sQuery += " AND artikelliste.c_nr >='" + artikelNrVon + "'"; } if (bMitVersteckten == false) { sQuery += " AND artikelliste.b_versteckt=0 "; } if (artikelNrBis != null) { sQuery = sQuery + " AND artikelliste.c_nr <='" + artikelNrBis + "'"; } sQuery += "ORDER BY artikelliste.c_nr"; } Session session = FLRSessionFactory.getFactory().openSession(); Query inventurliste = session.createQuery(sQuery); List<?> resultList = inventurliste.list(); Iterator<?> resultListIterator = resultList.iterator(); data = new Object[resultList.size()][REPORT_VKPREISLISTE_ANZAHL_SPALTEN]; int row = 0; while (resultListIterator.hasNext()) { Object o[] = (Object[]) resultListIterator.next(); Integer artikel_i_id = (Integer) o[0]; String artikelnummer = (String) o[1]; String bezeichnung = (String) o[2]; String kurzbezeichnung = (String) o[3]; String zusatzbezeichnung = (String) o[4]; String zusatzbezeichnung2 = (String) o[5]; String einheit = (String) o[6]; String gruppe = (String) o[7]; String klasse = (String) o[8]; Short versteckt = (Short) o[9]; String shopgruppe = (String) o[10]; data[row][REPORT_VKPREISLISTE_ARTIKELNUMMER] = artikelnummer; data[row][REPORT_VKPREISLISTE_BEZEICHNUNG] = bezeichnung; data[row][REPORT_VKPREISLISTE_KURZBEZEICHNUNG] = kurzbezeichnung; data[row][REPORT_VKPREISLISTE_ZUSATZBEZEICHNUNG] = zusatzbezeichnung; data[row][REPORT_VKPREISLISTE_ZUSATZBEZEICHNUNG2] = zusatzbezeichnung2; data[row][REPORT_VKPREISLISTE_EINHEIT] = einheit; data[row][REPORT_VKPREISLISTE_ARTIKELGRUPPE] = gruppe; data[row][REPORT_VKPREISLISTE_SHOPGRUPPE] = shopgruppe; data[row][REPORT_VKPREISLISTE_ARTIKELKLASSE] = klasse; data[row][REPORT_VKPREISLISTE_VERSTECKT] = Helper.short2Boolean(versteckt); data[row][REPORT_VKPREISLISTE_MATERIALZUSCHLAG] = getMaterialFac().getMaterialzuschlagVKInZielwaehrung( artikel_i_id, Helper.cutDate(datGueltikeitsdatumI), theClientDto.getSMandantenwaehrung(), theClientDto); try { BigDecimal preis = new BigDecimal(0); if (preislisteIId != null) { ArtikelDto artikelDto = getArtikelFac().artikelFindByPrimaryKeySmall(artikel_i_id, theClientDto); // @@ToDo: AD ? ist hier eine Staffelmenge bei Preisfindung // aus EK moeglich? VkpreisfindungDto dto = getVkPreisfindungFac().verkaufspreisfindungStufe1(artikelDto, Helper.cutDate(datGueltikeitsdatumI), preislisteIId, new VkpreisfindungDto(theClientDto.getLocUi()), mwstsatzId_0, new BigDecimal(1), theClientDto.getSMandantenwaehrung(), theClientDto); if (dto.getVkpStufe1() != null && dto.getVkpStufe1().nettopreis != null) { preis = dto.getVkpStufe1().nettopreis; } } else { VkPreisfindungEinzelverkaufspreisDto vkpreisDto = getVkPreisfindungFac() .getArtikeleinzelverkaufspreis(artikel_i_id, datGueltikeitsdatumI, theClientDto.getSMandantenwaehrung(), theClientDto); if (vkpreisDto != null && vkpreisDto.getNVerkaufspreisbasis() != null) { preis = vkpreisDto.getNVerkaufspreisbasis(); } } data[row][REPORT_VKPREISLISTE_VKPREIS] = preis; java.sql.Date jetzt = new java.sql.Date(System.currentTimeMillis()); jetzt = Helper.cutDate(jetzt); VkpfMengenstaffelDto[] vkpfMengenstaffelDtos = getVkPreisfindungFac() .vkpfMengenstaffelFindByArtikelIIdGueltigkeitsdatum(artikel_i_id, jetzt, null, theClientDto); if (vkpfMengenstaffelDtos.length > 0) { data[row][REPORT_VKPREISLISTE_STAFFEL1] = vkpfMengenstaffelDtos[0].getNMenge(); data[row][REPORT_VKPREISLISTE_PREISSTAFFEL1] = getVkPreisfindungFac() .berechneEinzelVkpreisEinerMengenstaffel(vkpfMengenstaffelDtos[0].getIId(), theClientDto.getSMandantenwaehrung(), theClientDto); } if (vkpfMengenstaffelDtos.length > 1) { data[row][REPORT_VKPREISLISTE_STAFFEL2] = vkpfMengenstaffelDtos[1].getNMenge(); data[row][REPORT_VKPREISLISTE_PREISSTAFFEL2] = getVkPreisfindungFac() .berechneEinzelVkpreisEinerMengenstaffel(vkpfMengenstaffelDtos[1].getIId(), theClientDto.getSMandantenwaehrung(), theClientDto); } if (vkpfMengenstaffelDtos.length > 2) { data[row][REPORT_VKPREISLISTE_STAFFEL3] = vkpfMengenstaffelDtos[2].getNMenge(); data[row][REPORT_VKPREISLISTE_PREISSTAFFEL3] = getVkPreisfindungFac() .berechneEinzelVkpreisEinerMengenstaffel(vkpfMengenstaffelDtos[2].getIId(), theClientDto.getSMandantenwaehrung(), theClientDto); } if (vkpfMengenstaffelDtos.length > 3) { data[row][REPORT_VKPREISLISTE_STAFFEL4] = vkpfMengenstaffelDtos[3].getNMenge(); data[row][REPORT_VKPREISLISTE_PREISSTAFFEL4] = getVkPreisfindungFac() .berechneEinzelVkpreisEinerMengenstaffel(vkpfMengenstaffelDtos[3].getIId(), theClientDto.getSMandantenwaehrung(), theClientDto); } if (vkpfMengenstaffelDtos.length > 4) { data[row][REPORT_VKPREISLISTE_STAFFEL5] = vkpfMengenstaffelDtos[4].getNMenge(); data[row][REPORT_VKPREISLISTE_PREISSTAFFEL5] = getVkPreisfindungFac() .berechneEinzelVkpreisEinerMengenstaffel(vkpfMengenstaffelDtos[4].getIId(), theClientDto.getSMandantenwaehrung(), theClientDto); } } catch (RemoteException ex) { throwEJBExceptionLPRespectOld(ex); } row++; } session.close(); HashMap<String, Object> parameter = new HashMap<String, Object>(); try { if (preislisteIId != null) { VkpfartikelpreislisteDto vkpfartikelpreislisteDto = getVkPreisfindungFac() .vkpfartikelpreislisteFindByPrimaryKey(preislisteIId); parameter.put("P_PREISLISTE", vkpfartikelpreislisteDto.getCNr()); } if (artikelgruppeIId != null) { parameter.put("P_ARTIKELGRUPPE", getArtikelFac().artgruFindByPrimaryKey(artikelgruppeIId, theClientDto).getCNr()); } if (shopgruppeIId != null) { parameter.put("P_SHOPGRUPPE", getArtikelFac().shopgruppeFindByPrimaryKey(shopgruppeIId, theClientDto).getCNr()); } if (artikelklasseIId != null) { parameter.put("P_ARTIKELKLASSE", getArtikelFac().artklaFindByPrimaryKey(artikelklasseIId, theClientDto).getCNr()); } } catch (RemoteException ex1) { throwEJBExceptionLPRespectOld(ex1); } parameter.put("P_ARTIKELNRVON", artikelNrVon); parameter.put("P_ARTIKELNRBIS", artikelNrBis); parameter.put("P_MITVERSTECKTEN", new Boolean(bMitVersteckten)); parameter.put("P_PREISGUELTIGKEIT", datGueltikeitsdatumI); initJRDS(parameter, ArtikelReportFac.REPORT_MODUL, ArtikelReportFac.REPORT_VKPREISLISTE, theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto); return getReportPrint(); } @TransactionAttribute(TransactionAttributeType.NEVER) public JasperPrintLP printRahmenbestellungsliste(Integer artikelIId, TheClientDto theClientDto) throws EJBExceptionLP { if (artikelIId == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FELD_DARF_NICHT_NULL_SEIN, new Exception("artikelIId == null")); } Session session = null; try { // Erstellung des Reports index = -1; sAktuellerReport = ArtikelReportFac.REPORT_ARTIKELBESTELLTRAHMEN; RahmenbestelltReportDto[] dtos = getReportRahmenbestelltDto(artikelIId, theClientDto); data = new Object[dtos.length][REPORT_RAHMENBEST_ANZAHL_SPALTEN]; for (int i = 0; i < dtos.length; i++) { RahmenbestelltReportDto dto = dtos[i]; data[i][REPORT_RAHMENBEST_BESTELLUNGSNUMMER] = dto.getBestellnummer(); data[i][REPORT_RAHMENBEST_LIEFERANT] = dto.getLieferant(); data[i][REPORT_RAHMENBEST_PROJEKT] = dto.getProjekt(); data[i][REPORT_RAHMENBEST_LIEFERTERMIN] = dto.getTLiefertermin(); // Rahmenmenge ist die Menge der Rahmenposition data[i][REPORT_RAHMENBEST_RAHMENMENGE] = dto.getRahmenmenge(); data[i][REPORT_RAHMENBEST_OFFENE_MENGE] = dto.getOffenmenge(); // Nettoeinzelpreis data[i][REPORT_RAHMENBEST_PREIS] = dto.getPreis(); data[i][REPORT_RAHMENBEST_AB_NUMMER] = dto.getAbNummer(); data[i][REPORT_RAHMENBEST_AB_TERMIN] = dto.gettAbTermin(); data[i][REPORT_RAHMENBEST_AB_KOMMENTAR] = dto.getAbKommentar(); } Map<String, Object> mapParameter = new TreeMap<String, Object>(); ArtikelDto dto = null; dto = getArtikelFac().artikelFindByPrimaryKey(artikelIId, theClientDto); mapParameter.put("P_ARTIKEL", dto.formatArtikelbezeichnung()); initJRDS(mapParameter, ArtikelReportFac.REPORT_MODUL, ArtikelReportFac.REPORT_ARTIKELBESTELLTRAHMEN, theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto); } catch (RemoteException ex) { throwEJBExceptionLPRespectOld(ex); } return getReportPrint(); } private RahmenbestelltReportDto[] getReportRahmenbestelltDto(Integer artikelIId, TheClientDto theClientDto) throws RemoteException { Session session; SessionFactory factory = FLRSessionFactory.getFactory(); session = factory.openSession(); Criteria crit = session.createCriteria(FLRBestellpositionReport.class); Criteria critBestellung = crit.createCriteria(BestellpositionFac.FLR_BESTELLPOSITION_FLRBESTELLUNG); Criteria critArtikel = crit.createCriteria(BestellpositionFac.FLR_BESTELLPOSITION_FLRARTIKEL); // nur diesen Artikel critArtikel.add(Restrictions.eq("i_id", artikelIId)); // Filter nach Mandant critBestellung.add(Restrictions.eq(BestellungFac.FLR_BESTELLUNG_MANDANT_C_NR, theClientDto.getMandant())); // keine stornierten oder erledigten Bestellungen. Collection<String> cStati = new LinkedList<String>(); cStati.add(BestellungFac.BESTELLSTATUS_STORNIERT); cStati.add(BestellungFac.BESTELLSTATUS_ERLEDIGT); critBestellung .add(Restrictions.not(Restrictions.in(BestellungFac.FLR_BESTELLUNG_BESTELLUNGSTATUS_C_NR, cStati))); // Nur Rahmenbestellungen critBestellung.add(Restrictions.eq(BestellungFac.FLR_BESTELLUNG_BESTELLUNGART_C_NR, BestellungFac.BESTELLUNGART_RAHMENBESTELLUNG_C_NR)); // Query ausfuehren List<?> list = crit.list(); Iterator<?> resultListIterator = list.iterator(); int row = 0; RahmenbestelltReportDto[] dtos = new RahmenbestelltReportDto[list.size()]; while (resultListIterator.hasNext()) { FLRBestellpositionReport besPos = (FLRBestellpositionReport) resultListIterator.next(); RahmenbestelltReportDto dto = new RahmenbestelltReportDto(); dto.setBestellnummer(besPos.getFlrbestellung().getC_nr()); dto.setLieferant( besPos.getFlrbestellung().getFlrlieferant().getFlrpartner().getC_name1nachnamefirmazeile1()); dto.setProjekt(besPos.getFlrbestellung().getC_bezprojektbezeichnung()); if (besPos.getT_uebersteuerterliefertermin() != null) { dto.setTLiefertermin(besPos.getT_uebersteuerterliefertermin()); } else { if (besPos.getFlrbestellung().getT_liefertermin() != null) { dto.setTLiefertermin(new Timestamp(besPos.getFlrbestellung().getT_liefertermin().getTime())); } } // Rahmenmenge ist die Menge der Rahmenposition dto.setRahmenmenge(besPos.getN_menge()); BigDecimal bdOffen = besPos.getN_offenemenge(); dto.setOffenmenge(bdOffen); // Nettoeinzelpreis dto.setPreis(besPos.getN_nettogesamtpreis()); BestellpositionDto bestellpositionDto = getBestellpositionFac() .bestellpositionFindByPrimaryKey(besPos.getI_id()); dto.setAbNummer(bestellpositionDto.getCABNummer()); dto.settAbTermin(bestellpositionDto.getTAuftragsbestaetigungstermin()); dto.setAbKommentar(bestellpositionDto.getCABKommentar()); dtos[row] = dto; row++; } session.close(); return dtos; } @TransactionAttribute(TransactionAttributeType.NEVER) public JasperPrintLP printLieferantenpreis(Integer artikelIId, TheClientDto theClientDto) { HashMap<String, Object> parameter = new HashMap<String, Object>(); ArtikelDto dto = getArtikelFac().artikelFindByPrimaryKey(artikelIId, theClientDto); parameter.put("P_ARTIKEL", dto.formatArtikelbezeichnung()); sAktuellerReport = ArtikelReportFac.REPORT_LIEFERANTENPREIS; String sQuery = "SELECT al " + " FROM FLRArtikellieferant AS al WHERE al.artikel_i_id=" + artikelIId; Session session = FLRSessionFactory.getFactory().openSession(); Query inventurliste = session.createQuery(sQuery); List<?> resultList = inventurliste.list(); Iterator<?> resultListIterator = resultList.iterator(); data = new Object[resultList.size()][6]; ArrayList alDaten = new ArrayList(); while (resultListIterator.hasNext()) { FLRArtikellieferant al = (FLRArtikellieferant) resultListIterator.next(); Set s = al.getStaffelset(); if (al.getN_einzelpreis() == null) { continue; } ArtikellieferantDto alDto = null; try { alDto = getArtikelFac().artikellieferantFindByPrimaryKey(al.getI_id(), theClientDto); } catch (RemoteException e) { // TODO Auto-generated catch block e.printStackTrace(); } Object[] zeile = new Object[REPORT_LIEFERANTENPREIS_ANZAHL_SPALTEN]; zeile[REPORT_LIEFERANTENPREIS_FIXKOSTEN] = alDto.getNFixkosten(); zeile[REPORT_LIEFERANTENPREIS_GUELTIGAB] = alDto.getTPreisgueltigab(); zeile[REPORT_LIEFERANTENPREIS_LIEFERANT] = alDto.getLieferantDto().getPartnerDto() .formatFixTitelName1Name2(); zeile[REPORT_LIEFERANTENPREIS_MENGE] = new BigDecimal(1); zeile[REPORT_LIEFERANTENPREIS_MINDESTBESTELLMENGE] = alDto.getFMindestbestelmenge(); zeile[REPORT_LIEFERANTENPREIS_NETTOPREIS] = alDto.getNNettopreis(); zeile[REPORT_LIEFERANTENPREIS_WIEDERBESCHAFFUNGSZEIT] = alDto.getIWiederbeschaffungszeit(); alDaten.add(zeile); Iterator it = s.iterator(); while (it.hasNext()) { FLRArtikellieferantstaffel staffel = (FLRArtikellieferantstaffel) it.next(); zeile = new Object[REPORT_LIEFERANTENPREIS_ANZAHL_SPALTEN]; zeile[REPORT_LIEFERANTENPREIS_FIXKOSTEN] = alDto.getNFixkosten(); zeile[REPORT_LIEFERANTENPREIS_GUELTIGAB] = new java.sql.Timestamp( staffel.getT_preisgueltigab().getTime()); zeile[REPORT_LIEFERANTENPREIS_LIEFERANT] = alDto.getLieferantDto().getPartnerDto() .formatFixTitelName1Name2(); zeile[REPORT_LIEFERANTENPREIS_MENGE] = staffel.getN_menge(); zeile[REPORT_LIEFERANTENPREIS_MINDESTBESTELLMENGE] = alDto.getFMindestbestelmenge(); zeile[REPORT_LIEFERANTENPREIS_NETTOPREIS] = staffel.getN_nettopreis(); zeile[REPORT_LIEFERANTENPREIS_WIEDERBESCHAFFUNGSZEIT] = alDto.getIWiederbeschaffungszeit(); alDaten.add(zeile); } } // Nach Menge + Nettopreis sortieren for (int i = alDaten.size() - 1; i > 0; --i) { for (int j = 0; j < i; ++j) { Object[] zeilea = (Object[]) alDaten.get(j); Object[] zeileb = (Object[]) alDaten.get(j + 1); BigDecimal zahla = (BigDecimal) zeilea[REPORT_LIEFERANTENPREIS_MENGE]; BigDecimal zahlb = (BigDecimal) zeileb[REPORT_LIEFERANTENPREIS_MENGE]; if (zahla.doubleValue() > zahlb.doubleValue()) { Object[] h = zeilea; alDaten.set(j, zeileb); alDaten.set(j + 1, h); } else if (zahla.doubleValue() == zahlb.doubleValue()) { BigDecimal preisa = (BigDecimal) zeilea[REPORT_LIEFERANTENPREIS_NETTOPREIS]; BigDecimal preisb = (BigDecimal) zeileb[REPORT_LIEFERANTENPREIS_NETTOPREIS]; if (preisa.doubleValue() > preisb.doubleValue()) { Object[] h = zeilea; alDaten.set(j, zeileb); alDaten.set(j + 1, h); } } } } Object[][] dataTemp = new Object[alDaten.size()][REPORT_LIEFERANTENPREIS_ANZAHL_SPALTEN]; data = (Object[][]) alDaten.toArray(dataTemp); initJRDS(parameter, ArtikelReportFac.REPORT_MODUL, ArtikelReportFac.REPORT_LIEFERANTENPREIS, theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto); return getReportPrint(); } @TransactionAttribute(TransactionAttributeType.NEVER) public JasperPrintLP printArtikeletikett(Integer artikelIId, String sKommentar, BigDecimal bdMenge, Integer iExemplare, String[] cSnrChnr, TheClientDto theClientDto) { // Erstellung des Reports JasperPrintLP print = null; Integer varianteIId = theClientDto.getReportvarianteIId(); int iAnzahlSnrs = 1; if (cSnrChnr != null && cSnrChnr.length > 0) { iAnzahlSnrs = cSnrChnr.length; } for (int k = 0; k < iAnzahlSnrs; k++) { HashMap<String, Object> parameter = new HashMap<String, Object>(); index = -1; sAktuellerReport = ArtikelReportFac.REPORT_ARTIKELETIKETT; data = new Object[1][REPORT_ARTIKELETIKETT_ANZAHL_SPALTEN]; try { ArtikelDto artikelDto = getArtikelFac().artikelFindByPrimaryKey(artikelIId, theClientDto); MandantDto mandantDto = getMandantFac().mandantFindByPrimaryKey(theClientDto.getMandant(), theClientDto); data[0][REPORT_ARTIKELETIKETT_ARTIKELNUMMER] = artikelDto.getCNr(); data[0][REPORT_ARTIKELETIKETT_EINHEIT] = artikelDto.getEinheitCNr(); data[0][REPORT_ARTIKELETIKETT_REFERENZNUMMER] = artikelDto.getCReferenznr(); data[0][REPORT_ARTIKELETIKETT_REVISION] = artikelDto.getCRevision(); data[0][REPORT_ARTIKELETIKETT_INDEX] = artikelDto.getCIndex(); data[0][REPORT_ARTIKELETIKETT_VERPACKUNGSMENGE] = artikelDto.getFVerpackungsmenge(); data[0][REPORT_ARTIKELETIKETT_MANDANTADRESSE] = Helper.formatMandantAdresse(mandantDto); if (artikelDto.getArtikelsprDto() != null) { data[0][REPORT_ARTIKELETIKETT_BEZEICHNUNG] = artikelDto.getArtikelsprDto().getCBez(); data[0][REPORT_ARTIKELETIKETT_ZUSATZBEZEICHNUNG] = artikelDto.getArtikelsprDto().getCZbez(); data[0][REPORT_ARTIKELETIKETT_ZUSATZBEZEICHNUNG2] = artikelDto.getArtikelsprDto().getCZbez2(); data[0][REPORT_ARTIKELETIKETT_KURZBEZEICHNUNG] = artikelDto.getArtikelsprDto().getCKbez(); } if (artikelDto.getMaterialIId() != null) { MaterialDto materialDto = getMaterialFac().materialFindByPrimaryKey(artikelDto.getMaterialIId(), theClientDto); data[0][REPORT_ARTIKELETIKETT_MATERIAL] = materialDto.getBezeichnung(); } if (artikelDto.getGeometrieDto() != null) { data[0][REPORT_ARTIKELETIKETT_BREITE] = artikelDto.getGeometrieDto().getFBreite(); data[0][REPORT_ARTIKELETIKETT_HOEHE] = artikelDto.getGeometrieDto().getFHoehe(); data[0][REPORT_ARTIKELETIKETT_TIEFE] = artikelDto.getGeometrieDto().getFTiefe(); } if (artikelDto.getVerpackungDto() != null) { data[0][REPORT_ARTIKELETIKETT_BAUFORM] = artikelDto.getVerpackungDto().getCBauform(); data[0][REPORT_ARTIKELETIKETT_VERPACKUNGSART] = artikelDto.getVerpackungDto() .getCVerpackungsart(); } data[0][REPORT_ARTIKELETIKETT_VERPACKUNGS_EAN] = artikelDto.getCVerpackungseannr(); data[0][REPORT_ARTIKELETIKETT_VERKAUFS_EAN] = artikelDto.getCVerkaufseannr(); if (artikelDto.getHerstellerIId() != null) { HerstellerDto herstellerDto = getArtikelFac() .herstellerFindByPrimaryKey(artikelDto.getHerstellerIId(), theClientDto); data[0][REPORT_ARTIKELETIKETT_HERSTELLER] = herstellerDto.getCNr(); data[0][REPORT_ARTIKELETIKETT_HERSTELLER_NAME1] = herstellerDto.getPartnerDto() .getCName1nachnamefirmazeile1(); data[0][REPORT_ARTIKELETIKETT_HERSTELLER_NAME2] = herstellerDto.getPartnerDto() .getCName2vornamefirmazeile2(); } ArtikellieferantDto[] artikellieferantDtos = getArtikelFac() .artikellieferantFindByArtikelIId(artikelIId, theClientDto); if (artikellieferantDtos != null && artikellieferantDtos.length > 0) { data[0][REPORT_ARTIKELETIKETT_LIEFERANT] = getLieferantFac() .lieferantFindByPrimaryKey(artikellieferantDtos[0].getLieferantIId(), theClientDto) .getPartnerDto().formatAnrede(); data[0][REPORT_ARTIKELETIKETT_LIEFERANT_ARTIKELNUMMER] = artikellieferantDtos[0] .getCArtikelnrlieferant(); data[0][REPORT_ARTIKELETIKETT_LIEFERANT_ARTIKELBEZEICHNUNG] = artikellieferantDtos[0] .getCBezbeilieferant(); } Integer iIdHauplpager = getLagerFac().getHauptlagerDesMandanten(theClientDto).getIId(); if (Helper.short2boolean(artikelDto.getBLagerbewirtschaftet())) { data[0][REPORT_ARTIKELETIKETT_LAGERSTAND] = getLagerFac().getLagerstand(artikelIId, iIdHauplpager, theClientDto); } data[0][REPORT_ARTIKELETIKETT_LAGERORT] = getLagerFac() .getLagerplaezteEinesArtikels(artikelDto.getIId(), iIdHauplpager); String snrChr = null; if (cSnrChnr != null && cSnrChnr.length > k) { snrChr = cSnrChnr[k]; } data[0][REPORT_ARTIKELETIKETT_MENGE] = bdMenge; data[0][REPORT_ARTIKELETIKETT_SNRCHNR] = snrChr; data[0][REPORT_ARTIKELETIKETT_KOMMENTAR] = sKommentar; } catch (RemoteException ex) { throwEJBExceptionLPRespectOld(ex); } for (int i = 0; i < iExemplare; i++) { parameter.put("P_EXEMPLAR", new Integer(i + 1)); parameter.put("P_EXEMPLAREGESAMT", iExemplare); theClientDto.setReportvarianteIId(varianteIId); if (print != null) { initJRDS(parameter, ArtikelReportFac.REPORT_MODUL, ArtikelReportFac.REPORT_ARTIKELETIKETT, theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto); print = Helper.addReport2Report(print, getReportPrint().getPrint()); } else { initJRDS(parameter, ArtikelReportFac.REPORT_MODUL, ArtikelReportFac.REPORT_ARTIKELETIKETT, theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto); print = getReportPrint(); } } } return print; } @TransactionAttribute(TransactionAttributeType.NEVER) public JasperPrintLP printKundensokos(Integer artikelIId, TheClientDto theClientDto) { Integer iPreisbasis = null; try { ParametermandantDto param = getParameterFac().getMandantparameter(theClientDto.getMandant(), ParameterFac.KATEGORIE_KUNDEN, ParameterFac.PARAMETER_PREISBASIS_VERKAUF); iPreisbasis = (Integer) param.getCWertAsObject(); } catch (RemoteException e) { throwEJBExceptionLPRespectOld(e); } HashMap<String, Object> parameter = new HashMap<String, Object>(); ArtikelDto dto = getArtikelFac().artikelFindByPrimaryKey(artikelIId, theClientDto); parameter.put("P_ARTIKEL", dto.formatArtikelbezeichnung()); sAktuellerReport = ArtikelReportFac.REPORT_KUNDENSOKOS; String sQuery = "SELECT s FROM FLRKundesokomengenstaffel s WHERE s.flrkundesoko.artikel_i_id=" + artikelIId; if (dto.getArtgruIId() != null) { sQuery += " OR s.flrkundesoko.artgru_i_id=" + dto.getArtgruIId(); } sQuery += " ORDER BY s.flrkundesoko.flrkunde.flrpartner.c_name1nachnamefirmazeile1 ASC, s.n_menge ASC, s.flrkundesoko.t_preisgueltigab ASC"; Session session = FLRSessionFactory.getFactory().openSession(); Query inventurliste = session.createQuery(sQuery); List<?> resultList = inventurliste.list(); Iterator<?> resultListIterator = resultList.iterator(); data = new Object[resultList.size()][REPORT_KUNDENSOKOS_ANZAHL_FELDER]; ArrayList alDaten = new ArrayList(); while (resultListIterator.hasNext()) { FLRKundesokomengenstaffel flrKundesokomengenstaffel = (FLRKundesokomengenstaffel) resultListIterator .next(); Object[] zeile = new Object[REPORT_KUNDENSOKOS_ANZAHL_FELDER]; zeile[REPORT_KUNDENSOKOS_KUNDE_NAME1] = flrKundesokomengenstaffel.getFlrkundesoko().getFlrkunde() .getFlrpartner().getC_name1nachnamefirmazeile1(); zeile[REPORT_KUNDENSOKOS_KUNDE_NAME2] = flrKundesokomengenstaffel.getFlrkundesoko().getFlrkunde() .getFlrpartner().getC_name2vornamefirmazeile2(); if (flrKundesokomengenstaffel.getFlrkundesoko().getFlrkunde().getFlrpartner() .getFlrlandplzort() != null) { zeile[REPORT_KUNDENSOKOS_KUNDE_LKZ] = flrKundesokomengenstaffel.getFlrkundesoko().getFlrkunde() .getFlrpartner().getFlrlandplzort().getFlrland().getC_lkz(); zeile[REPORT_KUNDENSOKOS_KUNDE_PLZ] = flrKundesokomengenstaffel.getFlrkundesoko().getFlrkunde() .getFlrpartner().getFlrlandplzort().getC_plz(); zeile[REPORT_KUNDENSOKOS_KUNDE_ORT] = flrKundesokomengenstaffel.getFlrkundesoko().getFlrkunde() .getFlrpartner().getFlrlandplzort().getFlrort().getC_name(); } zeile[REPORT_KUNDENSOKOS_KUNDE_MENGE] = flrKundesokomengenstaffel.getN_menge(); zeile[REPORT_KUNDENSOKOS_KUNDE_KDARTIKELNUMMER] = flrKundesokomengenstaffel.getFlrkundesoko() .getC_kundeartikelnummer(); try { KundesokoDto kdsokoDto = getKundesokoFac() .kundesokoFindByPrimaryKey(flrKundesokomengenstaffel.getFlrkundesoko().getI_id()); zeile[REPORT_KUNDENSOKOS_KUNDE_KDARTIKELNUMMER] = flrKundesokomengenstaffel.getFlrkundesoko() .getC_kundeartikelnummer(); zeile[REPORT_KUNDENSOKOS_KUNDE_KDARTIKELBEZ] = kdsokoDto.getCKundeartikelbez(); zeile[REPORT_KUNDENSOKOS_KUNDE_KDARTIKELBEZ2] = kdsokoDto.getCKundeartikelzbez(); // Preis berechnen BigDecimal nBerechneterPreis = null; if (kdsokoDto.getArtikelIId() != null || kdsokoDto.getArtgruIId() != null) { // der Preis muss an dieser Stelle berechnet werden if (flrKundesokomengenstaffel.getN_fixpreis() != null) { nBerechneterPreis = flrKundesokomengenstaffel.getN_fixpreis(); // Fixpreis ist in Kundenwaehrung -> nach // Mandantenwehrung umrechnen KundeDto kdDto = getKundeFac().kundeFindByPrimaryKeySmall( flrKundesokomengenstaffel.getFlrkundesoko().getFlrkunde().getI_id()); try { if (!kdDto.getCWaehrung().equals(theClientDto.getSMandantenwaehrung())) { nBerechneterPreis = getLocaleFac().rechneUmInAndereWaehrungZuDatum( flrKundesokomengenstaffel.getN_fixpreis(), kdDto.getCWaehrung(), theClientDto.getSMandantenwaehrung(), Helper.cutDate(new java.sql.Date(System.currentTimeMillis())), theClientDto); } } catch (RemoteException e) { throwEJBExceptionLPRespectOld(e); } } else { // WH 21.06.06 Es gilt die VK-Basis, die zu Beginn der // Mengenstaffel gueltig ist BigDecimal nPreisbasis = null; if (iPreisbasis == 0 || iPreisbasis == 2) { nPreisbasis = getVkPreisfindungFac().ermittlePreisbasis(artikelIId, new java.sql.Date(kdsokoDto.getTPreisgueltigab().getTime()), null, theClientDto.getSMandantenwaehrung(), theClientDto); } else { nPreisbasis = getVkPreisfindungFac().ermittlePreisbasis(artikelIId, new java.sql.Date(kdsokoDto.getTPreisgueltigab().getTime()), flrKundesokomengenstaffel.getFlrkundesoko().getFlrkunde() .getVkpfartikelpreisliste_i_id_stdpreisliste(), theClientDto.getSMandantenwaehrung(), theClientDto); } VerkaufspreisDto vkpfDto = getVkPreisfindungFac().berechneVerkaufspreis(nPreisbasis, flrKundesokomengenstaffel.getF_rabattsatz()); if (vkpfDto != null) { nBerechneterPreis = vkpfDto.nettopreis; } else { // Wahrscheinlich keine VK-Preisbasis verfuegbar VkPreisfindungEinzelverkaufspreisDto[] dtos = getVkPreisfindungFac() .vkPreisfindungEinzelverkaufspreisfindByMandantCNrArtikelIIdAbGueltigab( artikelIId, new java.sql.Date(kdsokoDto.getTPreisgueltigab().getTime()), theClientDto); if (dtos.length > 0) { zeile[REPORT_KUNDENSOKOS_KUNDE_NAECHSTE_VKPREISBASIS_GUELTIG_AB] = dtos[0] .getTVerkaufspreisbasisgueltigab(); } } } } zeile[REPORT_KUNDENSOKOS_KUNDE_BERECHNETER_PREIS] = nBerechneterPreis; } catch (RemoteException e) { throwEJBExceptionLPRespectOld(e); } zeile[REPORT_KUNDENSOKOS_KUNDE_GUELTIAGAB] = flrKundesokomengenstaffel.getFlrkundesoko() .getT_preisgueltigab(); zeile[REPORT_KUNDENSOKOS_KUNDE_GUELTIAGBIS] = flrKundesokomengenstaffel.getFlrkundesoko() .getT_preisgueltigbis(); zeile[REPORT_KUNDENSOKOS_KUNDE_FIXPREIS] = flrKundesokomengenstaffel.getN_fixpreis(); zeile[REPORT_KUNDENSOKOS_KUNDE_RABATT] = flrKundesokomengenstaffel.getF_rabattsatz(); alDaten.add(zeile); } Object[][] returnArray = new Object[alDaten.size()][REPORT_KUNDENSOKOS_ANZAHL_FELDER]; data = (Object[][]) alDaten.toArray(returnArray); initJRDS(parameter, ArtikelReportFac.REPORT_MODUL, ArtikelReportFac.REPORT_KUNDENSOKOS, theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto); return getReportPrint(); } @TransactionAttribute(TransactionAttributeType.NEVER) public JasperPrintLP printLagerplatzetikett(Integer lagerplatzIId, TheClientDto theClientDto) { // Erstellung des Reports HashMap<String, Object> parameter = new HashMap<String, Object>(); index = -1; sAktuellerReport = ArtikelReportFac.REPORT_LAGERPLATZETIKETT; data = new Object[1][REPORT_LAGERPLATZ_ANZAHL_SPALTEN]; try { LagerplatzDto lagerplatzDto = getLagerFac().lagerplatzFindByPrimaryKey(lagerplatzIId); data[0][REPORT_LAGERPLATZ_LAGERPLATZ] = lagerplatzDto.getCLagerplatz(); LagerDto lagerDto = getLagerFac().lagerFindByPrimaryKey(lagerplatzDto.getLagerIId()); data[0][REPORT_LAGERPLATZ_LAGER] = lagerDto.getCNr(); } catch (RemoteException ex) { throwEJBExceptionLPRespectOld(ex); } initJRDS(parameter, ArtikelReportFac.REPORT_MODUL, ArtikelReportFac.REPORT_LAGERPLATZETIKETT, theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto); return getReportPrint(); } @TransactionAttribute(TransactionAttributeType.NEVER) public JasperPrintLP printMindestlagerstaende(TheClientDto theClientDto) { sAktuellerReport = ArtikelReportFac.REPORT_MINDESTLAGERSTAENDE; String sQuery = "SELECT a,(SELECT sum(artikellager.n_lagerstand) FROM FLRArtikellager AS artikellager WHERE artikellager.compId.artikel_i_id=a.i_id " + "AND artikellager.mandant_c_nr=a.mandant_c_nr" + "), " + " ( SELECT sum(r.n_gesamtmenge) FROM FLRRahmenbedarfe r WHERE r.flrartikel.i_id=a.i_id )" + "FROM FLRArtikel a WHERE a.b_versteckt=0 AND mandant_c_nr='" + theClientDto.getMandant() + "' AND (a.f_lagermindest IS NOT NULL OR a.f_fertigungssatzgroesse IS NOT NULL )" + "AND (a.f_lagermindest >0 OR a.f_fertigungssatzgroesse >0) AND a.artikelart_c_nr NOT IN ('Handartikel') ORDER BY a.c_nr"; Session session = FLRSessionFactory.getFactory().openSession(); Query inventurliste = session.createQuery(sQuery); List<?> resultList = inventurliste.list(); Iterator<?> resultListIterator = resultList.iterator(); data = new Object[resultList.size()][REPORT_MINDESTLAGERSTAENDE_ANZAHL_SPALTEN]; int row = 0; while (resultListIterator.hasNext()) { Object o[] = (Object[]) resultListIterator.next(); FLRArtikel a = (FLRArtikel) o[0]; BigDecimal lagerstand = (BigDecimal) o[1]; BigDecimal detailbedarfe = (BigDecimal) o[2]; data[row][REPORT_MINDESTLAGERSTAENDE_ARTIKEL] = a.getC_nr(); data[row][REPORT_MINDESTLAGERSTAENDE_FERTIGUNGSSATZGROESSE] = a.getF_fertigungssatzgroesse(); data[row][REPORT_MINDESTLAGERSTAENDE_LAGERMINDESTSTAND] = a.getF_lagermindest(); data[row][REPORT_MINDESTLAGERSTAENDE_LAGERSOLLSTAND] = a.getF_lagersoll(); data[row][REPORT_MINDESTLAGERSTAENDE_LAGERSTAND] = lagerstand; data[row][REPORT_MINDESTLAGERSTAENDE_DETAILBEDARF] = detailbedarfe; try { data[row][REPORT_MINDESTLAGERSTAENDE_LETZTER_ABGANG] = getLagerFac() .getDatumLetzterZugangsOderAbgangsbuchung(a.getI_id(), true); ArtikelDto artikelDto = getArtikelFac().artikelFindByPrimaryKeySmall(a.getI_id(), theClientDto); if (artikelDto.getArtikelsprDto() != null) { data[row][REPORT_MINDESTLAGERSTAENDE_BEZEICHNUNG] = artikelDto.getArtikelsprDto().getCBez(); data[row][REPORT_MINDESTLAGERSTAENDE_ZUSATZBEZEICHNUNG] = artikelDto.getArtikelsprDto() .getCZbez(); data[row][REPORT_MINDESTLAGERSTAENDE_ZUSATZBEZEICHNUNG2] = artikelDto.getArtikelsprDto() .getCZbez2(); data[row][REPORT_MINDESTLAGERSTAENDE_KURZBEZEICHNUNG] = artikelDto.getArtikelsprDto() .getCKbez(); } Hashtable<?, ?> htRahmenbestellt = getArtikelbestelltFac().getAnzahlRahmenbestellt(a.getI_id(), theClientDto); if (htRahmenbestellt.containsKey(ArtikelbestelltFac.KEY_RAHMENBESTELLT_ANZAHL)) { data[row][REPORT_MINDESTLAGERSTAENDE_RAHMENBESTELLT] = htRahmenbestellt .get(ArtikelbestelltFac.KEY_RAHMENBESTELLT_ANZAHL); } data[row][REPORT_MINDESTLAGERSTAENDE_RAHMENRESERVIERT] = getReservierungFac() .getAnzahlRahmenreservierungen(a.getI_id(), theClientDto); // MinVK VkPreisfindungEinzelverkaufspreisDto vkpfDto = getVkPreisfindungFac().getArtikeleinzelverkaufspreis( a.getI_id(), new java.sql.Date(System.currentTimeMillis()), theClientDto.getSMandantenwaehrung(), theClientDto); if (vkpfDto != null && vkpfDto.getNVerkaufspreisbasis() != null) { data[row][REPORT_MINDESTLAGERSTAENDE_VK_PREISBASIS] = vkpfDto.getNVerkaufspreisbasis(); } } catch (RemoteException e) { throwEJBExceptionLPRespectOld(e); } row++; } session.close(); HashMap<String, Object> parameter = new HashMap<String, Object>(); initJRDS(parameter, ArtikelbestelltFac.REPORT_MODUL, ArtikelReportFac.REPORT_MINDESTLAGERSTAENDE, theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto); return getReportPrint(); } @TransactionAttribute(TransactionAttributeType.NEVER) public JasperPrintLP printAenderungen(Integer artikelIId, TheClientDto theClientDto) { if (artikelIId == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FELD_DARF_NICHT_NULL_SEIN, new Exception("artikelIId == null")); } // Erstellung des Reports HashMap<String, Object> parameter = new HashMap<String, Object>(); ArtikelDto dto = getArtikelFac().artikelFindByPrimaryKey(artikelIId, theClientDto); parameter.put("P_ARTIKEL", dto.formatArtikelbezeichnung()); index = -1; sAktuellerReport = ArtikelReportFac.REPORT_AENDERUNGEN; Session session = FLRSessionFactory.getFactory().openSession(); org.hibernate.Criteria crit = session.createCriteria(FLRArtikellog.class); crit.add(Restrictions.eq("artikel_i_id", artikelIId)); crit.addOrder(Order.desc("t_aendern")); List<?> results = crit.list(); Iterator<?> resultListIterator = results.iterator(); data = new Object[results.size()][ArtikelReportFacBean.REPORT_AENDERUNGEN_ANZAHL_SPALTEN]; int i = 0; while (resultListIterator.hasNext()) { FLRArtikellog flrArtikellog = (FLRArtikellog) resultListIterator.next(); data[i][ArtikelReportFacBean.REPORT_AENDERUNGEN_EIGENSCHAFT] = flrArtikellog.getC_key(); data[i][ArtikelReportFacBean.REPORT_AENDERUNGEN_VON] = flrArtikellog.getC_von(); data[i][ArtikelReportFacBean.REPORT_AENDERUNGEN_NACH] = flrArtikellog.getC_nach(); data[i][ArtikelReportFacBean.REPORT_AENDERUNGEN_SPRACHE] = flrArtikellog.getLocale_c_nr(); data[i][ArtikelReportFacBean.REPORT_AENDERUNGEN_WANN] = flrArtikellog.getT_aendern(); data[i][ArtikelReportFacBean.REPORT_AENDERUNGEN_WER] = HelperServer .formatNameAusFLRPartner(flrArtikellog.getFlrpersonal().getFlrpartner()); i++; } initJRDS(parameter, ArtikelbestelltFac.REPORT_MODUL, ArtikelReportFac.REPORT_AENDERUNGEN, theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto); return getReportPrint(); } @TransactionAttribute(TransactionAttributeType.NEVER) public JasperPrintLP printArtikelbestellt(Integer artikelIId, java.sql.Date dVon, java.sql.Date dBis, TheClientDto theClientDto) { if (artikelIId == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FELD_DARF_NICHT_NULL_SEIN, new Exception("artikelIId == null")); } // Erstellung des Reports HashMap<String, Object> parameter = new HashMap<String, Object>(); index = -1; sAktuellerReport = ArtikelReportFac.REPORT_ARTIKELBESTELLT; ArtikelDto dto = getArtikelFac().artikelFindByPrimaryKeySmall(artikelIId, theClientDto); parameter.put("P_ARTIKEL", dto.formatArtikelbezeichnung()); parameter.put("P_EINHEIT", dto.getEinheitCNr().trim()); parameter.put("P_BESTELLEINHEIT_INVERS", Helper.short2Boolean(dto.getbBestellmengeneinheitInvers())); if (dto.getEinheitCNrBestellung() != null) { parameter.put("P_BESTELLEINHEIT", dto.getEinheitCNrBestellung().trim()); } else { parameter.put("P_BESTELLEINHEIT", ""); } String eingeloggterMandant = theClientDto.getMandant(); Session session = FLRSessionFactory.getFactory().openSession(); org.hibernate.Criteria bestelltliste = session.createCriteria(FLRArtikelbestellt.class); bestelltliste.createAlias(ArtikelbestelltFac.FLR_ARTIKELBESTELLT_FLRARTIKEL, "a") .add(Restrictions.eq("a.i_id", artikelIId)); if (dVon != null) { bestelltliste.add(Restrictions.ge(ArtikelbestelltFac.FLR_ARTIKELBESTELLT_D_LIEFERTERMIN, dVon)); } if (dBis != null) { bestelltliste.add(Restrictions.lt(ArtikelbestelltFac.FLR_ARTIKELBESTELLT_D_LIEFERTERMIN, dBis)); } bestelltliste.addOrder(Order.asc(ArtikelbestelltFac.FLR_ARTIKELBESTELLT_D_LIEFERTERMIN)); List<?> resultList = bestelltliste.list(); Iterator<?> resultListIterator = resultList.iterator(); int row = 0; Object[][] dataHelp = new Object[resultList.size()][10]; while (resultListIterator.hasNext()) { FLRArtikelbestellt artikelbestellt = (FLRArtikelbestellt) resultListIterator.next(); String sBelegnummer = null; String sPartner = null; String sProjektbezeichnung = null; String sMandant = null; Date dAuftragbestliefertermin = null; BestellpositionDto bestellpositionDto = null; BestellungDto bestellungDto = null; if (artikelbestellt.getC_belegartnr().equals(LocaleFac.BELEGART_BESTELLUNG)) { try { bestellpositionDto = getBestellpositionFac() .bestellpositionFindByPrimaryKey(artikelbestellt.getI_belegartpositionid()); if (!bestellpositionDto.getBestellpositionstatusCNr() .equals(BestellpositionFac.BESTELLPOSITIONSTATUS_ERLEDIGT)) { bestellungDto = getBestellungFac() .bestellungFindByPrimaryKey(bestellpositionDto.getBestellungIId()); sBelegnummer = bestellungDto.getCNr(); sMandant = bestellungDto.getMandantCNr(); sProjektbezeichnung = bestellungDto.getCBez(); dAuftragbestliefertermin = bestellpositionDto.getTAuftragsbestaetigungstermin(); sPartner = getLieferantFac() .lieferantFindByPrimaryKey(bestellungDto.getLieferantIIdBestelladresse(), theClientDto) .getPartnerDto().formatTitelAnrede(); } } catch (RemoteException ex3) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER, ex3); } } if (eingeloggterMandant.equals(sMandant)) { dataHelp[row][REPORT_BESTELLTLISTE_BESTELLUNG] = sBelegnummer; dataHelp[row][REPORT_BESTELLTLISTE_LIEFERANTENNAME] = sPartner; dataHelp[row][REPORT_BESTELLTLISTE_PROJEKTNAME] = sProjektbezeichnung; // Wenn if (dAuftragbestliefertermin != null) { dataHelp[row][REPORT_BESTELLTLISTE_LIEFERTERMIN] = dAuftragbestliefertermin; } else { dataHelp[row][REPORT_BESTELLTLISTE_LIEFERTERMIN] = artikelbestellt.getT_liefertermin(); } if (dto.getEinheitCNrBestellung() != null) { if (Helper.short2boolean(dto.getbBestellmengeneinheitInvers()) == true) { if (dto.getNUmrechnungsfaktor().doubleValue() != 0) { dataHelp[row][REPORT_BESTELLTLISTE_BESTELLMENGE] = artikelbestellt.getN_menge() .divide(dto.getNUmrechnungsfaktor(), 4, BigDecimal.ROUND_UP); } } else { dataHelp[row][REPORT_BESTELLTLISTE_BESTELLMENGE] = artikelbestellt.getN_menge() .multiply(dto.getNUmrechnungsfaktor()); } } if (artikelbestellt.getC_belegartnr().equals(LocaleFac.BELEGART_BESTELLUNG)) { dataHelp[row][REPORT_BESTELLTLISTE_MENGE] = bestellpositionDto.getNMenge(); dataHelp[row][REPORT_BESTELLTLISTE_AB_NUMMER] = bestellpositionDto.getCABNummer(); dataHelp[row][REPORT_BESTELLTLISTE_LIEFERTERMIN] = bestellpositionDto .getTUebersteuerterLiefertermin(); dataHelp[row][REPORT_BESTELLTLISTE_AB_TERMIN] = bestellpositionDto .getTAuftragsbestaetigungstermin(); dataHelp[row][REPORT_BESTELLTLISTE_OFFENEMENGE] = artikelbestellt.getN_menge(); dataHelp[row][REPORT_BESTELLTLISTE_AB_KOMMENTAR] = bestellpositionDto.getCABKommentar(); } row++; } } session.close(); data = new Object[row][10]; for (int i = 0; i < row; i++) { data[i] = dataHelp[i]; } initJRDS(parameter, ArtikelbestelltFac.REPORT_MODUL, ArtikelReportFac.REPORT_ARTIKELBESTELLT, theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto); return getReportPrint(); } @TransactionAttribute(TransactionAttributeType.NEVER) public JasperPrintLP printLagercockpitWELagerVerteilungsvorschlag(TheClientDto theClientDto) { HashMap<String, Object> parameter = new HashMap<String, Object>(); index = -1; sAktuellerReport = ArtikelReportFac.REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG; Session sessionArtikellager = FLRSessionFactory.getFactory().openSession(); String sQueryArtikellager = "SELECT artikellager from FLRArtikellager artikellager LEFT OUTER JOIN artikellager.flrartikelliste.artikelsprset AS aspr WHERE artikellager.flrartikelliste.mandant_c_nr = '" + theClientDto.getMandant() + "' AND artikellager.flrlager.lagerart_c_nr = '" + LagerFac.LAGERART_WARENEINGANG + "' AND artikellager.n_lagerstand > 0 ORDER BY artikellager.flrartikel.c_nr "; Query queryArtikellager = sessionArtikellager.createQuery(sQueryArtikellager); List<?> resultListArtikelager = queryArtikellager.list(); Iterator<?> resultListIteratorArtikelager = resultListArtikelager.iterator(); ArrayList al = new ArrayList(); while (resultListIteratorArtikelager.hasNext()) { FLRArtikellager artikellager = (FLRArtikellager) resultListIteratorArtikelager.next(); BigDecimal lagerstandKumuliert = artikellager.getN_lagerstand(); Session session = FLRSessionFactory.getFactory().openSession(); String queryString = "SELECT flrfehlmenge from FLRFehlmenge flrfehlmenge LEFT OUTER JOIN flrfehlmenge.flrartikelliste.artikellagerplatzset as artikellagerplatzset WHERE (artikellagerplatzset.i_sort=1 OR artikellagerplatzset.i_sort is null) AND flrfehlmenge.flrartikel.i_id=" + artikellager.getFlrartikel().getI_id() + " ORDER BY flrfehlmenge.flrlossollmaterial.flrlos.t_produktionsbeginn, flrfehlmenge.flrlossollmaterial.flrlos.c_nr "; Query query = session.createQuery(queryString); List<?> resultList = query.list(); Iterator<?> resultListIterator = resultList.iterator(); Object[] zeileVorlage = new Object[REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG_ANZAHL_SPALTEN]; zeileVorlage[REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG_ARTIKELNUMMER] = artikellager .getFlrartikel().getC_nr(); zeileVorlage[REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG_LAGERBEWIRTSCHAFTET] = Helper .short2Boolean(artikellager.getFlrartikel().getB_lagerbewirtschaftet()); ArtikelDto aDto = getArtikelFac().artikelFindByPrimaryKeySmall(artikellager.getFlrartikel().getI_id(), theClientDto); if (aDto.getArtikelsprDto() != null) { zeileVorlage[REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG_BEZEICHNUNG] = aDto.getArtikelsprDto() .getCBez(); zeileVorlage[REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG_ZUSATZBEZEICHNUNG] = aDto .getArtikelsprDto().getCZbez(); } zeileVorlage[REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG_EINHEIT] = artikellager.getFlrartikel() .getEinheit_c_nr(); Integer lagerIId = null; if (artikellager.getFlrartikelliste().getArtikellagerplatzset().size() > 0) { Iterator it = artikellager.getFlrartikelliste().getArtikellagerplatzset().iterator(); while (it.hasNext()) { FLRArtikellagerplaetze flrArtikellagerplaetze = (FLRArtikellagerplaetze) it.next(); if (flrArtikellagerplaetze.getI_sort() == 1) { zeileVorlage[REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG_LAGER] = flrArtikellagerplaetze .getFlrlagerplatz().getFlrlager().getC_nr(); lagerIId = flrArtikellagerplaetze.getFlrlagerplatz().getFlrlager().getI_id(); break; } } } try { String sLagerplaetze = getLagerFac().getLagerplaezteEinesArtikels(aDto.getIId(), null); boolean bMehrerLagerplaetze = false; if (sLagerplaetze != null && sLagerplaetze.split(",").length > 2) { bMehrerLagerplaetze = true; } if (bMehrerLagerplaetze == true && lagerIId != null) { zeileVorlage[REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG_LAGERPLAETZE] = getLagerFac() .getLagerplaezteEinesArtikels(artikellager.getFlrartikel().getI_id(), lagerIId) + " ++"; } else { zeileVorlage[REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG_LAGERPLAETZE] = getLagerFac() .getLagerplaezteEinesArtikels(artikellager.getFlrartikel().getI_id(), lagerIId); } } catch (RemoteException e) { throwEJBExceptionLPRespectOld(e); } if (resultList.size() > 0) { while (resultListIterator.hasNext()) { FLRFehlmenge flrFehlmenge = (FLRFehlmenge) resultListIterator.next(); Object[] zeile = zeileVorlage.clone(); LosDto losDto; try { losDto = getFertigungFac() .losFindByPrimaryKey(flrFehlmenge.getFlrlossollmaterial().getFlrlos().getI_id()); zeile[REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG_LOS_KOMMENTAR] = losDto .getCKommentar(); } catch (RemoteException e) { throwEJBExceptionLPRespectOld(e); } zeile[REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG_UMZUBUCHENDE_MENGE] = flrFehlmenge .getN_menge(); lagerstandKumuliert = lagerstandKumuliert.subtract(flrFehlmenge.getN_menge()); zeile[REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG_LAGERSTAND_KUMULIERT] = lagerstandKumuliert; zeile[REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG_LOS_BEGINN] = flrFehlmenge .getFlrlossollmaterial().getFlrlos().getT_produktionsbeginn(); zeile[REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG_LOS_ENDE] = flrFehlmenge .getFlrlossollmaterial().getFlrlos().getT_produktionsende(); zeile[REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG_LOS_NUMMER] = flrFehlmenge .getFlrlossollmaterial().getFlrlos().getC_nr(); zeile[REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG_LOS_PROJEKT] = flrFehlmenge .getFlrlossollmaterial().getFlrlos().getC_projekt(); if (flrFehlmenge.getFlrlossollmaterial().getFlrlos().getFlrstueckliste() != null) { zeile[REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG_LOS_STKLNUMMER] = flrFehlmenge .getFlrlossollmaterial().getFlrlos().getFlrstueckliste().getFlrartikel().getC_nr(); ArtikelDto aDtoStkl = getArtikelFac().artikelFindByPrimaryKeySmall(flrFehlmenge .getFlrlossollmaterial().getFlrlos().getFlrstueckliste().getFlrartikel().getI_id(), theClientDto); if (aDtoStkl.getArtikelsprDto() != null) { zeile[REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG_LOS_STKLBEZEICHUNG] = aDtoStkl .getArtikelsprDto().getCBez(); zeile[REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG_LOS_STKLZUSATZBEZEICHNUNG] = aDtoStkl .getArtikelsprDto().getCZbez(); } } al.add(zeile); } } else { // Wenns keine Fehlmengen gibt zeileVorlage[REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG_LAGERSTAND_KUMULIERT] = artikellager .getN_lagerstand(); al.add(zeileVorlage); } session.close(); } sessionArtikellager.close(); sessionArtikellager = FLRSessionFactory.getFactory().openSession(); // Nun noch alle nicht verrauemten Artikel hinzufuegen String query = "SELECT wep from FLRWareneingangspositionen wep WHERE wep.b_verraeumt = 0 AND wep.flrbestellposition.flrartikel.artikelart_c_nr <> 'Handartikel ' AND wep.flrbestellposition.flrartikel.b_lagerbewirtschaftet = 0 ORDER BY wep.flrbestellposition.flrartikel.c_nr ASC"; queryArtikellager = sessionArtikellager.createQuery(query); resultListArtikelager = queryArtikellager.list(); resultListIteratorArtikelager = resultListArtikelager.iterator(); while (resultListIteratorArtikelager.hasNext()) { FLRWareneingangspositionen wep = (FLRWareneingangspositionen) resultListIteratorArtikelager.next(); Object[] zeile = new Object[REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG_ANZAHL_SPALTEN]; zeile[REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG_ARTIKELNUMMER] = wep.getFlrbestellposition() .getFlrartikel().getC_nr(); zeile[REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG_UMZUBUCHENDE_MENGE] = wep.getN_geliefertemenge(); ArtikelDto aDto = getArtikelFac().artikelFindByPrimaryKeySmall( wep.getFlrbestellposition().getFlrartikel().getI_id(), theClientDto); if (aDto.getArtikelsprDto() != null) { zeile[REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG_BEZEICHNUNG] = aDto.getArtikelsprDto() .getCBez(); zeile[REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG_ZUSATZBEZEICHNUNG] = aDto.getArtikelsprDto() .getCZbez(); } zeile[REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG_LAGERBEWIRTSCHAFTET] = Boolean.FALSE; zeile[REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG_BESTELLNUMMER] = wep.getFlrbestellposition() .getFlrbestellung().getC_nr(); zeile[REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG_WARENEINGANG] = wep.getFlrwareneingang() .getC_lieferscheinnr(); Integer lagerIId = null; if (wep.getFlrbestellposition().getFlrartikel().getArtikellagerplatzset().size() > 0) { Iterator it = wep.getFlrbestellposition().getFlrartikel().getArtikellagerplatzset().iterator(); while (it.hasNext()) { FLRArtikellagerplaetze flrArtikellagerplaetze = (FLRArtikellagerplaetze) it.next(); if (flrArtikellagerplaetze.getI_sort() == 1) { zeile[REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG_LAGER] = flrArtikellagerplaetze .getFlrlagerplatz().getFlrlager().getC_nr(); lagerIId = flrArtikellagerplaetze.getFlrlagerplatz().getFlrlager().getI_id(); break; } } } try { String sLagerplaetze = getLagerFac().getLagerplaezteEinesArtikels(aDto.getIId(), null); boolean bMehrerLagerplaetze = false; if (sLagerplaetze != null && sLagerplaetze.split(",").length > 2) { bMehrerLagerplaetze = true; } if (bMehrerLagerplaetze == true && lagerIId != null) { zeile[REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG_LAGERPLAETZE] = getLagerFac() .getLagerplaezteEinesArtikels(wep.getFlrbestellposition().getFlrartikel().getI_id(), lagerIId) + " ++"; } else { zeile[REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG_LAGERPLAETZE] = getLagerFac() .getLagerplaezteEinesArtikels(wep.getFlrbestellposition().getFlrartikel().getI_id(), lagerIId); } } catch (RemoteException e) { throwEJBExceptionLPRespectOld(e); } al.add(zeile); } sessionArtikellager.close(); // und nach ArtikelNR-sortieren // Nach Artikel sortieren for (int i = al.size() - 1; i > 0; --i) { for (int j = 0; j < i; ++j) { Object[] a = (Object[]) al.get(j); String artikelnummer1 = (String) a[REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG_ARTIKELNUMMER]; Object[] b = (Object[]) al.get(j + 1); String artikelnummer2 = (String) b[REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG_ARTIKELNUMMER]; if (artikelnummer1.compareTo(artikelnummer2) > 0) { Object[] h = a; al.set(j, b); al.set(j + 1, h); } } } Object[][] returnArray = new Object[al .size()][REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG_ANZAHL_SPALTEN]; data = (Object[][]) al.toArray(returnArray); initJRDS(parameter, ArtikelReportFac.REPORT_MODUL, ArtikelReportFac.REPORT_LAGERCOCKPIT_WELAGER_VERTEILUNGSVORSCHLAG, theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto); return getReportPrint(); } @TransactionAttribute(TransactionAttributeType.NEVER) public JasperPrintLP printLagercockpitMaterialVerteilungsvorschlag(boolean bNurArtikelMitLagerstand, TheClientDto theClientDto) throws EJBExceptionLP { HashMap<String, Object> parameter = new HashMap<String, Object>(); parameter.put("P_NURARTIKELMITLAGERSTAND", new Boolean(bNurArtikelMitLagerstand)); TreeMap tmDaten = new TreeMap(); index = -1; sAktuellerReport = ArtikelReportFac.REPORT_LAGERCOCKPIT_MATERIAL_VERTEILUNGSVORSCHLAG; Session session = FLRSessionFactory.getFactory().openSession(); String queryString = "SELECT umbuchung FROM FLRLagercockpitumbuchung umbuchung LEFT OUTER JOIN umbuchung.flrlager_lagerplatz as flrlager_lagerplatz WHERE 1=1 "; if (bNurArtikelMitLagerstand == true) { queryString += " AND umbuchung.lagerstand >0 "; } // PJ18216 boolean bNichtLagerbewSofortAusgeben = false; try { ParametermandantDto parameterM = getParameterFac().getMandantparameter(theClientDto.getMandant(), ParameterFac.KATEGORIE_FERTIGUNG, ParameterFac.PARAMETER_NICHT_LAGERBEWIRTSCHAFTETE_SOFORT_AUSGEBEN); bNichtLagerbewSofortAusgeben = ((Boolean) parameterM.getCWertAsObject()).booleanValue(); } catch (RemoteException ex) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER, ex); } if (bNichtLagerbewSofortAusgeben == true) { queryString += " AND umbuchung.flrartikel.b_lagerbewirtschaftet = 1 "; } queryString += " ORDER BY umbuchung.flrartikel.c_nr ASC, umbuchung.flrlos.c_nr ASC, flrlager_lagerplatz.c_nr ASC "; Query query = session.createQuery(queryString); List<?> resultList = query.list(); Iterator<?> resultListIterator = resultList.iterator(); int iZeile = 0; while (resultListIterator.hasNext()) { FLRLagercockpitumbuchung losmat = (FLRLagercockpitumbuchung) resultListIterator.next(); Object[] zeile = new Object[REPORT_LAGERCOCKPIT_MATERIAL_VERTEILUNGSVORSCHLAG_ANZAHL_SPALTEN]; zeile[REPORT_LAGERCOCKPIT_MATERIAL_VERTEILUNGSVORSCHLAG_ARTIKELNUMMER] = losmat.getFlrartikel() .getC_nr(); ArtikelDto aDto = getArtikelFac().artikelFindByPrimaryKeySmall(losmat.getFlrartikel().getI_id(), theClientDto); if (aDto.getArtikelsprDto() != null) { zeile[REPORT_LAGERCOCKPIT_MATERIAL_VERTEILUNGSVORSCHLAG_BEZEICHNUNG] = aDto.getArtikelsprDto() .getCBez(); zeile[REPORT_LAGERCOCKPIT_MATERIAL_VERTEILUNGSVORSCHLAG_ZUSATZBEZEICHNUNG] = aDto.getArtikelsprDto() .getCZbez(); } zeile[REPORT_LAGERCOCKPIT_MATERIAL_VERTEILUNGSVORSCHLAG_EINHEIT] = losmat.getFlrartikel() .getEinheit_c_nr(); Integer lagerIId = null; if (losmat.getFlrlager_lagerplatz() != null) { zeile[REPORT_LAGERCOCKPIT_MATERIAL_VERTEILUNGSVORSCHLAG_LAGER] = losmat.getFlrlager_lagerplatz() .getC_nr(); lagerIId = losmat.getFlrlager_lagerplatz().getI_id(); } try { String sLagerplaetze = getLagerFac().getLagerplaezteEinesArtikels(aDto.getIId(), null); boolean bMehrerLagerplaetze = false; if (sLagerplaetze != null && sLagerplaetze.split(",").length > 2) { bMehrerLagerplaetze = true; } if (bMehrerLagerplaetze == true && lagerIId != null) { zeile[REPORT_LAGERCOCKPIT_MATERIAL_VERTEILUNGSVORSCHLAG_LAGERPLAETZE] = getLagerFac() .getLagerplaezteEinesArtikels(losmat.getFlrartikel().getI_id(), lagerIId) + " ++"; } else { zeile[REPORT_LAGERCOCKPIT_MATERIAL_VERTEILUNGSVORSCHLAG_LAGERPLAETZE] = getLagerFac() .getLagerplaezteEinesArtikels(losmat.getFlrartikel().getI_id(), lagerIId); } } catch (RemoteException e) { throwEJBExceptionLPRespectOld(e); } LosDto losDto; try { losDto = getFertigungFac().losFindByPrimaryKey(losmat.getFlrlos().getI_id()); zeile[REPORT_LAGERCOCKPIT_MATERIAL_VERTEILUNGSVORSCHLAG_LOS_KOMMENTAR] = losDto.getCKommentar(); } catch (RemoteException e) { throwEJBExceptionLPRespectOld(e); } zeile[REPORT_LAGERCOCKPIT_MATERIAL_VERTEILUNGSVORSCHLAG_MENGE] = losmat.getDiff(); zeile[REPORT_LAGERCOCKPIT_MATERIAL_VERTEILUNGSVORSCHLAG_LAGERSTAND] = losmat.getLagerstand(); zeile[REPORT_LAGERCOCKPIT_MATERIAL_VERTEILUNGSVORSCHLAG_LOS_BEGINN] = losmat.getFlrlos() .getT_produktionsbeginn(); zeile[REPORT_LAGERCOCKPIT_MATERIAL_VERTEILUNGSVORSCHLAG_LOS_ENDE] = losmat.getFlrlos() .getT_produktionsende(); zeile[REPORT_LAGERCOCKPIT_MATERIAL_VERTEILUNGSVORSCHLAG_LOS_NUMMER] = losmat.getFlrlos().getC_nr(); zeile[REPORT_LAGERCOCKPIT_MATERIAL_VERTEILUNGSVORSCHLAG_LOS_PROJEKT] = losmat.getFlrlos() .getC_projekt(); if (losmat.getFlrlos().getFlrstueckliste() != null) { zeile[REPORT_LAGERCOCKPIT_MATERIAL_VERTEILUNGSVORSCHLAG_LOS_STKLNUMMER] = losmat.getFlrlos() .getFlrstueckliste().getFlrartikel().getC_nr(); ArtikelDto aDtoStkl = getArtikelFac().artikelFindByPrimaryKeySmall( losmat.getFlrlos().getFlrstueckliste().getFlrartikel().getI_id(), theClientDto); if (aDtoStkl.getArtikelsprDto() != null) { zeile[REPORT_LAGERCOCKPIT_MATERIAL_VERTEILUNGSVORSCHLAG_LOS_STKLBEZEICHUNG] = aDtoStkl .getArtikelsprDto().getCBez(); zeile[REPORT_LAGERCOCKPIT_MATERIAL_VERTEILUNGSVORSCHLAG_LOS_STKLZUSATZBEZEICHNUNG] = aDtoStkl .getArtikelsprDto().getCZbez(); } } // Es gibt 3 Typen String key = ""; if (losmat.getDiff().doubleValue() > 0) { // Zuwenig -> Lager an Los // 3.)LAGER-LOS zeile[REPORT_LAGERCOCKPIT_MATERIAL_VERTEILUNGSVORSCHLAG_TYP] = "LAGER_AN_LOS"; LagerDto lDto = getLagerFac() .getLagerDtoWennNurAufEinemTypLagerstandVorhandenIst(losmat.getFlrartikel().getI_id()); String lager = ""; if (lDto != null) { zeile[REPORT_LAGERCOCKPIT_MATERIAL_VERTEILUNGSVORSCHLAG_QUELLE] = "Lager: " + lDto.getCNr(); lager = lDto.getCNr(); } key = "3" + Helper.fitString2Length(lager, 30, ' ') + Helper.fitString2Length(losmat.getFlrlos().getC_nr(), 30, ' '); } else { // Zuviel try { // Los an Los ArrayList al = getFehlmengeFac().getFehlmengen(losmat.getFlrartikel().getI_id(), theClientDto.getMandant(), theClientDto); FLRLos losZu = null; for (int i = 0; i < al.size(); i++) { FLRFehlmenge flr = (FLRFehlmenge) al.get(i); if (flr.getN_menge().doubleValue() > 0) { if (!flr.getFlrlossollmaterial().getI_id().equals(losmat.getI_id())) { losZu = flr.getFlrlossollmaterial().getFlrlos(); break; } } } if (losZu != null) { // 1.)LOS-ZU:LOS-AB key = "1" + Helper.fitString2Length(losmat.getFlrlos().getC_nr(), 30, ' ') + Helper.fitString2Length(losZu.getC_nr(), 30, ' '); zeile[REPORT_LAGERCOCKPIT_MATERIAL_VERTEILUNGSVORSCHLAG_TYP] = "LOS_ZU_LOS"; zeile[REPORT_LAGERCOCKPIT_MATERIAL_VERTEILUNGSVORSCHLAG_ZIEL] = losZu.getC_nr(); // oder } else { // Los an Lager // 2.)LOS-LAGER // Lager definiert artikel String lager = ""; if (losmat.getFlrlager_lagerplatz() != null) { lager = losmat.getFlrlager_lagerplatz().getC_nr(); zeile[REPORT_LAGERCOCKPIT_MATERIAL_VERTEILUNGSVORSCHLAG_ZIEL] = lager; } key = "2" + Helper.fitString2Length(lager, 30, ' ') + Helper.fitString2Length(losmat.getFlrlos().getC_nr(), 30, ' '); zeile[REPORT_LAGERCOCKPIT_MATERIAL_VERTEILUNGSVORSCHLAG_TYP] = "LOS_AN_LAGER"; } } catch (RemoteException e) { throwEJBExceptionLPRespectOld(e); } } key += iZeile; tmDaten.put(key, zeile); iZeile++; } Iterator it = tmDaten.keySet().iterator(); data = new Object[tmDaten.size()][REPORT_LAGERCOCKPIT_MATERIAL_VERTEILUNGSVORSCHLAG_ANZAHL_SPALTEN]; iZeile = 0; while (it.hasNext()) { Object key = it.next(); data[iZeile] = (Object[]) tmDaten.get(key); iZeile++; } initJRDS(parameter, ArtikelReportFac.REPORT_MODUL, ArtikelReportFac.REPORT_LAGERCOCKPIT_MATERIAL_VERTEILUNGSVORSCHLAG, theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto); return getReportPrint(); } /** * Fuer einen bestimmten Artikel die Rahmenreservierung des Auftrags * drucken. * * @param kritDtoI * die Auswertungskriterien des Benutzers * @param theClientDto * der aktuelle Benutzer * @return JasperPrint der Druck * @throws EJBExceptionLP * Ausnahme */ @TransactionAttribute(TransactionAttributeType.NEVER) public JasperPrintLP printRahmenreservierungsliste(ReportAnfragestatistikKriterienDto kritDtoI, TheClientDto theClientDto) throws EJBExceptionLP { if (kritDtoI == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PARAMETER_IS_NULL, new Exception("kritDtoI == null")); } JasperPrintLP jasperPrint = null; try { // es gilt das Locale des Benutzers // die Daten fuer den Report ueber Hibernate holen ReportRahmenreservierungDto[] aReportRahmenreservierungDto = getReportRahmenreservierung(kritDtoI, theClientDto); // Erstellung des Report index = -1; sAktuellerReport = ArtikelReportFac.REPORT_RAHMENRESERVIERUNG; int iAnzahlZeilen = aReportRahmenreservierungDto.length; // Anzahl // der // Zeilen // in // der // Gruppe int iAnzahlSpalten = 7; // Anzahl der Spalten in der Gruppe data = new Object[iAnzahlZeilen][iAnzahlSpalten]; // die Datenmatrix befuellen for (int i = 0; i < aReportRahmenreservierungDto.length; i++) { ReportRahmenreservierungDto reportRahmenreservierungDto = (ReportRahmenreservierungDto) aReportRahmenreservierungDto[i]; data[i][REPORT_RAHMENRESERVIERUNG_AUFTRAGCNR] = reportRahmenreservierungDto.getAuftragCNr(); data[i][REPORT_RAHMENRESERVIERUNG_KUNDECNAME1] = reportRahmenreservierungDto.getCKundenname(); data[i][REPORT_RAHMENRESERVIERUNG_AUFTRAGCBEZ] = reportRahmenreservierungDto.getCBez(); data[i][REPORT_RAHMENRESERVIERUNG_AUFTRAGPOSITIONRAHMENTERMIN] = reportRahmenreservierungDto .getTUebersteuerterLiefertermin(); data[i][REPORT_RAHMENRESERVIERUNG_AUFTRAGPOSITIONMENGE] = reportRahmenreservierungDto.getNMenge(); data[i][REPORT_RAHMENRESERVIERUNG_AUFTRAGPOSITIONOFFENEMENGE] = reportRahmenreservierungDto .getNOffeneMenge(); data[i][REPORT_RAHMENRESERVIERUNG_AUFTRAGPOSITIONGELIEFERT] = reportRahmenreservierungDto .getNGelieferteMenge(); } // die Parameter dem Report uebergeben HashMap<String, Object> parameter = new HashMap<String, Object>(); parameter.put("P_FILTER", formatRahmenreservierungKriterien(kritDtoI, theClientDto.getLocUi(), theClientDto)); if (kritDtoI.getArtikelIId() != null) { ArtikelDto artikelDto = getArtikelFac().artikelFindByPrimaryKeySmall(kritDtoI.getArtikelIId(), theClientDto); parameter.put("P_ARTIKELNUMMER", artikelDto.getCNr()); parameter.put("P_ARTIKELBEZEICHNUNG", artikelDto.formatBezeichnung()); } initJRDS(parameter, ArtikelReportFac.REPORT_MODUL, ArtikelReportFac.REPORT_RAHMENRESERVIERUNG, theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto); jasperPrint = getReportPrint(); } catch (Exception t) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_DRUCKEN, t); } return jasperPrint; } /** * String zum Andrucken der Filterkriterien. * * @param kritDtoI * die Kriterien * @param localeI * das bei der Formatierung gewuenschte Locale * @param cNrUserI * der aktuelle Benutzer * @return String die Filterkriterien * @throws EJBExceptionLP * Ausnahme */ private String formatRahmenreservierungKriterien(ReportAnfragestatistikKriterienDto kritDtoI, Locale localeI, TheClientDto theClientDto) throws EJBExceptionLP { StringBuffer buff = new StringBuffer(""); // Belegdatum if (kritDtoI.getDVon() != null || kritDtoI.getDBis() != null) { buff.append("\n").append( getTextRespectUISpr("lp.rahmentermin", theClientDto.getMandant(), theClientDto.getLocUi())); } if (kritDtoI.getDVon() != null) { buff.append(" ") .append(getTextRespectUISpr("lp.von", theClientDto.getMandant(), theClientDto.getLocUi())); buff.append(" ").append(Helper.formatDatum(kritDtoI.getDVon(), localeI)); } if (kritDtoI.getDBis() != null) { buff.append(" ") .append(getTextRespectUISpr("lp.bis", theClientDto.getMandant(), theClientDto.getLocUi())); buff.append(" ").append(Helper.formatDatum(kritDtoI.getDBis(), localeI)); } String cBuffer = buff.toString().trim(); return cBuffer; } /** * Diese Methode liefert eine Liste von allen Auftraegen zu einem bestimmten * Artikel, die nach den eingegebenen Kriterien des Benutzers * zusammengestellt wird. <br> * Achtung: Hibernate verwendet lazy initialization, d.h. der Zugriff auf * Collections muss innerhalb der Session erfolgen. * * @param kritDtoI * die Kriterien des Benutzers * @param theClientDto * der aktuelle Benutzer * @return ReportRahmenreservierungDto[] die Liste der Auftraege * @throws EJBExceptionLP * Ausnahme */ public ReportRahmenreservierungDto[] getReportRahmenreservierung(ReportAnfragestatistikKriterienDto kritDtoI, TheClientDto theClientDto) throws EJBExceptionLP { ReportRahmenreservierungDto[] aResult = null; SessionFactory factory = FLRSessionFactory.getFactory(); Session session = null; try { session = factory.openSession(); // Hiberante Criteria fuer alle Tabellen ausgehend von meiner // Haupttabelle anlegen, // nach denen ich filtern und sortieren kann Criteria critAuftragposition = session.createCriteria(FLRAuftragpositionReport.class); // flrauftragpositionreport > flrauftrag Criteria critAuftrag = critAuftragposition .createCriteria(AuftragpositionFac.FLR_AUFTRAGPOSITION_FLRAUFTRAG); // Einschraenken auf Rahmenauftraege des Mandanten critAuftrag.add(Restrictions.eq(AuftragFac.FLR_AUFTRAG_MANDANT_C_NR, theClientDto.getMandant())); critAuftrag.add( Restrictions.eq(AuftragFac.FLR_AUFTRAG_AUFTRAGART_C_NR, AuftragServiceFac.AUFTRAGART_RAHMEN)); // keine stornierten oder erledigten Auftraege. Collection<String> cStati = new LinkedList<String>(); cStati.add(AuftragServiceFac.AUFTRAGSTATUS_STORNIERT); cStati.add(AuftragServiceFac.AUFTRAGSTATUS_ERLEDIGT); critAuftrag.add(Restrictions.not(Restrictions.in(AuftragFac.FLR_AUFTRAG_AUFTRAGSTATUS_C_NR, cStati))); // Einschraenkung auf den gewaehlten Artikel if (kritDtoI.getArtikelIId() != null) { critAuftragposition.add(Restrictions.eq(AuftragpositionFac.FLR_AUFTRAGPOSITION_ARTIKEL_I_ID, kritDtoI.getArtikelIId())); } /* * // die offene Menge muss != null > 0 sein * critAuftragposition.add( * Restrictions.isNotNull(AuftragpositionFac. * FLR_AUFTRAGPOSITION_N_MENGE)); * critAuftragposition.add(Restrictions.gt(AuftragpositionFac. * FLR_AUFTRAGPOSITION_N_OFFENEMENGE, new BigDecimal(0))); */ // Einschraenkung nach Rahmentermin von - bis if (kritDtoI.getDVon() != null) { critAuftragposition.add(Restrictions.ge( AuftragpositionFac.FLR_AUFTRAGPOSITION_T_UEBERSTEUERTERLIEFERTERMIN, kritDtoI.getDVon())); } if (kritDtoI.getDBis() != null) { critAuftragposition.add(Restrictions.le( AuftragpositionFac.FLR_AUFTRAGPOSITION_T_UEBERSTEUERTERLIEFERTERMIN, kritDtoI.getDBis())); } // es wird nach Belegnummer und Artikel sortiert critAuftrag.addOrder(Order.asc(AuftragFac.FLR_AUFTRAG_C_NR)); List<?> list = critAuftrag.list(); aResult = new ReportRahmenreservierungDto[list.size()]; Iterator<?> it = list.iterator(); int iIndex = 0; while (it.hasNext()) { FLRAuftragpositionReport flrauftragposition = (FLRAuftragpositionReport) it.next(); FLRAuftragReport flrauftrag = flrauftragposition.getFlrauftrag(); FLRPartner flrpartner = flrauftrag.getFlrkunde().getFlrpartner(); ReportRahmenreservierungDto reportDto = new ReportRahmenreservierungDto(); reportDto.setAuftragCNr(flrauftrag.getC_nr()); reportDto.setAuftragIId(flrauftrag.getI_id()); reportDto.setArtikelIId(flrauftragposition.getArtikel_i_id()); reportDto.setCBez(flrauftrag.getC_bez()); reportDto.setCKundenname(flrpartner.getC_name1nachnamefirmazeile1()); reportDto.setTUebersteuerterLiefertermin( new Timestamp(flrauftragposition.getT_uebersteuerterliefertermin().getTime())); reportDto.setNMenge(flrauftragposition.getN_menge()); // offene (rahmenmenge-abgerufenemenge) reportDto.setNOffeneMenge(flrauftragposition.getN_offenerahmenmenge()); // geliefert if (flrauftragposition.getN_offenerahmenmenge() != null) { reportDto.setNGelieferteMenge( flrauftragposition.getN_menge().subtract(flrauftragposition.getN_offenerahmenmenge())); } else { reportDto.setNGelieferteMenge(flrauftragposition.getN_menge()); } aResult[iIndex] = reportDto; iIndex++; } } finally { try { session.close(); } catch (HibernateException he) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_HIBERNATE, he); } } return aResult; } }