List of usage examples for org.hibernate.criterion Restrictions le
public static SimpleExpression le(String propertyName, Object value)
From source file:com.lp.server.finanz.ejbfac.FibuExportFacBean.java
License:Open Source License
private FLRRechnung[] getVerbuchbareRechnungen(java.sql.Date dStichtag, TheClientDto theClientDto) throws EJBExceptionLP { Session session = null;/* ww w. ja v a 2s. com*/ try { pruefeAufAngelegte(dStichtag, theClientDto, RechnungFac.RECHNUNGTYP_RECHNUNG); SessionFactory factory = FLRSessionFactory.getFactory(); session = factory.openSession(); Criteria c = session.createCriteria(FLRRechnung.class); // nur Rechnungen c.createCriteria(RechnungFac.FLR_RECHNUNG_FLRRECHNUNGART).add(Restrictions .eq(RechnungFac.FLR_RECHNUNGART_RECHNUNGTYP_C_NR, RechnungFac.RECHNUNGTYP_RECHNUNG)); // Filter nach Mandant c.add(Restrictions.eq(RechnungFac.FLR_RECHNUNG_MANDANT_C_NR, theClientDto.getMandant())); // Noch nicht verbuchte c.add(Restrictions.isNull(RechnungFac.FLR_RECHNUNG_T_FIBUUEBERNAHME)); // Stichtag c.add(Restrictions.le(RechnungFac.FLR_RECHNUNG_D_BELEGDATUM, dStichtag)); // Und nach status Collection<String> coll = new LinkedList<String>(); coll.add(RechnungFac.STATUS_BEZAHLT); coll.add(RechnungFac.STATUS_OFFEN); coll.add(RechnungFac.STATUS_TEILBEZAHLT); coll.add(RechnungFac.STATUS_VERBUCHT); c.add(Restrictions.in(RechnungFac.FLR_RECHNUNG_STATUS_C_NR, coll)); c.addOrder(Property.forName("c_nr").asc()); // zu exportierende Belege holen List<?> list = c.list(); FLRRechnung[] reArray = new FLRRechnung[list.size()]; int i = 0; for (Iterator<?> iter = list.iterator(); iter.hasNext(); i++) { FLRRechnung re = (FLRRechnung) iter.next(); reArray[i] = re; } return reArray; } finally { if (session != null) { session.close(); } } }
From source file:com.lp.server.finanz.ejbfac.FibuExportFacBean.java
License:Open Source License
private void pruefeAufAngelegte(Date dStichtag, TheClientDto theClientDto, String sRechnungstyp) throws EJBExceptionLP { Session session = null;/*from w ww. j a v a 2 s. c o m*/ try { SessionFactory factory = FLRSessionFactory.getFactory(); session = factory.openSession(); Criteria c = session.createCriteria(FLRRechnung.class); // nur Rechnungen c.createCriteria(RechnungFac.FLR_RECHNUNG_FLRRECHNUNGART) .add(Restrictions.eq(RechnungFac.FLR_RECHNUNGART_RECHNUNGTYP_C_NR, sRechnungstyp)); // Filter nach Mandant c.add(Restrictions.eq(RechnungFac.FLR_RECHNUNG_MANDANT_C_NR, theClientDto.getMandant())); // Noch nicht verbuchte c.add(Restrictions.isNull(RechnungFac.FLR_RECHNUNG_T_FIBUUEBERNAHME)); // Stichtag c.add(Restrictions.le(RechnungFac.FLR_RECHNUNG_D_BELEGDATUM, dStichtag)); // Und nach status Collection<String> coll = new LinkedList<String>(); // Zuerst schauen, ob es noch angelegte gibt, in diesem fall muss // der export abgebrochen werden coll.add(RechnungFac.STATUS_ANGELEGT); c.add(Restrictions.in(RechnungFac.FLR_RECHNUNG_STATUS_C_NR, coll)); List<?> listAngelegte = c.list(); if (!listAngelegte.isEmpty()) { StringBuffer sb = new StringBuffer(); for (Iterator<?> iter = listAngelegte.iterator(); iter.hasNext();) { FLRRechnung re = (FLRRechnung) iter.next(); sb.append(re.getC_nr()); sb.append(" an ").append(re.getFlrkunde().getFlrpartner().getC_name1nachnamefirmazeile1()); sb.append("\n"); } EJBExceptionLP ex = new EJBExceptionLP( EJBExceptionLP.FEHLER_FINANZ_EXPORT_BELEG_IST_NOCH_NICHT_AKTIVIERT, new Exception("noch nicht aktivierte Belege")); // Kunden holen ArrayList<Object> a = new ArrayList<Object>(); a.add(sb.toString()); ex.setAlInfoForTheClient(a); throw ex; } } finally { if (session != null) { session.close(); } } }
From source file:com.lp.server.finanz.ejbfac.FibuExportFacBean.java
License:Open Source License
private FLRRechnung[] getVerbuchbareGutschriften(java.sql.Date dStichtag, TheClientDto theClientDto) throws EJBExceptionLP { Session session = null;//from w w w. j av a 2 s. com try { pruefeAufAngelegte(dStichtag, theClientDto, RechnungFac.RECHNUNGTYP_GUTSCHRIFT); SessionFactory factory = FLRSessionFactory.getFactory(); session = factory.openSession(); Criteria c = session.createCriteria(FLRRechnung.class); // nur Rechnungen c.createCriteria(RechnungFac.FLR_RECHNUNG_FLRRECHNUNGART).add(Restrictions .eq(RechnungFac.FLR_RECHNUNGART_RECHNUNGTYP_C_NR, RechnungFac.RECHNUNGTYP_GUTSCHRIFT)); // Filter nach Mandant c.add(Restrictions.eq(RechnungFac.FLR_RECHNUNG_MANDANT_C_NR, theClientDto.getMandant())); // Noch nicht verbuchte c.add(Restrictions.isNull(RechnungFac.FLR_RECHNUNG_T_FIBUUEBERNAHME)); // Stichtag c.add(Restrictions.le(RechnungFac.FLR_RECHNUNG_D_BELEGDATUM, dStichtag)); // Und nach status Collection<String> coll = new LinkedList<String>(); coll.add(RechnungFac.STATUS_BEZAHLT); coll.add(RechnungFac.STATUS_OFFEN); coll.add(RechnungFac.STATUS_TEILBEZAHLT); coll.add(RechnungFac.STATUS_VERBUCHT); c.add(Restrictions.in(RechnungFac.FLR_RECHNUNG_STATUS_C_NR, coll)); // zu exportierende Belege holen List<?> list = c.list(); FLRRechnung[] reArray = new FLRRechnung[list.size()]; int i = 0; for (Iterator<?> iter = list.iterator(); iter.hasNext(); i++) { FLRRechnung re = (FLRRechnung) iter.next(); reArray[i] = re; } return reArray; } finally { if (session != null) { session.close(); } } }
From source file:com.lp.server.lieferschein.ejbfac.LieferscheinReportFacBean.java
License:Open Source License
@TransactionAttribute(TransactionAttributeType.NEVER) public JasperPrintLP printLieferscheinAlle(ReportLieferscheinJournalKriterienDto krit, TheClientDto theClientDto) {/*ww w .j a v a 2 s .c o 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.lieferschein.ejbfac.LieferscheinReportFacBean.java
License:Open Source License
/** * Alle offenen Lieferscheine fuer einen bestimmten Mandanten drucken. * //from w w w.j a va 2 s . c o m * @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 w ww. ja v a 2s . c o 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.LieferantFacBean.java
License:Open Source License
public ArrayList getWareneingangspositionen(StatistikParamDto statistikParamDtoI, String sWaehrungI, boolean bVerdichtetNachArtikel, boolean bEingeschraenkt, TheClientDto theClientDto) throws EJBExceptionLP { Session sessionWEPOS = null;/* w ww .j ava 2 s . c om*/ ArrayList<WareneingangspositionenDto> alData = new ArrayList<WareneingangspositionenDto>(10); try { // in die gewuenschte Waehrung umrechnen SessionFactory factory = FLRSessionFactory.getFactory(); sessionWEPOS = factory.openSession(); Criteria cWEPOS = sessionWEPOS.createCriteria(FLRWareneingangspositionen.class); cWEPOS.createAlias(WareneingangFac.FLR_WEPOS_FLRWARENEINGANG, "we"); if (statistikParamDtoI.getId() != null) { cWEPOS.createAlias("we." + WareneingangFac.FLR_WE_FLRBESTELLUNG, "b"); cWEPOS.add(Restrictions.eq("b." + BestellungFac.FLR_BESTELLUNG_LIEFERANT_I_ID_BESTELLADRESSE, statistikParamDtoI.getId())); } if (statistikParamDtoI.getDDatumVon() != null) { cWEPOS.add(Restrictions.ge("we." + WareneingangFac.FLRSPALTE_T_WARENEINGANGSDATUM, Helper.cutDate(statistikParamDtoI.getDDatumVon()))); } if (statistikParamDtoI.getDDatumBis() != null) { Calendar c = Calendar.getInstance(); c.setTimeInMillis(statistikParamDtoI.getDDatumBis().getTime()); c.set(Calendar.HOUR_OF_DAY, 23); c.set(Calendar.MINUTE, 59); c.set(Calendar.SECOND, 59); c.set(Calendar.MILLISECOND, 999); java.sql.Date dBis = new java.sql.Date(c.getTimeInMillis()); cWEPOS.add(Restrictions.le("we." + WareneingangFac.FLRSPALTE_T_WARENEINGANGSDATUM, dBis)); } cWEPOS.addOrder(Order.desc("we." + WareneingangFac.FLRSPALTE_T_WARENEINGANGSDATUM)); WareneingangspositionenDto ks = null; if (bEingeschraenkt) { cWEPOS.setMaxResults(50); } List<?> lWEPOS = cWEPOS.list(); // BSPOS for (int k = 0; k < lWEPOS.size(); k++) { FLRWareneingangspositionen wepos = ((FLRWareneingangspositionen) lWEPOS.get(k)); ks = new WareneingangspositionenDto(); ks.setSWas("WEPOS"); ks.setBdMenge(wepos.getN_geliefertemenge()); ks.setSIdent(wepos.getFlrbestellposition().getFlrartikel().getC_nr()); com.lp.server.artikel.service.ArtikelDto artikelDto = getArtikelFac().artikelFindByPrimaryKeySmall( wepos.getFlrbestellposition().getFlrartikel().getI_id(), theClientDto); String sHelp = wepos.getFlrbestellposition().getFlrbestellung().getC_nr(); ks.setSNr(wepos.getFlrbestellposition().getFlrbestellung().getC_nr()); ks.setDBelegdatum(wepos.getFlrwareneingang().getT_wareneingansdatum()); ks.setSBezeichnung(artikelDto.formatBezeichnung()); String sWaehrungBS = wepos.getFlrbestellposition().getFlrbestellung() .getWaehrung_c_nr_bestellwaehrung(); BigDecimal bDW = new BigDecimal(0); if (wepos.getN_gelieferterpreis() != null) { bDW = getLocaleFac().rechneUmInAndereWaehrungZuDatum(wepos.getN_gelieferterpreis(), sWaehrungBS, sWaehrungI, new Date(System.currentTimeMillis()), theClientDto); } ks.setBdPreis(bDW); ks.setBdWert(wepos.getN_geliefertemenge().multiply(bDW)); ks.setSEinheit(wepos.getFlrbestellposition().getEinheit_c_nr()); if (bVerdichtetNachArtikel) { boolean bGefunden = false; for (int j = 0; j < alData.size(); j++) { WareneingangspositionenDto temp = (WareneingangspositionenDto) alData.get(j); if (temp.getSIdent().equals(ks.getSIdent())) { BigDecimal wertNeu = ks.getBdWert().add(temp.getBdWert()); BigDecimal mengeNeu = ks.getBdMenge().add(temp.getBdMenge()); BigDecimal preisNeu = new BigDecimal(0); if (mengeNeu.doubleValue() != 0) { preisNeu = wertNeu.divide(mengeNeu, 4, BigDecimal.ROUND_HALF_EVEN); } temp.setBdWert(wertNeu); temp.setBdMenge(mengeNeu); temp.setBdPreis(preisNeu); temp.setDBelegdatum(null); temp.setSNr(""); temp.setSWas(""); alData.set(j, temp); bGefunden = true; break; } } if (bGefunden == false) { alData.add(ks); } } else { alData.add(ks); } } sessionWEPOS.close(); sessionWEPOS = null; } catch (Exception e) { throw new EJBExceptionLP(e); } finally { if (sessionWEPOS != null) { sessionWEPOS.close(); } sessionWEPOS = null; } return alData; }
From source file:com.lp.server.personal.ejbfac.ZeiterfassungReportFacBean.java
License:Open Source License
public JasperPrintLP printMaschinenliste(java.sql.Timestamp tStichtag, boolean bMitVersteckten, TheClientDto theClientDto) {/*from w w w .j a v a 2s. com*/ sAktuellerReport = ZeiterfassungReportFac.REPORT_MASCHINENLISTE; SessionFactory factory = FLRSessionFactory.getFactory(); Session session = factory.openSession(); org.hibernate.Criteria crit = session .createCriteria(com.lp.server.personal.fastlanereader.generated.FLRMaschine.class) .add(Restrictions.eq("mandant_c_nr", theClientDto.getMandant())); if (bMitVersteckten == false) { crit.add(Restrictions.eq(ZeiterfassungFac.FLR_MASCHINE_B_VERSTECKT, Helper.boolean2Short(false))); } if (tStichtag != null) { crit.add(Restrictions.or(Restrictions.le(ZeiterfassungFac.FLR_MASCHINE_T_KAUFDATUM, tStichtag), Restrictions.isNull(ZeiterfassungFac.FLR_MASCHINE_T_KAUFDATUM))); } crit.createAlias(ZeiterfassungFac.FLR_MASCHINE_FLR_MASCHINENGRUPPE, "m").addOrder(Order.asc("m.c_bez")); crit.addOrder(Order.asc(ZeiterfassungFac.FLR_MASCHINE_C_INVENTARNUMMER)); List<?> resultList = crit.list(); data = new Object[resultList.size()][10]; Iterator<?> resultListIterator = resultList.iterator(); int row = 0; while (resultListIterator.hasNext()) { FLRMaschine flrmaschine = (FLRMaschine) resultListIterator.next(); data[row][REPORT_MASCHINENLISTE_INVENTARNUMMER] = flrmaschine.getC_inventarnummer(); data[row][REPORT_MASCHINENLISTE_BEZEICHNUNG] = flrmaschine.getC_bez(); data[row][REPORT_MASCHINENLISTE_IDENTIFIKATIONSNUMMER] = flrmaschine.getC_identifikationsnr(); data[row][REPORT_MASCHINENLISTE_KAUFDATUM] = flrmaschine.getT_kaufdatum(); data[row][REPORT_MASCHINENLISTE_VERFUEGBARKEIT] = flrmaschine.getF_verfuegbarkeitinprozent(); data[row][REPORT_MASCHINENLISTE_AUTOENDE] = new Boolean( Helper.short2Boolean(flrmaschine.getB_autoendebeigeht())); data[row][REPORT_MASCHINENLISTE_KOSTEN_ZUM_ZEITPUNKT] = getZeiterfassungFac() .getMaschinenKostenZumZeitpunkt(flrmaschine.getI_id(), new Timestamp(System.currentTimeMillis())); data[row][REPORT_MASCHINENLISTE_MASCHINENGRUPPE] = flrmaschine.getFlrmaschinengruppe().getC_bez(); Session s2 = FLRSessionFactory.getFactory().openSession(); Query query2 = session.createQuery("FROM FLRMaschinenzeitdaten m WHERE m.maschine_i_id=" + flrmaschine.getI_id() + " ORDER BY m.t_von DESC"); query2.setMaxResults(1); List<?> resultListSub = query2.list(); String starter = ""; Timestamp tUm = null; if (resultListSub.size() > 0) { FLRMaschinenzeitdaten m = (FLRMaschinenzeitdaten) resultListSub.iterator().next(); starter = m.getFlrpersonal_gestartet().getFlrpartner().getC_name1nachnamefirmazeile1(); if (m.getFlrpersonal_gestartet().getFlrpartner().getC_name2vornamefirmazeile2() != null) { starter += " " + m.getFlrpersonal_gestartet().getFlrpartner().getC_name2vornamefirmazeile2(); } tUm = new Timestamp(m.getT_von().getTime()); } data[row][REPORT_MASCHINENLISTE_ZULETZT_GESTARTET_VON] = starter; data[row][REPORT_MASCHINENLISTE_ZULETZT_GESTARTET_UM] = tUm; row++; } HashMap<String, Object> parameter = new HashMap<String, Object>(); parameter.put("T_STICHTAG", tStichtag); initJRDS(parameter, ZeiterfassungReportFac.REPORT_MODUL, ZeiterfassungReportFac.REPORT_MASCHINENLISTE, theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto); return getReportPrint(); }
From source file:com.lp.server.personal.ejbfac.ZutrittscontrollerReportFacBean.java
License:Open Source License
public JasperPrintLP printZutrittsjournal(java.sql.Timestamp tVon, java.sql.Timestamp tBis, TheClientDto theClientDto) {//from w w w .j a v a2s.com index = -1; sAktuellerReport = ZutrittscontrollerReportFac.REPORT_ZUTRITTSJOURNAL; Session session = FLRSessionFactory.getFactory().openSession(); org.hibernate.Criteria crit = session .createCriteria(com.lp.server.personal.fastlanereader.generated.FLRZutrittslog.class) .add(Restrictions.eq("mandant_c_nr", theClientDto.getMandant())); crit.add(Restrictions.ge(ZutrittscontrollerFac.FLR_ZUTRITTSLOG_T_ZEITPUNKT, tVon)); crit.add(Restrictions.le(ZutrittscontrollerFac.FLR_ZUTRITTSLOG_T_ZEITPUNKT, tBis)); // Wenn Hauptmandant try { String hauptmandant = getMandantFac().mandantFindByPrimaryKey(theClientDto.getMandant(), theClientDto) .getAnwenderDto().getMandantCNrHauptmandant(); if (!hauptmandant.equals(theClientDto.getMandant())) { crit.add(Restrictions.or( Restrictions.isNull(ZutrittscontrollerFac.FLR_ZUTRITTSLOG_MANDANT_C_NR_OBJEKT), Restrictions.or( Restrictions.eq(ZutrittscontrollerFac.FLR_ZUTRITTSLOG_MANDANT_C_NR_OBJEKT, theClientDto.getMandant()), Restrictions.eq(ZutrittscontrollerFac.FLR_ZUTRITTSLOG_FLRMANDANT + ".c_nr", theClientDto.getMandant())))); } } catch (RemoteException ex) { throwEJBExceptionLPRespectOld(ex); } crit.addOrder(Order.desc(ZutrittscontrollerFac.FLR_ZUTRITTSLOG_T_ZEITPUNKT)); List<?> results = crit.list(); Iterator<?> resultListIterator = results.iterator(); data = new Object[results.size()][7]; int row = 0; while (resultListIterator.hasNext()) { FLRZutrittslog log = (FLRZutrittslog) resultListIterator.next(); data[row][REPORT_ZUTRITTSJOURNAL_AUSWEIS] = log.getC_ausweis(); data[row][REPORT_ZUTRITTSJOURNAL_CONTROLLER] = log.getC_zutrittscontroller(); data[row][REPORT_ZUTRITTSJOURNAL_ERLAUBT] = log.getB_erlaubt(); data[row][REPORT_ZUTRITTSJOURNAL_MANDANT] = log.getMandant_c_nr(); data[row][REPORT_ZUTRITTSJOURNAL_OBJEKT] = log.getC_zutrittsobjekt(); data[row][REPORT_ZUTRITTSJOURNAL_PERSON] = log.getC_person(); data[row][REPORT_ZUTRITTSJOURNAL_ZEITPUNKT] = new java.sql.Timestamp(log.getT_zeitpunkt().getTime()); row++; } session.close(); HashMap<String, Object> parameter = new HashMap<String, Object>(); parameter.put("P_VON", tVon); parameter.put("P_BIS", tBis); initJRDS(parameter, ZutrittscontrollerReportFac.REPORT_MODUL, ZutrittscontrollerReportFac.REPORT_ZUTRITTSJOURNAL, theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto); return getReportPrint(); }
From source file:com.lp.server.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;/* ww w . j a v a 2 s . c o 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; }