List of usage examples for org.hibernate.criterion Restrictions in
public static Criterion in(String propertyName, Collection values)
From source file:com.lp.server.finanz.ejbfac.MahnwesenFacBean.java
License:Open Source License
@TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED) public MahnlaufDto createMahnlaufMitMahnvorschlag(TheClientDto theClientDto) throws EJBExceptionLP { Session session = null;//from www . ja v a2 s .co m try { MahnlaufDto mahnlaufDto = null; SessionFactory factory = FLRSessionFactory.getFactory(); session = factory.openSession(); Criteria c = session.createCriteria(FLRRechnungReport.class); // Filter nach Mandant. c.add(Restrictions.eq(RechnungFac.FLR_RECHNUNG_MANDANT_C_NR, theClientDto.getMandant())); // Filter nach Stati String[] sStati = new String[] { RechnungFac.STATUS_OFFEN, RechnungFac.STATUS_TEILBEZAHLT, RechnungFac.STATUS_VERBUCHT }; c.add(Restrictions.in(RechnungFac.FLR_RECHNUNG_STATUS_C_NR, sStati)); // PJ 17236 ParametermandantDto p = getParameterFac().getMandantparameter(theClientDto.getMandant(), ParameterFac.KATEGORIE_RECHNUNG, ParameterFac.PARAMETER_MAHNUNGEN_AB_GF_JAHR); Integer iGFJahrAB = (Integer) p.getCWertAsObject(); c.add(Restrictions.ge(RechnungFac.FLR_RECHNUNG_I_GESCHAEFTSJAHR, iGFJahrAB)); c.createAlias(RechnungFac.FLR_RECHNUNG_FLRRECHNUNGART, "ra").add(Restrictions .not(Restrictions.eq("ra.rechnungtyp_c_nr", RechnungFac.RECHNUNGTYP_PROFORMARECHNUNG))); // Query ausfuehren. List<?> listRechnungen = c.list(); // nur, wenn Rechnungen eingetragen sind. if (listRechnungen.size() > 0) { mahnlaufDto = context.getBusinessObject(MahnwesenFac.class).createMahnlauf(theClientDto); for (Iterator<?> iter = listRechnungen.iterator(); iter.hasNext();) { FLRRechnungReport flrRechnung = (FLRRechnungReport) iter.next(); RechnungDto rechnungDto = getRechnungFac().rechnungFindByPrimaryKey(flrRechnung.getI_id()); boolean mahnbar = false; // kann die Rechnung gemahnt werden? mahnbar = istRechnungMahnbar(flrRechnung.getI_id(), theClientDto); myLogger.logData(rechnungDto.getRechnungartCNr() + ": " + flrRechnung.getC_nr() + " mahnbar: " + mahnbar); // mahnung anlegen if (mahnbar) { Integer mahnstufe = berechneMahnstufeFuerRechnung(rechnungDto, theClientDto); if (mahnstufe != null) { // pruefen, ob diese Mahnstufe schon gemahnt wurde try { Query query = em.createNamedQuery("MahnungfindByRechnungMahnstufe"); query.setParameter(1, flrRechnung.getI_id()); query.setParameter(2, mahnstufe); // @todo getSingleResult oder getResultList ? Mahnung mahnung = (Mahnung) query.getSingleResult(); myLogger.logData(rechnungDto.getRechnungartCNr() + ": " + flrRechnung.getC_nr() + ", Stufe " + mahnstufe + " ist bereits in einem Mahnvorschlag"); } catch (NoResultException ex1) { Integer letzteMahnstufe = getAktuelleMahnstufeEinerRechnung(flrRechnung.getI_id(), theClientDto); if (letzteMahnstufe == null || !letzteMahnstufe.equals(mahnstufe) || (letzteMahnstufe != null && letzteMahnstufe == FinanzServiceFac.MAHNSTUFE_99)) { myLogger.logData(rechnungDto.getRechnungartCNr() + ": " + flrRechnung.getC_nr() + " wird gemahnt"); MahnungDto mahnungDto = new MahnungDto(); mahnungDto.setTMahndatum(super.getDate()); mahnungDto.setMahnlaufIId(mahnlaufDto.getIId()); mahnungDto.setMahnstufeIId(mahnstufe); mahnungDto.setRechnungIId(flrRechnung.getI_id()); mahnungDto.setTGedruckt(null); // Mahnsperre if (rechnungDto.getTMahnsperrebis() != null) { if (super.getDate().before(rechnungDto.getTMahnsperrebis())) { continue; } } Integer mahnstufeIId = getAktuelleMahnstufeEinerRechnung(rechnungDto.getIId(), theClientDto); if (mahnstufeIId != null && mahnstufeIId.intValue() == FinanzServiceFac.MAHNSTUFE_99) { mahnungDto.setTGedruckt(new java.sql.Timestamp(System.currentTimeMillis())); mahnungDto.setPersonalIIdGedruckt(theClientDto.getIDPersonal()); } mahnungDto.setTLetztesmahndatum(getAktuellesMahndatumEinerRechnung( flrRechnung.getI_id(), theClientDto)); mahnungDto.setMahnstufeIIdLetztemahnstufe(mahnstufeIId); context.getBusinessObject(MahnwesenFac.class).createMahnung(mahnungDto, theClientDto); } else { myLogger.logData(rechnungDto.getRechnungartCNr() + ": " + flrRechnung.getC_nr() + " hat bereits Mahnstufe " + mahnstufe); } } } else { myLogger.logData(rechnungDto.getRechnungartCNr() + ": " + flrRechnung.getC_nr() + " muss nicht gemahnt werden"); } } } } return mahnlaufDto; } catch (RemoteException ex) { throwEJBExceptionLPRespectOld(ex); return null; } }
From source file:com.lp.server.finanz.fastlanereader.BuchungDetailHandler.java
License:Open Source License
@Override public List<Pair<?, ?>> getInfoForSelectedIIds(TheClientDto theClientDto, List<Object> selectedIIds) { if (selectedIIds == null || selectedIIds.size() < 2) // es wurde einer // oder kein // Eintrag // ausgewaehlt return null; Session session = FLRSessionFactory.getFactory().openSession(); Criteria crit = session.createCriteria(FLRFinanzBuchungDetail.class); crit.add(Restrictions.in("i_id", selectedIIds.toArray())); @SuppressWarnings("unchecked") List<FLRFinanzBuchungDetail> list = new ArrayList<FLRFinanzBuchungDetail>(crit.list()); BigDecimal soll = BigDecimal.ZERO; BigDecimal haben = BigDecimal.ZERO; for (FLRFinanzBuchungDetail bd : list) { if (BuchenFac.HabenBuchung.equals(bd.getBuchungdetailart_c_nr())) { haben = haben.add(bd.getN_betrag()); } else {// w ww .ja va 2 s.c o m soll = soll.add(bd.getN_betrag()); } } String mandantCNr = theClientDto.getMandant(); Locale locUI = theClientDto.getLocUi(); List<Pair<?, ?>> pairs = new ArrayList<Pair<?, ?>>(); pairs.add(new Pair<String, Object>(getTextRespectUISpr("lp.soll", mandantCNr, locUI), Helper.formatZahl(soll, locUI))); pairs.add(new Pair<String, Object>(getTextRespectUISpr("lp.haben", mandantCNr, locUI), Helper.formatZahl(haben, locUI))); pairs.add(new Pair<String, Object>(getTextRespectUISpr("lp.saldo", mandantCNr, locUI), Helper.formatZahl(soll.subtract(haben), locUI))); return pairs; }
From source file:com.lp.server.lieferschein.ejbfac.LieferscheinReportFacBean.java
License:Open Source License
@TransactionAttribute(TransactionAttributeType.NEVER) public JasperPrintLP printLieferscheinAlle(ReportLieferscheinJournalKriterienDto krit, TheClientDto theClientDto) {/*from ww w.j av a 2s . co m*/ Session session = null; try { cAktuellerReport = LieferscheinReportFac.REPORT_LIEFERSCHEIN_ALLE; SessionFactory factory = FLRSessionFactory.getFactory(); session = factory.openSession(); // Kunde oder Statistikadresse verwenden final String critKundeIId; final String critFLRKunde; if (krit.getBVerwendeRechnungsAdresse()) { critKundeIId = LieferscheinFac.FLR_LIEFERSCHEIN_KUNDE_I_ID_RECHNUNGSADRESSE; critFLRKunde = LieferscheinFac.FLR_LIEFERSCHEIN_FLRKUNDERECHNUNGSADRESSE; } else { critKundeIId = LieferscheinFac.FLR_LIEFERSCHEIN_KUNDE_I_ID_LIEFERADRESSE; critFLRKunde = LieferscheinFac.FLR_LIEFERSCHEIN_FLRKUNDE; } Criteria c = session.createCriteria(FLRLieferschein.class); // Filter nach Mandant c.add(Restrictions.eq(LieferscheinFac.FLR_LIEFERSCHEIN_MANDANT_C_NR, theClientDto.getMandant())); // Filter nach Kostenstelle if (krit.kostenstelleIId != null) { c.add(Restrictions.eq(LieferscheinFac.FLR_LIEFERSCHEIN_KOSTENSTELLE_I_ID, krit.kostenstelleIId)); } // Filter nach einem Kunden if (krit.kundeIId != null) { c.add(Restrictions.eq(critKundeIId, krit.kundeIId)); } // Filter nach einem Vertrter if (krit.vertreterIId != null) { c.add(Restrictions.eq(LieferscheinFac.FLR_LIEFERSCHEIN_FLRVERTRETER + ".i_id", krit.vertreterIId)); } // Filter nach Status (keine stornierten) c.add(Restrictions.not(Restrictions.eq(LieferscheinFac.FLR_LIEFERSCHEIN_LIEFERSCHEINSTATUS_STATUS_C_NR, LieferscheinFac.LSSTATUS_STORNIERT))); // Nur offene anzeigen? if (krit.getBNurOffene()) { Collection<String> cStati = new LinkedList<String>(); cStati.add(LieferscheinFac.LSSTATUS_ANGELEGT); cStati.add(LieferscheinFac.LSSTATUS_OFFEN); c.add(Restrictions.in(LieferscheinFac.FLR_LIEFERSCHEIN_LIEFERSCHEINSTATUS_STATUS_C_NR, cStati)); } // Datum von/bis String sVon = null; String sBis = null; if (krit.dVon != null) { c.add(Restrictions.ge(LieferscheinFac.FLR_LIEFERSCHEIN_D_BELEGDATUM, krit.dVon)); sVon = Helper.formatDatum(krit.dVon, theClientDto.getLocUi()); } if (krit.dBis != null) { c.add(Restrictions.le(LieferscheinFac.FLR_LIEFERSCHEIN_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(LieferscheinFac.FLR_LIEFERSCHEIN_C_NR, sVon)); } if (krit.sBelegnummerBis != null) { sBis = HelperServer.getBelegnummernFilterForHibernateCriterias(f, iGeschaeftsjahr, sMandantKuerzel, krit.sBelegnummerBis); c.add(Restrictions.le(LieferscheinFac.FLR_LIEFERSCHEIN_C_NR, sBis)); } // Sortierung nach Kostenstelle ist optional if (krit.bSortiereNachKostenstelle) { c.createCriteria(LieferscheinFac.FLR_LIEFERSCHEIN_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(LieferscheinFac.FLR_LIEFERSCHEIN_C_NR)); } if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_VERTRETER) { c.createCriteria(LieferscheinFac.FLR_LIEFERSCHEIN_FLRVERTRETER) .addOrder(Order.asc(PersonalFac.FLR_PERSONAL_C_KURZZEICHEN)); } List<?> list = c.list(); data = new Object[list.size()][REPORT_ALLE_ANZAHL_SPALTEN]; int i = 0; for (Iterator<?> iter = list.iterator(); iter.hasNext();) { FLRLieferschein r = (FLRLieferschein) iter.next(); data[i][FELD_ALLE_BELEGDATUM] = r.getD_belegdatum(); data[i][FELD_ALLE_PROJEKT] = r.getC_bez_projektbezeichnung(); data[i][FELD_ALLE_STATUS] = r.getLieferscheinstatus_status_c_nr(); data[i][FELD_ALLE_BELEGDATUM] = r.getD_belegdatum(); data[i][FELD_ALLE_LIEFERSCHEINNUMMER] = r.getC_nr(); // Bezahlte Betraege BigDecimal bdWertmw = r.getN_gesamtwertinlieferscheinwaehrung(); data[i][FELD_ALLE_BETRAG] = bdWertmw; // 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.getBVerwendeRechnungsAdresse()) { flrKunde = r.getFlrkunderechnungsadresse(); } else { flrKunde = r.getFlrkunde(); // Statistikdaten wenn nicht Kriterium Rechnungsadresse flrKundeStatistik = r.getFlrkunderechnungsadresse(); data[i][FELD_ALLE_KUNDE_RECHNUNG] = flrKundeStatistik.getFlrpartner() .getC_name1nachnamefirmazeile1(); if (flrKundeStatistik.getFlrpartner().getC_name2vornamefirmazeile2() != null) { data[i][FELD_ALLE_KUNDE2_RECHNUNG] = flrKundeStatistik.getFlrpartner() .getC_name2vornamefirmazeile2(); } else { data[i][FELD_ALLE_KUNDE2_RECHNUNG] = ""; } PartnerDto partnerDtoStatistik = getPartnerFac() .partnerFindByPrimaryKey(flrKundeStatistik.getFlrpartner().getI_id(), theClientDto); data[i][FELD_ALLE_ADRESSE_RECHNUNG] = partnerDtoStatistik.formatAdresse(); } data[i][FELD_ALLE_KUNDE] = flrKunde.getFlrpartner().getC_name1nachnamefirmazeile1(); 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(); data[i][FELD_ALLE_ORT] = partnerDto.formatAdresse(); if (r.getFlrrechnung() != null) { data[i][FELD_ALLE_RECHNUNGSNUMMER] = r.getFlrrechnung().getC_nr(); } // 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_lieferscheinwaehrung(); data[i][FELD_ALLE_KURS] = new BigDecimal(r.getF_wechselkursmandantwaehrungzulieferscheinwaehrung()); // 14217 String sLaenderart = getFinanzServiceFac().getLaenderartZuPartner(partnerDto.getIId(), theClientDto); data[i][FELD_ALLE_LAENDERART] = sLaenderart; i++; } Map<String, Object> mapParameter = new TreeMap<String, Object>(); 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.getBVerwendeRechnungsAdresse()) { sSortierung.append(getTextRespectUISpr("lp.rechnungsadresse", 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.getBVerwendeRechnungsAdresse()) { if (sFilter.length() > 0) { sFilter.append(", "); } sFilter.append(getTextRespectUISpr("lp.rechnungsadresse", 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, LieferscheinReportFac.REPORT_MODUL, cAktuellerReport, 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.partner.ejbfac.KundeReportFacBean.java
License:Open Source License
public LPDatenSubreport getSubreportProjekte(Integer partnerIId, boolean bNurOffene, TheClientDto theClientDto) {/* w w w. ja va 2 s .co m*/ // Projekte Session session = FLRSessionFactory.getFactory().openSession(); // Filter und Sortierung Criteria crit = session.createCriteria(FLRProjekt.class); // Filter nach Kunde crit.add(Restrictions.eq("partner_i_id", partnerIId)); crit.add(Restrictions.eq("mandant_c_nr", theClientDto.getMandant())); if (bNurOffene) { crit.add(Restrictions.in("status_c_nr", new String[] { ProjektServiceFac.PROJEKT_STATUS_ANGELEGT, ProjektServiceFac.PROJEKT_STATUS_OFFEN })); } crit.addOrder(Order.desc("c_nr")); List<?> list = crit.list(); Iterator it = list.iterator(); ArrayList al = new ArrayList<Object[]>(); while (it.hasNext()) { FLRProjekt projekt = (FLRProjekt) it.next(); Object[] o = new Object[11]; o[0] = projekt.getC_nr(); o[1] = projekt.getC_titel(); o[2] = projekt.getTyp_c_nr(); PersonalDto personalDto = getPersonalFac() .personalFindByPrimaryKey(projekt.getFlrpersonalZugewiesener().getI_id(), theClientDto); o[3] = personalDto.getPartnerDto().formatAnrede(); o[4] = projekt.getT_anlegen(); o[5] = projekt.getStatus_c_nr(); o[6] = projekt.getD_dauer(); o[7] = projekt.getKategorie_c_nr(); o[8] = projekt.getI_prio(); o[9] = projekt.getN_umsatzgeplant(); o[10] = projekt.getI_wahrscheinlichkeit(); al.add(o); } if (al.size() > 0) { String[] fieldnames = new String[] { "Projektnummer", "Titel", "Typ", "Zugewiesener", "Anlagedatum", "Status", "Schaetzung", "Kategorie", "Prio", "UmsatzGeplant", "Wahrscheinlichkeit" }; Object[][] dataSub = new Object[al.size()][fieldnames.length]; dataSub = (Object[][]) al.toArray(dataSub); return new LPDatenSubreport(dataSub, fieldnames); } session.close(); return null; }
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 w w w .jav a 2 s .c o m 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;/* www. ja va 2s.c o m*/ 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.rechnung.ejbfac.RechnungFacBean.java
License:Open Source License
public BigDecimal getUmsatzVomKundenImZeitraum(TheClientDto theClientDto, Integer kundeIId, Date dVon, Date dBis, boolean bStatistikadresse) throws EJBExceptionLP { Session session = null;/*from w w w. j a v a 2 s . c o m*/ try { SessionFactory factory = FLRSessionFactory.getFactory(); session = factory.openSession(); Criteria c = session.createCriteria(FLRRechnungReport.class); c.add(Restrictions.eq(RechnungFac.FLR_RECHNUNG_MANDANT_C_NR, theClientDto.getMandant())); // Projekt 3568 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)); if (bStatistikadresse == true) { if (kundeIId != null) { c.add(Restrictions.eq(RechnungFac.FLR_RECHNUNG_KUNDE_I_ID_STATISTIKADRESSE, kundeIId)); } } else { if (kundeIId != null) { c.add(Restrictions.eq(RechnungFac.FLR_RECHNUNG_KUNDE_I_ID, kundeIId)); } } if (dVon != null) { c.add(Restrictions.ge(RechnungFac.FLR_RECHNUNG_D_BELEGDATUM, dVon)); } if (dBis != null) { c.add(Restrictions.le(RechnungFac.FLR_RECHNUNG_D_BELEGDATUM, dBis)); } // Filter nach Status Collection<String> cStati = new LinkedList<String>(); cStati.add(RechnungFac.STATUS_BEZAHLT); cStati.add(RechnungFac.STATUS_TEILBEZAHLT); cStati.add(RechnungFac.STATUS_OFFEN); cStati.add(RechnungFac.STATUS_VERBUCHT); c.add(Restrictions.in(RechnungFac.FLR_RECHNUNG_STATUS_C_NR, cStati)); List<?> list = c.list(); BigDecimal bdUmsatz = new BigDecimal(0); for (Iterator<?> iter = list.iterator(); iter.hasNext();) { FLRRechnungReport item = (FLRRechnungReport) iter.next(); if (item.getN_wert() != null) { System.out.println(item.getC_nr() + " RA:" + item.getFlrrechnungart().getC_nr() + " W:" + item.getN_wert()); if (item.getFlrrechnungart().getC_nr().equals(RechnungFac.RECHNUNGART_GUTSCHRIFT) || item.getFlrrechnungart().getC_nr().equals(RechnungFac.RECHNUNGART_WERTGUTSCHRIFT)) { BigDecimal wert = new BigDecimal(0).subtract(item.getN_wert()); bdUmsatz = bdUmsatz.add(wert); } else { bdUmsatz = bdUmsatz.add(item.getN_wert()); } } } return bdUmsatz; } finally { if (session != null) { session.close(); } } }
From source file:com.lp.server.rechnung.ejbfac.RechnungFacBean.java
License:Open Source License
/** * Die Anzahl der an einen Kunden gelegten Rechnungen in eimem zeitraum * ermitteln. geht ueber hibernate (der performace wegen). * // ww w. j a v a 2 s. co m * @param theClientDto * String * @param kundeIId * Integer * @param dVon * Date * @param dBis * Date * @param bStatistikadresse * boolean * @return Integer * @throws EJBExceptionLP */ public Integer getAnzahlDerRechnungenVomKundenImZeitraum(TheClientDto theClientDto, Integer kundeIId, Date dVon, Date dBis, boolean bStatistikadresse) throws EJBExceptionLP { Session session = null; try { SessionFactory factory = FLRSessionFactory.getFactory(); session = factory.openSession(); Criteria c = session.createCriteria(FLRRechnung.class); c.add(Restrictions.eq(RechnungFac.FLR_RECHNUNG_MANDANT_C_NR, theClientDto.getMandant())); c.createCriteria(RechnungFac.FLR_RECHNUNG_FLRRECHNUNGART).add(Restrictions .eq(RechnungFac.FLR_RECHNUNGART_RECHNUNGTYP_C_NR, RechnungFac.RECHNUNGTYP_RECHNUNG)); if (kundeIId != null) { if (bStatistikadresse == true) { c.add(Restrictions.eq(RechnungFac.FLR_RECHNUNG_KUNDE_I_ID_STATISTIKADRESSE, kundeIId)); } else { c.createCriteria(RechnungFac.FLR_RECHNUNG_FLRKUNDE) .add(Restrictions.eq(KundeFac.FLR_KUNDE_I_ID, kundeIId)); } } if (dVon != null) { c.add(Restrictions.ge(RechnungFac.FLR_RECHNUNG_D_BELEGDATUM, dVon)); } if (dBis != null) { c.add(Restrictions.le(RechnungFac.FLR_RECHNUNG_D_BELEGDATUM, dBis)); } // Filter nach Status Collection<String> cStati = new LinkedList<String>(); cStati.add(RechnungFac.STATUS_BEZAHLT); cStati.add(RechnungFac.STATUS_TEILBEZAHLT); cStati.add(RechnungFac.STATUS_OFFEN); cStati.add(RechnungFac.STATUS_VERBUCHT); c.add(Restrictions.in(RechnungFac.FLR_RECHNUNG_STATUS_C_NR, cStati)); List<?> list = c.list(); return new Integer(list.size()); } finally { if (session != null) { session.close(); } } }
From source file:com.lp.server.rechnung.ejbfac.RechnungFacBean.java
License:Open Source License
public Integer getZahlungsmoraleinesKunden(Integer kundeIId, boolean bStatistikadresse, TheClientDto theClientDto) {/* w ww . j ava2 s .c om*/ Session session = null; SessionFactory factory = FLRSessionFactory.getFactory(); session = factory.openSession(); Criteria c = session.createCriteria(FLRRechnung.class); c.add(Restrictions.eq(RechnungFac.FLR_RECHNUNG_MANDANT_C_NR, theClientDto.getMandant())); c.createCriteria(RechnungFac.FLR_RECHNUNG_FLRRECHNUNGART).add( Restrictions.eq(RechnungFac.FLR_RECHNUNGART_RECHNUNGTYP_C_NR, RechnungFac.RECHNUNGTYP_RECHNUNG)); if (kundeIId != null) { if (bStatistikadresse == true) { c.add(Restrictions.eq(RechnungFac.FLR_RECHNUNG_KUNDE_I_ID_STATISTIKADRESSE, kundeIId)); } else { c.createCriteria(RechnungFac.FLR_RECHNUNG_FLRKUNDE) .add(Restrictions.eq(KundeFac.FLR_KUNDE_I_ID, kundeIId)); } } c.add(Restrictions.le(RechnungFac.FLR_RECHNUNG_D_BELEGDATUM, new java.sql.Date(System.currentTimeMillis()))); try { ParametermandantDto parameter = getParameterFac().getMandantparameter(theClientDto.getMandant(), ParameterFac.KATEGORIE_KUNDEN, ParameterFac.PARAMETER_ZAHLUNGSMORAL_MONATE); Integer iAnzalMonate = (Integer) parameter.getCWertAsObject(); Calendar cal = Calendar.getInstance(); cal.set(Calendar.MONTH, cal.get(Calendar.MONTH) - iAnzalMonate.intValue()); c.add(Restrictions.ge(RechnungFac.FLR_RECHNUNG_D_BELEGDATUM, new java.sql.Date(cal.getTimeInMillis()))); } catch (RemoteException e) { throwEJBExceptionLPRespectOld(e); } // Filter nach Status Collection<String> cStati = new LinkedList<String>(); cStati.add(RechnungFac.STATUS_BEZAHLT); c.add(Restrictions.in(RechnungFac.FLR_RECHNUNG_STATUS_C_NR, cStati)); c.addOrder(Order.desc("c_nr")); try { ParametermandantDto parameter = getParameterFac().getMandantparameter(theClientDto.getMandant(), ParameterFac.KATEGORIE_KUNDEN, ParameterFac.PARAMETER_ZAHLUNGSMORAL_ANZAHL_RECHNUNGEN); Integer iAnzalRechnungen = (Integer) parameter.getCWertAsObject(); c.setMaxResults(iAnzalRechnungen); } catch (RemoteException e) { throwEJBExceptionLPRespectOld(e); } List<?> list = c.list(); if (list.size() == 0) { return 0; } Iterator<?> iter = list.iterator(); int iZaehler = 0; int iGesamtTage = 0; while (iter.hasNext()) { FLRRechnung rech = (FLRRechnung) iter.next(); RechnungDto rechnungDto = rechnungFindByPrimaryKey(rech.getI_id()); if (rechnungDto.getTBezahltdatum() != null) { iGesamtTage += Helper.ermittleTageEinesZeitraumes(rechnungDto.getTBelegdatum(), rechnungDto.getTBezahltdatum()); iZaehler++; } } if (iZaehler != 0) { return iGesamtTage / iZaehler; } else { return 0; } }
From source file:com.lp.server.rechnung.ejbfac.RechnungFacBean.java
License:Open Source License
public FLRRechnungReport[] rechnungFindByBelegdatumVonBis(String mandantCNr, Date dVon, Date dBis, Collection<String> cRechnungstyp, Collection<String> cStati, Integer kundeIId, boolean bStatistikadresse) { Session session = null;//from w w w . j a v a 2s. c o m try { SessionFactory factory = FLRSessionFactory.getFactory(); session = factory.openSession(); Criteria c = session.createCriteria(FLRRechnungReport.class); c.add(Restrictions.eq(RechnungFac.FLR_RECHNUNG_MANDANT_C_NR, mandantCNr)); c.add(Restrictions.in(RechnungFac.FLR_RECHNUNG_STATUS_C_NR, cStati)); if (dVon != null) { c.add(Restrictions.ge(RechnungFac.FLR_RECHNUNG_D_BELEGDATUM, dVon)); } if (dBis != null) { c.add(Restrictions.lt(RechnungFac.FLR_RECHNUNG_D_BELEGDATUM, dBis)); } if (kundeIId != null) { if (bStatistikadresse == true) { c.add(Restrictions.eq(RechnungFac.FLR_RECHNUNG_KUNDE_I_ID_STATISTIKADRESSE, kundeIId)); } else { c.add(Restrictions.eq(RechnungFac.FLR_RECHNUNG_KUNDE_I_ID, kundeIId)); } } c.createCriteria(RechnungFac.FLR_RECHNUNG_FLRRECHNUNGART) .add(Restrictions.in(RechnungFac.FLR_RECHNUNGART_RECHNUNGTYP_C_NR, cRechnungstyp)); List<?> list = c.list(); if (list.isEmpty()) { return new FLRRechnungReport[0]; } else { int i = 0; FLRRechnungReport[] re = new FLRRechnungReport[list.size()]; for (Iterator<?> iter = list.iterator(); iter.hasNext();) { re[i++] = (FLRRechnungReport) iter.next(); } return re; } } finally { if (session != null) { session.close(); } } }