List of usage examples for org.hibernate Criteria createCriteria
public Criteria createCriteria(String associationPath) throws HibernateException;
From source file:com.lp.server.lieferschein.ejbfac.LieferscheinReportFacBean.java
License:Open Source License
/** * Alle offenen Lieferscheine fuer einen bestimmten Mandanten drucken. * //w w w .jav a 2 s.c om * @param reportJournalKriterienDtoI * die Filter- und Sortierkriterien * @param theClientDto * der aktuelle Benutzer * @throws EJBExceptionLP * Ausnahme * @return JasperPrint der Druck */ @TransactionAttribute(TransactionAttributeType.NEVER) public JasperPrintLP printLieferscheinOffene(ReportJournalKriterienDto reportJournalKriterienDtoI, Integer iArt, boolean bMitDetails, TheClientDto theClientDto) throws EJBExceptionLP { if (reportJournalKriterienDtoI == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PARAMETER_IS_NULL, new Exception("reportJournalKriterienDtoI == null")); } JasperPrintLP oPrintO = null; cAktuellerReport = LieferscheinReportFac.REPORT_LIEFERSCHEIN_OFFENE; int iIndex = 0; ArrayList<FLRLieferschein> oZeilen = new ArrayList(); 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 crit = session.createCriteria(FLRLieferschein.class); // Einschraenkung auf den aktuellen Mandanten crit.add(Restrictions.eq("mandant_c_nr", theClientDto.getMandant())); // Einschraenkung nach Status Offen crit.add(Restrictions.eq(LieferscheinFac.FLR_LIEFERSCHEIN_LIEFERSCHEINSTATUS_STATUS_C_NR, LieferscheinFac.LSSTATUS_GELIEFERT)); if (iArt != null) { if (iArt == 1) { crit.add(Restrictions.eq(LieferscheinFac.FLR_LIEFERSCHEIN_B_VERRECHENBAR, Helper.boolean2Short(true))); } else if (iArt == 2) { crit.add(Restrictions.eq(LieferscheinFac.FLR_LIEFERSCHEIN_B_VERRECHENBAR, Helper.boolean2Short(false))); } } // Einschraenkung nach einer bestimmten Kostenstelle if (reportJournalKriterienDtoI.kostenstelleIId != null) { crit.add(Restrictions.eq(LieferscheinFac.FLR_LIEFERSCHEIN_KOSTENSTELLE_I_ID, reportJournalKriterienDtoI.kostenstelleIId)); } // Einschraenkung nach einem bestimmten Kunden if (reportJournalKriterienDtoI.kundeIId != null) { crit.add(Restrictions.eq(LieferscheinFac.FLR_LIEFERSCHEIN_KUNDE_I_ID_LIEFERADRESSE, reportJournalKriterienDtoI.kundeIId)); } // Einschraenkung nach Belegdatum von - bis String sVon = null; String sBis = null; if (reportJournalKriterienDtoI.dVon != null) { crit.add(Restrictions.ge(LieferscheinFac.FLR_LIEFERSCHEIN_D_BELEGDATUM, reportJournalKriterienDtoI.dVon)); sVon = Helper.formatDatum(reportJournalKriterienDtoI.dVon, theClientDto.getLocUi()); } if (reportJournalKriterienDtoI.dBis != null) { crit.add(Restrictions.le(LieferscheinFac.FLR_LIEFERSCHEIN_D_BELEGDATUM, reportJournalKriterienDtoI.dBis)); sBis = Helper.formatDatum(reportJournalKriterienDtoI.dBis, theClientDto.getLocUi()); } // Einschraenkung nach 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 (reportJournalKriterienDtoI.sBelegnummerVon != null) { sVon = HelperServer.getBelegnummernFilterForHibernateCriterias(f, iGeschaeftsjahr, sMandantKuerzel, reportJournalKriterienDtoI.sBelegnummerVon); crit.add(Restrictions.ge("c_nr", sVon)); } if (reportJournalKriterienDtoI.sBelegnummerBis != null) { sBis = HelperServer.getBelegnummernFilterForHibernateCriterias(f, iGeschaeftsjahr, sMandantKuerzel, reportJournalKriterienDtoI.sBelegnummerBis); crit.add(Restrictions.le("c_nr", sBis)); } // Sortierung nach Kostenstelle ist immer die erste Sortierung if (reportJournalKriterienDtoI.bSortiereNachKostenstelle) { crit.createCriteria(LieferscheinFac.FLR_LIEFERSCHEIN_FLRKOSTENSTELLE).addOrder(Order.asc("c_nr")); } // Sortierung nach Kunde, eventuell innerhalb der Kostenstelle if (reportJournalKriterienDtoI.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_PARTNER) { crit.createCriteria(LieferscheinFac.FLR_LIEFERSCHEIN_FLRKUNDE).createCriteria(KundeFac.FLR_PARTNER) .addOrder(Order.asc(PartnerFac.FLR_PARTNER_NAME1NACHNAMEFIRMAZEILE1)); } // es wird in jedem Fall nach der Belegnummer sortiert crit.addOrder(Order.asc("c_nr")); List<?> list = crit.list(); Iterator<?> it = list.iterator(); while (it.hasNext()) { FLRLieferschein flrlieferschein = (FLRLieferschein) it.next(); oZeilen.add(flrlieferschein); session = factory.openSession(); Criteria critPosition = session.createCriteria(FLRLieferscheinposition.class); critPosition.add(Restrictions.eq(LieferscheinpositionFac.FLR_LIEFERSCHEINPOSITION_FLRLIEFERSCHEIN, flrlieferschein)); critPosition.add(Restrictions.or( Restrictions.isNotNull(LieferscheinpositionFac.FLR_LIEFERSCHEINPOSITION_N_MENGE), Restrictions.eq( LieferscheinpositionFac.FLR_LIEFERSCHEINPOSITION_LIEFERSCHEINPOSITIONART_C_NR, LieferscheinpositionFac.LIEFERSCHEINPOSITIONSART_TEXTEINGABE))); // critPosition // .add(Restrictions // .isNotNull(LieferscheinpositionFac.FLR_LIEFERSCHEINPOSITION_N_MENGE)); List<?> posList = critPosition.list(); for (Iterator<?> ipos = posList.iterator(); ipos.hasNext();) { FLRLieferscheinposition item = (FLRLieferscheinposition) ipos.next(); iIndex++; } iIndex++; } data = new Object[iIndex][LieferscheinReportFac.REPORT_LIEFERSCHEIN_OFFENE_ANZAHL_ZEILEN]; // Anzahl // der // Spalten // in // der // Gruppe Iterator<?> itZeilen = oZeilen.iterator(); int i = 0; while (itZeilen.hasNext()) { FLRLieferschein flrlieferschein = (FLRLieferschein) itZeilen.next(); data[i][LieferscheinReportFac.REPORT_LIEFERSCHEIN_OFFENE_LIEFERSCHEINCNR] = flrlieferschein .getC_nr(); data[i][LieferscheinReportFac.REPORT_LIEFERSCHEIN_OFFENE_LIEFERSCHEINKUNDE] = flrlieferschein .getFlrkunde().getFlrpartner().getC_name1nachnamefirmazeile1(); data[i][LieferscheinReportFac.REPORT_LIEFERSCHEIN_OFFENE_KOSTENSTELLECNR] = flrlieferschein .getFlrkostenstelle().getC_nr(); data[i][LieferscheinReportFac.REPORT_LIEFERSCHEIN_OFFENE_ANLAGEDATUM] = flrlieferschein .getD_belegdatum(); // todo data[i][LieferscheinReportFac.REPORT_LIEFERSCHEIN_OFFENE_LIEFERTERMIN] = flrlieferschein .getT_liefertermin(); data[i][LieferscheinReportFac.REPORT_LIEFERSCHEIN_OFFENE_ZAHLUNGSZIEL] = getMandantFac() .zahlungszielFindByIIdLocaleOhneExc(flrlieferschein.getZahlungsziel_i_id(), theClientDto.getLocMandant(), theClientDto); if (flrlieferschein.getFlrauftrag() != null) { data[i][LieferscheinReportFac.REPORT_LIEFERSCHEIN_OFFENE_AUFTRAGSNUMMER] = flrlieferschein .getFlrauftrag().getC_nr(); data[i][LieferscheinReportFac.REPORT_LIEFERSCHEIN_OFFENE_AUFTRAG_PROJEKT] = flrlieferschein .getFlrauftrag().getC_bez(); data[i][LieferscheinReportFac.REPORT_LIEFERSCHEIN_OFFENE_BESTELLNUMMER] = flrlieferschein .getFlrauftrag().getC_bestellnummer(); } else { data[i][LieferscheinReportFac.REPORT_LIEFERSCHEIN_OFFENE_AUFTRAGSNUMMER] = null; data[i][LieferscheinReportFac.REPORT_LIEFERSCHEIN_OFFENE_AUFTRAG_PROJEKT] = null; data[i][LieferscheinReportFac.REPORT_LIEFERSCHEIN_OFFENE_BESTELLNUMMER] = null; } data[i][LieferscheinReportFac.REPORT_LIEFERSCHEIN_OFFENE_LIEFERART] = getLocaleFac() .lieferartFindByIIdLocaleOhneExc(flrlieferschein.getLieferart_i_id(), theClientDto.getLocMandant(), theClientDto); data[i][LieferscheinReportFac.REPORT_LIEFERSCHEIN_OFFENE_LIEFERARTORT] = flrlieferschein .getC_lieferartort(); data[i][LieferscheinReportFac.REPORT_LIEFERSCHEIN_OFFENE_VERRECHENBAR] = Helper .short2Boolean(flrlieferschein.getB_verrechenbar()); if (flrlieferschein.getFlrziellager() != null) { data[i][LieferscheinReportFac.REPORT_LIEFERSCHEIN_OFFENE_ZIELLAGER] = flrlieferschein .getFlrziellager().getC_nr(); } if (flrlieferschein.getFlrlager() != null) { data[i][LieferscheinReportFac.REPORT_LIEFERSCHEIN_OFFENE_ABLAGER] = flrlieferschein .getFlrlager().getC_nr(); } data[i][LieferscheinReportFac.REPORT_LIEFERSCHEIN_OFFENE_RECHNUNGSADRESSE] = flrlieferschein .getFlrkunderechnungsadresse().getFlrpartner().getC_name1nachnamefirmazeile1(); data[i][LieferscheinReportFac.REPORT_LIEFERSCHEIN_OFFENE_VERRECHENBAR] = Helper .short2Boolean(flrlieferschein.getB_verrechenbar()); if (flrlieferschein.getSpediteur_i_id() != null) { data[i][LieferscheinReportFac.REPORT_LIEFERSCHEIN_OFFENE_SPEDITEUR] = getMandantFac() .spediteurFindByPrimaryKey(flrlieferschein.getSpediteur_i_id()).getCNamedesspediteurs(); } else { data[i][LieferscheinReportFac.REPORT_LIEFERSCHEIN_OFFENE_SPEDITEUR] = null; } data[i][LieferscheinReportFac.REPORT_LIEFERSCHEIN_OFFENE_PROJEKTBEZEICHNUNG] = flrlieferschein .getC_bez_projektbezeichnung(); session = factory.openSession(); Criteria critPosition = session.createCriteria(FLRLieferscheinposition.class); critPosition.add(Restrictions.eq(LieferscheinpositionFac.FLR_LIEFERSCHEINPOSITION_FLRLIEFERSCHEIN, flrlieferschein)); critPosition.add(Restrictions.or( Restrictions.isNotNull(LieferscheinpositionFac.FLR_LIEFERSCHEINPOSITION_N_MENGE), Restrictions.eq( LieferscheinpositionFac.FLR_LIEFERSCHEINPOSITION_LIEFERSCHEINPOSITIONART_C_NR, LieferscheinpositionFac.LIEFERSCHEINPOSITIONSART_TEXTEINGABE))); // critPosition // .add(Restrictions // .isNotNull(LieferscheinpositionFac.FLR_LIEFERSCHEINPOSITION_N_MENGE)); List<?> posList = critPosition.list(); boolean darfVerkaufspreisSehen = getTheJudgeFac() .hatRecht(RechteFac.RECHT_LP_DARF_PREISE_SEHEN_VERKAUF, theClientDto); for (Iterator<?> ipos = posList.iterator(); ipos.hasNext();) { FLRLieferscheinposition item = (FLRLieferscheinposition) ipos.next(); i++;// in die naechste Zeile vorruecken // nur mengenbehaftete Positionen beruecksichtigen if (item.getN_menge() != null) { String artikelCNr = null; // TODO boeser Workaround ... PJ 4400 if (item.getFlrartikel().getC_nr().startsWith("~")) { artikelCNr = AngebotReportFac.REPORT_VORKALKULATION_ZEICHEN_FUER_HANDEINGABE; } else { artikelCNr = item.getFlrartikel().getC_nr(); } data[i][LieferscheinReportFac.REPORT_LIEFERSCHEIN_OFFENE_ARTIKELCNR] = artikelCNr; String cArtikelBezeichnung = ""; if (item.getPositionsart_c_nr() .equals(LieferscheinpositionFac.LIEFERSCHEINPOSITIONSART_IDENT) || item.getPositionsart_c_nr() .equals(LieferscheinpositionFac.LIEFERSCHEINPOSITIONSART_HANDEINGABE)) { cArtikelBezeichnung = getArtikelFac().baueArtikelBezeichnungMehrzeiligOhneExc( item.getFlrartikel().getI_id(), item.getPositionsart_c_nr(), item.getC_bez(), item.getC_zbez(), false, null, theClientDto); } data[i][LieferscheinReportFac.REPORT_LIEFERSCHEIN_OFFENE_ARTIKELBEZEICHNUNG] = cArtikelBezeichnung; data[i][LieferscheinReportFac.REPORT_LIEFERSCHEIN_OFFENE_ARTIKELMENGE] = item.getN_menge(); data[i][LieferscheinReportFac.REPORT_LIEFERSCHEIN_OFFENE_ARTIKELEINHEIT] = item .getEinheit_c_nr() == null ? null : item.getEinheit_c_nr().trim(); if (darfVerkaufspreisSehen) { // Positionspreise sind in Belegwaehrung abgelegt BigDecimal nPreisInBelegwaehrung = item .getN_nettogesamtpreisplusversteckteraufschlagminusrabatt(); nPreisInBelegwaehrung = getBetragMalWechselkurs(nPreisInBelegwaehrung, Helper.getKehrwert(new BigDecimal( flrlieferschein.getF_wechselkursmandantwaehrungzulieferscheinwaehrung() .doubleValue()))); data[i][LieferscheinReportFac.REPORT_LIEFERSCHEIN_OFFENE_ARTIKELNETTOGESAMTPREISPLUSVERSTECKTERAUFSCHLAGMINUSRABATT] = nPreisInBelegwaehrung; data[i][LieferscheinReportFac.REPORT_LIEFERSCHEIN_OFFENE_ARTIKELOFFENERWERT] = item .getN_menge().multiply(nPreisInBelegwaehrung); } else { data[i][LieferscheinReportFac.REPORT_LIEFERSCHEIN_OFFENE_ARTIKELNETTOGESAMTPREISPLUSVERSTECKTERAUFSCHLAGMINUSRABATT] = null; data[i][LieferscheinReportFac.REPORT_LIEFERSCHEIN_OFFENE_ARTIKELOFFENERWERT] = null; } // Grundlage ist der positionsbezogene Gestehungspreis // des Artikels. BigDecimal bdGestehungspreis = Helper.getBigDecimalNull(); if (item.getPositionsart_c_nr() .equals(LieferscheinpositionFac.LIEFERSCHEINPOSITIONSART_IDENT)) { try { BigDecimal bdGestehungswert = getLieferscheinFac() .berechneGestehungswertEinerLieferscheinposition(item.getI_id(), theClientDto); // Gestehungspreis bezogen auf 1 Stueck wird // gemittelt bdGestehungspreis = bdGestehungswert.divide(item.getN_menge(), 4, BigDecimal.ROUND_HALF_EVEN); bdGestehungspreis = Helper.rundeKaufmaennisch(bdGestehungspreis, 4); } catch (Throwable t) { // dieser Fall sollte nicht auftreten, bitte als // moeglichen Fehler pruefen! } } data[i][LieferscheinReportFac.REPORT_LIEFERSCHEIN_OFFENE_ARTIKELGESTEHUNGSPREIS] = bdGestehungspreis; if (darfVerkaufspreisSehen) { data[i][LieferscheinReportFac.REPORT_LIEFERSCHEIN_OFFENE_ARTIKELOFFENERDB] = item .getN_menge().multiply(bdGestehungspreis); } else { data[i][LieferscheinReportFac.REPORT_LIEFERSCHEIN_OFFENE_ARTIKELOFFENERDB] = null; } // die Positionen brauchen alle Attribute, nach denen im // Report gruppiert wird data[i][LieferscheinReportFac.REPORT_LIEFERSCHEIN_OFFENE_LIEFERSCHEINCNR] = flrlieferschein .getC_nr(); data[i][LieferscheinReportFac.REPORT_LIEFERSCHEIN_OFFENE_KOSTENSTELLECNR] = flrlieferschein .getFlrkostenstelle().getC_nr(); data[i][LieferscheinReportFac.REPORT_LIEFERSCHEIN_OFFENE_LIEFERSCHEINKUNDE] = flrlieferschein .getFlrkunde().getFlrpartner().getC_name1nachnamefirmazeile1(); data[i][LieferscheinReportFac.REPORT_LIEFERSCHEIN_OFFENE_LIEFERSCHEINCNR] = flrlieferschein .getC_nr(); // fuer die Gruppierung } else if (item.getPositionsart_c_nr().equals(LocaleFac.POSITIONSART_TEXTEINGABE)) { data[i][LieferscheinReportFac.REPORT_LIEFERSCHEIN_OFFENE_TEXTEINGABE] = item .getC_textinhalt(); // die Positionen brauchen alle Attribute, nach denen im // Report gruppiert wird data[i][LieferscheinReportFac.REPORT_LIEFERSCHEIN_OFFENE_LIEFERSCHEINCNR] = flrlieferschein .getC_nr(); data[i][LieferscheinReportFac.REPORT_LIEFERSCHEIN_OFFENE_KOSTENSTELLECNR] = flrlieferschein .getFlrkostenstelle().getC_nr(); data[i][LieferscheinReportFac.REPORT_LIEFERSCHEIN_OFFENE_LIEFERSCHEINKUNDE] = flrlieferschein .getFlrkunde().getFlrpartner().getC_name1nachnamefirmazeile1(); data[i][LieferscheinReportFac.REPORT_LIEFERSCHEIN_OFFENE_LIEFERSCHEINCNR] = flrlieferschein .getC_nr(); // fuer die Gruppierung } } i++; // in die naechste Zeile vorruecken } // Erstellung des Report HashMap parameter = new HashMap<Object, Object>(); // die Parameter dem Report uebergeben parameter.put(LPReport.P_SORTIERUNG, buildSortierungLieferscheinOffene(reportJournalKriterienDtoI, theClientDto)); parameter.put(LPReport.P_FILTER, buildFilterLieferscheinOffene(reportJournalKriterienDtoI, theClientDto)); // die Parameter zur Bildung von Zwischensummen uebergeben if (reportJournalKriterienDtoI.bSortiereNachKostenstelle) { parameter.put(LPReport.P_SORTIERENACHKOSTENSTELLE, new Boolean(true)); } else { parameter.put(LPReport.P_SORTIERENACHKOSTENSTELLE, new Boolean(false)); } if (reportJournalKriterienDtoI.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_PARTNER) { parameter.put(LPReport.P_SORTIERENACHKUNDE, new Boolean(true)); } else { parameter.put(LPReport.P_SORTIERENACHKUNDE, new Boolean(false)); } parameter.put("P_LIEFERSCHEINWAEHRUNG", theClientDto.getSMandantenwaehrung()); parameter.put("P_DETAILS", new Boolean(bMitDetails)); initJRDS(parameter, LieferscheinReportFac.REPORT_MODUL, LieferscheinReportFac.REPORT_LIEFERSCHEIN_OFFENE, theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto); oPrintO = getReportPrint(); } catch (RemoteException re) { throwEJBExceptionLPRespectOld(re); } finally { closeSession(session); } return oPrintO; }
From source file:com.lp.server.lieferschein.ejbfac.LieferscheinReportFacBean.java
License:Open Source License
/** * Diese Methode liefert eine Liste von allen gelieferten Lieferscheine * eines Mandanten, die nach den eingegebenen Kriterien des Benutzers * zusammengestellt wird. <br>/*from www. j ava2s .co m*/ * Achtung: Hibernate verwendet lazy initialization, d.h. der Zugriff auf * Collections muss innerhalb der Session erfolgen. * * @param reportJournalKriterienDtoI * die Kriterien des Benutzers * @param theClientDto * der aktuelle Benutzer * @return ReportLieferscheinOffeneDto[] die Liste der Lieferscheine * @throws EJBExceptionLP * Ausnahme */ private ReportLieferscheinOffeneDto[] getListeReportLieferscheinOffene( ReportJournalKriterienDto reportJournalKriterienDtoI, Integer iArt, boolean bMitDetails, TheClientDto theClientDto) throws EJBExceptionLP { ReportLieferscheinOffeneDto[] 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 crit = session.createCriteria(FLRLieferschein.class); // Einschraenkung auf den aktuellen Mandanten crit.add(Restrictions.eq("mandant_c_nr", theClientDto.getMandant())); // Einschraenkung nach Status Offen crit.add(Restrictions.eq(LieferscheinFac.FLR_LIEFERSCHEIN_LIEFERSCHEINSTATUS_STATUS_C_NR, LieferscheinFac.LSSTATUS_GELIEFERT)); if (iArt != null) { if (iArt == 1) { crit.add(Restrictions.eq(LieferscheinFac.FLR_LIEFERSCHEIN_B_VERRECHENBAR, Helper.boolean2Short(true))); } else if (iArt == 2) { crit.add(Restrictions.eq(LieferscheinFac.FLR_LIEFERSCHEIN_B_VERRECHENBAR, Helper.boolean2Short(false))); } } // Einschraenkung nach einer bestimmten Kostenstelle if (reportJournalKriterienDtoI.kostenstelleIId != null) { crit.add(Restrictions.eq(LieferscheinFac.FLR_LIEFERSCHEIN_KOSTENSTELLE_I_ID, reportJournalKriterienDtoI.kostenstelleIId)); } // Einschraenkung nach einem bestimmten Kunden if (reportJournalKriterienDtoI.kundeIId != null) { crit.add(Restrictions.eq(LieferscheinFac.FLR_LIEFERSCHEIN_KUNDE_I_ID_LIEFERADRESSE, reportJournalKriterienDtoI.kundeIId)); } // Einschraenkung nach Belegdatum von - bis String sVon = null; String sBis = null; if (reportJournalKriterienDtoI.dVon != null) { crit.add(Restrictions.ge(LieferscheinFac.FLR_LIEFERSCHEIN_D_BELEGDATUM, reportJournalKriterienDtoI.dVon)); sVon = Helper.formatDatum(reportJournalKriterienDtoI.dVon, theClientDto.getLocUi()); } if (reportJournalKriterienDtoI.dBis != null) { crit.add(Restrictions.le(LieferscheinFac.FLR_LIEFERSCHEIN_D_BELEGDATUM, reportJournalKriterienDtoI.dBis)); sBis = Helper.formatDatum(reportJournalKriterienDtoI.dBis, theClientDto.getLocUi()); } // Einschraenkung nach 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 (reportJournalKriterienDtoI.sBelegnummerVon != null) { sVon = HelperServer.getBelegnummernFilterForHibernateCriterias(f, iGeschaeftsjahr, sMandantKuerzel, reportJournalKriterienDtoI.sBelegnummerVon); crit.add(Restrictions.ge("c_nr", sVon)); } if (reportJournalKriterienDtoI.sBelegnummerBis != null) { sBis = HelperServer.getBelegnummernFilterForHibernateCriterias(f, iGeschaeftsjahr, sMandantKuerzel, reportJournalKriterienDtoI.sBelegnummerBis); crit.add(Restrictions.le("c_nr", sBis)); } // Sortierung nach Kostenstelle ist immer die erste Sortierung if (reportJournalKriterienDtoI.bSortiereNachKostenstelle) { crit.createCriteria(LieferscheinFac.FLR_LIEFERSCHEIN_FLRKOSTENSTELLE).addOrder(Order.asc("c_nr")); } // Sortierung nach Kunde, eventuell innerhalb der Kostenstelle if (reportJournalKriterienDtoI.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_PARTNER) { crit.createCriteria(LieferscheinFac.FLR_LIEFERSCHEIN_FLRKUNDE).createCriteria(KundeFac.FLR_PARTNER) .addOrder(Order.asc(PartnerFac.FLR_PARTNER_NAME1NACHNAMEFIRMAZEILE1)); } // es wird in jedem Fall nach der Belegnummer sortiert crit.addOrder(Order.asc("c_nr")); List<?> list = crit.list(); aResult = new ReportLieferscheinOffeneDto[list.size()]; int iIndex = 0; Iterator<?> it = list.iterator(); ReportLieferscheinOffeneDto reportDto = null; while (it.hasNext()) { FLRLieferschein flrlieferschein = (FLRLieferschein) it.next(); reportDto = new ReportLieferscheinOffeneDto(); reportDto.setIIdLieferschein(flrlieferschein.getI_id()); reportDto.setCNrLieferschein(flrlieferschein.getC_nr()); reportDto.setKundeCName1( flrlieferschein.getFlrkunde().getFlrpartner().getC_name1nachnamefirmazeile1()); reportDto.setKostenstelleCNr(flrlieferschein.getFlrkostenstelle().getC_nr()); aResult[iIndex] = reportDto; iIndex++; } } catch (RemoteException re) { throwEJBExceptionLPRespectOld(re); } finally { closeSession(session); } return aResult; }
From source file:com.lp.server.partner.ejbfac.KundeFacBean.java
License:Open Source License
private KundeDto[] findAllKundeByDebitorennr(KundeDto kundeDtoI, TheClientDto theClientDto) throws EJBExceptionLP { ArrayList<KundeDto> list = new ArrayList<KundeDto>(); if (kundeDtoI.getIDebitorenkontoAsIntegerNotiId() != null) { Session session = null;// w w w.java 2s .c o m try { SessionFactory factory = FLRSessionFactory.getFactory(); session = factory.openSession(); // Kunden finden Criteria c = session.createCriteria(FLRKunde.class); // alle mit diesem Debitorenkonto c.createCriteria(KundeFac.FLR_KONTO).add(Restrictions.eq(FinanzFac.FLR_KONTO_C_NR, kundeDtoI.getIDebitorenkontoAsIntegerNotiId().toString())); // aber nicht denselben c.add(Restrictions.not(Restrictions.eq(KundeFac.FLR_KUNDE_I_ID, kundeDtoI.getIId()))); c.add(Restrictions.eq(KundeFac.FLR_KUNDE_MANDANT_C_NR, theClientDto.getMandant())); // query ausfuehren List<?> resultList = c.list(); for (Iterator<?> iter = resultList.iterator(); iter.hasNext();) { FLRKunde item = (FLRKunde) iter.next(); list.add(kundeFindByPrimaryKey(item.getI_id(), theClientDto)); } } finally { if (session != null) { session.close(); } } } KundeDto[] returnArray = new KundeDto[list.size()]; return (KundeDto[]) list.toArray(returnArray); }
From source file:com.lp.server.partner.ejbfac.LieferantFacBean.java
License:Open Source License
private LieferantDto[] findAllLieferantenByKreditorennr(LieferantDto lieferantDtoI, TheClientDto theClientDto) throws EJBExceptionLP { ArrayList<LieferantDto> list = new ArrayList<LieferantDto>(); if (lieferantDtoI.getIKreditorenkontoAsIntegerNotiId() != null) { Session session = null;//from w w w . ja v a 2 s.c om try { SessionFactory factory = FLRSessionFactory.getFactory(); session = factory.openSession(); // Lieferanten finden Criteria c = session.createCriteria(FLRLieferant.class); // alle mit diesem Kreditorenkonto c.createCriteria(LieferantFac.FLR_KONTO).add(Restrictions.eq(FinanzFac.FLR_KONTO_C_NR, lieferantDtoI.getIKreditorenkontoAsIntegerNotiId().toString())); // aber nicht denselben c.add(Restrictions.not(Restrictions.eq(LieferantFac.FLR_LIEFERANT_I_ID, lieferantDtoI.getIId()))); c.add(Restrictions.eq(LieferantFac.FLR_LIEFERANT_MANDANT_C_NR, theClientDto.getMandant())); // query ausfuehren List<?> resultList = c.list(); for (Iterator<?> iter = resultList.iterator(); iter.hasNext();) { FLRLieferant item = (FLRLieferant) iter.next(); list.add(lieferantFindByPrimaryKey(item.getI_id(), theClientDto)); } } finally { if (session != null) { session.close(); } } } LieferantDto[] returnArray = new LieferantDto[list.size()]; return (LieferantDto[]) list.toArray(returnArray); }
From source file:com.lp.server.projekt.ejbfac.ProjektReportFacBean.java
License:Open Source License
public JasperPrintLP printProjekt(Integer iIdProjektI, Integer iAnzahlKopienI, Boolean bMitLogo, TheClientDto theClientDto) throws EJBExceptionLP, RemoteException { JasperPrintLP aJasperPrint = null;// w w w . java 2s . c o m try { ProjektDto projektDto = getProjektFac().projektFindByPrimaryKey(iIdProjektI); PartnerDto partnerDto = getPartnerFac().partnerFindByPrimaryKey(projektDto.getPartnerIId(), theClientDto); MandantDto mandantDto = getMandantFac().mandantFindByPrimaryKey(projektDto.getMandantCNr(), theClientDto); cAktuellerReport = ProjektReportFac.REPORT_PROJEKT; // dem Report seine Parameter setzen HashMap<String, Object> parameter = new HashMap<String, Object>(); Locale locDruck = Helper.string2Locale(partnerDto.getLocaleCNrKommunikation()); if (partnerDto.getPartnerklasseIId() != null) { parameter.put("P_PARTNERKLASSE", getPartnerFac() .partnerklasseFindByPrimaryKey(partnerDto.getPartnerklasseIId(), theClientDto) .getBezeichnung()); } parameter.put("P_BEREICH", getProjektServiceFac().bereichFindByPrimaryKey(projektDto.getBereichIId()).getCBez()); if (partnerDto.getBrancheIId() != null) { parameter.put("P_BRANCHE", getPartnerServicesFac() .brancheFindByPrimaryKey(partnerDto.getBrancheIId(), theClientDto).getBezeichnung()); } parameter.put("P_MANDANTADRESSE", Helper.formatMandantAdresse(mandantDto)); parameter.put("P_TITEL", projektDto.getCTitel()); parameter.put("P_PROJEKTNUMMER", projektDto.getCNr()); parameter.put("P_KOPFTEXT", Helper.formatStyledTextForJasper(projektDto.getXFreetext())); parameter.put("P_KATEGORIE", projektDto.getKategorieCNr()); parameter.put("P_WAHRSCHEINLICHKEIT", projektDto.getIWahrscheinlichkeit()); parameter.put("P_UMSATZGEPLANT", projektDto.getNUmsatzgeplant()); parameter.put("P_ZIELTERMIN", "" + Helper.formatDatum(projektDto.getTZielwunschdatum(), locDruck)); parameter.put("P_ERLEDIGUNGSDATUM", "" + Helper.formatDatum(projektDto.getTErledigt(), locDruck)); parameter.put("P_BELEGDATUM", "" + Helper.formatDatum(projektDto.getTAnlegen(), locDruck)); parameter.put("P_KUNDE_ADRESSBLOCK", formatAdresseFuerAusdruck(partnerDto, null, mandantDto, locDruck)); if (projektDto.getAnsprechpartnerIId() != null) { AnsprechpartnerDto ansprechpartnerDto = getAnsprechpartnerFac() .ansprechpartnerFindByPrimaryKey(projektDto.getAnsprechpartnerIId(), theClientDto); parameter.put(LPReport.P_ANSPRECHPARTNER, ansprechpartnerDto.getPartnerDto().formatFixName1Name2()); parameter.put(LPReport.P_ANSPRECHPARTNERHANDY, ansprechpartnerDto.getCHandy()); parameter.put(LPReport.P_ANSPRECHPARTNERDW, ansprechpartnerDto.getCTelefon()); parameter.put(LPReport.P_ANSPRECHPARTNEREMAIL, ansprechpartnerDto.getCEmail()); parameter.put(LPReport.P_ANSPRECHPARTNERFAX, ansprechpartnerDto.getCDirektfax()); String sTelefon = getPartnerFac().partnerkommFindRespectPartnerAsStringOhneExec( ansprechpartnerDto.getIId(), partnerDto, PartnerFac.KOMMUNIKATIONSART_TELEFON, theClientDto.getMandant(), theClientDto); parameter.put(LPReport.P_ANSPRECHPARTNERTELEFON, sTelefon != null ? sTelefon : ""); } 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 crit = session.createCriteria(FLRHistory.class); crit.createCriteria(ProjektFac.FLR_HISTORY_FLRPROJEKT) .add(Restrictions.eq(ProjektFac.FLR_PROJEKT_I_ID, projektDto.getIId())); crit.addOrder(Order.desc(ProjektFac.FLR_HISTORY_T_BELEGDATUM)); List<?> resultList = crit.list(); if (resultList.size() == 0) { data = new Object[1][ProjektReportFac.REPORT_PROJEKT_JOURNAL_ALLE_ANZAHL_SPALTEN]; parameter.put("P_OHNEPOSITION", new Boolean(true)); } else { parameter.put("P_OHNEPOSITION", new Boolean(false)); Iterator<?> it = resultList.iterator(); int i = 0; data = new Object[resultList .size()][ProjektReportFac.REPORT_PROJEKT_JOURNAL_ALLE_ANZAHL_SPALTEN]; while (it.hasNext()) { FLRHistory history = (FLRHistory) it.next(); data[i][ProjektReportFac.REPORT_PROJEKT_POSITION] = i; data[i][ProjektReportFac.REPORT_PROJEKT_ERZEUGER] = history.getFlrpersonal().getFlrpartner() .getC_name1nachnamefirmazeile1(); data[i][ProjektReportFac.REPORT_PROJEKT_HISTORY_BELEGDATUM] = Helper .formatDatum(history.getT_belegdatum(), locDruck); data[i][ProjektReportFac.REPORT_PROJEKT_HISTORY_TEXT] = history.getX_text(); data[i][ProjektReportFac.REPORT_PROJEKT_TITEL] = history.getC_titel(); if (history.getFlrhistoryart() != null) { data[i][ProjektReportFac.REPORT_PROJEKT_HISTORYART] = history.getFlrhistoryart() .getC_bez(); data[i][ProjektReportFac.REPORT_PROJEKT_ROT] = history.getFlrhistoryart().getI_rot(); data[i][ProjektReportFac.REPORT_PROJEKT_BLAU] = history.getFlrhistoryart().getI_blau(); data[i][ProjektReportFac.REPORT_PROJEKT_GRUEN] = history.getFlrhistoryart() .getI_gruen(); } i++; } } } catch (Throwable t) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FLR, new Exception(t)); } finally { try { session.close(); } catch (HibernateException he) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_HIBERNATE, he); } } initJRDS(parameter, ProjektReportFac.REPORT_MODUL, cAktuellerReport, theClientDto.getMandant(), locDruck, theClientDto); aJasperPrint = getReportPrint(); } catch (RemoteException ex) { throwEJBExceptionLPRespectOld(ex); } catch (Throwable t) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_DRUCKEN, new Exception(t)); } return aJasperPrint; }
From source file:com.lp.server.projekt.ejbfac.ProjektReportFacBean.java
License:Open Source License
public JasperPrintLP printProjektAlle(ReportJournalKriterienDto reportJournalKriterienDtoI, Date dStichtag, Integer bereichIId, boolean belegdatumStattZieltermin, TheClientDto theClientDto) throws EJBExceptionLP, RemoteException { JasperPrintLP oPrint = null;/*www.j a va 2 s . co m*/ int iAnzahlZeilen = 0; cAktuellerReport = ProjektReportFac.REPORT_PROJEKT_JOURNAL_ALLE; Locale locDruck; SessionFactory factory = FLRSessionFactory.getFactory(); Session session = null; // vom Stichtag die Uhrzeit abschneiden dStichtag = Helper.cutDate(dStichtag); try { session = factory.openSession(); // Hiberante Criteria fuer alle Tabellen ausgehend von meiner // Haupttabelle anlegen, // nach denen ich filtern und sortieren kann Criteria critProjekt = session.createCriteria(FLRProjekt.class); // Einschraenkung auf den aktuellen Mandanten critProjekt.add(Restrictions.eq(ProjektFac.FLR_PROJEKT_MANDANT_C_NR, theClientDto.getMandant())); critProjekt.add(Restrictions.not(Restrictions.eq(ProjektFac.FLR_PROJEKT_STATUS_C_NR, ProjektServiceFac.PROJEKT_STATUS_STORNIERT))); // Einschraenkung nach Belegdatum von - bis String sVon = null; String sBis = null; if (reportJournalKriterienDtoI.dVon != null) { if (belegdatumStattZieltermin) { critProjekt.add( Restrictions.ge(ProjektFac.FLR_PROJEKT_T_ANLEGEN, reportJournalKriterienDtoI.dVon)); } else { critProjekt.add( Restrictions.ge(ProjektFac.FLR_PROJEKT_T_ZIELDATUM, reportJournalKriterienDtoI.dVon)); } sVon = Helper.formatDatum(reportJournalKriterienDtoI.dVon, theClientDto.getLocUi()); } if (reportJournalKriterienDtoI.dBis != null) { if (belegdatumStattZieltermin) { critProjekt.add( Restrictions.le(ProjektFac.FLR_PROJEKT_T_ANLEGEN, reportJournalKriterienDtoI.dBis)); } else { critProjekt.add( Restrictions.le(ProjektFac.FLR_PROJEKT_T_ZIELDATUM, reportJournalKriterienDtoI.dBis)); } sBis = Helper.formatDatum(reportJournalKriterienDtoI.dBis, theClientDto.getLocUi()); } if (reportJournalKriterienDtoI.sBelegnummerVon != null) { sVon = reportJournalKriterienDtoI.sBelegnummerVon; critProjekt.add(Restrictions.ge(ProjektFac.FLR_PROJEKT_C_NR, new Integer(sVon))); } critProjekt.add(Restrictions.eq(ProjektFac.FLR_PROJEKT_BEREICH_I_ID, bereichIId)); if (reportJournalKriterienDtoI.sBelegnummerBis != null) { sBis = reportJournalKriterienDtoI.sBelegnummerBis; critProjekt.add(Restrictions.le(ProjektFac.FLR_PROJEKT_C_NR, new Integer(sBis))); } // Einschraenkung nach einer bestimmten Perosn if (reportJournalKriterienDtoI.personalIId != null) { critProjekt.add(Restrictions.eq(ProjektFac.FLR_PROJEKT_PERSONAL_I_ID_ZUGEWIESENER, reportJournalKriterienDtoI.personalIId)); } // Sortierung nach Personal ist immer die erste Sortierung if (reportJournalKriterienDtoI.bSortiereNachPersonal) { critProjekt.createCriteria(ProjektFac.FLR_PROJEKT_FLRPERSONALZUGEWIESENER) .createCriteria(KundeFac.FLR_PARTNER) .addOrder(Order.asc(PartnerFac.FLR_PARTNER_NAME1NACHNAMEFIRMAZEILE1)); } // Sortierung nach Partner, if (reportJournalKriterienDtoI.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_PARTNER) { critProjekt.createCriteria(ProjektFac.FLR_PROJEKT_FLRPARTNER) .addOrder(Order.asc(PartnerFac.FLR_PARTNER_NAME1NACHNAMEFIRMAZEILE1)); } // es wird in jedem Fall nach der Iid sortiert critProjekt.addOrder(Order.asc(ProjektFac.FLR_PROJEKT_C_NR)); List<?> list = critProjekt.list(); Iterator<?> it = list.iterator(); while (it.hasNext()) { FLRProjekt projekt = (FLRProjekt) it.next(); session = factory.openSession(); Criteria critHistory = session.createCriteria(FLRHistory.class); critHistory.createCriteria(ProjektFac.FLR_HISTORY_FLRPROJEKT) .add(Restrictions.eq(ProjektFac.FLR_PROJEKT_I_ID, projekt.getI_id())); List<?> historyList = critHistory.list(); if (historyList.size() != 0) { iAnzahlZeilen = iAnzahlZeilen + historyList.size(); } iAnzahlZeilen++; } data = new Object[iAnzahlZeilen][ProjektReportFac.REPORT_PROJEKT_JOURNAL_ALLE_ANZAHL_SPALTEN]; int i = 0; it = list.iterator(); while (it.hasNext()) { FLRProjekt projekt = (FLRProjekt) it.next(); data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_ALLE_PROJEKTTITEL] = projekt.getC_titel(); data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_ALLE_PROJEKTKATEGORIE] = projekt .getKategorie_c_nr(); data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_ALLE_PROJEKTCNR] = projekt.getC_nr(); data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_ALLE_KUNDECNAME1] = projekt.getFlrpartner() .getC_name1nachnamefirmazeile1(); data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_ALLE_STATUS] = projekt.getStatus_c_nr(); data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_ALLE_TYP] = projekt.getTyp_c_nr(); if (projekt.getPersonal_i_id_internerledigt() != null) { PersonalDto personalDto = getPersonalFac() .personalFindByPrimaryKey(projekt.getPersonal_i_id_internerledigt(), theClientDto); data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_ALLE_INTERNERLEDIGT_PERSON] = personalDto .getPartnerDto().formatAnrede(); data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_ALLE_INTERNERLEDIGT_ZEIT] = projekt .getT_internerledigt(); } data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_ALLE_WAHRSCHEINLICHKEIT] = projekt .getI_wahrscheinlichkeit(); data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_ALLE_GEPLANTERUMSATZ] = projekt .getN_umsatzgeplant(); locDruck = Helper.string2Locale(projekt.getFlrpartner().getLocale_c_nr_kommunikation()); data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_ALLE_ZIELTERMIN] = Helper .formatDatum(projekt.getT_zielwunschdatum(), locDruck); data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_ALLE_BELEGDATUM] = Helper .formatDatum(projekt.getT_anlegen(), locDruck); data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_ALLE_ERLEDIGUNGSDATUM] = Helper .formatDatumZeit(projekt.getT_erledigungsdatum(), locDruck); Calendar calendar = new GregorianCalendar(); calendar.setTime(new Date(projekt.getT_zielwunschdatum().getTime())); int KW = calendar.get(Calendar.WEEK_OF_YEAR); // Kalendarwochen data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_ALLE_ZIELWOCHE] = "" + KW; data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_ALLE_PRIO] = projekt.getI_prio(); data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_ALLE_TEXT] = projekt.getX_freetext(); data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_ALLE_ERZEUGER] = projekt.getFlrpersonalErzeuger() .getFlrpartner().getC_name1nachnamefirmazeile1(); data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_ALLE_ZUGEWIESENER] = projekt .getFlrpersonalZugewiesener().getFlrpartner().getC_name1nachnamefirmazeile1(); data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_ALLE_ZEIT] = projekt.getT_zeit(); data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_ALLE_DAUER] = projekt.getD_dauer(); // // Criteria crit1 = session.createCriteria(FLRHistory.class); crit1.createCriteria(ProjektFac.FLR_HISTORY_FLRPROJEKT) .add(Restrictions.eq(ProjektFac.FLR_PROJEKT_I_ID, projekt.getI_id())); List<?> resultList = crit1.list(); Iterator<?> itHistory = resultList.iterator(); i++; while (itHistory.hasNext()) { FLRHistory history = (FLRHistory) itHistory.next(); data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_ALLE_PROJEKTCNR] = projekt.getC_nr(); data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_ALLE_ZUGEWIESENER] = projekt .getFlrpersonalZugewiesener().getFlrpartner().getC_name1nachnamefirmazeile1(); data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_ALLE_HISTORY_MITARBEITER] = history .getFlrpersonal().getFlrpartner().getC_name1nachnamefirmazeile1(); data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_ALLE_HISTORY_BELEGDATUM] = Helper .formatDatum(history.getT_belegdatum(), locDruck); data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_ALLE_HISTORY_TEXT] = history.getX_text(); i++; } } } catch (Throwable t) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FLR, new Exception(t)); } finally { try { session.close(); } catch (HibernateException he) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_HIBERNATE, he); } } // die Parameter dem Report uebergeben HashMap<String, Object> parameter = new HashMap<String, Object>(); parameter.put(LPReport.P_SORTIERUNG, buildSortierungProjektAlle(reportJournalKriterienDtoI, theClientDto)); parameter.put("P_BEREICH", getProjektServiceFac().bereichFindByPrimaryKey(bereichIId).getCBez()); parameter.put("P_BELEGDATUM_STATT_ZIELTERMIN", new Boolean(belegdatumStattZieltermin)); parameter.put(LPReport.P_FILTER, buildFilterProjektAlle(reportJournalKriterienDtoI, theClientDto)); if (reportJournalKriterienDtoI.personalIId != null) { parameter.put(LPReport.P_SORTIERENACHPERSONAL, new Boolean(true)); } else { parameter.put(LPReport.P_SORTIERENACHPERSONAL, new Boolean(false)); } parameter.put("P_TITLE", getTextRespectUISpr("proj.print.alle", theClientDto.getMandant(), theClientDto.getLocUi())); initJRDS(parameter, ProjektReportFac.REPORT_MODUL, cAktuellerReport, theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto); oPrint = getReportPrint(); return oPrint; }
From source file:com.lp.server.projekt.ejbfac.ProjektReportFacBean.java
License:Open Source License
public JasperPrintLP printProjektErledigt(ReportJournalKriterienDto reportJournalKriterienDtoI, Date dStichtag, Integer bereichIId, boolean interneErledigungBeruecksichtigen, TheClientDto theClientDto) throws EJBExceptionLP, RemoteException { JasperPrintLP oPrint = null;//from www . j a v a 2 s . com cAktuellerReport = ProjektReportFac.REPORT_PROJEKT_JOURNAL_ERLEDIGT; Locale locDruck; SessionFactory factory = FLRSessionFactory.getFactory(); Session session = null; // vom Stichtag die Uhrzeit abschneiden dStichtag = Helper.cutDate(dStichtag); try { session = factory.openSession(); // Hiberante Criteria fuer alle Tabellen ausgehend von meiner // Haupttabelle anlegen, // nach denen ich filtern und sortieren kann Criteria crit = session.createCriteria(FLRProjekt.class); // Einschraenkung auf den aktuellen Mandanten crit.add(Restrictions.eq(ProjektFac.FLR_PROJEKT_MANDANT_C_NR, theClientDto.getMandant())); crit.add(Restrictions.not(Restrictions.eq(ProjektFac.FLR_PROJEKT_STATUS_C_NR, ProjektServiceFac.PROJEKT_STATUS_STORNIERT))); crit.add(Restrictions.eq(ProjektFac.FLR_PROJEKT_BEREICH_I_ID, bereichIId)); // Einschraenkung nach Status Offen, Erledigt if (interneErledigungBeruecksichtigen == false) { Collection<String> cStati = new LinkedList<String>(); cStati.add(ProjektServiceFac.PROJEKT_STATUS_ERLEDIGT); crit.add(Restrictions.in(ProjektFac.FLR_PROJEKT_STATUS_C_NR, cStati)); } if (reportJournalKriterienDtoI.dVon != null) { if (interneErledigungBeruecksichtigen == true) { crit.add(Restrictions.or( Restrictions.and(Restrictions.isNotNull(ProjektFac.FLR_PROJEKT_T_INTERNERLEDIGT), Restrictions.ge(ProjektFac.FLR_PROJEKT_T_INTERNERLEDIGT, reportJournalKriterienDtoI.dVon)), Restrictions.ge(ProjektFac.FLR_PROJEKT_T_ERLEDIGUNGSDATUM, reportJournalKriterienDtoI.dVon))); } else { crit.add(Restrictions.ge(ProjektFac.FLR_PROJEKT_T_ERLEDIGUNGSDATUM, reportJournalKriterienDtoI.dVon)); } } if (reportJournalKriterienDtoI.dBis != null) { Date d = Helper.addiereTageZuDatum(reportJournalKriterienDtoI.dBis, 1); if (interneErledigungBeruecksichtigen == true) { crit.add(Restrictions.or( Restrictions.and(Restrictions.isNotNull(ProjektFac.FLR_PROJEKT_T_INTERNERLEDIGT), Restrictions.lt(ProjektFac.FLR_PROJEKT_T_INTERNERLEDIGT, d)), Restrictions.lt(ProjektFac.FLR_PROJEKT_T_ERLEDIGUNGSDATUM, d))); } else { crit.add(Restrictions.lt(ProjektFac.FLR_PROJEKT_T_ERLEDIGUNGSDATUM, d)); } } // Einschraenkung nach einer bestimmten Perosn if (reportJournalKriterienDtoI.personalIId != null) { crit.add(Restrictions.eq(ProjektFac.FLR_PROJEKT_PERSONAL_I_ID_ERLEDIGER, reportJournalKriterienDtoI.personalIId)); } // Sortierung nach Partner, if (reportJournalKriterienDtoI.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_PARTNER) { crit.createCriteria(ProjektFac.FLR_PROJEKT_FLRPARTNER) .addOrder(Order.asc(PartnerFac.FLR_PARTNER_NAME1NACHNAMEFIRMAZEILE1)); crit.addOrder(Order.asc(ProjektFac.FLR_PROJEKT_T_ERLEDIGUNGSDATUM)); crit.addOrder(Order.asc(ProjektFac.FLR_PROJEKT_C_NR)); } crit.addOrder(Order.asc(ProjektFac.FLR_PROJEKT_KATEGORIE_C_NR)); List<?> list = crit.list(); ArrayList<Object[]> alDaten = new ArrayList<Object[]>(); Iterator<?> it = list.iterator(); while (it.hasNext()) { FLRProjekt projekt = (FLRProjekt) it.next(); Object[] oZeile = new Object[ProjektReportFac.REPORT_PROJEKT_JOURNAL_ERLEDIGT_ANZAHL_SPALTEN]; if (interneErledigungBeruecksichtigen == true && projekt.getT_internerledigt() != null && projekt.getT_erledigungsdatum() != null) { // Wenn intern-Erledigt und normal erledigt, dann gilt jenes // Datum, das frueher war if (projekt.getT_internerledigt().getTime() <= projekt.getT_erledigungsdatum().getTime()) { if (reportJournalKriterienDtoI.dVon != null && projekt.getT_internerledigt() .getTime() < reportJournalKriterienDtoI.dVon.getTime()) { continue; } if (reportJournalKriterienDtoI.dBis != null && projekt.getT_internerledigt() .getTime() > reportJournalKriterienDtoI.dBis.getTime()) { continue; } } } oZeile[ProjektReportFac.REPORT_PROJEKT_JOURNAL_ERLEDIGT_PROJEKTTITEL] = projekt.getC_titel(); oZeile[ProjektReportFac.REPORT_PROJEKT_JOURNAL_ERLEDIGT_PROJEKTKATEGORIE] = projekt .getKategorie_c_nr(); oZeile[ProjektReportFac.REPORT_PROJEKT_JOURNAL_ERLEDIGT_PROJEKTCNR] = projekt.getC_nr(); oZeile[ProjektReportFac.REPORT_PROJEKT_JOURNAL_ERLEDIGT_TYP] = projekt.getTyp_c_nr(); oZeile[ProjektReportFac.REPORT_PROJEKT_JOURNAL_ERLEDIGT_KUNDECNAME1] = projekt.getFlrpartner() .getC_name1nachnamefirmazeile1(); oZeile[ProjektReportFac.REPORT_PROJEKT_JOURNAL_ERLEDIGT_WAHRSCHEINLICHKEIT] = projekt .getI_wahrscheinlichkeit(); oZeile[ProjektReportFac.REPORT_PROJEKT_JOURNAL_ERLEDIGT_GEPLANTERUMSATZ] = projekt .getN_umsatzgeplant(); if (projekt.getPersonal_i_id_internerledigt() != null) { PersonalDto personalDto = getPersonalFac() .personalFindByPrimaryKey(projekt.getPersonal_i_id_internerledigt(), theClientDto); oZeile[ProjektReportFac.REPORT_PROJEKT_JOURNAL_ERLEDIGT_INTERNERLEDIGT_PERSON] = personalDto .getPartnerDto().formatAnrede(); oZeile[ProjektReportFac.REPORT_PROJEKT_JOURNAL_ERLEDIGT_INTERNERLEDIGT_ZEIT] = projekt .getT_internerledigt(); } locDruck = Helper.string2Locale(projekt.getFlrpartner().getLocale_c_nr_kommunikation()); oZeile[ProjektReportFac.REPORT_PROJEKT_JOURNAL_ERLEDIGT_ZIELTERMIN] = Helper .formatDatum(projekt.getT_zielwunschdatum(), locDruck); oZeile[ProjektReportFac.REPORT_PROJEKT_JOURNAL_ERLEDIGT_BELEGDATUM] = Helper .formatDatum(projekt.getT_anlegen(), locDruck); oZeile[ProjektReportFac.REPORT_PROJEKT_JOURNAL_ERLEDIGT_ERLEDIGUNGSDATUM] = Helper .formatDatumZeit(projekt.getT_erledigungsdatum(), locDruck); if (projekt.getB_verrechenbar().equals(new Integer(1).shortValue())) { oZeile[ProjektReportFac.REPORT_PROJEKT_JOURNAL_ERLEDIGT_B_VERRECHENBAR] = "verrechenbar"; } else { oZeile[ProjektReportFac.REPORT_PROJEKT_JOURNAL_ERLEDIGT_B_VERRECHENBAR] = null; } if (projekt.getB_freigegeben().equals(new Integer(1).shortValue())) { oZeile[ProjektReportFac.REPORT_PROJEKT_JOURNAL_ERLEDIGT_FREIGEGEBEN] = "freigegeben"; } else { oZeile[ProjektReportFac.REPORT_PROJEKT_JOURNAL_ERLEDIGT_FREIGEGEBEN] = null; } Calendar calendar = new GregorianCalendar(); calendar.setTime(new Date(projekt.getT_zielwunschdatum().getTime())); int KW = calendar.get(Calendar.WEEK_OF_YEAR); // Kalendarwochen oZeile[ProjektReportFac.REPORT_PROJEKT_JOURNAL_ERLEDIGT_ZIELWOCHE] = "" + KW; oZeile[ProjektReportFac.REPORT_PROJEKT_JOURNAL_ERLEDIGT_PRIO] = projekt.getI_prio(); oZeile[ProjektReportFac.REPORT_PROJEKT_JOURNAL_ERLEDIGT_TEXT] = Helper .formatStyledTextForJasper(projekt.getX_freetext()); oZeile[ProjektReportFac.REPORT_PROJEKT_JOURNAL_ERLEDIGT_ERZEUGER] = projekt.getFlrpersonalErzeuger() .getFlrpartner().getC_name1nachnamefirmazeile1(); oZeile[ProjektReportFac.REPORT_PROJEKT_JOURNAL_ERLEDIGT_ZUGEWIESENER] = projekt .getFlrpersonalZugewiesener().getFlrpartner().getC_name1nachnamefirmazeile1(); if (projekt.getPersonal_i_id_erlediger() != null) { oZeile[ProjektReportFac.REPORT_PROJEKT_JOURNAL_ERLEDIGT_ERLEDIGER] = projekt .getFlrpersonalErlediger().getFlrpartner().getC_name1nachnamefirmazeile1(); } oZeile[ProjektReportFac.REPORT_PROJEKT_JOURNAL_ERLEDIGT_ZEIT] = projekt.getT_zeit(); oZeile[ProjektReportFac.REPORT_PROJEKT_JOURNAL_ERLEDIGT_DAUER] = projekt.getD_dauer(); // Gesamte Dauer eines Projektes Double ddArbeitszeitist = getZeiterfassungFac().getSummeZeitenEinesBeleges( LocaleFac.BELEGART_PROJEKT, projekt.getI_id(), null, null, null, null, theClientDto); oZeile[ProjektReportFac.REPORT_PROJEKT_JOURNAL_ERLEDIGT_GESAMTDAUER] = ddArbeitszeitist; Criteria crit1 = session.createCriteria(FLRHistory.class); crit1.createCriteria(ProjektFac.FLR_HISTORY_FLRPROJEKT) .add(Restrictions.eq(ProjektFac.FLR_PROJEKT_I_ID, projekt.getI_id())); List<?> resultList = crit1.list(); Iterator<?> itHistory = resultList.iterator(); alDaten.add(oZeile); while (itHistory.hasNext()) { FLRHistory history = (FLRHistory) itHistory.next(); oZeile = new Object[ProjektReportFac.REPORT_PROJEKT_JOURNAL_ERLEDIGT_ANZAHL_SPALTEN]; oZeile[ProjektReportFac.REPORT_PROJEKT_JOURNAL_ERLEDIGT_PROJEKTCNR] = projekt.getC_nr(); oZeile[ProjektReportFac.REPORT_PROJEKT_JOURNAL_ERLEDIGT_ZUGEWIESENER] = projekt .getFlrpersonalZugewiesener().getFlrpartner().getC_name1nachnamefirmazeile1(); oZeile[ProjektReportFac.REPORT_PROJEKT_JOURNAL_ERLEDIGT_HISTORY_MITARBEITER] = history .getFlrpersonal().getFlrpartner().getC_name1nachnamefirmazeile1(); oZeile[ProjektReportFac.REPORT_PROJEKT_JOURNAL_ERLEDIGT_HISTORY_BELEGDATUM] = Helper .formatDatum(history.getT_belegdatum(), locDruck); oZeile[ProjektReportFac.REPORT_PROJEKT_JOURNAL_ERLEDIGT_HISTORY_TEXT] = history.getX_text(); alDaten.add(oZeile); } } Object[][] returnArray = new Object[alDaten .size()][ProjektReportFac.REPORT_PROJEKT_JOURNAL_ERLEDIGT_ANZAHL_SPALTEN]; data = (Object[][]) alDaten.toArray(returnArray); } catch (RemoteException e) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_IN_ZEITDATEN, new Exception(e)); } finally { try { session.close(); } catch (HibernateException he) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_HIBERNATE, he); } } // die Parameter dem Report uebergeben HashMap<String, Object> parameter = new HashMap<String, Object>(); parameter.put(LPReport.P_FILTER, buildFilterProjektErledigt(reportJournalKriterienDtoI, theClientDto)); parameter.put("P_BEREICH", getProjektServiceFac().bereichFindByPrimaryKey(bereichIId).getCBez()); parameter.put("P_INTERNEERLEDIGUNGBERUECKSICHTIGEN", interneErledigungBeruecksichtigen); parameter.put("P_TITLE", getTextRespectUISpr("proj.print.erledigt", theClientDto.getMandant(), theClientDto.getLocUi())); initJRDS(parameter, ProjektReportFac.REPORT_MODUL, cAktuellerReport, theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto); oPrint = getReportPrint(); return oPrint; }
From source file:com.lp.server.projekt.ejbfac.ProjektReportFacBean.java
License:Open Source License
@TransactionAttribute(TransactionAttributeType.NEVER) public JasperPrintLP printProjektOffene(ReportJournalKriterienDto reportJournalKriterienDtoI, Date dStichtag, Integer bereichIId, TheClientDto theClientDto) throws EJBExceptionLP, RemoteException { JasperPrintLP oPrint = null;// ww w . ja v a 2s . com int iAnzahlZeilen = 0; cAktuellerReport = ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE; Locale locDruck; SessionFactory factory = FLRSessionFactory.getFactory(); Session session = null; // vom Stichtag die Uhrzeit abschneiden dStichtag = Helper.cutDate(dStichtag); try { session = factory.openSession(); // Hiberante Criteria fuer alle Tabellen ausgehend von meiner // Haupttabelle anlegen, // nach denen ich filtern und sortieren kann Criteria critProjekt = session.createCriteria(FLRProjekt.class); // Einschraenkung auf den aktuellen Mandanten critProjekt.add(Restrictions.eq(ProjektFac.FLR_PROJEKT_MANDANT_C_NR, theClientDto.getMandant())); critProjekt.add(Restrictions.not(Restrictions.eq(ProjektFac.FLR_PROJEKT_STATUS_C_NR, ProjektServiceFac.PROJEKT_STATUS_STORNIERT))); critProjekt.add(Restrictions.eq(ProjektFac.FLR_PROJEKT_BEREICH_I_ID, bereichIId)); // Einschraenkung nach Status Offen, Erledigt Collection<String> cStati = new LinkedList<String>(); cStati.add(ProjektServiceFac.PROJEKT_STATUS_OFFEN); cStati.add(ProjektServiceFac.PROJEKT_STATUS_ANGELEGT); critProjekt.add(Restrictions.in(ProjektFac.FLR_PROJEKT_STATUS_C_NR, cStati)); // Das Belegdatum muss vor dem Stichtag liegen critProjekt.add(Restrictions.le(ProjektFac.FLR_PROJEKT_T_ANLEGEN, dStichtag)); // Einschraenkung nach einer bestimmten Perosn if (reportJournalKriterienDtoI.personalIId != null) { critProjekt.add(Restrictions.eq(ProjektFac.FLR_PROJEKT_PERSONAL_I_ID_ZUGEWIESENER, reportJournalKriterienDtoI.personalIId)); } // Sortierung nach Personal ist immer die erste Sortierung if (reportJournalKriterienDtoI.bSortiereNachPersonal) { critProjekt.createCriteria(ProjektFac.FLR_PROJEKT_FLRPERSONALZUGEWIESENER) .createCriteria(KundeFac.FLR_PARTNER) .addOrder(Order.asc(PartnerFac.FLR_PARTNER_NAME1NACHNAMEFIRMAZEILE1)); } // Sortierung nach Partner, if (reportJournalKriterienDtoI.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_PARTNER) { critProjekt.createCriteria(ProjektFac.FLR_PROJEKT_FLRPARTNER) .addOrder(Order.asc(PartnerFac.FLR_PARTNER_NAME1NACHNAMEFIRMAZEILE1)); critProjekt.addOrder(Order.asc(ProjektFac.FLR_PROJEKT_TYP_C_NR)); critProjekt.addOrder(Order.asc(ProjektFac.FLR_PROJEKT_I_PRIO)); critProjekt.addOrder(Order.asc(ProjektFac.FLR_PROJEKT_KATEGORIE_C_NR)); } // es wird in jedem Fall nach der Belegnummer sortiert critProjekt.addOrder(Order.asc(ProjektFac.FLR_PROJEKT_C_NR)); List<?> list = critProjekt.list(); Iterator<?> it = list.iterator(); while (it.hasNext()) { FLRProjekt projekt = (FLRProjekt) it.next(); session = factory.openSession(); Criteria critHistory = session.createCriteria(FLRHistory.class); critHistory.createCriteria(ProjektFac.FLR_HISTORY_FLRPROJEKT) .add(Restrictions.eq(ProjektFac.FLR_PROJEKT_I_ID, projekt.getI_id())); List<?> historyList = critHistory.list(); if (historyList.size() != 0) { iAnzahlZeilen = iAnzahlZeilen + historyList.size(); } iAnzahlZeilen++; } data = new Object[iAnzahlZeilen][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_ANZAHL_SPALTEN]; int i = 0; it = list.iterator(); while (it.hasNext()) { FLRProjekt projekt = (FLRProjekt) it.next(); if (projekt.getI_id() == 7689) { System.out.println("x"); } data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_PROJEKTTITEL] = projekt.getC_titel(); data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_PROJEKTKATEGORIE] = projekt .getKategorie_c_nr(); data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_PROJEKTCNR] = projekt.getC_nr(); data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_STATUS] = projekt.getStatus_c_nr(); if (projekt.getPersonal_i_id_internerledigt() != null) { PersonalDto personalDto = getPersonalFac() .personalFindByPrimaryKey(projekt.getPersonal_i_id_internerledigt(), theClientDto); data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_INTERNERLEDIGT_PERSON] = personalDto .getPartnerDto().formatAnrede(); data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_INTERNERLEDIGT_ZEIT] = projekt .getT_internerledigt(); } data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_WAHRSCHEINLICHKEIT] = projekt .getI_wahrscheinlichkeit(); data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_GEPLANTERUMSATZ] = projekt .getN_umsatzgeplant(); // Gesamte Dauer eines Projektes Double ddArbeitszeitist = getZeiterfassungFac().getSummeZeitenEinesBeleges( LocaleFac.BELEGART_PROJEKT, projekt.getI_id(), null, null, null, null, theClientDto); data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_GESAMTDAUER] = ddArbeitszeitist; data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_KUNDECNAME1] = projekt.getFlrpartner() .getC_name1nachnamefirmazeile1(); locDruck = Helper.string2Locale(projekt.getFlrpartner().getLocale_c_nr_kommunikation()); data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_ZIELTERMIN] = Helper .formatDatum(projekt.getT_zielwunschdatum(), locDruck); data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_BELEGDATUM] = Helper .formatDatum(projekt.getT_anlegen(), locDruck); Calendar calendar = new GregorianCalendar(); calendar.setTime(new Date(projekt.getT_zielwunschdatum().getTime())); int KW = calendar.get(Calendar.WEEK_OF_YEAR); // Kalendarwochen data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_ZIELWOCHE] = "" + KW; data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_PRIO] = projekt.getI_prio(); data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_TEXT] = projekt.getX_freetext(); data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_ERZEUGER] = projekt.getFlrpersonalErzeuger() .getFlrpartner().getC_name1nachnamefirmazeile1(); data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_ZUGEWIESENER] = projekt .getFlrpersonalZugewiesener().getFlrpartner().getC_name1nachnamefirmazeile1(); data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_ZEIT] = projekt.getT_zeit(); data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_DAUER] = projekt.getD_dauer(); data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_B_VERRECHENBAR] = Helper .short2Boolean(projekt.getB_verrechenbar()); data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_B_FREIGEGEBEN] = Helper .short2Boolean(projekt.getB_freigegeben()); data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_DATEINAME] = projekt.getC_dateiname(); // try { if (projekt.getFlransprechpartner() != null && (projekt.getFlransprechpartner().getI_id() != null)) { if (projekt.getFlransprechpartner().getFlrpartneransprechpartner() != null && projekt.getFlransprechpartner().getFlrpartneransprechpartner().getI_id() != null) { data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_ANSPRECHPARTNERCNAME1] = projekt .getFlransprechpartner().getFlrpartneransprechpartner() .getC_name1nachnamefirmazeile1(); data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_ANSPRECHPARTNER] = (projekt .getFlransprechpartner().getFlrpartneransprechpartner() .getC_name1nachnamefirmazeile1() + " " + (projekt.getFlransprechpartner().getFlrpartneransprechpartner() .getC_name2vornamefirmazeile2() == null ? "" : projekt.getFlransprechpartner().getFlrpartneransprechpartner() .getC_name2vornamefirmazeile2()) + " " + (projekt.getFlransprechpartner().getFlrpartneransprechpartner() .getC_name3vorname2abteilung() == null ? "" : projekt.getFlransprechpartner().getFlrpartneransprechpartner() .getC_name3vorname2abteilung())).trim(); } } // } catch (Exception e) { // e.printStackTrace(); // } // Criteria crit1 = session.createCriteria(FLRHistory.class); crit1.createCriteria(ProjektFac.FLR_HISTORY_FLRPROJEKT) .add(Restrictions.eq(ProjektFac.FLR_PROJEKT_I_ID, projekt.getI_id())); List<?> resultList = crit1.list(); Iterator<?> itHistory = resultList.iterator(); i++; while (itHistory.hasNext()) { FLRHistory history = (FLRHistory) itHistory.next(); data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_PROJEKTCNR] = projekt.getC_nr(); data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_ZUGEWIESENER] = projekt .getFlrpersonalZugewiesener().getFlrpartner().getC_name1nachnamefirmazeile1(); data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_HISTORY_MITARBEITER] = history .getFlrpersonal().getFlrpartner().getC_name1nachnamefirmazeile1(); data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_HISTORY_BELEGDATUM] = Helper .formatDatum(history.getT_belegdatum(), locDruck); data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_HISTORY_TEXT] = history.getX_text(); i++; } } } catch (Throwable t) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FLR, new Exception(t)); } finally { try { session.close(); } catch (HibernateException he) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_HIBERNATE, he); } } // die Parameter dem Report uebergeben HashMap<String, Object> parameter = new HashMap<String, Object>(); parameter.put(LPReport.P_SORTIERUNG, buildSortierungProjektOffene(reportJournalKriterienDtoI, theClientDto)); parameter.put("P_BEREICH", getProjektServiceFac().bereichFindByPrimaryKey(bereichIId).getCBez()); parameter.put(LPReport.P_FILTER, buildFilterProjektOffene(reportJournalKriterienDtoI, theClientDto)); if (reportJournalKriterienDtoI.personalIId != null) { parameter.put(LPReport.P_SORTIERENACHPERSONAL, new Boolean(true)); } else { parameter.put(LPReport.P_SORTIERENACHPERSONAL, new Boolean(false)); } parameter.put("P_TITLE", getTextRespectUISpr("proj.print.offene", theClientDto.getMandant(), theClientDto.getLocUi())); initJRDS(parameter, ProjektReportFac.REPORT_MODUL, cAktuellerReport, theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto); oPrint = getReportPrint(); return oPrint; }
From source file:com.lp.server.projekt.ejbfac.ProjektReportFacBean.java
License:Open Source License
private Object[] projektFuerAktivitaetsuebersichtBefuellen(Integer projektIId, TheClientDto theClientDto) { Object[] oZeile = new Object[REPORT_AKTIVITAETSUEBERSICHT_ANZAHL_SPALTEN]; ProjektDto projektDto = null;//from ww w .j a va 2 s. c om try { projektDto = getProjektFac().projektFindByPrimaryKey(projektIId); oZeile[ProjektReportFac.REPORT_AKTIVITAETSUEBERSICHT_VON] = projektDto.getTAnlegen(); oZeile[ProjektReportFac.REPORT_AKTIVITAETSUEBERSICHT_BIS] = projektDto.getTZielwunschdatum(); BereichDto bDto = getProjektServiceFac().bereichFindByPrimaryKey(projektDto.getBereichIId()); oZeile[ProjektReportFac.REPORT_AKTIVITAETSUEBERSICHT_PROJEKT_BEREICH] = bDto.getCBez(); oZeile[ProjektReportFac.REPORT_AKTIVITAETSUEBERSICHT_PROJEKT_PERSONAL_ERZEUGER] = getPersonalFac() .personalFindByPrimaryKey(projektDto.getPersonalIIdErzeuger(), theClientDto).getPartnerDto() .formatFixName1Name2(); oZeile[ProjektReportFac.REPORT_AKTIVITAETSUEBERSICHT_PROJEKT_PERSONAL_MITARBEITER] = getPersonalFac() .personalFindByPrimaryKey(projektDto.getPersonalIIdZugewiesener(), theClientDto).getPartnerDto() .formatFixName1Name2(); oZeile[ProjektReportFac.REPORT_AKTIVITAETSUEBERSICHT_BELEGART] = LocaleFac.BELEGART_PROJEKT; oZeile[ProjektReportFac.REPORT_AKTIVITAETSUEBERSICHT_BELEGNUMMER] = projektDto.getCNr(); if (projektDto.getPersonalIIdInternerledigt() != null) { PersonalDto personalDto = getPersonalFac() .personalFindByPrimaryKey(projektDto.getPersonalIIdInternerledigt(), theClientDto); oZeile[ProjektReportFac.REPORT_AKTIVITAETSUEBERSICHT_PROJEKT_INTERNERLEDIGT_PERSON] = personalDto .getPartnerDto().formatAnrede(); oZeile[ProjektReportFac.REPORT_AKTIVITAETSUEBERSICHT_PROJEKT_INTERNERLEDIGT_ZEIT] = projektDto .getTInternerledigt(); } oZeile[ProjektReportFac.REPORT_AKTIVITAETSUEBERSICHT_BELEGTEXT] = projektDto.getCTitel() + " " + projektDto.getXFreetext(); PartnerDto pDto = getPartnerFac().partnerFindByPrimaryKey(projektDto.getPartnerIId(), theClientDto); oZeile[ProjektReportFac.REPORT_AKTIVITAETSUEBERSICHT_PARTNER] = pDto.formatTitelAnrede(); if (pDto.getLandplzortDto() != null) { oZeile[ProjektReportFac.REPORT_AKTIVITAETSUEBERSICHT_PLZ] = pDto.getLandplzortDto().getCPlz(); oZeile[ProjektReportFac.REPORT_AKTIVITAETSUEBERSICHT_LKZ] = pDto.getLandplzortDto().getLandDto() .getCLkz(); oZeile[ProjektReportFac.REPORT_AKTIVITAETSUEBERSICHT_ORT] = pDto.getLandplzortDto().getOrtDto() .getCName(); } SessionFactory factory = FLRSessionFactory.getFactory(); Session session = factory.openSession(); Criteria crit = session.createCriteria(FLRHistory.class); crit.createCriteria(ProjektFac.FLR_HISTORY_FLRPROJEKT) .add(Restrictions.eq(ProjektFac.FLR_PROJEKT_I_ID, projektDto.getIId())); crit.addOrder(Order.desc(ProjektFac.FLR_HISTORY_T_BELEGDATUM)); List<?> resultListHistory = crit.list(); Iterator<?> it = resultListHistory.iterator(); ArrayList<Object[]> alSub = new ArrayList<Object[]>(); while (it.hasNext()) { FLRHistory history = (FLRHistory) it.next(); Object[] oSub = new Object[5]; oSub[0] = history.getT_belegdatum(); oSub[1] = history.getFlrpersonal().getFlrpartner().getC_name1nachnamefirmazeile1(); oSub[2] = history.getX_text(); if (history.getFlrhistoryart() != null) { oSub[3] = history.getFlrhistoryart().getC_bez(); } oSub[4] = history.getC_titel(); alSub.add(oSub); } String[] fieldnames = new String[] { "F_DATUM", "F_PERSONAL", "F_TEXT", "F_ART", "F_TITEL" }; Object[][] dataSub = new Object[alSub.size()][fieldnames.length]; dataSub = (Object[][]) alSub.toArray(dataSub); oZeile[ProjektReportFac.REPORT_AKTIVITAETSUEBERSICHT_BELEG_SUBREPORT] = new LPDatenSubreport(dataSub, fieldnames); session.close(); } catch (RemoteException ex3) { throwEJBExceptionLPRespectOld(ex3); } return oZeile; }
From source file:com.lp.server.projekt.ejbfac.ProjektReportFacBean.java
License:Open Source License
@TransactionAttribute(TransactionAttributeType.NEVER) public JasperPrintLP printProjektOffeneAuswahlListe(TheClientDto theClientDto) throws EJBExceptionLP, RemoteException { JasperPrintLP oPrint = null;/*from w ww.ja va2 s .c om*/ int iAnzahlZeilen = 0; cAktuellerReport = ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE; Locale locDruck; 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 Query query = session.createQuery(ProjektHandler.lastQuery); List<?> list = query.list(); Iterator<?> it = list.iterator(); while (it.hasNext()) { FLRProjekt projekt = (FLRProjekt) it.next(); session = factory.openSession(); Criteria crit1 = session.createCriteria(FLRHistory.class); crit1.createCriteria(ProjektFac.FLR_HISTORY_FLRPROJEKT) .add(Restrictions.eq(ProjektFac.FLR_PROJEKT_I_ID, projekt.getI_id())); List<?> resultList = crit1.list(); if (resultList.size() != 0) { iAnzahlZeilen = iAnzahlZeilen + resultList.size(); } iAnzahlZeilen++; } data = new Object[iAnzahlZeilen][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_ANZAHL_SPALTEN]; int i = 0; it = list.iterator(); while (it.hasNext()) { FLRProjekt projekt = (FLRProjekt) it.next(); data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_PROJEKTTITEL] = projekt.getC_titel(); data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_PROJEKTKATEGORIE] = projekt .getKategorie_c_nr(); data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_PROJEKTCNR] = projekt.getC_nr(); data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_STATUS] = projekt.getStatus_c_nr(); data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_KUNDECNAME1] = projekt.getFlrpartner() .getC_name1nachnamefirmazeile1(); if (projekt.getFlrpartner().getFlrlandplzort() != null) { data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_LKZ] = projekt.getFlrpartner() .getFlrlandplzort().getFlrland().getC_lkz(); data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_PLZ] = projekt.getFlrpartner() .getFlrlandplzort().getC_plz(); data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_ORT] = projekt.getFlrpartner() .getFlrlandplzort().getFlrort().getC_name(); } locDruck = Helper.string2Locale(projekt.getFlrpartner().getLocale_c_nr_kommunikation()); data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_ZIELTERMIN] = Helper .formatDatum(projekt.getT_zielwunschdatum(), locDruck); data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_BELEGDATUM] = Helper .formatDatum(projekt.getT_anlegen(), locDruck); data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_TYP] = projekt.getTyp_c_nr(); Calendar calendar = new GregorianCalendar(); calendar.setTime(new Date(projekt.getT_zielwunschdatum().getTime())); int KW = calendar.get(Calendar.WEEK_OF_YEAR); // Kalendarwochen data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_ZIELWOCHE] = "" + KW; // Gesamte Dauer eines Projektes Double ddArbeitszeitist = getZeiterfassungFac().getSummeZeitenEinesBeleges( LocaleFac.BELEGART_PROJEKT, projekt.getI_id(), null, null, null, null, theClientDto); data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_GESAMTDAUER] = ddArbeitszeitist; data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_PRIO] = projekt.getI_prio(); data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_TEXT] = projekt.getX_freetext(); data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_ERZEUGER] = projekt.getFlrpersonalErzeuger() .getFlrpartner().getC_name1nachnamefirmazeile1(); if (projekt.getPersonal_i_id_internerledigt() != null) { PersonalDto personalDto = getPersonalFac() .personalFindByPrimaryKey(projekt.getPersonal_i_id_internerledigt(), theClientDto); data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_INTERNERLEDIGT_PERSON] = personalDto .getPartnerDto().formatAnrede(); data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_INTERNERLEDIGT_ZEIT] = projekt .getT_internerledigt(); } data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_ZUGEWIESENER] = projekt .getFlrpersonalZugewiesener().getFlrpartner().getC_name1nachnamefirmazeile1(); data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_ZEIT] = projekt.getT_zeit(); data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_WAHRSCHEINLICHKEIT] = projekt .getI_wahrscheinlichkeit(); data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_GEPLANTERUMSATZ] = projekt .getN_umsatzgeplant(); data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_DAUER] = projekt.getD_dauer(); data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_B_VERRECHENBAR] = Helper .short2Boolean(projekt.getB_verrechenbar()); data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_B_FREIGEGEBEN] = Helper .short2Boolean(projekt.getB_freigegeben()); data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_DATEINAME] = projekt.getC_dateiname(); // try { if (projekt.getFlransprechpartner() != null && (projekt.getFlransprechpartner().getI_id() != null)) { if (projekt.getFlransprechpartner().getFlrpartneransprechpartner() != null && projekt.getFlransprechpartner().getFlrpartneransprechpartner().getI_id() != null) { data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_ANSPRECHPARTNERCNAME1] = projekt .getFlransprechpartner().getFlrpartneransprechpartner() .getC_name1nachnamefirmazeile1(); data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_ANSPRECHPARTNER] = (projekt .getFlransprechpartner().getFlrpartneransprechpartner() .getC_name1nachnamefirmazeile1() + " " + (projekt.getFlransprechpartner().getFlrpartneransprechpartner() .getC_name2vornamefirmazeile2() == null ? "" : projekt.getFlransprechpartner().getFlrpartneransprechpartner() .getC_name2vornamefirmazeile2()) + " " + (projekt.getFlransprechpartner().getFlrpartneransprechpartner() .getC_name3vorname2abteilung() == null ? "" : projekt.getFlransprechpartner().getFlrpartneransprechpartner() .getC_name3vorname2abteilung())).trim(); } } // Criteria critHistory = session.createCriteria(FLRHistory.class); critHistory.createCriteria(ProjektFac.FLR_HISTORY_FLRPROJEKT) .add(Restrictions.eq(ProjektFac.FLR_PROJEKT_I_ID, projekt.getI_id())); List<?> rlHistory = critHistory.list(); Iterator<?> itHistory = rlHistory.iterator(); i++; while (itHistory.hasNext()) { FLRHistory history = (FLRHistory) itHistory.next(); data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_PROJEKTCNR] = projekt.getC_nr(); data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_ZUGEWIESENER] = projekt .getFlrpersonalZugewiesener().getFlrpartner().getC_name1nachnamefirmazeile1(); data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_HISTORY_MITARBEITER] = history .getFlrpersonal().getFlrpartner().getC_name1nachnamefirmazeile1(); data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_HISTORY_BELEGDATUM] = Helper .formatDatum(history.getT_belegdatum(), locDruck); data[i][ProjektReportFac.REPORT_PROJEKT_JOURNAL_OFFENE_HISTORY_TEXT] = history.getX_text(); i++; } } } catch (Throwable t) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FLR, new Exception(t)); } finally { try { session.close(); } catch (HibernateException he) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_HIBERNATE, he); } } // die Parameter dem Report uebergeben HashMap<String, Object> parameter = new HashMap<String, Object>(); parameter.put("P_TITLE", getTextRespectUISpr("proj.print.offene", theClientDto.getMandant(), theClientDto.getLocUi())); initJRDS(parameter, ProjektReportFac.REPORT_MODUL, cAktuellerReport, theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto); oPrint = getReportPrint(); return oPrint; }