List of usage examples for org.hibernate.criterion Restrictions in
public static Criterion in(String propertyName, Collection values)
From source file:com.lp.server.rechnung.ejbfac.RechnungFacBean.java
License:Open Source License
@TransactionAttribute(TransactionAttributeType.NEVER) public String pruefeRechnungswert(TheClientDto theClientDto) { String sFehler = "Rechnung;Mandant;WertAusRechnung;WertAusPositionen;"; byte[] cRLFAscii = { 13, 10 }; SessionFactory factory = FLRSessionFactory.getFactory(); Session session = factory.openSession(); Criteria c = session.createCriteria(FLRRechnungReport.class); String[] stati = new String[4]; stati[0] = RechnungFac.RECHNUNGART_RECHNUNG; stati[1] = RechnungFac.RECHNUNGART_GUTSCHRIFT; stati[2] = RechnungFac.RECHNUNGART_WERTGUTSCHRIFT; stati[3] = RechnungFac.RECHNUNGART_SCHLUSSZAHLUNG; c.createAlias(RechnungFac.FLR_RECHNUNG_FLRRECHNUNGART, "ra"); c.add(Restrictions.in("ra.c_nr", stati)); // Filter nach Status Collection<String> cStati = new LinkedList<String>(); cStati.add(RechnungFac.STATUS_BEZAHLT); cStati.add(RechnungFac.STATUS_TEILBEZAHLT); cStati.add(RechnungFac.STATUS_OFFEN); cStati.add(RechnungFac.STATUS_VERBUCHT); c.add(Restrictions.in(RechnungFac.FLR_RECHNUNG_STATUS_C_NR, cStati)); c.addOrder(Order.asc("c_nr")); List<?> list = c.list(); for (Iterator<?> iter = list.iterator(); iter.hasNext();) { FLRRechnungReport item = (FLRRechnungReport) iter.next(); if (item.getN_wert() != null) { RechnungDto rechnungDto = rechnungFindByPrimaryKey(item.getI_id()); // Positionen holen RechnungPositionDto[] rePosDto = rechnungPositionFindByRechnungIId(rechnungDto.getIId()); // Belege ohne Positionen duerfen nicht aktiviert werden if (rePosDto == null || rePosDto.length == 0) { } else { BigDecimal wert = getRechnungswertInRechnungswaehrung(rechnungDto, rePosDto, theClientDto); wert = Helper.rundeKaufmaennisch(wert, FinanzFac.NACHKOMMASTELLEN); if (item.getN_wert().doubleValue() != wert.doubleValue()) { String zeile = rechnungDto.getCNr() + ";" + rechnungDto.getMandantCNr() + ";" + item.getN_wert() + ";" + wert + ";"; ProtokollDto protokollDto = new ProtokollDto(); protokollDto.setCArt(SystemFac.PROTOKOLL_ART_FEHLER); protokollDto.setCTyp(SystemFac.PROTOKOLL_TYP_PRUEFE_RECHNUNGSWERT); protokollDto.setCText(zeile); erstelleProtokollEintrag(protokollDto, theClientDto); sFehler += zeile + new String(cRLFAscii); }// ww w .ja va 2s.co m } } } return sFehler; }
From source file:com.lp.server.rechnung.ejbfac.RechnungReportFacBean.java
License:Open Source License
public JasperPrintLP printRechnungenOffene(ReportRechnungJournalKriterienDto krit, TheClientDto theClientDto) throws EJBExceptionLP { Session session = null;// ww w . j a v a2 s .c om try { Map<String, Object> mapParameter = new TreeMap<String, Object>(); MandantDto mandantDto = getMandantFac().mandantFindByPrimaryKey(theClientDto.getMandant(), theClientDto); this.useCase = UC_REPORT_RECHNUNGEN_OFFENE; SessionFactory factory = FLRSessionFactory.getFactory(); session = factory.openSession(); // Kunde oder Statistikadresse verwenden final String critKundeIId; final String critFLRKunde; if (krit.getBVerwendeStatistikAdresse()) { critKundeIId = RechnungFac.FLR_RECHNUNG_KUNDE_I_ID_STATISTIKADRESSE; critFLRKunde = RechnungFac.FLR_RECHNUNG_FLRSTATISTIKADRESSE; } else { critKundeIId = RechnungFac.FLR_RECHNUNG_KUNDE_I_ID; critFLRKunde = RechnungFac.FLR_RECHNUNG_FLRKUNDE; } List<Integer> kundenIIds = new ArrayList<Integer>(); if (krit.kundeIId != null) { kundenIIds.add(krit.kundeIId); } else if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_PARTNER) { Iterator<?> iter = session.createCriteria(FLRKunde.class).createAlias("flrpartner", "p") .addOrder(Order.asc("p.c_name1nachnamefirmazeile1")) .add(Restrictions.eq("mandant_c_nr", theClientDto.getMandant())).list().iterator(); while (iter.hasNext()) kundenIIds.add(((FLRKunde) iter.next()).getI_id()); } else { kundenIIds.add(null); } List<Object[]> dataList = new ArrayList<Object[]>(); for (Integer kndIId : kundenIIds) { Criteria c = session.createCriteria(FLRRechnungReport.class); // Filter nach Mandant c.add(Restrictions.eq(RechnungFac.FLR_RECHNUNG_MANDANT_C_NR, theClientDto.getMandant())); // Rechnungstypen Collection<String> cRechnungstyp = new LinkedList<String>(); cRechnungstyp.add(RechnungFac.RECHNUNGTYP_RECHNUNG); if (krit.getBGutschriftenBeruecksichtigen()) { cRechnungstyp.add(RechnungFac.RECHNUNGTYP_GUTSCHRIFT); } c.createCriteria(RechnungFac.FLR_RECHNUNG_FLRRECHNUNGART) .add(Restrictions.in(RechnungFac.FLR_RECHNUNGART_RECHNUNGTYP_C_NR, cRechnungstyp)); // Kostenstelle if (krit.kostenstelleIId != null) { c.add(Restrictions.eq(RechnungFac.FLR_RECHNUNG_KOSTENSTELLE_I_ID, krit.kostenstelleIId)); } if (kndIId != null) { c.add(Restrictions.eq(critKundeIId, kndIId)); KundeDto kundeDto = getKundeFac().kundeFindByPrimaryKey(kndIId, theClientDto); mapParameter.put("P_KUNDE", kundeDto.getPartnerDto().formatTitelAnrede()); } // Filter nach einem Vertrter if (krit.vertreterIId != null) { c.add(Restrictions.eq(RechnungFac.FLR_RECHNUNG_FLRVERTRETER + ".i_id", krit.vertreterIId)); } String sVon = null; String sBis = null; if (krit.dVon != null) { c.add(Restrictions.ge(RechnungFac.FLR_RECHNUNG_D_BELEGDATUM, krit.dVon)); sVon = Helper.formatDatum(krit.dVon, theClientDto.getLocUi()); } if (krit.dBis != null) { c.add(Restrictions.le(RechnungFac.FLR_RECHNUNG_D_BELEGDATUM, krit.dBis)); sBis = Helper.formatDatum(krit.dBis, theClientDto.getLocUi()); } LpBelegnummerFormat f = getBelegnummerGeneratorObj() .getBelegnummernFormat(theClientDto.getMandant()); Integer iGeschaeftsjahr = getParameterFac().getGeschaeftsjahr(theClientDto.getMandant()); String sMandantKuerzel = getParameterFac().getMandantparameter(theClientDto.getMandant(), ParameterFac.KATEGORIE_ALLGEMEIN, ParameterFac.PARAMETER_BELEGNUMMER_MANDANTKENNUNG) .getCWert(); if (krit.sBelegnummerVon != null) { sVon = HelperServer.getBelegnummernFilterForHibernateCriterias(f, iGeschaeftsjahr, sMandantKuerzel, krit.sBelegnummerVon); c.add(Restrictions.ge(RechnungFac.FLR_RECHNUNG_C_NR, sVon)); } if (krit.sBelegnummerBis != null) { sBis = HelperServer.getBelegnummernFilterForHibernateCriterias(f, iGeschaeftsjahr, sMandantKuerzel, krit.sBelegnummerBis); c.add(Restrictions.le(RechnungFac.FLR_RECHNUNG_C_NR, sBis)); } // Alle Stati ausser Angelegt, Bezahlt, Storniert Collection<String> cStati = new LinkedList<String>(); cStati.add(RechnungFac.STATUS_ANGELEGT); cStati.add(RechnungFac.STATUS_STORNIERT); c.add(Restrictions.not(Restrictions.in(RechnungFac.FLR_RECHNUNG_STATUS_C_NR, cStati))); c.add(Restrictions.or(Restrictions.gt("t_bezahltdatum", krit.getTStichtag()), Restrictions.isNull("t_bezahltdatum"))); boolean mitNichtZugeordnetenBelegen = false; // Sortierung nach Kostenstelle if (krit.bSortiereNachKostenstelle) { c.createCriteria(RechnungFac.FLR_RECHNUNG_FLRKOSTENSTELLE).addOrder(Order.asc("c_nr")); } // Sortierung nach Kunde if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_PARTNER) { c.createCriteria(critFLRKunde).createCriteria(KundeFac.FLR_PARTNER) .addOrder(Order.asc(PartnerFac.FLR_PARTNER_NAME1NACHNAMEFIRMAZEILE1)); c.addOrder(Order.asc(RechnungFac.FLR_RECHNUNG_C_NR)); mitNichtZugeordnetenBelegen = krit.getBMitNichtZugeordnetendBelegen(); } // Sortierung nach Belegnummer else if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_BELEGNUMMER) { c.addOrder(Order.asc(RechnungFac.FLR_RECHNUNG_C_NR)); } else if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_VERTRETER) { c.createCriteria(RechnungFac.FLR_RECHNUNG_FLRVERTRETER) .addOrder(Order.asc(PersonalFac.FLR_PERSONAL_C_KURZZEICHEN)); } else if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_FAELLIGKEIT) { c.addOrder(Order.asc(RechnungFac.FLR_RECHNUNG_T_FAELLIGKEIT)) .addOrder(Order.asc(RechnungFac.FLR_RECHNUNG_C_NR)); } // stichtag ab belegdatum c.add(Restrictions.le(RechnungFac.FLR_RECHNUNG_D_BELEGDATUM, krit.getTStichtag())); List<?> firstResultList = c.list(); Iterator<?> firstResultListIterator = firstResultList.iterator(); List<FLRRechnungReport> resultList = new LinkedList<FLRRechnungReport>(); while (firstResultListIterator.hasNext()) { FLRRechnungReport re = (FLRRechnungReport) firstResultListIterator.next(); // stichtag bereits bezahlt? if (re.getT_bezahltdatum() == null || !krit.getTStichtag().after(re.getT_bezahltdatum())) { resultList.add(re); } } Iterator<?> resultListIterator = resultList.iterator(); int row = 0; Object[][] tempData = new Object[resultList.size()][OFFENE_ANZAHL_SPALTEN]; KundeDto kundeDto = null; if (kndIId != null) kundeDto = getKundeFac().kundeFindByPrimaryKey(kndIId, theClientDto); if (mitNichtZugeordnetenBelegen && kundeDto.getIidDebitorenkonto() != null) { // TODO: nur FLRFinanzBuchungDetail holen Query query = session.createQuery( "SELECT buchungdetail from FLRFinanzBuchungDetail buchungdetail LEFT OUTER JOIN buchungdetail.flrbuchung AS buchung" + " WHERE" + BuchungDetailQueryBuilder.buildNurOffeneBuchungDetails("buchungdetail") + "AND" + BuchungDetailQueryBuilder.buildNichtZuordenbareVonKonto("buchungdetail", "buchung", kundeDto.getIidDebitorenkonto()) + (krit.getTStichtag() == null ? "" : (" AND buchung.d_buchungsdatum<='" + Helper.formatDateWithSlashes(krit.getTStichtag()) + "'"))); @SuppressWarnings("unchecked") List<FLRFinanzBuchungDetail> bdList = query.list(); if (bdList.size() > 0) { if (tempData.length < 1) { tempData = new Object[1][OFFENE_ANZAHL_SPALTEN]; String sFirma = kundeDto.getPartnerDto().getCName1nachnamefirmazeile1(); tempData[row][OFFENE_FELD_FIRMA] = sFirma; tempData[row][OFFENE_FELD_DEBITORENNR] = kundeDto.getIidDebitorenkonto() != null ? getFinanzFac().kontoFindByPrimaryKey(kundeDto.getIidDebitorenkonto()).getCNr() : null; } tempData[0][OFFENE_SUBREPORT_OFFENE_BUCHUNGEN] = FinanzSubreportGenerator .createBuchungsdetailSubreport(bdList, true); } } while (resultListIterator.hasNext()) { FLRRechnungReport re = (FLRRechnungReport) resultListIterator.next(); RechnungDto reDto = getRechnungFac().rechnungFindByPrimaryKey(re.getI_id()); // Kunde oder Statistikadresse? final Integer kundeIId, kundeIIdStatistik; if (krit.getBVerwendeStatistikAdresse()) { kundeIId = reDto.getKundeIIdStatistikadresse(); } else { kundeIId = reDto.getKundeIId(); // Statistikdaten wenn nicht Kriterium Statistikadresse kundeIIdStatistik = reDto.getKundeIIdStatistikadresse(); KundeDto kundeDtoStatistik = getKundeFac().kundeFindByPrimaryKey(kundeIIdStatistik, theClientDto); String sFirmaStatistik = kundeDtoStatistik.getPartnerDto().getCName1nachnamefirmazeile1(); String sKundeLKZStatistik = null; if (kundeDtoStatistik.getPartnerDto().getLandplzortDto() != null) { sKundeLKZStatistik = kundeDtoStatistik.getPartnerDto().getLandplzortDto().getLandDto() .getCLkz(); } tempData[row][OFFENE_FELD_FIRMA_STATISTIK] = sFirmaStatistik; tempData[row][OFFENE_FELD_FIRMA_LKZ_STATISTIK] = sKundeLKZStatistik; } if (kundeDto == null || kundeDto.getIId() != kundeIId) { kundeDto = getKundeFac().kundeFindByPrimaryKey(kundeIId, theClientDto); } String sFirma = kundeDto.getPartnerDto().getCName1nachnamefirmazeile1(); String sKundeLKZ = null; if (kundeDto.getPartnerDto().getLandplzortDto() != null) { sKundeLKZ = kundeDto.getPartnerDto().getLandplzortDto().getLandDto().getCLkz(); } tempData[row][OFFENE_FELD_RECHNUNGART] = re.getFlrrechnungart().getRechnungtyp_c_nr(); tempData[row][OFFENE_FELD_RECHNUNGSNUMMER] = reDto.getCNr(); tempData[row][OFFENE_FELD_FIRMA] = sFirma; tempData[row][OFFENE_FELD_FIRMA_LKZ] = sKundeLKZ; tempData[row][OFFENE_FELD_RECHNUNGSDATUM] = re.getD_belegdatum(); tempData[row][OFFENE_FELD_KURS] = re.getN_kurs(); tempData[row][OFFENE_FELD_WAEHRUNG] = re.getWaehrung_c_nr(); tempData[row][OFFENE_FELD_DEBITORENNR] = kundeDto.getIidDebitorenkonto() != null ? getFinanzFac().kontoFindByPrimaryKey(kundeDto.getIidDebitorenkonto()).getCNr() : null; // Vertreter if (re.getFlrvertreter() != null) { if (re.getFlrvertreter().getFlrpartner().getC_name2vornamefirmazeile2() != null) { tempData[row][OFFENE_FELD_VERTRETER] = re.getFlrvertreter().getFlrpartner() .getC_name1nachnamefirmazeile1() + " " + re.getFlrvertreter().getFlrpartner().getC_name2vornamefirmazeile2(); } else { tempData[row][OFFENE_FELD_VERTRETER] = re.getFlrvertreter().getFlrpartner() .getC_name1nachnamefirmazeile1(); } } // datum der letzten zahlung bis zum stichtag ermitteln RechnungzahlungDto[] zahlungen = getRechnungFac().zahlungFindByRechnungIId(re.getI_id()); java.sql.Date dZahldatum = null; for (int i = 0; i < zahlungen.length; i++) { if ((dZahldatum == null || zahlungen[i].getDZahldatum().after(dZahldatum)) && !zahlungen[i].getDZahldatum().after(krit.getTStichtag())) { dZahldatum = new Date(zahlungen[i].getDZahldatum().getTime()); } } // Zahlungsbetrag bis zum Stichtag ermitteln BigDecimal bdBezahlt = new BigDecimal(0); for (int i = 0; i < zahlungen.length; i++) { if (!zahlungen[i].getDZahldatum().after(krit.getTStichtag())) { bdBezahlt = bdBezahlt.add(zahlungen[i].getNBetrag()); } } if (reDto.getKostenstelleIId() != null) { KostenstelleDto kstDto = getSystemFac() .kostenstelleFindByPrimaryKey(reDto.getKostenstelleIId()); tempData[row][OFFENE_FELD_KOSTENSTELLE] = kstDto.getCNr(); } if (reDto.getNWert() == null) { EJBExceptionLP ex = new EJBExceptionLP(EJBExceptionLP.FEHLER_RECHNUNG_HAT_KEINEN_WERT, ""); ArrayList<Object> alInfo = new ArrayList<Object>(); alInfo.add("ID: " + reDto.getIId()); alInfo.add("Nr: " + reDto.getCNr()); ex.setAlInfoForTheClient(alInfo); throw ex; } BigDecimal bdWertBrutto = reDto.getNWert().add(reDto.getNWertust()); BigDecimal bdWertNetto = reDto.getNWert(); BigDecimal bdWertBruttoFW = reDto.getNWertfw().add(reDto.getNWertustfw()); BigDecimal bdWertNettoFW = reDto.getNWertfw(); BigDecimal bdBezahltUst = getRechnungFac().getBereitsBezahltWertVonRechnungUst(reDto.getIId(), null, krit.getTStichtag()); BigDecimal bdBezahltNetto = getRechnungFac().getBereitsBezahltWertVonRechnung(reDto.getIId(), null, krit.getTStichtag()); BigDecimal bdBezahltUstFw = getRechnungFac() .getBereitsBezahltWertVonRechnungUstFw(reDto.getIId(), null, krit.getTStichtag()); BigDecimal bdBezahltNettoFw = getRechnungFac() .getBereitsBezahltWertVonRechnungFw(reDto.getIId(), null, krit.getTStichtag()); BigDecimal bdNettoOffenFw = reDto.getNWertfw().subtract(bdBezahltNettoFw); BigDecimal bdUstOffenFw = reDto.getNWertustfw().subtract(bdBezahltUstFw); BigDecimal bdNettoOffenMandWhg = getLocaleFac().rechneUmInAndereWaehrungZuDatum(bdNettoOffenFw, reDto.getWaehrungCNr(), theClientDto.getSMandantenwaehrung(), krit.getTStichtag(), theClientDto); BigDecimal bdUstOffenMandWhg = getLocaleFac().rechneUmInAndereWaehrungZuDatum(bdUstOffenFw, reDto.getWaehrungCNr(), theClientDto.getSMandantenwaehrung(), krit.getTStichtag(), theClientDto); BigDecimal bdUstAnzahlungMandWhg = new BigDecimal(0); BigDecimal bdNettoAnzahlungMandWhg = new BigDecimal(0); BigDecimal bdUstAnzahlungFW = new BigDecimal(0); BigDecimal bdNettoAnzahlungFW = new BigDecimal(0); if (reDto.getAuftragIId() != null && reDto.getRechnungartCNr().equals(RechnungFac.RECHNUNGART_SCHLUSSZAHLUNG)) { bdNettoAnzahlungMandWhg = getLocaleFac().rechneUmInAndereWaehrungZuDatum( getRechnungFac().getAnzahlungenZuSchlussrechnungFw(reDto.getIId()), reDto.getWaehrungCNr(), theClientDto.getSMandantenwaehrung(), krit.getTStichtag(), theClientDto); bdUstAnzahlungMandWhg = getLocaleFac().rechneUmInAndereWaehrungZuDatum( getRechnungFac().getAnzahlungenZuSchlussrechnungUstFw(reDto.getIId()), reDto.getWaehrungCNr(), theClientDto.getSMandantenwaehrung(), krit.getTStichtag(), theClientDto); } tempData[row][OFFENE_FELD_WERT_BRUTTO_ANZAHLUNGEN] = bdNettoAnzahlungMandWhg .add(bdUstAnzahlungMandWhg); tempData[row][OFFENE_FELD_WERT_NETTO_ANZAHLUNGEN] = bdNettoAnzahlungMandWhg; tempData[row][OFFENE_FELD_WERT_BRUTTO_ANZAHLUNGEN_FW] = bdNettoAnzahlungFW .add(bdUstAnzahlungFW); tempData[row][OFFENE_FELD_WERT_NETTO_ANZAHLUNGEN_FW] = bdNettoAnzahlungFW; // SP554 bdNettoOffenMandWhg = bdNettoOffenMandWhg.subtract(bdNettoAnzahlungMandWhg); bdUstOffenMandWhg = bdUstOffenMandWhg.subtract(bdUstAnzahlungMandWhg); if (re.getFlrrechnungart().getRechnungtyp_c_nr().equals(RechnungFac.RECHNUNGTYP_RECHNUNG)) { tempData[row][OFFENE_FELD_WERT_BRUTTO] = bdWertBrutto; tempData[row][OFFENE_FELD_WERT_NETTO] = bdWertNetto; tempData[row][OFFENE_FELD_WERT_BRUTTO_OFFEN] = bdNettoOffenMandWhg.add(bdUstOffenMandWhg); tempData[row][OFFENE_FELD_WERT_NETTO_OFFEN] = bdNettoOffenMandWhg; // FW tempData[row][OFFENE_FELD_WERT_BRUTTO_FW] = bdWertBruttoFW; tempData[row][OFFENE_FELD_WERT_NETTO_FW] = bdWertNettoFW; tempData[row][OFFENE_FELD_WERT_BRUTTO_OFFEN_FW] = bdNettoOffenFw.add(bdUstOffenFw); tempData[row][OFFENE_FELD_WERT_NETTO_OFFEN_FW] = bdNettoOffenFw; } else if (re.getFlrrechnungart().getRechnungtyp_c_nr() .equals(RechnungFac.RECHNUNGTYP_GUTSCHRIFT)) { tempData[row][OFFENE_FELD_WERT_BRUTTO] = bdWertBrutto.negate(); tempData[row][OFFENE_FELD_WERT_NETTO] = bdWertNetto.negate(); tempData[row][OFFENE_FELD_WERT_BRUTTO_OFFEN] = bdNettoOffenMandWhg.add(bdUstOffenMandWhg) .negate(); tempData[row][OFFENE_FELD_WERT_NETTO_OFFEN] = bdNettoOffenMandWhg.negate(); // FW tempData[row][OFFENE_FELD_WERT_BRUTTO_FW] = bdWertBruttoFW.negate(); tempData[row][OFFENE_FELD_WERT_NETTO_FW] = bdWertNettoFW.negate(); tempData[row][OFFENE_FELD_WERT_BRUTTO_OFFEN_FW] = bdNettoOffenFw.add(bdUstOffenFw).negate(); tempData[row][OFFENE_FELD_WERT_NETTO_OFFEN_FW] = bdNettoOffenFw.negate(); } tempData[row][OFFENE_FELD_MAHNDATUM] = getMahnwesenFac() .getAktuellesMahndatumEinerRechnung(reDto.getIId(), theClientDto); tempData[row][OFFENE_FELD_MAHNSTUFE] = getMahnwesenFac() .getAktuelleMahnstufeEinerRechnung(reDto.getIId(), theClientDto); tempData[row][OFFENE_FELD_MAHNSPERRE] = reDto.getTMahnsperrebis(); // Faelligkeitsdatum // java.sql.Date dFaellig; // if (reDto.getZahlungszielIId() != null) { // dFaellig = // getMandantFac().berechneZielDatumFuerBelegdatum(reDto // .getTBelegdatum(), // reDto.getZahlungszielIId(), theClientDto); // } // else { // dFaellig = new // java.sql.Date(reDto.getTBelegdatum().getTime()); // } if (re.getT_faelligkeit() != null) { tempData[row][OFFENE_FELD_FAELLIGKEITSDATUM] = new java.util.Date( re.getT_faelligkeit().getTime()); } else { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_RECHNUNG_FAELLIGKEIT_NICHT_BERECHENBAR, new Exception("Faelligkeit nicht berechenbar")); } // Differenz in Tagen: Stichtag - Faelligkeitsdatum tempData[row][OFFENE_FELD_TAGE_BIS_FAELLIGKEITSDATUM] = Helper .getDifferenzInTagen(krit.getTStichtag(), re.getT_faelligkeit()); row++; } dataList.addAll(Arrays.asList(tempData)); } data = dataList.toArray(new Object[0][]); // Waehrung mapParameter.put(LPReport.P_WAEHRUNG, mandantDto.getWaehrungCNr()); mapParameter.put("P_STICHTAG", Helper.formatDatum(krit.getTStichtag(), theClientDto.getLocUi())); StringBuffer sSortierung = new StringBuffer(); if (krit.bSortiereNachKostenstelle) { sSortierung.append( getTextRespectUISpr("lp.kostenstelle", theClientDto.getMandant(), theClientDto.getLocUi())); sSortierung.append(", "); } if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_PARTNER) { if (krit.getBVerwendeStatistikAdresse()) { sSortierung.append(getTextRespectUISpr("rech.statistikadresse", theClientDto.getMandant(), theClientDto.getLocUi())); } else { sSortierung.append( getTextRespectUISpr("lp.kunde", theClientDto.getMandant(), theClientDto.getLocUi())); } } else if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_BELEGNUMMER) { sSortierung.append(getTextRespectUISpr("rechnung.rechnungsnummer", theClientDto.getMandant(), theClientDto.getLocUi())); } else if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_VERTRETER) { sSortierung.append( getTextRespectUISpr("lp.vertreter", theClientDto.getMandant(), theClientDto.getLocUi())); } else if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_FAELLIGKEIT) { sSortierung.append( getTextRespectUISpr("lp.faelligkeit", theClientDto.getMandant(), theClientDto.getLocUi())); } mapParameter.put(LPReport.P_SORTIERUNG, sSortierung.toString()); mapParameter.put(LPReport.P_SORTIERENACHKOSTENSTELLE, new Boolean(krit.bSortiereNachKostenstelle)); mapParameter.put(LPReport.P_SORTIERENACHKUNDE, new Boolean(krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_PARTNER)); mapParameter.put(LPReport.P_SORTIERENACHVERTRETER, new Boolean(krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_VERTRETER)); String sZessionstext = null; sZessionstext = getParameterFac().parametermandantFindByPrimaryKey(ParameterFac.PARAMETER_ZESSIONSTEXT, ParameterFac.KATEGORIE_ALLGEMEIN, theClientDto.getMandant()).getCWert(); if (sZessionstext != null) { mapParameter.put("P_ZESSIONSTEXT", sZessionstext); } /** * @todo zinsen PJ 4538 */ initJRDS(mapParameter, RechnungReportFac.REPORT_MODUL, RechnungReportFac.REPORT_RECHNUNGEN_OFFENE, theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto); return getReportPrint(); // } // catch (FinderException ex) { // { // @ToDo FinderException // throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_DRUCKEN, // null); // } // throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_DRUCKEN, ex); } catch (RemoteException ex) { throwEJBExceptionLPRespectOld(ex); return null; } finally { try { session.close(); } catch (HibernateException he) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER, he); } } }
From source file:com.lp.server.rechnung.ejbfac.RechnungReportFacBean.java
License:Open Source License
public JasperPrintLP printZusammenfassendeMeldung(java.sql.Date dVon, java.sql.Date dBis, Integer partnerIIdFinanzamt, TheClientDto theClientDto) { Session session = null;/*from w w w. jav a2 s.c o m*/ try { PartnerDto partnerDtoFinazamt = getPartnerFac().partnerFindByPrimaryKey(partnerIIdFinanzamt, theClientDto); this.useCase = UC_REPORT_ALLE; SessionFactory factory = FLRSessionFactory.getFactory(); session = factory.openSession(); // Kunde oder Statistikadresse verwenden Criteria c = session.createCriteria(FLRRechnungReport.class); // Filter nach Mandant c.add(Restrictions.eq(RechnungFac.FLR_RECHNUNG_MANDANT_C_NR, theClientDto.getMandant())); // Rechnungen und Gutschriften Collection<String> cArten = new LinkedList<String>(); cArten.add(RechnungFac.RECHNUNGTYP_RECHNUNG); cArten.add(RechnungFac.RECHNUNGART_GUTSCHRIFT); c.createCriteria(RechnungFac.FLR_RECHNUNG_FLRRECHNUNGART) .add(Restrictions.in(RechnungFac.FLR_RECHNUNGART_RECHNUNGTYP_C_NR, cArten)); // Filter nach Status (keine stornierten) c.add(Restrictions .not(Restrictions.eq(RechnungFac.FLR_RECHNUNG_STATUS_C_NR, RechnungFac.STATUS_STORNIERT))); // Datum von/bis String sVon = null; String sBis = null; if (dVon != null) { c.add(Restrictions.ge(RechnungFac.FLR_RECHNUNG_D_BELEGDATUM, dVon)); sVon = Helper.formatDatum(dVon, theClientDto.getLocUi()); } if (dBis != null) { c.add(Restrictions.le(RechnungFac.FLR_RECHNUNG_D_BELEGDATUM, dBis)); sBis = Helper.formatDatum(dBis, theClientDto.getLocUi()); } // Belegnummer von/bis LpBelegnummerFormat f = getBelegnummerGeneratorObj().getBelegnummernFormat(theClientDto.getMandant()); Integer iGeschaeftsjahr = getParameterFac().getGeschaeftsjahr(theClientDto.getMandant()); String sMandantKuerzel = getParameterFac().getMandantparameter(theClientDto.getMandant(), ParameterFac.KATEGORIE_ALLGEMEIN, ParameterFac.PARAMETER_BELEGNUMMER_MANDANTKENNUNG).getCWert(); // Immer nach Kunde sortiert c.createCriteria(RechnungFac.FLR_RECHNUNG_FLRKUNDE).createCriteria(KundeFac.FLR_PARTNER) .addOrder(Order.asc(PartnerFac.FLR_PARTNER_NAME1NACHNAMEFIRMAZEILE1)); c.addOrder(Order.asc(RechnungFac.FLR_RECHNUNG_C_NR)); List<?> list = c.list(); ArrayList<Object[]> alZeilen = new ArrayList<Object[]>(); for (Iterator<?> iter = list.iterator(); iter.hasNext();) { FLRRechnungReport r = (FLRRechnungReport) iter.next(); Object[] zeile = new Object[REPORT_ZM_ANZAHL_SPALTEN]; zeile[FELD_ZM_BELEGDATUM] = r.getD_belegdatum(); // Bezahlte Betraege BigDecimal bdBezahlt = getRechnungFac().getBereitsBezahltWertVonRechnung(r.getI_id(), null); BigDecimal bdBezahltUst = getRechnungFac().getBereitsBezahltWertVonRechnungUst(r.getI_id(), null); BigDecimal bdWertmw = null; BigDecimal bdWertUstmw = null; BigDecimal bdBezahltmw = null; BigDecimal bdBezahltUstmw = null; bdBezahltmw = bdBezahlt; bdBezahltUstmw = bdBezahltUst; bdWertmw = r.getN_wert(); bdWertUstmw = r.getN_wertust(); if (r.getFlrrechnungart().getC_nr().equals(RechnungFac.RECHNUNGART_GUTSCHRIFT) || r.getFlrrechnungart().getC_nr().equals(RechnungFac.RECHNUNGART_WERTGUTSCHRIFT)) { if (bdWertmw != null) bdWertmw = bdWertmw.negate(); if (bdWertUstmw != null) bdWertUstmw = bdWertUstmw.negate(); if (bdBezahltmw != null) bdBezahltmw = bdBezahltmw.negate(); if (bdBezahltUstmw != null) bdBezahltUstmw = bdBezahltUstmw.negate(); } zeile[FELD_ZM_BETRAG] = bdWertmw; zeile[FELD_ZM_BETRAGUST] = bdWertUstmw; zeile[FELD_ZM_BEZAHLT] = bdBezahltmw; zeile[FELD_ZM_BEZAHLTUST] = bdBezahltUstmw; // Kostenstelle if (r.getFlrkostenstelle() != null) { String sKostenstellen = ""; KostenstelleDto k = null; RechnungkontierungDto[] rechnungkontierungsDto = getRechnungFac() .rechnungkontierungFindByRechnungIId(r.getI_id()); if (rechnungkontierungsDto.length != 0) { for (int e = 0; e < rechnungkontierungsDto.length; e++) { k = getSystemFac() .kostenstelleFindByPrimaryKey(rechnungkontierungsDto[e].getKostenstelleIId()); sKostenstellen = sKostenstellen + k.getCNr() + " "; } } else { sKostenstellen = r.getFlrkostenstelle().getC_nr(); } zeile[FELD_ZM_KOSTENSTELLENUMMER] = sKostenstellen; } else { zeile[FELD_ZM_KOSTENSTELLENUMMER] = null; } // Kundendaten FLRKunde flrKunde, flrKundeStatistik; flrKunde = r.getFlrkunde(); // Statistikdaten wenn nicht Kriterium Statistikadresse flrKundeStatistik = r.getFlrstatistikadresse(); zeile[FELD_ZM_KUNDE_STATISTIK] = flrKundeStatistik.getFlrpartner().getC_name1nachnamefirmazeile1(); if (flrKundeStatistik.getFlrpartner().getC_name2vornamefirmazeile2() != null) { zeile[FELD_ZM_KUNDE2_STATISTIK] = flrKundeStatistik.getFlrpartner() .getC_name2vornamefirmazeile2(); } else { zeile[FELD_ZM_KUNDE2_STATISTIK] = ""; } PartnerDto partnerDtoStatistik = getPartnerFac() .partnerFindByPrimaryKey(flrKundeStatistik.getFlrpartner().getI_id(), theClientDto); zeile[FELD_ZM_ADRESSE_STATISTIK] = partnerDtoStatistik.formatAdresse(); zeile[FELD_ZM_KUNDE] = flrKunde.getFlrpartner().getC_name1nachnamefirmazeile1(); zeile[FELD_ZM_REVERSE_CHARGE] = Helper.short2Boolean(r.getB_reversecharge()); zeile[FELD_ZM_KUNDE_UID] = flrKunde.getFlrpartner().getC_uid(); if (r.getFlrvertreter() != null) { if (r.getFlrvertreter().getFlrpartner().getC_name2vornamefirmazeile2() != null) { zeile[FELD_ZM_VERTRETER] = r.getFlrvertreter().getFlrpartner() .getC_name1nachnamefirmazeile1() + " " + r.getFlrvertreter().getFlrpartner().getC_name2vornamefirmazeile2(); } else { zeile[FELD_ZM_VERTRETER] = r.getFlrvertreter().getFlrpartner() .getC_name1nachnamefirmazeile1(); } } if (flrKunde.getFlrpartner().getC_name2vornamefirmazeile2() != null) { zeile[FELD_ZM_KUNDE2] = flrKunde.getFlrpartner().getC_name2vornamefirmazeile2(); } else { zeile[FELD_ZM_KUNDE2] = ""; } PartnerDto partnerDto = getPartnerFac().partnerFindByPrimaryKey(flrKunde.getFlrpartner().getI_id(), theClientDto); zeile[FELD_ZM_ADRESSE] = partnerDto.formatAdresse(); Integer mahnstufeIId = getMahnwesenFac().getAktuelleMahnstufeEinerRechnung(r.getI_id(), theClientDto); if (mahnstufeIId != null) { zeile[FELD_ZM_MAHNSTUFE] = mahnstufeIId; MahnstufeDto mahnstufeDto = getMahnwesenFac() .mahnstufeFindByPrimaryKey(new MahnstufePK(mahnstufeIId, r.getMandant_c_nr())); // Zinsen nur fuer noch nicht vollstaendig bezahlte if (!r.getStatus_c_nr().equals(RechnungFac.STATUS_BEZAHLT)) { if (mahnstufeDto.getFZinssatz() != null) { BigDecimal bdOffen = r.getN_wert().subtract(bdBezahlt); // Zinsen zeile[FELD_ZM_ZINSEN] = bdOffen .multiply(new BigDecimal(mahnstufeDto.getFZinssatz().floatValue())) .movePointLeft(2); } } } zeile[FELD_ZM_ORT] = partnerDto.formatAdresse(); if (r.getFlrrechnungart().getC_nr().equals(RechnungFac.RECHNUNGART_RECHNUNG)) { zeile[FELD_ZM_RECHNUNGSNUMMER] = "RE " + r.getC_nr(); zeile[FELD_ZM_RECHNUNGSNUMMERZUGUTSCHRIFT] = ""; } else if (r.getFlrrechnungart().getC_nr().equals(RechnungFac.RECHNUNGART_ANZAHLUNG)) { zeile[FELD_ZM_RECHNUNGSNUMMER] = "AZ " + r.getC_nr(); zeile[FELD_ZM_RECHNUNGSNUMMERZUGUTSCHRIFT] = ""; } else if (r.getFlrrechnungart().getC_nr().equals(RechnungFac.RECHNUNGART_SCHLUSSZAHLUNG)) { zeile[FELD_ZM_RECHNUNGSNUMMER] = "SZ " + r.getC_nr(); zeile[FELD_ZM_RECHNUNGSNUMMERZUGUTSCHRIFT] = ""; } else { if (r.getFlrrechnungart().getC_nr().equals(RechnungFac.RECHNUNGART_GUTSCHRIFT) || r.getFlrrechnungart().getC_nr().equals(RechnungFac.RECHNUNGART_WERTGUTSCHRIFT)) { zeile[FELD_ZM_RECHNUNGSNUMMER] = "GS " + r.getC_nr(); // wenn es eine Gutschrift ist die C_NR der Rechnung // uebergeben if (r.getFlrrechnung() != null) { zeile[FELD_ZM_RECHNUNGSNUMMERZUGUTSCHRIFT] = "RE " + r.getFlrrechnung().getC_nr(); } } else { zeile[FELD_ZM_RECHNUNGSNUMMER] = r.getC_nr(); zeile[FELD_ZM_RECHNUNGSNUMMERZUGUTSCHRIFT] = ""; } } if (r.getZahlungsziel_i_id() != null) { zeile[FELD_ZM_ZIELDATUM] = getMandantFac().berechneZielDatumFuerBelegdatum(r.getD_belegdatum(), r.getZahlungsziel_i_id(), theClientDto); } // Bezahlt if (r.getT_bezahltdatum() != null) { zeile[FELD_ZM_BEZAHLTDATUM] = r.getT_bezahltdatum(); // Zahltage int iZahltage = Helper.getDifferenzInTagen(r.getD_belegdatum(), r.getT_bezahltdatum()); zeile[FELD_ZM_ZAHLTAGE] = new Integer(iZahltage); } // Debitorenkontonummer KontoDtoSmall kontoDtoDeb = null; if (flrKunde.getKonto_i_id_debitorenkonto() != null) { kontoDtoDeb = getFinanzFac() .kontoFindByPrimaryKeySmallOhneExc(flrKunde.getKonto_i_id_debitorenkonto()); } String sKontonummer; if (kontoDtoDeb != null) { sKontonummer = kontoDtoDeb.getCNr(); } else { sKontonummer = ""; } zeile[FELD_ZM_DEBITORENKONTO] = sKontonummer; zeile[FELD_ZM_WAEHRUNG] = r.getWaehrung_c_nr(); zeile[FELD_ZM_KURS] = r.getN_kurs(); // 14217 String sLaenderart = getFinanzServiceFac().getLaenderartZuPartner(partnerDtoFinazamt, partnerDto, theClientDto); zeile[FELD_ZM_LAENDERART] = sLaenderart; if (sLaenderart != null && sLaenderart.equals(FinanzFac.LAENDERART_EU_AUSLAND_MIT_UID)) { alZeilen.add(zeile); } } data = new Object[alZeilen.size()][REPORT_ZM_ANZAHL_SPALTEN]; data = alZeilen.toArray(data); MandantDto mandantDto = getMandantFac().mandantFindByPrimaryKey(theClientDto.getMandant(), theClientDto); // Waehrung HashMap mapParameter = new HashMap(); mapParameter.put(LPReport.P_WAEHRUNG, mandantDto.getWaehrungCNr()); StringBuffer sSortierung = new StringBuffer(); sSortierung.append(getTextRespectUISpr("lp.kunde", theClientDto.getMandant(), theClientDto.getLocUi())); StringBuffer sFilter = new StringBuffer(); if (sVon != null) { sFilter.append(getTextRespectUISpr("lp.von", theClientDto.getMandant(), theClientDto.getLocUi())); sFilter.append(" " + sVon + " "); } if (sBis != null) { sFilter.append(getTextRespectUISpr("lp.bis", theClientDto.getMandant(), theClientDto.getLocUi())); sFilter.append(" " + sBis + " "); } mapParameter.put(LPReport.P_SORTIERUNG, sSortierung.toString()); mapParameter.put(LPReport.P_FILTER, sFilter.toString()); FinanzamtDto finanzamtDto = getFinanzFac().finanzamtFindByPrimaryKey(partnerIIdFinanzamt, theClientDto.getMandant(), theClientDto); boolean bRunden = false; bRunden = Helper.short2boolean(finanzamtDto.getBUmsatzRunden()); mapParameter.put("P_FA_NAME", finanzamtDto.getPartnerDto().formatFixName1Name2()); mapParameter.put("P_FA_ADRESSE", finanzamtDto.getPartnerDto().formatAdresse()); // Steuernummer mapParameter.put("P_FA_STEUERNUMMER", finanzamtDto.getCSteuernummer()); mapParameter.put("P_FA_REFERAT", finanzamtDto.getCReferat()); mapParameter.put("P_UMSATZRUNDEN", new Boolean(bRunden)); initJRDS(mapParameter, RechnungReportFac.REPORT_MODUL, RechnungReportFac.REPORT_RECHNUNGEN_ZM, theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto); return getReportPrint(); } catch (RemoteException ex) { throwEJBExceptionLPRespectOld(ex); return null; } finally { if (session != null) { session.close(); } } }
From source file:com.lp.server.rechnung.ejbfac.RechnungReportFacBean.java
License:Open Source License
private JasperPrintLP buildAlleReport(ReportRechnungJournalKriterienDto krit, String rechnungtypCNr, String sReportname, TheClientDto theClientDto) throws EJBExceptionLP { Session session = null;//from w ww .ja v a 2 s .c om try { this.useCase = UC_REPORT_ALLE; SessionFactory factory = FLRSessionFactory.getFactory(); session = factory.openSession(); // Kunde oder Statistikadresse verwenden final String critKundeIId; final String critFLRKunde; if (krit.getBVerwendeStatistikAdresse()) { critKundeIId = RechnungFac.FLR_RECHNUNG_KUNDE_I_ID_STATISTIKADRESSE; critFLRKunde = RechnungFac.FLR_RECHNUNG_FLRSTATISTIKADRESSE; } else { critKundeIId = RechnungFac.FLR_RECHNUNG_KUNDE_I_ID; critFLRKunde = RechnungFac.FLR_RECHNUNG_FLRKUNDE; } Criteria c = session.createCriteria(FLRRechnungReport.class); // Filter nach Mandant c.add(Restrictions.eq(RechnungFac.FLR_RECHNUNG_MANDANT_C_NR, theClientDto.getMandant())); if (krit.getBGutschriftenBeruecksichtigen()) { // Rechnungen und Gutschriften Collection<String> cArten = new LinkedList<String>(); cArten.add(rechnungtypCNr); cArten.add(RechnungFac.RECHNUNGART_GUTSCHRIFT); c.createCriteria(RechnungFac.FLR_RECHNUNG_FLRRECHNUNGART) .add(Restrictions.in(RechnungFac.FLR_RECHNUNGART_RECHNUNGTYP_C_NR, cArten)); } else { // nur Rechnungen c.createCriteria(RechnungFac.FLR_RECHNUNG_FLRRECHNUNGART) .add(Restrictions.eq(RechnungFac.FLR_RECHNUNGART_RECHNUNGTYP_C_NR, rechnungtypCNr)); } // Filter nach Kostenstelle if (krit.kostenstelleIId != null) { c.add(Restrictions.eq(RechnungFac.FLR_RECHNUNG_KOSTENSTELLE_I_ID, krit.kostenstelleIId)); } // Filter nach einem Kunden Map<String, Object> mapParameter = new TreeMap<String, Object>(); if (krit.kundeIId != null) { c.add(Restrictions.eq(critKundeIId, krit.kundeIId)); KundeDto kundeDto = getKundeFac().kundeFindByPrimaryKey(krit.kundeIId, theClientDto); mapParameter.put("P_KUNDE", kundeDto.getPartnerDto().formatTitelAnrede()); } // Filter nach einem Vertrter if (krit.vertreterIId != null) { c.add(Restrictions.eq(RechnungFac.FLR_RECHNUNG_FLRVERTRETER + ".i_id", krit.vertreterIId)); } // Filter nach Status (keine stornierten) c.add(Restrictions .not(Restrictions.eq(RechnungFac.FLR_RECHNUNG_STATUS_C_NR, RechnungFac.STATUS_STORNIERT))); // Nur offene anzeigen? if (krit.getBNurOffene()) { Collection<String> cStati = new LinkedList<String>(); cStati.add(RechnungFac.STATUS_ANGELEGT); cStati.add(RechnungFac.STATUS_OFFEN); cStati.add(RechnungFac.STATUS_TEILBEZAHLT); cStati.add(RechnungFac.STATUS_VERBUCHT); c.add(Restrictions.in(RechnungFac.FLR_RECHNUNG_STATUS_C_NR, cStati)); } // Datum von/bis String sVon = null; String sBis = null; if (krit.dVon != null) { c.add(Restrictions.ge(RechnungFac.FLR_RECHNUNG_D_BELEGDATUM, krit.dVon)); sVon = Helper.formatDatum(krit.dVon, theClientDto.getLocUi()); } if (krit.dBis != null) { c.add(Restrictions.le(RechnungFac.FLR_RECHNUNG_D_BELEGDATUM, krit.dBis)); sBis = Helper.formatDatum(krit.dBis, theClientDto.getLocUi()); } // Belegnummer von/bis LpBelegnummerFormat f = getBelegnummerGeneratorObj().getBelegnummernFormat(theClientDto.getMandant()); Integer iGeschaeftsjahr = getParameterFac().getGeschaeftsjahr(theClientDto.getMandant()); String sMandantKuerzel = getParameterFac().getMandantparameter(theClientDto.getMandant(), ParameterFac.KATEGORIE_ALLGEMEIN, ParameterFac.PARAMETER_BELEGNUMMER_MANDANTKENNUNG).getCWert(); if (krit.sBelegnummerVon != null) { sVon = HelperServer.getBelegnummernFilterForHibernateCriterias(f, iGeschaeftsjahr, sMandantKuerzel, krit.sBelegnummerVon); c.add(Restrictions.ge(RechnungFac.FLR_RECHNUNG_C_NR, sVon)); } if (krit.sBelegnummerBis != null) { sBis = HelperServer.getBelegnummernFilterForHibernateCriterias(f, iGeschaeftsjahr, sMandantKuerzel, krit.sBelegnummerBis); c.add(Restrictions.le(RechnungFac.FLR_RECHNUNG_C_NR, sBis)); } // Sortierung nach Kostenstelle ist optional if (krit.bSortiereNachKostenstelle) { c.createCriteria(RechnungFac.FLR_RECHNUNG_FLRKOSTENSTELLE).addOrder(Order.asc("c_nr")); } // Sortierung nach Partner ist optional if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_PARTNER) { c.createCriteria(critFLRKunde).createCriteria(KundeFac.FLR_PARTNER) .addOrder(Order.asc(PartnerFac.FLR_PARTNER_NAME1NACHNAMEFIRMAZEILE1)); } else if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_BELEGNUMMER) { c.addOrder(Order.asc(RechnungFac.FLR_RECHNUNG_C_NR)); } if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_VERTRETER) { c.createCriteria(RechnungFac.FLR_RECHNUNG_FLRVERTRETER) .addOrder(Order.asc(PersonalFac.FLR_PERSONAL_C_KURZZEICHEN)); } List<?> list = c.list(); data = new Object[list.size()][REPORT_ALLE_ANZAHL_SPALTEN]; // Map mapZahlungsziele = // getMandantFac().zahlungszielFindAllByMandantAsDto // (theClientDto.getMandant(), // theClientDto.getIDUser()); int i = 0; for (Iterator<?> iter = list.iterator(); iter.hasNext();) { FLRRechnungReport r = (FLRRechnungReport) iter.next(); data[i][FELD_ALLE_BELEGDATUM] = r.getD_belegdatum(); // Bezahlte Betraege BigDecimal bdBezahlt = getRechnungFac().getBereitsBezahltWertVonRechnung(r.getI_id(), null); BigDecimal bdBezahltUst = getRechnungFac().getBereitsBezahltWertVonRechnungUst(r.getI_id(), null); BigDecimal bdWertmw = null; BigDecimal bdWertUstmw = null; BigDecimal bdBezahltmw = null; BigDecimal bdBezahltUstmw = null; bdBezahltmw = bdBezahlt; bdBezahltUstmw = bdBezahltUst; BigDecimal bdWertFW = null; BigDecimal bdWertUstFW = null; BigDecimal bdBezahltFW = getRechnungFac().getBereitsBezahltWertVonRechnungFw(r.getI_id(), null); BigDecimal bdBezahltUstFW = getRechnungFac().getBereitsBezahltWertVonRechnungUstFw(r.getI_id(), null); bdWertmw = r.getN_wert(); bdWertUstmw = r.getN_wertust(); bdWertFW = r.getN_wertfw(); bdWertUstFW = r.getN_wertustfw(); if (r.getFlrrechnungart().getC_nr().equals(RechnungFac.RECHNUNGART_GUTSCHRIFT) || r.getFlrrechnungart().getC_nr().equals(RechnungFac.RECHNUNGART_WERTGUTSCHRIFT)) { if (bdWertmw != null) bdWertmw = bdWertmw.negate(); if (bdWertUstmw != null) bdWertUstmw = bdWertUstmw.negate(); if (bdBezahltmw != null) bdBezahltmw = bdBezahltmw.negate(); if (bdBezahltUstmw != null) bdBezahltUstmw = bdBezahltUstmw.negate(); // FW if (bdWertFW != null) bdWertFW = bdWertFW.negate(); if (bdWertUstFW != null) bdWertUstFW = bdWertUstFW.negate(); if (bdBezahltFW != null) bdBezahltFW = bdBezahltFW.negate(); if (bdBezahltUstFW != null) bdBezahltUstFW = bdBezahltUstFW.negate(); } data[i][FELD_ALLE_BETRAG] = bdWertmw; data[i][FELD_ALLE_BETRAGUST] = bdWertUstmw; data[i][FELD_ALLE_BEZAHLT] = bdBezahltmw; data[i][FELD_ALLE_BEZAHLTUST] = bdBezahltUstmw; data[i][FELD_ALLE_BETRAG_FW] = bdWertFW; data[i][FELD_ALLE_BETRAGUST_FW] = bdWertUstFW; data[i][FELD_ALLE_BEZAHLT_FW] = bdBezahltFW; data[i][FELD_ALLE_BEZAHLTUST_FW] = bdBezahltUstFW; BigDecimal bdUstAnzahlungMandWhg = new BigDecimal(0); BigDecimal bdNettoAnzahlungMandWhg = new BigDecimal(0); BigDecimal bdUstAnzahlungFW = new BigDecimal(0); BigDecimal bdNettoAnzahlungFW = new BigDecimal(0); if (r.getFlrauftrag() != null && r.getFlrrechnungart().getC_nr().equals(RechnungFac.RECHNUNGART_SCHLUSSZAHLUNG)) { bdUstAnzahlungFW = getRechnungFac().getAnzahlungenZuSchlussrechnungUstFw(r.getI_id()); bdNettoAnzahlungFW = getRechnungFac().getAnzahlungenZuSchlussrechnungFw(r.getI_id()); bdNettoAnzahlungMandWhg = getLocaleFac().rechneUmInAndereWaehrungZuDatum(bdNettoAnzahlungFW, r.getWaehrung_c_nr(), theClientDto.getSMandantenwaehrung(), new Date(System.currentTimeMillis()), theClientDto); bdUstAnzahlungMandWhg = getLocaleFac().rechneUmInAndereWaehrungZuDatum(bdUstAnzahlungFW, r.getWaehrung_c_nr(), theClientDto.getSMandantenwaehrung(), new Date(System.currentTimeMillis()), theClientDto); } data[i][FELD_ALLE_WERT_ANZAHLUNGEN] = bdNettoAnzahlungMandWhg; data[i][FELD_ALLE_WERT_ANZAHLUNGENUST] = bdUstAnzahlungMandWhg; data[i][FELD_ALLE_WERT_ANZAHLUNGEN_FW] = bdNettoAnzahlungFW; data[i][FELD_ALLE_WERT_ANZAHLUNGENUST_FW] = bdUstAnzahlungFW; // Kostenstelle if (r.getFlrkostenstelle() != null) { String sKostenstellen = ""; KostenstelleDto k = null; RechnungkontierungDto[] rechnungkontierungsDto = getRechnungFac() .rechnungkontierungFindByRechnungIId(r.getI_id()); if (rechnungkontierungsDto.length != 0) { for (int e = 0; e < rechnungkontierungsDto.length; e++) { k = getSystemFac() .kostenstelleFindByPrimaryKey(rechnungkontierungsDto[e].getKostenstelleIId()); sKostenstellen = sKostenstellen + k.getCNr() + " "; } } else { sKostenstellen = r.getFlrkostenstelle().getC_nr(); } data[i][FELD_ALLE_KOSTENSTELLENUMMER] = sKostenstellen; } else { data[i][FELD_ALLE_KOSTENSTELLENUMMER] = null; } // Kundendaten FLRKunde flrKunde, flrKundeStatistik; if (krit.getBVerwendeStatistikAdresse()) { flrKunde = r.getFlrstatistikadresse(); } else { flrKunde = r.getFlrkunde(); // Statistikdaten wenn nicht Kriterium Statistikadresse flrKundeStatistik = r.getFlrstatistikadresse(); data[i][FELD_ALLE_KUNDE_STATISTIK] = flrKundeStatistik.getFlrpartner() .getC_name1nachnamefirmazeile1(); if (flrKundeStatistik.getFlrpartner().getC_name2vornamefirmazeile2() != null) { data[i][FELD_ALLE_KUNDE2_STATISTIK] = flrKundeStatistik.getFlrpartner() .getC_name2vornamefirmazeile2(); } else { data[i][FELD_ALLE_KUNDE2_STATISTIK] = ""; } PartnerDto partnerDtoStatistik = getPartnerFac() .partnerFindByPrimaryKey(flrKundeStatistik.getFlrpartner().getI_id(), theClientDto); data[i][FELD_ALLE_ADRESSE_STATISTIK] = partnerDtoStatistik.formatAdresse(); } data[i][FELD_ALLE_KUNDE] = flrKunde.getFlrpartner().getC_name1nachnamefirmazeile1(); data[i][FELD_ALLE_REVERSE_CHARGE] = Helper.short2Boolean(r.getB_reversecharge()); data[i][FELD_ALLE_STATUS] = r.getStatus_c_nr(); data[i][FELD_ALLE_ZOLLBELEGNUMMER] = r.getC_zollpapier(); data[i][FELD_ALLE_KUNDE_UID] = flrKunde.getFlrpartner().getC_uid(); if (r.getFlrvertreter() != null) { if (r.getFlrvertreter().getFlrpartner().getC_name2vornamefirmazeile2() != null) { data[i][FELD_ALLE_VERTRETER] = r.getFlrvertreter().getFlrpartner() .getC_name1nachnamefirmazeile1() + " " + r.getFlrvertreter().getFlrpartner().getC_name2vornamefirmazeile2(); } else { data[i][FELD_ALLE_VERTRETER] = r.getFlrvertreter().getFlrpartner() .getC_name1nachnamefirmazeile1(); } } if (flrKunde.getFlrpartner().getC_name2vornamefirmazeile2() != null) { data[i][FELD_ALLE_KUNDE2] = flrKunde.getFlrpartner().getC_name2vornamefirmazeile2(); } else { data[i][FELD_ALLE_KUNDE2] = ""; } PartnerDto partnerDto = getPartnerFac().partnerFindByPrimaryKey(flrKunde.getFlrpartner().getI_id(), theClientDto); data[i][FELD_ALLE_ADRESSE] = partnerDto.formatAdresse(); Integer mahnstufeIId = getMahnwesenFac().getAktuelleMahnstufeEinerRechnung(r.getI_id(), theClientDto); if (mahnstufeIId != null) { data[i][FELD_ALLE_MAHNSTUFE] = mahnstufeIId; MahnstufeDto mahnstufeDto = getMahnwesenFac() .mahnstufeFindByPrimaryKey(new MahnstufePK(mahnstufeIId, r.getMandant_c_nr())); // Zinsen nur fuer noch nicht vollstaendig bezahlte if (!r.getStatus_c_nr().equals(RechnungFac.STATUS_BEZAHLT)) { if (mahnstufeDto.getFZinssatz() != null) { BigDecimal bdOffen = r.getN_wert().subtract(bdBezahlt); // Zinsen data[i][FELD_ALLE_ZINSEN] = bdOffen .multiply(new BigDecimal(mahnstufeDto.getFZinssatz().floatValue())) .movePointLeft(2); } } } data[i][FELD_ALLE_ORT] = partnerDto.formatAdresse(); if (r.getFlrrechnungart().getC_nr().equals(RechnungFac.RECHNUNGART_RECHNUNG)) { data[i][FELD_ALLE_RECHNUNGSNUMMER] = "RE " + r.getC_nr(); data[i][FELD_ALLE_RECHNUNGSNUMMERZUGUTSCHRIFT] = ""; } else { if (r.getFlrrechnungart().getC_nr().equals(RechnungFac.RECHNUNGART_GUTSCHRIFT) || r.getFlrrechnungart().getC_nr().equals(RechnungFac.RECHNUNGART_WERTGUTSCHRIFT)) { data[i][FELD_ALLE_RECHNUNGSNUMMER] = "GS " + r.getC_nr(); // wenn es eine Gutschrift ist die C_NR der Rechnung // uebergeben if (r.getFlrrechnung() != null) { data[i][FELD_ALLE_RECHNUNGSNUMMERZUGUTSCHRIFT] = "RE " + r.getFlrrechnung().getC_nr(); } } else if (r.getFlrrechnungart().getC_nr().equals(RechnungFac.RECHNUNGART_ANZAHLUNG)) { data[i][FELD_ALLE_RECHNUNGSNUMMER] = "AZ " + r.getC_nr(); } else if (r.getFlrrechnungart().getC_nr().equals(RechnungFac.RECHNUNGART_SCHLUSSZAHLUNG)) { data[i][FELD_ALLE_RECHNUNGSNUMMER] = "SR " + r.getC_nr(); } else if (r.getFlrrechnungart().getC_nr().equals(RechnungFac.RECHNUNGART_PROFORMARECHNUNG)) { data[i][FELD_ALLE_RECHNUNGSNUMMER] = "PF " + r.getC_nr(); } else { data[i][FELD_ALLE_RECHNUNGSNUMMER] = r.getC_nr(); data[i][FELD_ALLE_RECHNUNGSNUMMERZUGUTSCHRIFT] = ""; } } if (r.getZahlungsziel_i_id() != null) { data[i][FELD_ALLE_ZIELDATUM] = getMandantFac().berechneZielDatumFuerBelegdatum( r.getD_belegdatum(), r.getZahlungsziel_i_id(), theClientDto); } // Bezahlt if (r.getT_bezahltdatum() != null) { data[i][FELD_ALLE_BEZAHLTDATUM] = r.getT_bezahltdatum(); // Zahltage int iZahltage = Helper.getDifferenzInTagen(r.getD_belegdatum(), r.getT_bezahltdatum()); data[i][FELD_ALLE_ZAHLTAGE] = new Integer(iZahltage); } // Debitorenkontonummer KontoDtoSmall kontoDtoDeb = null; if (flrKunde.getKonto_i_id_debitorenkonto() != null) { kontoDtoDeb = getFinanzFac() .kontoFindByPrimaryKeySmallOhneExc(flrKunde.getKonto_i_id_debitorenkonto()); } String sKontonummer; if (kontoDtoDeb != null) { sKontonummer = kontoDtoDeb.getCNr(); } else { sKontonummer = ""; } data[i][FELD_ALLE_DEBITORENKONTO] = sKontonummer; data[i][FELD_ALLE_WAEHRUNG] = r.getWaehrung_c_nr(); data[i][FELD_ALLE_KURS] = r.getN_kurs(); // 14217 String sLaenderart = getFinanzServiceFac().getLaenderartZuPartner(partnerDto.getIId(), theClientDto); data[i][FELD_ALLE_LAENDERART] = sLaenderart; i++; } MandantDto mandantDto = getMandantFac().mandantFindByPrimaryKey(theClientDto.getMandant(), theClientDto); // Waehrung mapParameter.put(LPReport.P_WAEHRUNG, mandantDto.getWaehrungCNr()); StringBuffer sSortierung = new StringBuffer(); if (krit.bSortiereNachKostenstelle) { sSortierung.append( getTextRespectUISpr("lp.kostenstelle", theClientDto.getMandant(), theClientDto.getLocUi())); sSortierung.append(", "); } if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_PARTNER) { if (krit.getBVerwendeStatistikAdresse()) { sSortierung.append(getTextRespectUISpr("rech.statistikadresse", theClientDto.getMandant(), theClientDto.getLocUi())); } else { sSortierung.append( getTextRespectUISpr("lp.kunde", theClientDto.getMandant(), theClientDto.getLocUi())); } } else if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_BELEGNUMMER) { sSortierung.append( getTextRespectUISpr("bes.belegnummer", theClientDto.getMandant(), theClientDto.getLocUi())); } else if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_VERTRETER) { sSortierung.append( getTextRespectUISpr("lp.vertreter", theClientDto.getMandant(), theClientDto.getLocUi())); } StringBuffer sFilter = new StringBuffer(); if (sVon != null) { sFilter.append(getTextRespectUISpr("lp.von", theClientDto.getMandant(), theClientDto.getLocUi())); sFilter.append(" " + sVon + " "); } if (sBis != null) { sFilter.append(getTextRespectUISpr("lp.bis", theClientDto.getMandant(), theClientDto.getLocUi())); sFilter.append(" " + sBis + " "); } if (krit.kostenstelleIId != null) { if (sFilter.length() > 0) { sFilter.append(", "); } KostenstelleDto kstDto = getSystemFac().kostenstelleFindByPrimaryKey(krit.kostenstelleIId); sFilter.append( getTextRespectUISpr("lp.kostenstelle", theClientDto.getMandant(), theClientDto.getLocUi())); sFilter.append(" "); sFilter.append(kstDto.getCNr()); } // Statistikadresse if (krit.getBVerwendeStatistikAdresse()) { if (sFilter.length() > 0) { sFilter.append(", "); } sFilter.append(getTextRespectUISpr("rech.nachstatistikadresse", theClientDto.getMandant(), theClientDto.getLocUi())); } mapParameter.put(LPReport.P_SORTIERUNG, sSortierung.toString()); mapParameter.put(LPReport.P_SORTIERENACHKOSTENSTELLE, new Boolean(krit.bSortiereNachKostenstelle)); mapParameter.put(LPReport.P_SORTIERENACHKUNDE, new Boolean(krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_PARTNER)); mapParameter.put(LPReport.P_SORTIERENACHVERTRETER, new Boolean(krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_VERTRETER)); mapParameter.put(LPReport.P_FILTER, sFilter.toString()); initJRDS(mapParameter, RechnungReportFac.REPORT_MODUL, sReportname, theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto); return getReportPrint(); // } // catch (FinderException ex) { // { // @ToDo FinderException // throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_DRUCKEN, // null); // } // throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_DRUCKEN, ex); } catch (RemoteException ex) { throwEJBExceptionLPRespectOld(ex); return null; } finally { if (session != null) { session.close(); } } }
From source file:com.lp.server.reklamation.ejbfac.ReklamationReportFacBean.java
License:Open Source License
public JasperPrintLP printFehlerarten(java.sql.Timestamp tVon, java.sql.Timestamp tBis, boolean bKunde, boolean bLieferant, boolean bFertigung, Integer kundeIId, int iGruppierung, boolean bNurBerechtigte, TheClientDto theClientDto) {//from w w w .j a va 2 s.c om sAktuellerReport = ReklamationReportFac.REPORT_FEHLERART; HashMap<String, Object> parameter = new HashMap<String, Object>(); parameter.put("P_VON", tVon); parameter.put("P_BIS", tBis); parameter.put("P_NURBERECHTIGTE", new Boolean(bNurBerechtigte)); tVon = Helper.cutTimestamp(tVon); Session session = FLRSessionFactory.getFactory().openSession(); org.hibernate.Criteria crit = session.createCriteria(FLRReklamation.class); crit.add(Restrictions.eq("mandant_c_nr", theClientDto.getMandant())); session.enableFilter("filterMandant").setParameter("paramMandant", theClientDto.getMandant()); session.enableFilter("filterLocale").setParameter("paramLocale", theClientDto.getLocUiAsString()); Calendar c = Calendar.getInstance(); c.setTimeInMillis(tBis.getTime()); c.set(Calendar.DAY_OF_MONTH, c.get(Calendar.DAY_OF_MONTH) + 1); tBis = Helper.cutTimestamp(new java.sql.Timestamp(c.getTimeInMillis())); crit.add(Restrictions.ge(ReklamationFac.FLR_REKLAMATION_T_BELEGDATUM, tVon)); crit.add(Restrictions.lt(ReklamationFac.FLR_REKLAMATION_T_BELEGDATUM, tBis)); crit.createAlias(ReklamationFac.FLR_REKLAMATION_FLRLIEFERANT, "l", CriteriaSpecification.LEFT_JOIN); crit.createAlias(ReklamationFac.FLR_REKLAMATION_FRLKUNDE, "k", CriteriaSpecification.LEFT_JOIN); crit.createAlias(ReklamationFac.FLR_REKLAMATION_FLRLOS, "lo", CriteriaSpecification.LEFT_JOIN); crit.createAlias("lo." + FertigungFac.FLR_LOSREPORT_FLRAUFTRAG, "au", CriteriaSpecification.LEFT_JOIN); crit.createAlias("l." + LieferantFac.FLR_PARTNER, "pl", CriteriaSpecification.LEFT_JOIN); crit.createAlias("k." + KundeFac.FLR_PARTNER, "kl", CriteriaSpecification.LEFT_JOIN); crit.createAlias(ReklamationFac.FLR_REKLAMATION_FLRFEHLERANGABE, "f", CriteriaSpecification.LEFT_JOIN); if (bNurBerechtigte == true) { crit.add(Restrictions.eq(ReklamationFac.FLR_REKLAMATION_B_BERECHTIGT, Helper.boolean2Short(true))); } ArrayList<String> alArten = new ArrayList<String>(); if (bFertigung == true) { alArten.add(ReklamationFac.REKLAMATIONART_FERTIGUNG); } if (bKunde == true) { alArten.add(ReklamationFac.REKLAMATIONART_KUNDE); } if (bLieferant == true) { alArten.add(ReklamationFac.REKLAMATIONART_LIEFERANT); } crit.add(Restrictions.in(ReklamationFac.FLR_REKLAMATION_REKLAMATIONART_C_NR, alArten)); if (alArten.size() == 0) { return null; } if (kundeIId != null) { crit.add(Restrictions.or(Restrictions.eq("au.kunde_i_id_auftragsadresse", kundeIId), Restrictions.eq(ReklamationFac.FLR_REKLAMATION_KUNDE_I_ID, kundeIId))); KundeDto kundeDto = getKundeFac().kundeFindByPrimaryKey(kundeIId, theClientDto); parameter.put("P_KUNDE", kundeDto.getPartnerDto().formatFixTitelName1Name2()); } if (iGruppierung == ReklamationReportFac.SORTIERUNG_FEHLERART_MASCHINENGRUPPE || iGruppierung == ReklamationReportFac.SORTIERUNG_FEHLERART_MASCHINENGRUPPE_MITARBEITER) { crit.createAlias(ReklamationFac.FLR_REKLAMATION_FLRMASCHINE, "masch", CriteriaSpecification.LEFT_JOIN); crit.createAlias("masch." + ZeiterfassungFac.FLR_MASCHINE_FLR_MASCHINENGRUPPE, "mgru", CriteriaSpecification.LEFT_JOIN); crit.addOrder(Order.asc("mgru.c_bez")); } if (iGruppierung == ReklamationReportFac.SORTIERUNG_FEHLERART_MITARBEITER || iGruppierung == ReklamationReportFac.SORTIERUNG_FEHLERART_MASCHINENGRUPPE_MITARBEITER) { crit.createAlias(ReklamationFac.FLR_REKLAMATION_FLRVERURSACHER, "ver", CriteriaSpecification.LEFT_JOIN); crit.createAlias("ver." + PersonalFac.FLR_PERSONAL_FLRPARTNER, "part", CriteriaSpecification.LEFT_JOIN); crit.addOrder(Order.asc("part." + PartnerFac.FLR_PARTNER_C_NAME1NACHNAMEFIRMAZEILE1)); crit.addOrder(Order.asc("part." + PartnerFac.FLR_PARTNER_C_NAME2VORNAMEFIRMAZEILE2)); } crit.addOrder(Order.asc("f.c_bez")); crit.addOrder(Order.asc("c_nr")); List<?> results = crit.list(); Iterator<?> resultListIterator = results.iterator(); data = new Object[results.size()][REPORT_FEHLERART_ANZAHL_SPALTEN]; int row = 0; if (iGruppierung == ReklamationReportFac.SORTIERUNG_FEHLERART_FEHLERART) { parameter.put("P_SORTIERUNG", getTextRespectUISpr("rekla.fehlerart", theClientDto.getMandant(), theClientDto.getLocUi())); } else if (iGruppierung == ReklamationReportFac.SORTIERUNG_FEHLERART_MASCHINENGRUPPE) { parameter.put("P_SORTIERUNG", getTextRespectUISpr("lp.maschinengruppe", theClientDto.getMandant(), theClientDto.getLocUi())); } else if (iGruppierung == ReklamationReportFac.SORTIERUNG_FEHLERART_MITARBEITER) { parameter.put("P_SORTIERUNG", getTextRespectUISpr("rekla.verursacher", theClientDto.getMandant(), theClientDto.getLocUi())); } else if (iGruppierung == ReklamationReportFac.SORTIERUNG_FEHLERART_MASCHINENGRUPPE_MITARBEITER) { parameter.put("P_SORTIERUNG", getTextRespectUISpr("lp.maschinengruppe", theClientDto.getMandant(), theClientDto.getLocUi()) + " + " + getTextRespectUISpr("rekla.verursacher", theClientDto.getMandant(), theClientDto.getLocUi())); } while (resultListIterator.hasNext()) { FLRReklamation flrReklamation = (FLRReklamation) resultListIterator.next(); data[row][REPORT_FEHLERART_FEHLERART] = flrReklamation.getFlrfehlerangabe().getC_bez(); data[row][REPORT_FEHLERART_REKLAMATIONSNUMMER] = flrReklamation.getC_nr(); data[row][REPORT_FEHLERART_REKLAMATIONSART] = flrReklamation.getReklamationart_c_nr(); data[row][REPORT_FEHLERART_MASCHINENGRUPPE] = ""; if (flrReklamation.getFlrmaschine() != null) { data[row][REPORT_FEHLERART_MASCHINENGRUPPE] = flrReklamation.getFlrmaschine() .getFlrmaschinengruppe().getC_bez(); } data[row][REPORT_FEHLERART_VERURSACHER] = ""; if (flrReklamation.getFlrverursacher() != null) { PersonalDto personalDto = getPersonalFac() .personalFindByPrimaryKey(flrReklamation.getFlrverursacher().getI_id(), theClientDto); data[row][REPORT_FEHLERART_VERURSACHER] = personalDto.formatAnrede(); } data[row][REPORT_FEHLERART_KUNDE] = ""; KundeDto kundeDto = null; if (flrReklamation.getReklamationart_c_nr().equals(ReklamationFac.REKLAMATIONART_KUNDE) && flrReklamation.getKunde_i_id() != null) { kundeDto = getKundeFac().kundeFindByPrimaryKey(flrReklamation.getKunde_i_id(), theClientDto); } else if (flrReklamation.getReklamationart_c_nr().equals(ReklamationFac.REKLAMATIONART_FERTIGUNG) && flrReklamation.getFlrlos() != null && flrReklamation.getFlrlos().getFlrauftrag() != null) { kundeDto = getKundeFac().kundeFindByPrimaryKey( flrReklamation.getFlrlos().getFlrauftrag().getKunde_i_id_auftragsadresse(), theClientDto); } if (kundeDto != null) { data[row][REPORT_FEHLERART_KUNDE] = kundeDto.getPartnerDto().formatTitelAnrede(); } flrReklamation.getFlrfehlerangabe().getC_bez(); data[row][REPORT_FEHLERART_FEHLERART] = flrReklamation.getFlrfehlerangabe().getC_bez(); if (iGruppierung == ReklamationReportFac.SORTIERUNG_FEHLERART_FEHLERART) { data[row][REPORT_FEHLERART_GRUPPIERUNG] = data[row][REPORT_FEHLERART_FEHLERART]; } else if (iGruppierung == ReklamationReportFac.SORTIERUNG_FEHLERART_MASCHINENGRUPPE) { data[row][REPORT_FEHLERART_GRUPPIERUNG] = data[row][REPORT_FEHLERART_MASCHINENGRUPPE]; } else if (iGruppierung == ReklamationReportFac.SORTIERUNG_FEHLERART_MITARBEITER) { data[row][REPORT_FEHLERART_GRUPPIERUNG] = data[row][REPORT_FEHLERART_VERURSACHER]; } else if (iGruppierung == ReklamationReportFac.SORTIERUNG_FEHLERART_MASCHINENGRUPPE_MITARBEITER) { data[row][REPORT_FEHLERART_GRUPPIERUNG] = data[row][REPORT_FEHLERART_MASCHINENGRUPPE] + " " + data[row][REPORT_FEHLERART_VERURSACHER].toString(); } row++; } initJRDS(parameter, ReklamationReportFac.REPORT_MODUL, ReklamationReportFac.REPORT_FEHLERART, theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto); return getReportPrint(); }
From source file:com.lp.server.reklamation.ejbfac.ReklamationReportFacBean.java
License:Open Source License
public JasperPrintLP printMitarbeiterreklamation(java.sql.Timestamp tVon, java.sql.Timestamp tBis, boolean bKunde, boolean bLieferant, boolean bFertigung, Integer kundeIId, boolean bNurBerechtigte, TheClientDto theClientDto) {/*from w w w . jav a2s .c o m*/ sAktuellerReport = ReklamationReportFac.REPORT_MITARBEITERREKLAMATION; HashMap<String, Object> parameter = new HashMap<String, Object>(); parameter.put("P_VON", tVon); parameter.put("P_BIS", tBis); parameter.put("P_NURBERECHTIGTE", new Boolean(bNurBerechtigte)); tVon = Helper.cutTimestamp(tVon); Session session = FLRSessionFactory.getFactory().openSession(); org.hibernate.Criteria crit = session.createCriteria(FLRReklamation.class); crit.add(Restrictions.eq("mandant_c_nr", theClientDto.getMandant())); session.enableFilter("filterMandant").setParameter("paramMandant", theClientDto.getMandant()); session.enableFilter("filterLocale").setParameter("paramLocale", theClientDto.getLocUiAsString()); Calendar c = Calendar.getInstance(); c.setTimeInMillis(tBis.getTime()); c.set(Calendar.DAY_OF_MONTH, c.get(Calendar.DAY_OF_MONTH) + 1); tBis = Helper.cutTimestamp(new java.sql.Timestamp(c.getTimeInMillis())); crit.add(Restrictions.ge(ReklamationFac.FLR_REKLAMATION_T_BELEGDATUM, tVon)); crit.add(Restrictions.lt(ReklamationFac.FLR_REKLAMATION_T_BELEGDATUM, tBis)); crit.createAlias(ReklamationFac.FLR_REKLAMATION_FLRLIEFERANT, "l", CriteriaSpecification.LEFT_JOIN); crit.createAlias(ReklamationFac.FLR_REKLAMATION_FRLKUNDE, "k", CriteriaSpecification.LEFT_JOIN); crit.createAlias(ReklamationFac.FLR_REKLAMATION_FLRLOS, "lo", CriteriaSpecification.LEFT_JOIN); crit.createAlias("lo." + FertigungFac.FLR_LOSREPORT_FLRAUFTRAG, "au", CriteriaSpecification.LEFT_JOIN); crit.createAlias("l." + LieferantFac.FLR_PARTNER, "pl", CriteriaSpecification.LEFT_JOIN); crit.createAlias("k." + KundeFac.FLR_PARTNER, "kl", CriteriaSpecification.LEFT_JOIN); crit.createAlias(ReklamationFac.FLR_REKLAMATION_FLRFEHLERANGABE, "f", CriteriaSpecification.LEFT_JOIN); if (bNurBerechtigte == true) { crit.add(Restrictions.eq(ReklamationFac.FLR_REKLAMATION_B_BERECHTIGT, Helper.boolean2Short(true))); } ArrayList<String> alArten = new ArrayList<String>(); if (bFertigung == true) { alArten.add(ReklamationFac.REKLAMATIONART_FERTIGUNG); } if (bKunde == true) { alArten.add(ReklamationFac.REKLAMATIONART_KUNDE); } if (bLieferant == true) { alArten.add(ReklamationFac.REKLAMATIONART_LIEFERANT); } crit.add(Restrictions.in(ReklamationFac.FLR_REKLAMATION_REKLAMATIONART_C_NR, alArten)); if (kundeIId != null) { crit.add(Restrictions.or(Restrictions.eq("au.kunde_i_id_auftragsadresse", kundeIId), Restrictions.eq(ReklamationFac.FLR_REKLAMATION_KUNDE_I_ID, kundeIId))); KundeDto kundeDto = getKundeFac().kundeFindByPrimaryKey(kundeIId, theClientDto); parameter.put("P_KUNDE", kundeDto.getPartnerDto().formatFixTitelName1Name2()); } crit.createAlias(ReklamationFac.FLR_REKLAMATION_FLRVERURSACHER, "ver", CriteriaSpecification.LEFT_JOIN); crit.createAlias("ver." + PersonalFac.FLR_PERSONAL_FLRPARTNER, "part", CriteriaSpecification.LEFT_JOIN); crit.addOrder(Order.asc("part." + PartnerFac.FLR_PARTNER_C_NAME1NACHNAMEFIRMAZEILE1)); crit.addOrder(Order.asc("part." + PartnerFac.FLR_PARTNER_C_NAME2VORNAMEFIRMAZEILE2)); crit.addOrder(Order.asc("f.c_bez")); crit.addOrder(Order.asc("c_nr")); List<?> results = crit.list(); Iterator<?> resultListIterator = results.iterator(); data = new Object[results.size()][REPORT_MITARBEITERREKLAMATION_ANZAHL_SPALTEN]; int row = 0; while (resultListIterator.hasNext()) { FLRReklamation flrReklamation = (FLRReklamation) resultListIterator.next(); data[row][REPORT_MITARBEITERREKLAMATION_REKLAMATIONSNUMMER] = flrReklamation.getC_nr(); data[row][REPORT_MITARBEITERREKLAMATION_REKLAMATIONSART] = flrReklamation.getReklamationart_c_nr(); data[row][REPORT_MITARBEITERREKLAMATION_VERURSACHER] = ""; if (flrReklamation.getFlrverursacher() != null) { PersonalDto personalDto = getPersonalFac() .personalFindByPrimaryKey(flrReklamation.getFlrverursacher().getI_id(), theClientDto); data[row][REPORT_MITARBEITERREKLAMATION_VERURSACHER] = personalDto.formatAnrede(); } data[row][REPORT_MITARBEITERREKLAMATION_KUNDE] = ""; KundeDto kundeDto = null; if (flrReklamation.getReklamationart_c_nr().equals(ReklamationFac.REKLAMATIONART_KUNDE) && flrReklamation.getKunde_i_id() != null) { kundeDto = getKundeFac().kundeFindByPrimaryKey(flrReklamation.getKunde_i_id(), theClientDto); } else if (flrReklamation.getReklamationart_c_nr().equals(ReklamationFac.REKLAMATIONART_FERTIGUNG) && flrReklamation.getFlrlos() != null && flrReklamation.getFlrlos().getFlrauftrag() != null) { kundeDto = getKundeFac().kundeFindByPrimaryKey( flrReklamation.getFlrlos().getFlrauftrag().getKunde_i_id_auftragsadresse(), theClientDto); } if (kundeDto != null) { data[row][REPORT_MITARBEITERREKLAMATION_KUNDE] = kundeDto.getPartnerDto().formatTitelAnrede(); } row++; } initJRDS(parameter, ReklamationReportFac.REPORT_MODUL, ReklamationReportFac.REPORT_MITARBEITERREKLAMATION, theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto); return getReportPrint(); }
From source file:com.lp.server.reklamation.ejbfac.ReklamationReportFacBean.java
License:Open Source License
public JasperPrintLP printMaschinenreklamation(java.sql.Timestamp tVon, java.sql.Timestamp tBis, boolean bKunde, boolean bLieferant, boolean bFertigung, Integer kundeIId, boolean bNurBerechtigte, TheClientDto theClientDto) {/*from ww w . j a v a 2s. c om*/ sAktuellerReport = ReklamationReportFac.REPORT_MASCHINENREKLAMATION; HashMap<String, Object> parameter = new HashMap<String, Object>(); parameter.put("P_VON", tVon); parameter.put("P_BIS", tBis); parameter.put("P_NURBERECHTIGTE", new Boolean(bNurBerechtigte)); tVon = Helper.cutTimestamp(tVon); Session session = FLRSessionFactory.getFactory().openSession(); org.hibernate.Criteria crit = session.createCriteria(FLRReklamation.class); crit.add(Restrictions.eq("mandant_c_nr", theClientDto.getMandant())); session.enableFilter("filterMandant").setParameter("paramMandant", theClientDto.getMandant()); session.enableFilter("filterLocale").setParameter("paramLocale", theClientDto.getLocUiAsString()); Calendar c = Calendar.getInstance(); c.setTimeInMillis(tBis.getTime()); c.set(Calendar.DAY_OF_MONTH, c.get(Calendar.DAY_OF_MONTH) + 1); tBis = Helper.cutTimestamp(new java.sql.Timestamp(c.getTimeInMillis())); crit.add(Restrictions.ge(ReklamationFac.FLR_REKLAMATION_T_BELEGDATUM, tVon)); crit.add(Restrictions.lt(ReklamationFac.FLR_REKLAMATION_T_BELEGDATUM, tBis)); crit.createAlias(ReklamationFac.FLR_REKLAMATION_FLRLIEFERANT, "l", CriteriaSpecification.LEFT_JOIN); crit.createAlias(ReklamationFac.FLR_REKLAMATION_FRLKUNDE, "k", CriteriaSpecification.LEFT_JOIN); crit.createAlias(ReklamationFac.FLR_REKLAMATION_FLRLOS, "lo", CriteriaSpecification.LEFT_JOIN); crit.createAlias("lo." + FertigungFac.FLR_LOSREPORT_FLRAUFTRAG, "au", CriteriaSpecification.LEFT_JOIN); crit.createAlias("l." + LieferantFac.FLR_PARTNER, "pl", CriteriaSpecification.LEFT_JOIN); crit.createAlias("k." + KundeFac.FLR_PARTNER, "kl", CriteriaSpecification.LEFT_JOIN); crit.createAlias(ReklamationFac.FLR_REKLAMATION_FLRFEHLERANGABE, "f", CriteriaSpecification.LEFT_JOIN); if (bNurBerechtigte == true) { crit.add(Restrictions.eq(ReklamationFac.FLR_REKLAMATION_B_BERECHTIGT, Helper.boolean2Short(true))); } ArrayList<String> alArten = new ArrayList<String>(); if (bFertigung == true) { alArten.add(ReklamationFac.REKLAMATIONART_FERTIGUNG); } if (bKunde == true) { alArten.add(ReklamationFac.REKLAMATIONART_KUNDE); } if (bLieferant == true) { alArten.add(ReklamationFac.REKLAMATIONART_LIEFERANT); } crit.add(Restrictions.in(ReklamationFac.FLR_REKLAMATION_REKLAMATIONART_C_NR, alArten)); if (kundeIId != null) { crit.add(Restrictions.or(Restrictions.eq("au.kunde_i_id_auftragsadresse", kundeIId), Restrictions.eq(ReklamationFac.FLR_REKLAMATION_KUNDE_I_ID, kundeIId))); KundeDto kundeDto = getKundeFac().kundeFindByPrimaryKey(kundeIId, theClientDto); parameter.put("P_KUNDE", kundeDto.getPartnerDto().formatFixTitelName1Name2()); } crit.createAlias(ReklamationFac.FLR_REKLAMATION_FLRMASCHINE, "masch", CriteriaSpecification.LEFT_JOIN); crit.createAlias("masch." + ZeiterfassungFac.FLR_MASCHINE_FLR_MASCHINENGRUPPE, "mgru", CriteriaSpecification.LEFT_JOIN); crit.addOrder(Order.asc("mgru.c_bez")); crit.addOrder(Order.asc("f.c_bez")); crit.addOrder(Order.asc("c_nr")); List<?> results = crit.list(); Iterator<?> resultListIterator = results.iterator(); data = new Object[results.size()][REPORT_MASCHINENREKLAMATION_ANZAHL_SPALTEN]; int row = 0; while (resultListIterator.hasNext()) { FLRReklamation flrReklamation = (FLRReklamation) resultListIterator.next(); data[row][REPORT_MASCHINENREKLAMATION_REKLAMATIONSNUMMER] = flrReklamation.getC_nr(); data[row][REPORT_MASCHINENREKLAMATION_REKLAMATIONSART] = flrReklamation.getReklamationart_c_nr(); if (flrReklamation.getFlrmaschine() != null) { data[row][REPORT_MASCHINENREKLAMATION_MASCHINENGRUPPE] = flrReklamation.getFlrmaschine() .getFlrmaschinengruppe().getC_bez(); } data[row][REPORT_MASCHINENREKLAMATION_VERURSACHER] = ""; if (flrReklamation.getFlrverursacher() != null) { PersonalDto personalDto = getPersonalFac() .personalFindByPrimaryKey(flrReklamation.getFlrverursacher().getI_id(), theClientDto); data[row][REPORT_MASCHINENREKLAMATION_VERURSACHER] = personalDto.formatAnrede(); } data[row][REPORT_MASCHINENREKLAMATION_KUNDE] = ""; KundeDto kundeDto = null; if (flrReklamation.getReklamationart_c_nr().equals(ReklamationFac.REKLAMATIONART_KUNDE) && flrReklamation.getKunde_i_id() != null) { kundeDto = getKundeFac().kundeFindByPrimaryKey(flrReklamation.getKunde_i_id(), theClientDto); } else if (flrReklamation.getReklamationart_c_nr().equals(ReklamationFac.REKLAMATIONART_FERTIGUNG) && flrReklamation.getFlrlos() != null && flrReklamation.getFlrlos().getFlrauftrag() != null) { kundeDto = getKundeFac().kundeFindByPrimaryKey( flrReklamation.getFlrlos().getFlrauftrag().getKunde_i_id_auftragsadresse(), theClientDto); } if (kundeDto != null) { data[row][REPORT_MASCHINENREKLAMATION_KUNDE] = kundeDto.getPartnerDto().formatTitelAnrede(); } row++; } initJRDS(parameter, ReklamationReportFac.REPORT_MODUL, ReklamationReportFac.REPORT_MASCHINENREKLAMATION, theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto); return getReportPrint(); }
From source file:com.lp.server.stueckliste.ejbfac.StuecklisteFacBean.java
License:Open Source License
@TransactionAttribute(TransactionAttributeType.SUPPORTS) public ArrayList getStrukturDatenEinerStueckliste(Integer[] stuecklisteIId, TheClientDto theClientDto, int iOptionSortierung, int iEbene, ArrayList strukturMap, boolean bMitUnterstuecklisten, boolean bGleichePositionenZusammenfassen, BigDecimal nLosgroesse, BigDecimal nSatzgroesse, boolean bUnterstklstrukurBelassen) { if (nSatzgroesse == null) { nSatzgroesse = new BigDecimal(1); }/*from w w w. jav a2 s . co m*/ if (strukturMap == null) { strukturMap = new ArrayList<StuecklisteMitStrukturDto>(); } if (iEbene > 50) { throw new EJBExceptionLP(new Exception("STUECKLISTEN DEADLOCK")); } // Alle Positionen einer Stueckliste holen, sortiert nach Artikelart und // nach der angegebenen Option Session session = FLRSessionFactory.getFactory().openSession(); org.hibernate.Criteria crit = session.createCriteria(FLRStuecklisteposition.class) .createAlias(StuecklisteFac.FLR_STUECKLISTEPOSITION_FLRARTIKEL, "a"); crit.createAlias(StuecklisteFac.FLR_STUECKLISTEPOSITION_FLRSTUECKLISTE, "s"); crit.add(Restrictions.in("s.i_id", stuecklisteIId)); crit.addOrder(Order.asc("a." + ArtikelFac.FLR_ARTIKEL_ARTIKELART_C_NR)); if (iOptionSortierung == StuecklisteReportFac.REPORT_STUECKLISTE_OPTION_SORTIERUNG_ARTIKELNR) { crit.addOrder(Order.asc("a.c_nr")); } else if (iOptionSortierung == StuecklisteReportFac.REPORT_STUECKLISTE_OPTION_SORTIERUNG_POSITION) { crit.addOrder(Order.asc(StuecklisteFac.FLR_STUECKLISTEPOSITION_C_POSITION)); } else { crit.addOrder(Order.asc(StuecklisteFac.FLR_STUECKLISTEPOSITION_I_SORT)); } List<?> results = crit.list(); FLRStuecklisteposition[] returnArray = new FLRStuecklisteposition[results.size()]; returnArray = (FLRStuecklisteposition[]) results.toArray(returnArray); // NEU Projekt 9730 ArrayList alKomp = new ArrayList<FLRStuecklisteposition>(); if (bGleichePositionenZusammenfassen == true) { // Positionen zusammenfassen, wenn der Artikel und die // Positionseinheit gleich sind // Nur wenns kein Arbeitsplan ist und in derselben Ebene for (int i = 0; i < returnArray.length; i++) { boolean bGefunden = false; for (int j = 0; j < alKomp.size(); j++) { FLRStuecklisteposition temp = (FLRStuecklisteposition) alKomp.get(j); if (temp.getFlrartikel().getI_id().equals(returnArray[i].getFlrartikel().getI_id()) && temp.getEinheit_c_nr().equals(returnArray[i].getEinheit_c_nr())) { temp.setN_menge(temp.getN_menge().add(returnArray[i].getN_menge())); // SP1167 BigDecimal bdKalkPreis = temp.getN_kalkpreis(); if (bdKalkPreis != null && returnArray[i].getN_kalkpreis() != null && bdKalkPreis.doubleValue() < returnArray[i].getN_kalkpreis().doubleValue()) { temp.setN_kalkpreis(returnArray[i].getN_kalkpreis()); } else if (bdKalkPreis == null && returnArray[i].getN_kalkpreis() != null) { temp.setN_kalkpreis(returnArray[i].getN_kalkpreis()); } if (temp.getC_position() != null) { if (returnArray[i].getC_position() != null) { temp.setC_position(temp.getC_position() + "|" + returnArray[i].getC_position()); } else { temp.setC_position(returnArray[i].getC_position()); } } else { temp.setC_position(returnArray[i].getC_position()); } if (temp.getC_kommentar() != null) { if (returnArray[i].getC_kommentar() != null) { temp.setC_kommentar(temp.getC_kommentar() + "|" + returnArray[i].getC_kommentar()); } else { temp.setC_kommentar(returnArray[i].getC_kommentar()); } } else { temp.setC_kommentar(returnArray[i].getC_kommentar()); } if (Helper.short2boolean(temp.getB_mitdrucken()) == true && Helper.short2boolean(returnArray[i].getB_mitdrucken()) == true) { } else { temp.setB_mitdrucken(Helper.boolean2Short(false)); } alKomp.set(j, temp); bGefunden = true; } } if (!bGefunden) { alKomp.add(returnArray[i]); } } returnArray = new FLRStuecklisteposition[alKomp.size()]; returnArray = (FLRStuecklisteposition[]) alKomp.toArray(returnArray); } // -ENDE NEU for (int i = 0; i < returnArray.length; i++) { StuecklistepositionDto stuecklistepositionDto = new StuecklistepositionDto(); stuecklistepositionDto.setArtikelIId(returnArray[i].getFlrartikel().getI_id()); stuecklistepositionDto.setCKommentar(returnArray[i].getC_kommentar()); stuecklistepositionDto.setCPosition(returnArray[i].getC_position()); stuecklistepositionDto.setEinheitCNr(returnArray[i].getEinheit_c_nr()); stuecklistepositionDto.setILfdnummer(returnArray[i].getI_lfdnummer()); stuecklistepositionDto.setNMenge(returnArray[i].getN_menge()); stuecklistepositionDto.setNKalkpreis(returnArray[i].getN_kalkpreis()); stuecklistepositionDto.setIId(returnArray[i].getI_id()); stuecklistepositionDto.setISort(returnArray[i].getI_sort()); stuecklistepositionDto.setBMitdrucken(returnArray[i].getB_mitdrucken()); try { // Menge nach Zieleinheit umrechnen BigDecimal bdMenge = returnArray[i].getN_menge().multiply(nSatzgroesse); EinheitDto einheitDto = getSystemFac().einheitFindByPrimaryKey(returnArray[i].getEinheit_c_nr(), theClientDto); // Positionsmenge nach Zielenge umrechnen int dimension = einheitDto.getIDimension().intValue(); if (dimension == 1) { if (returnArray[i].getF_dimension1() != null) { bdMenge = bdMenge.multiply(new BigDecimal(returnArray[i].getF_dimension1().doubleValue())); } } else if (dimension == 2) { if (returnArray[i].getF_dimension1() != null && returnArray[i].getF_dimension2() != null) { bdMenge = bdMenge.multiply(new BigDecimal(returnArray[i].getF_dimension1().doubleValue())) .multiply(new BigDecimal(returnArray[i].getF_dimension2().doubleValue())); } } else if (dimension == 3) { if (returnArray[i].getF_dimension1() != null && returnArray[i].getF_dimension2() != null && returnArray[i].getF_dimension3() != null) { bdMenge = bdMenge.multiply(new BigDecimal(returnArray[i].getF_dimension1().doubleValue())) .multiply(new BigDecimal(returnArray[i].getF_dimension2().doubleValue())) .multiply(new BigDecimal(returnArray[i].getF_dimension3().doubleValue())); } } BigDecimal faktor = null; if (returnArray[i].getFlrartikel().getEinheit_c_nr().equals(returnArray[i].getEinheit_c_nr())) { faktor = new BigDecimal(1); } else { faktor = getSystemFac().rechneUmInAndereEinheit(new BigDecimal(1), returnArray[i].getFlrartikel().getEinheit_c_nr(), returnArray[i].getEinheit_c_nr(), returnArray[i].getI_id(), theClientDto); } if (faktor.doubleValue() != 0) { bdMenge = bdMenge.divide(faktor, BigDecimal.ROUND_HALF_EVEN); bdMenge = Helper.berechneMengeInklusiveVerschnitt(bdMenge, returnArray[i].getFlrartikel().getF_verschnittfaktor(), returnArray[i].getFlrartikel().getF_verschnittbasis(), nLosgroesse); // PJ 14352 bdMenge = bdMenge.divide( new BigDecimal( returnArray[i].getFlrstueckliste().getI_erfassungsfaktor().doubleValue()), 4, BigDecimal.ROUND_HALF_EVEN); stuecklistepositionDto.setNZielmenge(bdMenge); } else { ArrayList<Object> al = new ArrayList<Object>(); EinheitDto von = getSystemFac().einheitFindByPrimaryKey(returnArray[i].getEinheit_c_nr(), theClientDto); EinheitDto zu = getSystemFac().einheitFindByPrimaryKey( returnArray[i].getFlrartikel().getEinheit_c_nr(), theClientDto); al.add(von.formatBez() + " <-> " + zu.formatBez()); throw new EJBExceptionLP(EJBExceptionLP.FEHLER_EINHEITKONVERTIERUNG_KEIN_DIVISOR_DEFINIERT, al, new Exception("FEHLER_EINHEITKONVERTIERUNG_KEIN_DIVISOR_DEFINIERT")); } } catch (RemoteException ex1) { throwEJBExceptionLPRespectOld(ex1); } MontageartDto ma = new MontageartDto(); ma.setIId(returnArray[i].getFlrmontageart().getI_id()); ma.setCBez(returnArray[i].getFlrmontageart().getC_bez()); stuecklistepositionDto.setMontageartDto(ma); if (returnArray[i].getF_dimension1() != null) { stuecklistepositionDto.setFDimension1(new Float(returnArray[i].getF_dimension1().doubleValue())); } if (returnArray[i].getF_dimension2() != null) { stuecklistepositionDto.setFDimension2(new Float(returnArray[i].getF_dimension2().doubleValue())); } if (returnArray[i].getF_dimension3() != null) { stuecklistepositionDto.setFDimension3(new Float(returnArray[i].getF_dimension3().doubleValue())); } if (bMitUnterstuecklisten == true && bUnterstklstrukurBelassen == false && bGleichePositionenZusammenfassen == true) { boolean bGefunden = false; for (int k = 0; k < strukturMap.size(); k++) { StuecklisteMitStrukturDto tempDto = (StuecklisteMitStrukturDto) strukturMap.get(k); if (tempDto.getStuecklistepositionDto().getArtikelIId() .equals(stuecklistepositionDto.getArtikelIId()) && tempDto.getStuecklistepositionDto().getEinheitCNr() .equals(stuecklistepositionDto.getEinheitCNr())) { tempDto.getStuecklistepositionDto().setNMenge(tempDto.getStuecklistepositionDto() .getNMenge().add(stuecklistepositionDto.getNMenge())); tempDto.getStuecklistepositionDto().setNZielmenge(tempDto.getStuecklistepositionDto() .getNZielmenge().add(stuecklistepositionDto.getNZielmenge())); strukturMap.set(k, tempDto); bGefunden = true; break; } } if (bGefunden == false) { strukturMap.add(new StuecklisteMitStrukturDto(iEbene, stuecklistepositionDto)); } } else { strukturMap.add(new StuecklisteMitStrukturDto(iEbene, stuecklistepositionDto)); } if (bMitUnterstuecklisten == true) { try { Query query = em.createNamedQuery("StuecklistefindByArtikelIIdMandantCNr"); query.setParameter(1, returnArray[i].getFlrartikel().getI_id()); query.setParameter(2, theClientDto.getMandant()); Stueckliste stkl = (Stueckliste) query.getSingleResult(); if (stkl != null) { // wenn Fremdfertigungsstueckliste, dann keine // Aufloesung if (Helper.short2boolean(stkl.getBFremdfertigung()) == false) { query = em.createNamedQuery("StuecklistepositionfindByStuecklisteIId"); query.setParameter(1, stkl.getIId()); int iAnzahlPositionen = query.getResultList().size(); query = em.createNamedQuery("StuecklistearbeitsplanfindByStuecklisteIId"); query.setParameter(1, stkl.getIId()); int iAnzahlPositionenArbeitsplan = query.getResultList().size(); // Wenn keine Positionen und kein Arbeitsplan, dann // auch keinen Aufloesung if (iAnzahlPositionen + iAnzahlPositionenArbeitsplan > 0) { StuecklisteMitStrukturDto strukturTemp = (StuecklisteMitStrukturDto) strukturMap .get(strukturMap.size() - 1); strukturTemp.setBStueckliste(true); strukturTemp.setStuecklisteDto(assembleStuecklisteDto(stkl)); strukturMap.set(strukturMap.size() - 1, strukturTemp); // Wenn Unterstklstrukur nicht belassen, dann // Kopfstuecklisten weglassen (lt. WH // 2008-06-09) if (bUnterstklstrukurBelassen == false) { strukturMap.remove(strukturMap.size() - 1); iEbene--; } strukturMap = getStrukturDatenEinerStueckliste(stkl.getIId(), theClientDto, iOptionSortierung, iEbene + 1, strukturMap, bMitUnterstuecklisten, bGleichePositionenZusammenfassen, nLosgroesse, stuecklistepositionDto.getNZielmenge(), bUnterstklstrukurBelassen); // .multiply( // nSatzgroesse // )); -> // Ausgebaut // wegen // Naemo- // Stueckliste // FC002 } else { if (bUnterstklstrukurBelassen == false) { strukturMap.remove(strukturMap.size() - 1); } } } } } catch (NoResultException ex) { // Dann keine Stueckliste } catch (NonUniqueResultException ex1) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_NO_UNIQUE_RESULT, ex1); } } } session.close(); return strukturMap; }
From source file:com.lp.server.system.ejbfac.PanelFacBean.java
License:Open Source License
public JasperPrintLP printPanel(String panelCNr, String report, String cKey, TheClientDto theClientDto) { HashMap<String, Object> parameter = new HashMap<String, Object>(); index = -1;/* w w w .jav a 2s . co m*/ Session session = FLRSessionFactory.getFactory().openSession(); String[] typen = new String[3]; typen[0] = PanelFac.TYP_WRAPPERCHECKBOX; typen[1] = PanelFac.TYP_WRAPPEREDITOR; typen[2] = PanelFac.TYP_WRAPPERTEXTFIELD; org.hibernate.Criteria crit = session.createCriteria(FLRPanelbeschreibung.class); crit.add(Restrictions.in(PanelFac.FLR_PANELBESCHREIBUNG_C_TYP, typen)); crit.add(Restrictions.eq(PanelFac.FLR_PANELBESCHREIBUNG_PANEL_C_NR, panelCNr)); crit.add(Restrictions.eq("mandant_c_nr", theClientDto.getMandant())); List<?> results = crit.list(); Iterator<?> resultListIterator = results.iterator(); felder = new String[results.size()]; data = new Object[1][results.size()]; int row = 0; while (resultListIterator.hasNext()) { FLRPanelbeschreibung flrPanelbeschreibung = (FLRPanelbeschreibung) resultListIterator.next(); felder[row] = flrPanelbeschreibung.getC_name(); // try { Query query = em.createNamedQuery("PaneldatenfindByPanelCNrPanelbeschreibungIIdCKey"); query.setParameter(1, panelCNr); query.setParameter(2, flrPanelbeschreibung.getI_id()); query.setParameter(3, cKey); Paneldaten paneldaten = (Paneldaten) query.getSingleResult(); if (paneldaten == null) { data[0][row] = null; } else { data[0][row] = new String(paneldaten.getOInhalt()); } // } // catch (FinderException ex) { // data[0][row] = null; // } row++; } session.close(); initJRDS(parameter, PanelFac.REPORT_MODUL, report, theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto); return getReportPrint(); }
From source file:com.lushapp.modules.sys.web.AviationBuyersController.java
License:Apache License
/** * combogrid/*w ww . j a va 2 s .com*/ * * @return * @throws Exception */ @RequestMapping(value = { "combogrid" }) @ResponseBody public Datagrid<AviationBuyers> combogrid(@RequestParam(value = "ids", required = false) List<Long> ids, String loginNameOrName, Integer rows) throws Exception { Criterion statusCriterion = Restrictions.eq("status", StatusState.normal.getValue()); Criterion[] criterions = new Criterion[0]; criterions = (Criterion[]) ArrayUtils.add(criterions, 0, statusCriterion); Criterion criterion = null; if (Collections3.isNotEmpty(ids)) { //in? Criterion inCriterion = Restrictions.in("id", ids); if (StringUtils.isNotBlank(loginNameOrName)) { Criterion loginNameCriterion = Restrictions.like("loginName", loginNameOrName, MatchMode.ANYWHERE); Criterion nameCriterion = Restrictions.like("name", loginNameOrName, MatchMode.ANYWHERE); Criterion criterion1 = Restrictions.or(loginNameCriterion, nameCriterion); criterion = Restrictions.or(inCriterion, criterion1); } else { criterion = inCriterion; } //?? criterions = (Criterion[]) ArrayUtils.add(criterions, 0, criterion); } else { if (StringUtils.isNotBlank(loginNameOrName)) { Criterion loginNameCriterion = Restrictions.like("loginName", loginNameOrName, MatchMode.ANYWHERE); Criterion nameCriterion = Restrictions.like("name", loginNameOrName, MatchMode.ANYWHERE); criterion = Restrictions.or(loginNameCriterion, nameCriterion); //?? criterions = (Criterion[]) ArrayUtils.add(criterions, 0, criterion); } } // Page<AviationBuyers> p = new Page<AviationBuyers>(rows);// p = aviationBuyersManager.findByCriteria(p, criterions); Datagrid<AviationBuyers> dg = new Datagrid<AviationBuyers>(p.getTotalCount(), p.getResult()); return dg; }