List of usage examples for org.hibernate.criterion Restrictions not
public static Criterion not(Criterion expression)
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;/* w w w. j a v a 2s . 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; }
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 . j ava2 s . co 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;//from ww w . j a va 2 s . 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.RechnungReportFacBean.java
License:Open Source License
public JasperPrintLP printRechnungenOffene(ReportRechnungJournalKriterienDto krit, TheClientDto theClientDto) throws EJBExceptionLP { Session session = null;//from w w w . j a va 2 s . co m try { Map<String, Object> mapParameter = new TreeMap<String, Object>(); MandantDto mandantDto = getMandantFac().mandantFindByPrimaryKey(theClientDto.getMandant(), theClientDto); this.useCase = UC_REPORT_RECHNUNGEN_OFFENE; SessionFactory factory = FLRSessionFactory.getFactory(); session = factory.openSession(); // Kunde oder Statistikadresse verwenden final String critKundeIId; final String critFLRKunde; if (krit.getBVerwendeStatistikAdresse()) { critKundeIId = RechnungFac.FLR_RECHNUNG_KUNDE_I_ID_STATISTIKADRESSE; critFLRKunde = RechnungFac.FLR_RECHNUNG_FLRSTATISTIKADRESSE; } else { critKundeIId = RechnungFac.FLR_RECHNUNG_KUNDE_I_ID; critFLRKunde = RechnungFac.FLR_RECHNUNG_FLRKUNDE; } List<Integer> kundenIIds = new ArrayList<Integer>(); if (krit.kundeIId != null) { kundenIIds.add(krit.kundeIId); } else if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_PARTNER) { Iterator<?> iter = session.createCriteria(FLRKunde.class).createAlias("flrpartner", "p") .addOrder(Order.asc("p.c_name1nachnamefirmazeile1")) .add(Restrictions.eq("mandant_c_nr", theClientDto.getMandant())).list().iterator(); while (iter.hasNext()) kundenIIds.add(((FLRKunde) iter.next()).getI_id()); } else { kundenIIds.add(null); } List<Object[]> dataList = new ArrayList<Object[]>(); for (Integer kndIId : kundenIIds) { Criteria c = session.createCriteria(FLRRechnungReport.class); // Filter nach Mandant c.add(Restrictions.eq(RechnungFac.FLR_RECHNUNG_MANDANT_C_NR, theClientDto.getMandant())); // Rechnungstypen Collection<String> cRechnungstyp = new LinkedList<String>(); cRechnungstyp.add(RechnungFac.RECHNUNGTYP_RECHNUNG); if (krit.getBGutschriftenBeruecksichtigen()) { cRechnungstyp.add(RechnungFac.RECHNUNGTYP_GUTSCHRIFT); } c.createCriteria(RechnungFac.FLR_RECHNUNG_FLRRECHNUNGART) .add(Restrictions.in(RechnungFac.FLR_RECHNUNGART_RECHNUNGTYP_C_NR, cRechnungstyp)); // Kostenstelle if (krit.kostenstelleIId != null) { c.add(Restrictions.eq(RechnungFac.FLR_RECHNUNG_KOSTENSTELLE_I_ID, krit.kostenstelleIId)); } if (kndIId != null) { c.add(Restrictions.eq(critKundeIId, kndIId)); KundeDto kundeDto = getKundeFac().kundeFindByPrimaryKey(kndIId, theClientDto); mapParameter.put("P_KUNDE", kundeDto.getPartnerDto().formatTitelAnrede()); } // Filter nach einem Vertrter if (krit.vertreterIId != null) { c.add(Restrictions.eq(RechnungFac.FLR_RECHNUNG_FLRVERTRETER + ".i_id", krit.vertreterIId)); } String sVon = null; String sBis = null; if (krit.dVon != null) { c.add(Restrictions.ge(RechnungFac.FLR_RECHNUNG_D_BELEGDATUM, krit.dVon)); sVon = Helper.formatDatum(krit.dVon, theClientDto.getLocUi()); } if (krit.dBis != null) { c.add(Restrictions.le(RechnungFac.FLR_RECHNUNG_D_BELEGDATUM, krit.dBis)); sBis = Helper.formatDatum(krit.dBis, theClientDto.getLocUi()); } LpBelegnummerFormat f = getBelegnummerGeneratorObj() .getBelegnummernFormat(theClientDto.getMandant()); Integer iGeschaeftsjahr = getParameterFac().getGeschaeftsjahr(theClientDto.getMandant()); String sMandantKuerzel = getParameterFac().getMandantparameter(theClientDto.getMandant(), ParameterFac.KATEGORIE_ALLGEMEIN, ParameterFac.PARAMETER_BELEGNUMMER_MANDANTKENNUNG) .getCWert(); if (krit.sBelegnummerVon != null) { sVon = HelperServer.getBelegnummernFilterForHibernateCriterias(f, iGeschaeftsjahr, sMandantKuerzel, krit.sBelegnummerVon); c.add(Restrictions.ge(RechnungFac.FLR_RECHNUNG_C_NR, sVon)); } if (krit.sBelegnummerBis != null) { sBis = HelperServer.getBelegnummernFilterForHibernateCriterias(f, iGeschaeftsjahr, sMandantKuerzel, krit.sBelegnummerBis); c.add(Restrictions.le(RechnungFac.FLR_RECHNUNG_C_NR, sBis)); } // Alle Stati ausser Angelegt, Bezahlt, Storniert Collection<String> cStati = new LinkedList<String>(); cStati.add(RechnungFac.STATUS_ANGELEGT); cStati.add(RechnungFac.STATUS_STORNIERT); c.add(Restrictions.not(Restrictions.in(RechnungFac.FLR_RECHNUNG_STATUS_C_NR, cStati))); c.add(Restrictions.or(Restrictions.gt("t_bezahltdatum", krit.getTStichtag()), Restrictions.isNull("t_bezahltdatum"))); boolean mitNichtZugeordnetenBelegen = false; // Sortierung nach Kostenstelle if (krit.bSortiereNachKostenstelle) { c.createCriteria(RechnungFac.FLR_RECHNUNG_FLRKOSTENSTELLE).addOrder(Order.asc("c_nr")); } // Sortierung nach Kunde if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_PARTNER) { c.createCriteria(critFLRKunde).createCriteria(KundeFac.FLR_PARTNER) .addOrder(Order.asc(PartnerFac.FLR_PARTNER_NAME1NACHNAMEFIRMAZEILE1)); c.addOrder(Order.asc(RechnungFac.FLR_RECHNUNG_C_NR)); mitNichtZugeordnetenBelegen = krit.getBMitNichtZugeordnetendBelegen(); } // Sortierung nach Belegnummer else if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_BELEGNUMMER) { c.addOrder(Order.asc(RechnungFac.FLR_RECHNUNG_C_NR)); } else if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_VERTRETER) { c.createCriteria(RechnungFac.FLR_RECHNUNG_FLRVERTRETER) .addOrder(Order.asc(PersonalFac.FLR_PERSONAL_C_KURZZEICHEN)); } else if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_FAELLIGKEIT) { c.addOrder(Order.asc(RechnungFac.FLR_RECHNUNG_T_FAELLIGKEIT)) .addOrder(Order.asc(RechnungFac.FLR_RECHNUNG_C_NR)); } // stichtag ab belegdatum c.add(Restrictions.le(RechnungFac.FLR_RECHNUNG_D_BELEGDATUM, krit.getTStichtag())); List<?> firstResultList = c.list(); Iterator<?> firstResultListIterator = firstResultList.iterator(); List<FLRRechnungReport> resultList = new LinkedList<FLRRechnungReport>(); while (firstResultListIterator.hasNext()) { FLRRechnungReport re = (FLRRechnungReport) firstResultListIterator.next(); // stichtag bereits bezahlt? if (re.getT_bezahltdatum() == null || !krit.getTStichtag().after(re.getT_bezahltdatum())) { resultList.add(re); } } Iterator<?> resultListIterator = resultList.iterator(); int row = 0; Object[][] tempData = new Object[resultList.size()][OFFENE_ANZAHL_SPALTEN]; KundeDto kundeDto = null; if (kndIId != null) kundeDto = getKundeFac().kundeFindByPrimaryKey(kndIId, theClientDto); if (mitNichtZugeordnetenBelegen && kundeDto.getIidDebitorenkonto() != null) { // TODO: nur FLRFinanzBuchungDetail holen Query query = session.createQuery( "SELECT buchungdetail from FLRFinanzBuchungDetail buchungdetail LEFT OUTER JOIN buchungdetail.flrbuchung AS buchung" + " WHERE" + BuchungDetailQueryBuilder.buildNurOffeneBuchungDetails("buchungdetail") + "AND" + BuchungDetailQueryBuilder.buildNichtZuordenbareVonKonto("buchungdetail", "buchung", kundeDto.getIidDebitorenkonto()) + (krit.getTStichtag() == null ? "" : (" AND buchung.d_buchungsdatum<='" + Helper.formatDateWithSlashes(krit.getTStichtag()) + "'"))); @SuppressWarnings("unchecked") List<FLRFinanzBuchungDetail> bdList = query.list(); if (bdList.size() > 0) { if (tempData.length < 1) { tempData = new Object[1][OFFENE_ANZAHL_SPALTEN]; String sFirma = kundeDto.getPartnerDto().getCName1nachnamefirmazeile1(); tempData[row][OFFENE_FELD_FIRMA] = sFirma; tempData[row][OFFENE_FELD_DEBITORENNR] = kundeDto.getIidDebitorenkonto() != null ? getFinanzFac().kontoFindByPrimaryKey(kundeDto.getIidDebitorenkonto()).getCNr() : null; } tempData[0][OFFENE_SUBREPORT_OFFENE_BUCHUNGEN] = FinanzSubreportGenerator .createBuchungsdetailSubreport(bdList, true); } } while (resultListIterator.hasNext()) { FLRRechnungReport re = (FLRRechnungReport) resultListIterator.next(); RechnungDto reDto = getRechnungFac().rechnungFindByPrimaryKey(re.getI_id()); // Kunde oder Statistikadresse? final Integer kundeIId, kundeIIdStatistik; if (krit.getBVerwendeStatistikAdresse()) { kundeIId = reDto.getKundeIIdStatistikadresse(); } else { kundeIId = reDto.getKundeIId(); // Statistikdaten wenn nicht Kriterium Statistikadresse kundeIIdStatistik = reDto.getKundeIIdStatistikadresse(); KundeDto kundeDtoStatistik = getKundeFac().kundeFindByPrimaryKey(kundeIIdStatistik, theClientDto); String sFirmaStatistik = kundeDtoStatistik.getPartnerDto().getCName1nachnamefirmazeile1(); String sKundeLKZStatistik = null; if (kundeDtoStatistik.getPartnerDto().getLandplzortDto() != null) { sKundeLKZStatistik = kundeDtoStatistik.getPartnerDto().getLandplzortDto().getLandDto() .getCLkz(); } tempData[row][OFFENE_FELD_FIRMA_STATISTIK] = sFirmaStatistik; tempData[row][OFFENE_FELD_FIRMA_LKZ_STATISTIK] = sKundeLKZStatistik; } if (kundeDto == null || kundeDto.getIId() != kundeIId) { kundeDto = getKundeFac().kundeFindByPrimaryKey(kundeIId, theClientDto); } String sFirma = kundeDto.getPartnerDto().getCName1nachnamefirmazeile1(); String sKundeLKZ = null; if (kundeDto.getPartnerDto().getLandplzortDto() != null) { sKundeLKZ = kundeDto.getPartnerDto().getLandplzortDto().getLandDto().getCLkz(); } tempData[row][OFFENE_FELD_RECHNUNGART] = re.getFlrrechnungart().getRechnungtyp_c_nr(); tempData[row][OFFENE_FELD_RECHNUNGSNUMMER] = reDto.getCNr(); tempData[row][OFFENE_FELD_FIRMA] = sFirma; tempData[row][OFFENE_FELD_FIRMA_LKZ] = sKundeLKZ; tempData[row][OFFENE_FELD_RECHNUNGSDATUM] = re.getD_belegdatum(); tempData[row][OFFENE_FELD_KURS] = re.getN_kurs(); tempData[row][OFFENE_FELD_WAEHRUNG] = re.getWaehrung_c_nr(); tempData[row][OFFENE_FELD_DEBITORENNR] = kundeDto.getIidDebitorenkonto() != null ? getFinanzFac().kontoFindByPrimaryKey(kundeDto.getIidDebitorenkonto()).getCNr() : null; // Vertreter if (re.getFlrvertreter() != null) { if (re.getFlrvertreter().getFlrpartner().getC_name2vornamefirmazeile2() != null) { tempData[row][OFFENE_FELD_VERTRETER] = re.getFlrvertreter().getFlrpartner() .getC_name1nachnamefirmazeile1() + " " + re.getFlrvertreter().getFlrpartner().getC_name2vornamefirmazeile2(); } else { tempData[row][OFFENE_FELD_VERTRETER] = re.getFlrvertreter().getFlrpartner() .getC_name1nachnamefirmazeile1(); } } // datum der letzten zahlung bis zum stichtag ermitteln RechnungzahlungDto[] zahlungen = getRechnungFac().zahlungFindByRechnungIId(re.getI_id()); java.sql.Date dZahldatum = null; for (int i = 0; i < zahlungen.length; i++) { if ((dZahldatum == null || zahlungen[i].getDZahldatum().after(dZahldatum)) && !zahlungen[i].getDZahldatum().after(krit.getTStichtag())) { dZahldatum = new Date(zahlungen[i].getDZahldatum().getTime()); } } // Zahlungsbetrag bis zum Stichtag ermitteln BigDecimal bdBezahlt = new BigDecimal(0); for (int i = 0; i < zahlungen.length; i++) { if (!zahlungen[i].getDZahldatum().after(krit.getTStichtag())) { bdBezahlt = bdBezahlt.add(zahlungen[i].getNBetrag()); } } if (reDto.getKostenstelleIId() != null) { KostenstelleDto kstDto = getSystemFac() .kostenstelleFindByPrimaryKey(reDto.getKostenstelleIId()); tempData[row][OFFENE_FELD_KOSTENSTELLE] = kstDto.getCNr(); } if (reDto.getNWert() == null) { EJBExceptionLP ex = new EJBExceptionLP(EJBExceptionLP.FEHLER_RECHNUNG_HAT_KEINEN_WERT, ""); ArrayList<Object> alInfo = new ArrayList<Object>(); alInfo.add("ID: " + reDto.getIId()); alInfo.add("Nr: " + reDto.getCNr()); ex.setAlInfoForTheClient(alInfo); throw ex; } BigDecimal bdWertBrutto = reDto.getNWert().add(reDto.getNWertust()); BigDecimal bdWertNetto = reDto.getNWert(); BigDecimal bdWertBruttoFW = reDto.getNWertfw().add(reDto.getNWertustfw()); BigDecimal bdWertNettoFW = reDto.getNWertfw(); BigDecimal bdBezahltUst = getRechnungFac().getBereitsBezahltWertVonRechnungUst(reDto.getIId(), null, krit.getTStichtag()); BigDecimal bdBezahltNetto = getRechnungFac().getBereitsBezahltWertVonRechnung(reDto.getIId(), null, krit.getTStichtag()); BigDecimal bdBezahltUstFw = getRechnungFac() .getBereitsBezahltWertVonRechnungUstFw(reDto.getIId(), null, krit.getTStichtag()); BigDecimal bdBezahltNettoFw = getRechnungFac() .getBereitsBezahltWertVonRechnungFw(reDto.getIId(), null, krit.getTStichtag()); BigDecimal bdNettoOffenFw = reDto.getNWertfw().subtract(bdBezahltNettoFw); BigDecimal bdUstOffenFw = reDto.getNWertustfw().subtract(bdBezahltUstFw); BigDecimal bdNettoOffenMandWhg = getLocaleFac().rechneUmInAndereWaehrungZuDatum(bdNettoOffenFw, reDto.getWaehrungCNr(), theClientDto.getSMandantenwaehrung(), krit.getTStichtag(), theClientDto); BigDecimal bdUstOffenMandWhg = getLocaleFac().rechneUmInAndereWaehrungZuDatum(bdUstOffenFw, reDto.getWaehrungCNr(), theClientDto.getSMandantenwaehrung(), krit.getTStichtag(), theClientDto); BigDecimal bdUstAnzahlungMandWhg = new BigDecimal(0); BigDecimal bdNettoAnzahlungMandWhg = new BigDecimal(0); BigDecimal bdUstAnzahlungFW = new BigDecimal(0); BigDecimal bdNettoAnzahlungFW = new BigDecimal(0); if (reDto.getAuftragIId() != null && reDto.getRechnungartCNr().equals(RechnungFac.RECHNUNGART_SCHLUSSZAHLUNG)) { bdNettoAnzahlungMandWhg = getLocaleFac().rechneUmInAndereWaehrungZuDatum( getRechnungFac().getAnzahlungenZuSchlussrechnungFw(reDto.getIId()), reDto.getWaehrungCNr(), theClientDto.getSMandantenwaehrung(), krit.getTStichtag(), theClientDto); bdUstAnzahlungMandWhg = getLocaleFac().rechneUmInAndereWaehrungZuDatum( getRechnungFac().getAnzahlungenZuSchlussrechnungUstFw(reDto.getIId()), reDto.getWaehrungCNr(), theClientDto.getSMandantenwaehrung(), krit.getTStichtag(), theClientDto); } tempData[row][OFFENE_FELD_WERT_BRUTTO_ANZAHLUNGEN] = bdNettoAnzahlungMandWhg .add(bdUstAnzahlungMandWhg); tempData[row][OFFENE_FELD_WERT_NETTO_ANZAHLUNGEN] = bdNettoAnzahlungMandWhg; tempData[row][OFFENE_FELD_WERT_BRUTTO_ANZAHLUNGEN_FW] = bdNettoAnzahlungFW .add(bdUstAnzahlungFW); tempData[row][OFFENE_FELD_WERT_NETTO_ANZAHLUNGEN_FW] = bdNettoAnzahlungFW; // SP554 bdNettoOffenMandWhg = bdNettoOffenMandWhg.subtract(bdNettoAnzahlungMandWhg); bdUstOffenMandWhg = bdUstOffenMandWhg.subtract(bdUstAnzahlungMandWhg); if (re.getFlrrechnungart().getRechnungtyp_c_nr().equals(RechnungFac.RECHNUNGTYP_RECHNUNG)) { tempData[row][OFFENE_FELD_WERT_BRUTTO] = bdWertBrutto; tempData[row][OFFENE_FELD_WERT_NETTO] = bdWertNetto; tempData[row][OFFENE_FELD_WERT_BRUTTO_OFFEN] = bdNettoOffenMandWhg.add(bdUstOffenMandWhg); tempData[row][OFFENE_FELD_WERT_NETTO_OFFEN] = bdNettoOffenMandWhg; // FW tempData[row][OFFENE_FELD_WERT_BRUTTO_FW] = bdWertBruttoFW; tempData[row][OFFENE_FELD_WERT_NETTO_FW] = bdWertNettoFW; tempData[row][OFFENE_FELD_WERT_BRUTTO_OFFEN_FW] = bdNettoOffenFw.add(bdUstOffenFw); tempData[row][OFFENE_FELD_WERT_NETTO_OFFEN_FW] = bdNettoOffenFw; } else if (re.getFlrrechnungart().getRechnungtyp_c_nr() .equals(RechnungFac.RECHNUNGTYP_GUTSCHRIFT)) { tempData[row][OFFENE_FELD_WERT_BRUTTO] = bdWertBrutto.negate(); tempData[row][OFFENE_FELD_WERT_NETTO] = bdWertNetto.negate(); tempData[row][OFFENE_FELD_WERT_BRUTTO_OFFEN] = bdNettoOffenMandWhg.add(bdUstOffenMandWhg) .negate(); tempData[row][OFFENE_FELD_WERT_NETTO_OFFEN] = bdNettoOffenMandWhg.negate(); // FW tempData[row][OFFENE_FELD_WERT_BRUTTO_FW] = bdWertBruttoFW.negate(); tempData[row][OFFENE_FELD_WERT_NETTO_FW] = bdWertNettoFW.negate(); tempData[row][OFFENE_FELD_WERT_BRUTTO_OFFEN_FW] = bdNettoOffenFw.add(bdUstOffenFw).negate(); tempData[row][OFFENE_FELD_WERT_NETTO_OFFEN_FW] = bdNettoOffenFw.negate(); } tempData[row][OFFENE_FELD_MAHNDATUM] = getMahnwesenFac() .getAktuellesMahndatumEinerRechnung(reDto.getIId(), theClientDto); tempData[row][OFFENE_FELD_MAHNSTUFE] = getMahnwesenFac() .getAktuelleMahnstufeEinerRechnung(reDto.getIId(), theClientDto); tempData[row][OFFENE_FELD_MAHNSPERRE] = reDto.getTMahnsperrebis(); // Faelligkeitsdatum // java.sql.Date dFaellig; // if (reDto.getZahlungszielIId() != null) { // dFaellig = // getMandantFac().berechneZielDatumFuerBelegdatum(reDto // .getTBelegdatum(), // reDto.getZahlungszielIId(), theClientDto); // } // else { // dFaellig = new // java.sql.Date(reDto.getTBelegdatum().getTime()); // } if (re.getT_faelligkeit() != null) { tempData[row][OFFENE_FELD_FAELLIGKEITSDATUM] = new java.util.Date( re.getT_faelligkeit().getTime()); } else { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_RECHNUNG_FAELLIGKEIT_NICHT_BERECHENBAR, new Exception("Faelligkeit nicht berechenbar")); } // Differenz in Tagen: Stichtag - Faelligkeitsdatum tempData[row][OFFENE_FELD_TAGE_BIS_FAELLIGKEITSDATUM] = Helper .getDifferenzInTagen(krit.getTStichtag(), re.getT_faelligkeit()); row++; } dataList.addAll(Arrays.asList(tempData)); } data = dataList.toArray(new Object[0][]); // Waehrung mapParameter.put(LPReport.P_WAEHRUNG, mandantDto.getWaehrungCNr()); mapParameter.put("P_STICHTAG", Helper.formatDatum(krit.getTStichtag(), theClientDto.getLocUi())); StringBuffer sSortierung = new StringBuffer(); if (krit.bSortiereNachKostenstelle) { sSortierung.append( getTextRespectUISpr("lp.kostenstelle", theClientDto.getMandant(), theClientDto.getLocUi())); sSortierung.append(", "); } if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_PARTNER) { if (krit.getBVerwendeStatistikAdresse()) { sSortierung.append(getTextRespectUISpr("rech.statistikadresse", theClientDto.getMandant(), theClientDto.getLocUi())); } else { sSortierung.append( getTextRespectUISpr("lp.kunde", theClientDto.getMandant(), theClientDto.getLocUi())); } } else if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_BELEGNUMMER) { sSortierung.append(getTextRespectUISpr("rechnung.rechnungsnummer", theClientDto.getMandant(), theClientDto.getLocUi())); } else if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_VERTRETER) { sSortierung.append( getTextRespectUISpr("lp.vertreter", theClientDto.getMandant(), theClientDto.getLocUi())); } else if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_FAELLIGKEIT) { sSortierung.append( getTextRespectUISpr("lp.faelligkeit", theClientDto.getMandant(), theClientDto.getLocUi())); } mapParameter.put(LPReport.P_SORTIERUNG, sSortierung.toString()); mapParameter.put(LPReport.P_SORTIERENACHKOSTENSTELLE, new Boolean(krit.bSortiereNachKostenstelle)); mapParameter.put(LPReport.P_SORTIERENACHKUNDE, new Boolean(krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_PARTNER)); mapParameter.put(LPReport.P_SORTIERENACHVERTRETER, new Boolean(krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_VERTRETER)); String sZessionstext = null; sZessionstext = getParameterFac().parametermandantFindByPrimaryKey(ParameterFac.PARAMETER_ZESSIONSTEXT, ParameterFac.KATEGORIE_ALLGEMEIN, theClientDto.getMandant()).getCWert(); if (sZessionstext != null) { mapParameter.put("P_ZESSIONSTEXT", sZessionstext); } /** * @todo zinsen PJ 4538 */ initJRDS(mapParameter, RechnungReportFac.REPORT_MODUL, RechnungReportFac.REPORT_RECHNUNGEN_OFFENE, theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto); return getReportPrint(); // } // catch (FinderException ex) { // { // @ToDo FinderException // throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_DRUCKEN, // null); // } // throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_DRUCKEN, ex); } catch (RemoteException ex) { throwEJBExceptionLPRespectOld(ex); return null; } finally { try { session.close(); } catch (HibernateException he) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER, he); } } }
From source file:com.lp.server.rechnung.ejbfac.RechnungReportFacBean.java
License:Open Source License
private JasperPrintLP buildWarenausgangsjournal(ReportRechnungJournalKriterienDto krit, TheClientDto theClientDto) throws EJBExceptionLP { Session session = null;//from w w w .ja va 2s. c o m try { String querySelect = "SELECT R.C_NR AS R_C_NR," + "R.T_BELEGDATUM AS R_T_BELEGDATUM," + "COALESCE " + "(LP.N_NETTOGESAMTPREISPLUSVERSTECKTERAUFSCHLAGMINUSRABATT, P.N_NETTOEINZELPREISPLUSAUFSCHLAGMINUSRABATT, P.N_NETTOEINZELPREIS ) " + "AS P_N_NETTOEINZELPREISPLUSAUFSCHLAGMINUSRABATT," + "PN.C_NAME1NACHNAMEFIRMAZEILE1 AS PN_C_NAME1NACHNAMEFIRMAZEILE1," + "KN.I_KUNDENNUMMER AS KN_I_KUNDENNUMMER," + "AR.C_NR AS AR_C_NR," + "ARS.C_BEZ AS ARS_C_BEZ," + "ARK.C_NR AS ARK_C_NR," + "ARG.C_NR AS ARG_C_NR," + "LA.C_LKZ AS LA_C_LKZ," + "AR.C_WARENVERKEHRSNUMMER AS AR_C_WARENVERKEHRSNUMMER," + "COALESCE (LP.N_MENGE, P.N_MENGE) AS P_N_MENGE," + "COALESCE (cast (LP.EINHEIT_C_NR AS VARCHAR), cast (P.EINHEIT_C_NR AS VARCHAR)) AS P_EINHEIT_C_NR," + "ARS.C_ZBEZ AS ARS_C_ZBEZ," + "R.N_PROVISION AS R_N_PROVISION," + "PE.C_KURZZEICHEN AS PE_C_KURZZEICHEN," + "KNTE.C_NR AS KNTE_C_NR," + "KNTD.C_NR AS KNTD_C_NR," + "LPO.C_PLZ AS LPO_C_PLZ," + "LA2.C_LKZ AS LA2_C_LKZ," + "PN.C_STRASSE AS PN_C_STRASSE," + "COALESCE (LSPOSMWSTSATZ.F_MWSTSATZ, POSMWSTSATZ.F_MWSTSATZ, MWSTSATZ.F_MWSTSATZ) AS MWSTSATZ_F_MWSTSATZ," + "BRANCH.C_NR AS BRANCH_C_NR," + "cast (PARTKL.C_NR AS VARCHAR) AS PARTKL_C_NR," + "LA2.C_LKZ AS LA2_C_LKZ," + "L.C_NR AS L_C_NR," + "L.T_BELEGDATUM AS L_T_BELEGDATUM," + "PARTNER_STATISTIK.I_ID AS PART_STATISTIK_I_ID," + "cast (PARTNER_STATISTIK.ANREDE_C_NR AS VARCHAR) AS PART_STATISTIK_ANREDE_C_NR," + "PARTNER_STATISTIK.C_NAME1NACHNAMEFIRMAZEILE1 AS PARTNER_STATISTIK_C_NAME1," + "PARTNER_STATISTIK.C_NAME2VORNAMEFIRMAZEILE2 AS PARTNER_STATISTIK_C_NAME2," + "PARTNER_STATISTIK.C_NAME3VORNAME2ABTEILUNG AS PARTNER_STATISTIK_C_NAME3_ABTEILUNG," + "PARTNER_STATISTIK.C_STRASSE AS PARTNER_STATISTIK_C_STRASSE," + "PARTNER_STATISTIK_LAND.C_LKZ AS PARTNER_STATISTIK_C_LKZ," + "PARTNER_STATISTIK_ORT.C_NAME AS PARTNER_STATISTIK_C_ORT," + "PARTNER_STATISTIK_LPO.C_PLZ AS PARTNER_STATISTIK_C_PLZ," + "PN.I_ID AS PARTNER_I_ID," + "cast (R.WAEHRUNG_C_NR AS VARCHAR)AS R_WAEHRUNG_C_NR," + "R.N_KURS AS R_N_KURS," + "R.RECHNUNGART_C_NR AS R_RECHNUNGART_C_NR," + "R.RECHNUNG_I_ID_ZURECHNUNG AS R_RECHNUNG_I_ID_ZURECHNUNG," + "AR.F_VERTRETERPROVISIONMAX AS AR_F_VERTRETERPROVISIONMAX," + "COALESCE (R.C_BESTELLNUMMER,L.C_BESTELLNUMMER) AS R_BESTELLNUMMER," + "KNRECHNUNGSADRESSELS.I_KUNDENNUMMER AS KN_RECHNUNGSADRESSELS_I_KUNDENNUMMER," + "PARTNERRECHNUNGSADRESSELS.C_NAME1NACHNAMEFIRMAZEILE1 AS PARTNERRECHNUNGSADRESSELSBEZEICHNUNG," + "PARTNERRECHNUNGSADRESSELS.C_KBEZ AS PARTNERRECHNUNGSADRESSELSKBEZ," + "KN.C_HINWEISEXTERN AS KUNDEHINWEISEXTERN," + "KN.C_HINWEISINTERN AS KUNDEHINWEISINTERN," + "PEPROVISION.C_KURZZEICHEN AS PEPROVISION_C_KURZZEICHEN," + "AR.F_GEWICHTKG AS ARTIKELGEWICHTKG," + "RELAGER.C_NR AS RELAGERCNR," + "LSLAGER.C_NR AS LSLAGERCNR," + "LSZIELLAGER.C_NR AS LSZIELLAGERCNR," + "KNLIEFERADRESSELS.I_KUNDENNUMMER AS KN_KNLIEFERADRESSELS_I_KUNDENNUMMER," + "cast(COALESCE (P.X_TEXTINHALT,LP.X_TEXTINHALT) AS VARCHAR) AS R_TEXTINHALT, " + "PLIEFERADRESSELS.C_ILN AS C_ILNLIEFERADRESSELS, " + "PN.C_ILN AS C_ILNPARTNER, " + "PLIEFERADRESSELS.I_ID AS PART_STATISTIK_I_ID," + "cast (PLIEFERADRESSELS.ANREDE_C_NR AS VARCHAR) AS PLIEFERADRESSELS_ANREDE_C_NR," + "PLIEFERADRESSELS.C_NAME1NACHNAMEFIRMAZEILE1 AS PLIEFERADRESSELS_C_NAME1," + "PLIEFERADRESSELS.C_NAME2VORNAMEFIRMAZEILE2 AS PLIEFERADRESSELS_C_NAME2," + "PLIEFERADRESSELS.C_NAME3VORNAME2ABTEILUNG AS PLIEFERADRESSELS_C_NAME3_ABTEILUNG," + "PLIEFERADRESSELS.C_STRASSE AS PLIEFERADRESSELS_C_STRASSE," + "PLIEFERADRESSELS_LAND.C_LKZ AS PLIEFERADRESSELS_C_LKZ," + "PLIEFERADRESSELS_ORT.C_NAME AS PLIEFERADRESSELS_C_ORT," + "PLIEFERADRESSELS_LPO.C_PLZ AS PLIEFERADRESSELS_C_PLZ, " + "BEGR.C_NR AS BEGR_C_NR, " + "ABP.T_UEBERSTEUERTERLIEFERTERMIN AS UEBERSTEUERTERLIEFERTERMIN, " + "KN.I_LIEFERDAUER AS LIEFERDAUER, " + "AB.C_NR AS AUFTRAGSNUMMER, " + "ABG.C_NR AS AUFTRGABEGRUENDUNG, " + " COALESCE ( (SELECT AVG(N_GESTEHUNGSPREIS) FROM WW_LAGERBEWEGUNG WHERE I_BELEGARTPOSITIONID=P.I_ID AND C_BELEGARTNR=R.RECHNUNGART_C_NR AND B_HISTORIE=0),(SELECT AVG(N_GESTEHUNGSPREIS) FROM WW_LAGERBEWEGUNG WHERE I_BELEGARTPOSITIONID=LP.I_ID AND C_BELEGARTNR='Lieferschein' AND B_HISTORIE=0)) AS GESTPREIS," + " KT.C_BEZ, " + "CASE WHEN LP.POSITION_I_ID_ARTIKELSET IS NULL THEN " + " CASE WHEN (SELECT COUNT(*) FROM LS_LIEFERSCHEINPOSITION WHERE POSITION_I_ID_ARTIKELSET=LP.I_ID) > 0 THEN 'Kopf' " + " ELSE NULL END " + "ELSE 'Position' END AS ARTIKELSETART, COALESCE (R.C_BEZ,L.C_BEZ) AS R_BEZ "; String queryFrom = "FROM RECH_RECHNUNG R " + "INNER JOIN RECH_RECHNUNGPOSITION P ON P.RECHNUNG_I_ID=R.I_ID " + "LEFT OUTER JOIN LS_LIEFERSCHEIN L ON L.I_ID=P.LIEFERSCHEIN_I_ID " + "LEFT OUTER JOIN LS_LIEFERSCHEINPOSITION LP ON LP.LIEFERSCHEIN_I_ID=P.LIEFERSCHEIN_I_ID " + "LEFT OUTER JOIN PART_KUNDE KN ON KN.I_ID=R.KUNDE_I_ID " + "LEFT OUTER JOIN PART_PARTNER PN ON PN.I_ID=KN.PARTNER_I_ID " + "LEFT OUTER JOIN WW_ARTIKEL AR ON AR.I_ID=COALESCE(LP.ARTIKEL_I_ID, P.ARTIKEL_I_ID) " + "LEFT OUTER JOIN WW_ARTKLA ARK ON ARK.I_ID=AR.ARTKLA_I_ID " + "LEFT OUTER JOIN WW_ARTGRU ARG ON ARG.I_ID=AR.ARTGRU_I_ID " + "LEFT OUTER JOIN LP_LAND LA ON LA.I_ID=AR.LAND_I_ID_URSPRUNGSLAND " + "LEFT OUTER JOIN PERS_PERSONAL PE ON PE.I_ID=R.PERSONAL_I_ID_VERTRETER " + "LEFT OUTER JOIN FB_KONTO KNTE ON KNTE.I_ID=KN.KONTO_I_ID_ERLOESEKONTO " + "LEFT OUTER JOIN FB_KONTO KNTD ON KNTD.I_ID=KN.KONTO_I_ID_DEBITORENKONTO " + "LEFT OUTER JOIN LP_LANDPLZORT LPO ON LPO.I_ID=PN.LANDPLZORT_I_ID " + "LEFT OUTER JOIN LP_LAND LA2 ON LA2.I_ID=LPO.LAND_I_ID " + "LEFT OUTER JOIN LP_MWSTSATZ MWSTSATZ ON MWSTSATZ.I_ID=R.MWSTSATZ_I_ID " + "LEFT OUTER JOIN LP_MWSTSATZ POSMWSTSATZ ON POSMWSTSATZ.I_ID=P.MWSTSATZ_I_ID " + "LEFT OUTER JOIN LP_MWSTSATZ LSPOSMWSTSATZ ON LSPOSMWSTSATZ.I_ID=LP.MWSTSATZ_I_ID " + "LEFT OUTER JOIN PART_BRANCHE BRANCH ON BRANCH.I_ID=PN.BRANCHE_I_ID " + "LEFT OUTER JOIN PART_PARTNERKLASSE PARTKL ON PARTKL.I_ID=PN.PARTNERKLASSE_I_ID " + "LEFT OUTER JOIN PART_KUNDE KNSTATISTIK ON KNSTATISTIK.I_ID=R.KUNDE_I_ID_STATISTIKADRESSE " + "LEFT OUTER JOIN PART_PARTNER PARTNER_STATISTIK ON PARTNER_STATISTIK.I_ID = KNSTATISTIK.PARTNER_I_ID " + "LEFT OUTER JOIN LP_LANDPLZORT PARTNER_STATISTIK_LPO ON PARTNER_STATISTIK_LPO.I_ID=PARTNER_STATISTIK.LANDPLZORT_I_ID " + "LEFT OUTER JOIN LP_LAND PARTNER_STATISTIK_LAND ON PARTNER_STATISTIK_LAND.I_ID=PARTNER_STATISTIK_LPO.LAND_I_ID " + "LEFT OUTER JOIN LP_ORT PARTNER_STATISTIK_ORT ON PARTNER_STATISTIK_ORT.I_ID=PARTNER_STATISTIK_LPO.ORT_I_ID " + "LEFT OUTER JOIN PART_KUNDE KNRECHNUNGSADRESSELS ON KNRECHNUNGSADRESSELS.I_ID=L.KUNDE_I_ID_RECHNUNGSADRESSE " + "LEFT OUTER JOIN PART_PARTNER PARTNERRECHNUNGSADRESSELS ON PARTNERRECHNUNGSADRESSELS.I_ID=KNRECHNUNGSADRESSELS.PARTNER_I_ID " + "LEFT OUTER JOIN PERS_PERSONAL PEPROVISION ON PEPROVISION.I_ID=KN.PERSONAL_I_ID_BEKOMMEPROVISION " + "LEFT OUTER JOIN WW_LAGER RELAGER ON RELAGER.I_ID=R.LAGER_I_ID " + "LEFT OUTER JOIN WW_LAGER LSLAGER ON LSLAGER.I_ID=L.LAGER_I_ID " + "LEFT OUTER JOIN WW_LAGER LSZIELLAGER ON LSZIELLAGER.I_ID=L.ZIELLAGER_I_ID " + "LEFT OUTER JOIN PART_KUNDE KNLIEFERADRESSELS ON KNLIEFERADRESSELS.I_ID=L.KUNDE_I_ID_LIEFERADRESSE " + "LEFT OUTER JOIN PART_PARTNER PLIEFERADRESSELS ON PLIEFERADRESSELS.I_ID=KNLIEFERADRESSELS.PARTNER_I_ID " + "LEFT OUTER JOIN LP_LANDPLZORT PLIEFERADRESSELS_LPO ON PLIEFERADRESSELS_LPO.I_ID=PLIEFERADRESSELS.LANDPLZORT_I_ID " + "LEFT OUTER JOIN LP_LAND PLIEFERADRESSELS_LAND ON PLIEFERADRESSELS_LAND.I_ID=PLIEFERADRESSELS_LPO.LAND_I_ID " + "LEFT OUTER JOIN LP_ORT PLIEFERADRESSELS_ORT ON PLIEFERADRESSELS_ORT.I_ID=PLIEFERADRESSELS_LPO.ORT_I_ID " + "LEFT OUTER JOIN LS_BEGRUENDUNG BEGR ON BEGR.I_ID=L.BEGRUENDUNG_I_ID " + "LEFT OUTER JOIN AUFT_AUFTRAGPOSITION ABP ON ABP.I_ID=LP.AUFTRAGPOSITION_I_ID " + "LEFT OUTER JOIN AUFT_AUFTRAG AB ON AB.I_ID=ABP.AUFTRAG_I_ID " + "LEFT OUTER JOIN AUFT_AUFTRAGBEGRUENDUNG ABG ON ABG.I_ID=AB.AUFTRAGBEGRUENDUNG_I_ID " + "LEFT OUTER JOIN LP_KOSTENTRAEGER KT ON KT.I_ID=COALESCE(LP.KOSTENTRAEGER_I_ID, P.KOSTENTRAEGER_I_ID) " + "LEFT OUTER JOIN WW_ARTIKELSPR ARS ON ARS.ARTIKEL_I_ID=AR.I_ID AND ARS.LOCALE_C_NR='" + theClientDto.getLocUiAsString() + "' "; String queryWhere = ""; if (krit.dVon != null && krit.dBis != null) { queryWhere = "WHERE R.T_BELEGDATUM BETWEEN '" + Helper.formatDateWithSlashes(krit.dVon) + "' AND '" + Helper.formatDateWithSlashes(krit.dBis) + "' "; } else { if (krit.sBelegnummerVon != null && krit.sBelegnummerBis != null) { queryWhere = "WHERE R.C_NR BETWEEN '" + krit.sBelegnummerVon + "' AND '" + krit.sBelegnummerBis + "' "; } } queryWhere = queryWhere + "AND (POSITIONSART_C_NR='" + RechnungFac.POSITIONSART_RECHNUNG_HANDEINGABE.trim() + "' " + "OR P.POSITIONSART_C_NR='" + RechnungFac.POSITIONSART_RECHNUNG_IDENT.trim() + "' " + "OR P.POSITIONSART_C_NR='" + RechnungFac.POSITIONSART_RECHNUNG_LIEFERSCHEIN.trim() + "' " + "OR P.POSITIONSART_C_NR='" + RechnungFac.POSITIONSART_RECHNUNG_TEXTEINGABE.trim() + "') "; String[] sRechnungsarten = null; if (krit.getBGutschriftenBeruecksichtigen()) { sRechnungsarten = new String[5]; sRechnungsarten[0] = LocaleFac.BELEGART_RECHNUNG; sRechnungsarten[1] = LocaleFac.BELEGART_GUTSCHRIFT; sRechnungsarten[2] = RechnungFac.RECHNUNGART_WERTGUTSCHRIFT; sRechnungsarten[3] = RechnungFac.RECHNUNGART_ANZAHLUNG; sRechnungsarten[4] = RechnungFac.RECHNUNGART_SCHLUSSZAHLUNG; } else { sRechnungsarten = new String[3]; sRechnungsarten[0] = LocaleFac.BELEGART_RECHNUNG; sRechnungsarten[1] = RechnungFac.RECHNUNGART_ANZAHLUNG; sRechnungsarten[2] = RechnungFac.RECHNUNGART_SCHLUSSZAHLUNG; } queryWhere = queryWhere + "AND R.MANDANT_C_NR = '" + theClientDto.getMandant() + "' "; boolean bFirstRechnungArt = true; for (int i = 0; i < sRechnungsarten.length; i++) { if (bFirstRechnungArt) { queryWhere = queryWhere + "AND RECHNUNGART_C_NR IN ("; bFirstRechnungArt = false; } else { queryWhere = queryWhere + ", "; } queryWhere = queryWhere + "'" + sRechnungsarten[i].trim() + "'"; } queryWhere = queryWhere + ")"; queryWhere = queryWhere + "AND STATUS_C_NR NOT LIKE '" + RechnungFac.STATUS_STORNIERT + "' "; if (krit.kundeIId != null) { queryWhere = queryWhere + "AND R.KUNDE_I_ID = " + krit.kundeIId + " "; } if (krit.vertreterIId != null) { queryWhere = queryWhere + "AND R.PERSONAL_I_ID_VERTRETER = " + krit.vertreterIId + " "; } if (!krit.getBMitTexteingaben()) { // das OR muss wegen Gutschriften rein queryWhere = queryWhere + "AND (LP.LIEFERSCHEINPOSITIONART_C_NR != 'Texteingabe' OR LP.LIEFERSCHEINPOSITIONART_C_NR IS NULL) "; } if (krit.kostenstelleIId != null) { queryWhere = queryWhere + "AND R.KOSTENSTELLE_I_ID = " + krit.kostenstelleIId + " "; } String queryOrder = "ORDER BY "; if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_PARTNER) { queryOrder = queryOrder + "PN.C_NAME1NACHNAMEFIRMAZEILE1"; } else if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_BELEGNUMMER) { queryOrder = queryOrder + "R.C_NR"; } else if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_VERTRETER) { queryOrder = queryOrder + "R.PERSONAL_I_ID_VERTRETER"; } else if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_IDENT) { queryOrder = queryOrder + "AR.C_NR"; } if (krit.getBVerwendeStatistikAdresse()) { queryOrder = queryOrder + ", PARTNER_STATISTIK.I_ID"; } String queryString = querySelect + queryFrom + queryWhere + queryOrder; this.useCase = UC_REPORT_WARENAUSGANGSJOURNAL; SessionFactory factory = FLRSessionFactory.getFactory(); session = factory.openSession(); Query query = session.createSQLQuery(queryString); List<?> list = query.list(); Map<Integer, Object> tmData = new TreeMap<Integer, Object>(); int i = 0; for (Iterator<?> iter = list.iterator(); iter.hasNext();) { tmData.put(i, iter.next()); i++; } // Lieferscheine ohne Rechnung hinten anhaengen // Alle Lieferscheine ohne Rechnung Kriterien List<?> LsList = null; if (krit.dVon != null || krit.dBis != null) { Criteria cLsPosCrit = session.createCriteria(FLRLieferscheinposition.class); Criteria cLs = cLsPosCrit .createCriteria(LieferscheinpositionFac.FLR_LIEFERSCHEINPOSITION_FLRLIEFERSCHEIN); // Filter nach Mandant cLs.add(Restrictions.eq(LieferscheinFac.FLR_LIEFERSCHEIN_MANDANT_C_NR, theClientDto.getMandant())); // Filter nach Status (keine stornierten) cLs.add(Restrictions .not(Restrictions.eq(LieferscheinFac.FLR_LIEFERSCHEIN_LIEFERSCHEINSTATUS_STATUS_C_NR, LieferscheinFac.LSSTATUS_STORNIERT))); // Filter nach Datum if (krit.dVon != null) { cLs.add(Restrictions.ge(LieferscheinFac.FLR_LIEFERSCHEIN_D_BELEGDATUM, krit.dVon)); } if (krit.dBis != null) { cLs.add(Restrictions.le(LieferscheinFac.FLR_LIEFERSCHEIN_D_BELEGDATUM, krit.dBis)); } cLsPosCrit.add(Restrictions.gt(LieferscheinpositionFac.FLR_LIEFERSCHEINPOSITION_N_MENGE, new BigDecimal(0))); // Filter nach Kunde if (krit.kundeIId != null) { cLs.add(Restrictions.eq(LieferscheinFac.FLR_LIEFERSCHEIN_KUNDE_I_ID_RECHNUNGSADRESSE, krit.kundeIId)); } // Filter nach Vertreter if (krit.vertreterIId != null) { cLs.add(Restrictions.eq(LieferscheinFac.FLR_LIEFERSCHEIN_PERSONAL_I_ID_VERTRETER, krit.vertreterIId)); } // Filter nach Kostenstelle if (krit.kostenstelleIId != null) { cLs.add(Restrictions.eq(LieferscheinFac.FLR_LIEFERSCHEIN_KOSTENSTELLE_I_ID, krit.kostenstelleIId)); } if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_BELEGNUMMER) { cLs.addOrder(Order.asc(LieferscheinFac.FLR_LIEFERSCHEIN_C_NR)); } if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_PARTNER) { cLs.createAlias("flrkunde", "k").createAlias("k.flrpartner", "p") .addOrder(Order.asc("p.c_name1nachnamefirmazeile1")); } if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_VERTRETER) { cLs.addOrder(Order.asc(LieferscheinFac.FLR_LIEFERSCHEIN_PERSONAL_I_ID_VERTRETER)); } if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_IDENT) { cLsPosCrit.createAlias("flrartikel", "a").addOrder(Order.asc("a.c_nr")); } if (krit.getBNurOffene()) { Collection<String> cStati = new LinkedList<String>(); cStati.add(LieferscheinFac.LSSTATUS_ANGELEGT); cStati.add(LieferscheinFac.LSSTATUS_OFFEN); cStati.add(LieferscheinFac.LSSTATUS_ERLEDIGT); cStati.add(LieferscheinFac.LSSTATUS_GELIEFERT); } cLs.add(Restrictions.isNull(LieferscheinFac.FLR_LIEFERSCHEIN_FLRRECHNUNG)); LsList = cLsPosCrit.list(); } // befuellen if (LsList != null) { for (Iterator<?> iter = LsList.iterator(); iter.hasNext();) { FLRLieferscheinposition lspos = (FLRLieferscheinposition) iter.next(); Object[] dataRow = new Object[REPORT_WARENAUSGANG_ANZAHL_SPALTEN]; dataRow[FELD_WARENAUSGANG_LIEFERSCHEINNUMMER] = lspos.getFlrlieferschein().getC_nr(); dataRow[FELD_WARENAUSGANG_LIEFERSCHEINDATUM] = lspos.getFlrlieferschein().getD_belegdatum(); if (lspos.getFlrlieferschein().getFlrbegruendung() != null) { dataRow[FELD_WARENAUSGANG_GRUNDNICHTEINGEHALTEN] = lspos.getFlrlieferschein() .getFlrbegruendung().getC_nr(); if (lspos.getFlrlieferschein().getFlrbegruendung().getC_bez() != null) { dataRow[FELD_WARENAUSGANG_GRUNDNICHTEINGEHALTEN] = lspos.getFlrlieferschein() .getFlrbegruendung().getC_bez(); } } dataRow[FELD_WARENAUSGANG_KUNDENBEZEICHNUNG] = lspos.getFlrlieferschein().getFlrkunde() .getFlrpartner().getC_name1nachnamefirmazeile1(); dataRow[FELD_WARENAUSGANG_TEXTEINGABE] = lspos.getC_textinhalt(); dataRow[FELD_WARENAUSGANG_ILN_LIEFERADRESSE] = lspos.getFlrlieferschein().getFlrkunde() .getFlrpartner().getC_iln(); dataRow[FELD_WARENAUSGANG_KUNDENNUMMER_LIEFERADRESSE_LS] = lspos.getFlrlieferschein() .getFlrkunde().getI_kundennummer(); dataRow[FELD_WARENAUSGANG_KUNDENNUMMER] = lspos.getFlrlieferschein().getFlrkunde() .getI_kundennummer(); dataRow[FELD_WARENAUSGANG_PARTNER_I_ID] = lspos.getFlrlieferschein().getFlrkunde() .getFlrpartner().getI_id(); if (lspos.getFlrartikel() != null) { dataRow[FELD_WARENAUSGANG_ARTIKELNUMMER] = lspos.getFlrartikel().getC_nr(); dataRow[FELD_WARENAUSGANG_ARTIKELPROVISION] = lspos.getFlrartikel() .getF_vertreterprovisionmax(); if (lspos.getFlrartikel().getI_id() != null) { ArtikelDto artikelDto = getArtikelFac() .artikelFindByPrimaryKeySmall(lspos.getFlrartikel().getI_id(), theClientDto); dataRow[FELD_WARENAUSGANG_ARTIKELBEZEICHNUNG] = artikelDto.formatArtikelbezeichnung(); dataRow[FELD_WARENAUSGANG_ARTIKEL_GEWICHTKG] = artikelDto.getFGewichtkg(); if (artikelDto.formatArtikelbezeichnung().length() > 1) { if (artikelDto.formatBezeichnung() != null) { // Comment out SK.. funktioniert so nicht // ??? // data[i][ // FELD_WARENAUSGANG_ARTIKELBEZEICHNUNG2] = // artikelDto. // formatBezeichnung().substring(artikelDto. // formatArtikelbezeichnung(). // length() - 1); } else { // data[i][ // FELD_WARENAUSGANG_ARTIKELBEZEICHNUNG2] = // artikelDto.formatBezeichnung(); } } else { dataRow[FELD_WARENAUSGANG_ARTIKELBEZEICHNUNG2] = ""; } } else { dataRow[FELD_WARENAUSGANG_ARTIKELBEZEICHNUNG] = ""; dataRow[FELD_WARENAUSGANG_ARTIKELBEZEICHNUNG2] = ""; } if (lspos.getFlrartikel().getFlrartikelklasse() != null) { dataRow[FELD_WARENAUSGANG_ARTIKELKLASSE] = lspos.getFlrartikel().getFlrartikelklasse() .getC_nr(); } else { dataRow[FELD_WARENAUSGANG_ARTIKELKLASSE] = ""; } if (lspos.getFlrartikel().getFlrartikelgruppe() != null) { dataRow[FELD_WARENAUSGANG_ARTIKELGRUPPE] = lspos.getFlrartikel().getFlrartikelgruppe() .getC_nr(); } else { dataRow[FELD_WARENAUSGANG_ARTIKELGRUPPE] = ""; } dataRow[FELD_WARENAUSGANG_EINHEIT] = lspos.getFlrartikel().getEinheit_c_nr(); } dataRow[FELD_WARENAUSGANG_URSPRUNGSLAND] = ""; dataRow[FELD_WARENAUSGANG_WARENVERKEHRSNUMMER] = ""; dataRow[FELD_WARENAUSGANG_MENGE] = lspos.getN_menge(); dataRow[FELD_WARENAUSGANG_POSITIONSPREIS] = lspos .getN_nettogesamtpreisplusversteckteraufschlagminusrabatt(); dataRow[FELD_WARENAUSGANG_GESTPREIS] = getLagerFac() .getGemittelterGestehungspreisEinerAbgangsposition(LocaleFac.BELEGART_LIEFERSCHEIN, lspos.getI_id()); if (lspos.getFlrkostentraeger() != null) { dataRow[FELD_WARENAUSGANG_KOSTENTRAEGER] = lspos.getFlrkostentraeger().getC_bez(); } dataRow[FELD_WARENAUSGANG_TEXTEINGABE] = lspos.getC_textinhalt(); dataRow[FELD_WARENAUSGANG_RECHNUNGSPROVISION] = null; if (lspos.getFlrlieferschein().getPersonal_i_id_vertreter() != null) { PersonalDto persDto = getPersonalFac().personalFindByPrimaryKey( lspos.getFlrlieferschein().getPersonal_i_id_vertreter(), theClientDto); dataRow[FELD_WARENAUSGANG_PROVISIONSEMPFAENGER] = persDto.getCKurzzeichen(); } if (lspos.getFlrmwstsatz() != null) { dataRow[FELD_WARENAUSGANG_MWST] = lspos.getFlrmwstsatz().getF_mwstsatz(); } dataRow[FELD_WARENAUSGANG_ERLOESKONTO] = null; dataRow[FELD_WARENAUSGANG_DEBITORENKONTO] = null; if (lspos.getFlrlieferschein().getFlrkunde().getFlrpartner().getFlrlandplzort() == null) { dataRow[FELD_WARENAUSGANG_PLZ] = ""; dataRow[FELD_WARENAUSGANG_LKZ] = ""; dataRow[FELD_WARENAUSGANG_STATISTIKADRESSE_ORT] = ""; } else { dataRow[FELD_WARENAUSGANG_PLZ] = lspos.getFlrlieferschein().getFlrkunde().getFlrpartner() .getFlrlandplzort().getC_plz(); dataRow[FELD_WARENAUSGANG_LKZ] = lspos.getFlrlieferschein().getFlrkunde().getFlrpartner() .getFlrlandplzort().getFlrland().getC_lkz(); dataRow[FELD_WARENAUSGANG_STATISTIKADRESSE_ORT] = lspos.getFlrlieferschein().getFlrkunde() .getFlrpartner().getFlrlandplzort().getFlrort().getC_name(); dataRow[FELD_WARENAUSGANG_LIEFERADRESSE_ORT] = lspos.getFlrlieferschein().getFlrkunde() .getFlrpartner().getFlrlandplzort().getFlrort().getC_name(); } dataRow[FELD_WARENAUSGANG_ADRESSE] = lspos.getFlrlieferschein().getFlrkunde().getFlrpartner() .getC_strasse(); dataRow[FELD_WARENAUSGANG_STATISTIKADRESSE_PARTNER_I_ID] = dataRow[FELD_WARENAUSGANG_PARTNER_I_ID]; dataRow[FELD_WARENAUSGANG_STATISTIKADRESSE_ANREDE_C_NR] = lspos.getFlrlieferschein() .getFlrkunde().getFlrpartner().getAnrede_c_nr(); dataRow[FELD_WARENAUSGANG_STATISTIKADRESSE_C_NAME1] = lspos.getFlrlieferschein().getFlrkunde() .getFlrpartner().getC_name1nachnamefirmazeile1(); dataRow[FELD_WARENAUSGANG_STATISTIKADRESSE_C_NAME2] = lspos.getFlrlieferschein().getFlrkunde() .getFlrpartner().getC_name2vornamefirmazeile2(); dataRow[FELD_WARENAUSGANG_STATISTIKADRESSE_C_NAME3ABTEILUNG] = lspos.getFlrlieferschein() .getFlrkunde().getFlrpartner().getC_name3vorname2abteilung(); dataRow[FELD_WARENAUSGANG_STATISTIKADRESSE_C_STRASSE] = lspos.getFlrlieferschein().getFlrkunde() .getFlrpartner().getC_strasse(); dataRow[FELD_WARENAUSGANG_STATISTIKADRESSE_LAND] = dataRow[FELD_WARENAUSGANG_LKZ]; dataRow[FELD_WARENAUSGANG_STATISTIKADRESSE_PLZ] = dataRow[FELD_WARENAUSGANG_PLZ]; dataRow[FELD_WARENAUSGANG_LIEFERADRESSE_PARTNER_I_ID] = dataRow[FELD_WARENAUSGANG_PARTNER_I_ID]; dataRow[FELD_WARENAUSGANG_LIEFERADRESSE_ANREDE_C_NR] = lspos.getFlrlieferschein().getFlrkunde() .getFlrpartner().getAnrede_c_nr(); dataRow[FELD_WARENAUSGANG_LIEFERADRESSE_C_NAME1] = lspos.getFlrlieferschein().getFlrkunde() .getFlrpartner().getC_name1nachnamefirmazeile1(); dataRow[FELD_WARENAUSGANG_LIEFERADRESSE_C_NAME2] = lspos.getFlrlieferschein().getFlrkunde() .getFlrpartner().getC_name2vornamefirmazeile2(); dataRow[FELD_WARENAUSGANG_LIEFERADRESSE_C_NAME3ABTEILUNG] = lspos.getFlrlieferschein() .getFlrkunde().getFlrpartner().getC_name3vorname2abteilung(); dataRow[FELD_WARENAUSGANG_LIEFERADRESSE_C_STRASSE] = lspos.getFlrlieferschein().getFlrkunde() .getFlrpartner().getC_strasse(); dataRow[FELD_WARENAUSGANG_LIEFERADRESSE_LAND] = dataRow[FELD_WARENAUSGANG_LKZ]; dataRow[FELD_WARENAUSGANG_LIEFERADRESSE_PLZ] = dataRow[FELD_WARENAUSGANG_PLZ]; Integer brancheIId = lspos.getFlrlieferschein().getFlrkunde().getFlrpartner().getBranche_i_id(); if (brancheIId != null) { dataRow[FELD_WARENAUSGANG_BRANCHE] = getPartnerServicesFac() .brancheFindByPrimaryKey(brancheIId, theClientDto).getCNr(); } Integer partnerklIId = lspos.getFlrlieferschein().getFlrkunde().getFlrpartner() .getPartnerklasse_i_id(); if (partnerklIId != null) { dataRow[FELD_WARENAUSGANG_PARTNERKLASSE] = getPartnerFac() .partnerklasseFindByPrimaryKey(partnerklIId, theClientDto).getCNr(); } dataRow[FELD_WARENAUSGANG_USTLAND] = null; dataRow[FELD_WARENAUSGANG_WAEHRUNG] = lspos.getFlrlieferschein() .getWaehrung_c_nr_lieferscheinwaehrung(); dataRow[FELD_WARENAUSGANG_KURS] = new BigDecimal( lspos.getFlrlieferschein().getF_wechselkursmandantwaehrungzulieferscheinwaehrung()); dataRow[FELD_WARENAUSGANG_BESTELLNUMMER] = lspos.getFlrlieferschein().getC_bestellnummer(); dataRow[FELD_WARENAUSGANG_PROJEKT] = lspos.getFlrlieferschein().getC_bez_projektbezeichnung(); if (lspos.getFlrlieferschein().getFlrkunderechnungsadresse() != null) { dataRow[FELD_WARENAUSGANG_KUNDENNUMMER_RECHNUNGSADRESSE_LS] = lspos.getFlrlieferschein() .getFlrkunderechnungsadresse().getI_kundennummer(); dataRow[FELD_WARENAUSGANG_KUNDENBEZEICHNUNG_RECHNUNGSADRESSE_LS] = lspos .getFlrlieferschein().getFlrkunderechnungsadresse().getFlrpartner() .getC_name1nachnamefirmazeile1(); dataRow[FELD_WARENAUSGANG_KUNDEKURZBEZEICHNUNG_RECHNUNGSADRESSE_LS] = lspos .getFlrlieferschein().getFlrkunderechnungsadresse().getFlrpartner().getC_kbez(); } else { dataRow[FELD_WARENAUSGANG_KUNDENNUMMER_RECHNUNGSADRESSE_LS] = ""; dataRow[FELD_WARENAUSGANG_KUNDENBEZEICHNUNG_RECHNUNGSADRESSE_LS] = ""; dataRow[FELD_WARENAUSGANG_KUNDEKURZBEZEICHNUNG_RECHNUNGSADRESSE_LS] = ""; } dataRow[FELD_WARENAUSGANG_KUNDE_HINWEISEXT] = lspos.getFlrlieferschein().getFlrkunde() .getC_hinweisextern(); dataRow[FELD_WARENAUSGANG_KUNDE_HINWEISINT] = lspos.getFlrlieferschein().getFlrkunde() .getC_hinweisintern(); if (lspos.getPosition_i_id_artikelset() != null) { dataRow[FELD_WARENAUSGANG_SETARTIKEL_TYP] = ArtikelFac.SETARTIKEL_TYP_POSITION; } else { if (lspos.getSetartikel_set().size() > 0) { dataRow[FELD_WARENAUSGANG_SETARTIKEL_TYP] = ArtikelFac.SETARTIKEL_TYP_KOPF; } } if (lspos.getFlrlieferschein().getFlrauftrag() != null) { dataRow[FELD_WARENAUSGANG_KUNDE_LIEFERDAUER] = lspos.getFlrlieferschein().getFlrauftrag() .getFlrkunde().getI_lieferdauer(); dataRow[FELD_WARENAUSGANG_AUFTRAG_NUMMER] = lspos.getFlrlieferschein().getFlrauftrag() .getC_nr(); if (lspos.getFlrlieferschein().getFlrauftrag().getFlrbegruendung() != null) { String bez = lspos.getFlrlieferschein().getFlrauftrag().getFlrbegruendung().getC_nr(); if (lspos.getFlrlieferschein().getFlrauftrag().getFlrbegruendung().getC_bez() != null) { bez += " " + lspos.getFlrlieferschein().getFlrauftrag().getFlrbegruendung().getC_bez(); } dataRow[FELD_WARENAUSGANG_AUFTRAG_BEGRUENDUNG] = bez; } } if (lspos.getFlrpositionensichtauftrag() != null) { dataRow[FELD_WARENAUSGANG_GEPLANTER_LIEFERTERMIN] = lspos.getFlrpositionensichtauftrag() .getT_uebersteuerterliefertermin(); } if (lspos.getFlrlieferschein().getFlrkunde().getFlrpersonal() != null) { dataRow[FELD_WARENAUSGANG_KUNDE_PROVISIONSEMPFAENGER_KURZZEICHEN] = lspos .getFlrlieferschein().getFlrkunde().getFlrpersonal().getC_kurzzeichen(); } else { dataRow[FELD_WARENAUSGANG_KUNDE_PROVISIONSEMPFAENGER_KURZZEICHEN] = ""; } dataRow[FELD_WARENAUSGANG_LAGER_RECHNUNG] = ""; if (lspos.getFlrlieferschein().getFlrlager() != null) { dataRow[FELD_WARENAUSGANG_LAGER_LIEFERSCHEIN] = lspos.getFlrlieferschein().getFlrlager() .getC_nr(); } else { dataRow[FELD_WARENAUSGANG_LAGER_LIEFERSCHEIN] = ""; } if (lspos.getFlrlieferschein().getFlrziellager() != null) { dataRow[FELD_WARENAUSGANG_ZIELLAGER_LIEFERSCHEIN] = lspos.getFlrlieferschein() .getFlrziellager().getC_nr(); } else { dataRow[FELD_WARENAUSGANG_ZIELLAGER_LIEFERSCHEIN] = ""; } if (lspos.getFlrlieferschein().getFlrkunderechnungsadresse() != null) { dataRow[FELD_WARENAUSGANG_ILN_RECHNUNGSADRESSE] = lspos.getFlrlieferschein() .getFlrkunderechnungsadresse().getFlrpartner().getC_iln(); } tmData.put(i, dataRow); i++; } } // tmData in Object[][] umwandeln data = new Object[tmData.size()][REPORT_WARENAUSGANG_ANZAHL_SPALTEN]; for (int y = 0; y < data.length; y++) { data[y] = (Object[]) tmData.get(y); if (RechnungFac.RECHNUNGART_GUTSCHRIFT.equals(data[y][FELD_WARENAUSGANG_RECHNUNGSART]) || RechnungFac.RECHNUNGART_WERTGUTSCHRIFT.equals(data[y][FELD_WARENAUSGANG_RECHNUNGSART])) { BigDecimal bdMenge = (BigDecimal) data[y][FELD_WARENAUSGANG_MENGE]; if (bdMenge != null) { data[y][FELD_WARENAUSGANG_MENGE] = bdMenge.multiply(new BigDecimal(-1)); } else { data[y][FELD_WARENAUSGANG_MENGE] = new BigDecimal(0); } // SK: Achtung bremst if (data[y][FELD_WARENAUSGANG_ZURECHNUNG] != null) { RechnungDto rechDto = getRechnungFac() .rechnungFindByPrimaryKey((Integer) data[y][FELD_WARENAUSGANG_ZURECHNUNG]); data[y][FELD_WARENAUSGANG_ZURECHNUNG] = rechDto.getCNr(); data[y][FELD_WARENAUSGANG_LIEFERSCHEINDATUM] = rechDto.getTBelegdatum(); } } // Dauert so zu lange.. Felder werden einzeln uebergeben /* * Integer partnerIId = (Integer) * data[y][FELD_WARENAUSGANG_STATISTIKADRESSE]; * if(partnerIId!=null){ PartnerDto helper = * getPartnerFac().partnerFindByPrimaryKey(partnerIId , * theClientDto); data[y][FELD_WARENAUSGANG_STATISTIKADRESSE]= * helper.formatFixTitelName1Name2(); } */ } Map<String, Object> mapParameter = new TreeMap<String, Object>(); StringBuffer sSortierung = new StringBuffer(); mapParameter.put("P_MITTEXTEINGABEN", krit.getBMitTexteingaben()); if (krit.bSortiereNachKostenstelle) { sSortierung.append( getTextRespectUISpr("lp.kostenstelle", theClientDto.getMandant(), theClientDto.getLocUi())); sSortierung.append(", "); } if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_PARTNER) { if (krit.getBVerwendeStatistikAdresse()) { sSortierung.append(getTextRespectUISpr("rech.statistikadresse", theClientDto.getMandant(), theClientDto.getLocUi())); } else { sSortierung.append( getTextRespectUISpr("lp.kunde", theClientDto.getMandant(), theClientDto.getLocUi())); } } else if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_BELEGNUMMER) { sSortierung.append( getTextRespectUISpr("bes.belegnummer", theClientDto.getMandant(), theClientDto.getLocUi())); } else if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_VERTRETER) { sSortierung.append( getTextRespectUISpr("lp.vertreter", theClientDto.getMandant(), theClientDto.getLocUi())); } else if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_IDENT) { sSortierung.append( getTextRespectUISpr("lp.artikel", theClientDto.getMandant(), theClientDto.getLocUi())); } mapParameter.put(LPReport.P_SORTIERUNG, sSortierung.toString()); if (krit.dBis != null && krit.dVon != null) { mapParameter.put(PARAMETER_WARENAUSGANG_BIS, krit.dBis.toString()); mapParameter.put(PARAMETER_WARENAUSGANG_VON, krit.dVon.toString()); } if (krit.sBelegnummerBis != null && krit.sBelegnummerVon != null) { mapParameter.put(PARAMETER_WARENAUSGANG_BIS, krit.sBelegnummerBis); mapParameter.put(PARAMETER_WARENAUSGANG_VON, krit.sBelegnummerVon); } mapParameter.put(PARAMETER_WARENAUSGNAG_GRUPPIERUNGNACHSTATISTIK, krit.getBVerwendeStatistikAdresse()); mapParameter.put(PARAMETER_WARENAUSGANG_MANDANTENWAEHRUNG, theClientDto.getSMandantenwaehrung()); initJRDS(mapParameter, RechnungReportFac.REPORT_MODUL, RechnungReportFac.REPORT_WARENAUSGANGSJOURNAL, theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto); return getReportPrint(); } catch (RemoteException ex) { throwEJBExceptionLPRespectOld(ex); return null; } finally { if (session != null) { session.close(); } } }
From source file:com.lp.server.rechnung.ejbfac.RechnungReportFacBean.java
License:Open Source License
public JasperPrintLP printZusammenfassendeMeldung(java.sql.Date dVon, java.sql.Date dBis, Integer partnerIIdFinanzamt, TheClientDto theClientDto) { Session session = null;// www . ja v a 2 s.co m try { PartnerDto partnerDtoFinazamt = getPartnerFac().partnerFindByPrimaryKey(partnerIIdFinanzamt, theClientDto); this.useCase = UC_REPORT_ALLE; SessionFactory factory = FLRSessionFactory.getFactory(); session = factory.openSession(); // Kunde oder Statistikadresse verwenden Criteria c = session.createCriteria(FLRRechnungReport.class); // Filter nach Mandant c.add(Restrictions.eq(RechnungFac.FLR_RECHNUNG_MANDANT_C_NR, theClientDto.getMandant())); // Rechnungen und Gutschriften Collection<String> cArten = new LinkedList<String>(); cArten.add(RechnungFac.RECHNUNGTYP_RECHNUNG); cArten.add(RechnungFac.RECHNUNGART_GUTSCHRIFT); c.createCriteria(RechnungFac.FLR_RECHNUNG_FLRRECHNUNGART) .add(Restrictions.in(RechnungFac.FLR_RECHNUNGART_RECHNUNGTYP_C_NR, cArten)); // Filter nach Status (keine stornierten) c.add(Restrictions .not(Restrictions.eq(RechnungFac.FLR_RECHNUNG_STATUS_C_NR, RechnungFac.STATUS_STORNIERT))); // Datum von/bis String sVon = null; String sBis = null; if (dVon != null) { c.add(Restrictions.ge(RechnungFac.FLR_RECHNUNG_D_BELEGDATUM, dVon)); sVon = Helper.formatDatum(dVon, theClientDto.getLocUi()); } if (dBis != null) { c.add(Restrictions.le(RechnungFac.FLR_RECHNUNG_D_BELEGDATUM, dBis)); sBis = Helper.formatDatum(dBis, theClientDto.getLocUi()); } // Belegnummer von/bis LpBelegnummerFormat f = getBelegnummerGeneratorObj().getBelegnummernFormat(theClientDto.getMandant()); Integer iGeschaeftsjahr = getParameterFac().getGeschaeftsjahr(theClientDto.getMandant()); String sMandantKuerzel = getParameterFac().getMandantparameter(theClientDto.getMandant(), ParameterFac.KATEGORIE_ALLGEMEIN, ParameterFac.PARAMETER_BELEGNUMMER_MANDANTKENNUNG).getCWert(); // Immer nach Kunde sortiert c.createCriteria(RechnungFac.FLR_RECHNUNG_FLRKUNDE).createCriteria(KundeFac.FLR_PARTNER) .addOrder(Order.asc(PartnerFac.FLR_PARTNER_NAME1NACHNAMEFIRMAZEILE1)); c.addOrder(Order.asc(RechnungFac.FLR_RECHNUNG_C_NR)); List<?> list = c.list(); ArrayList<Object[]> alZeilen = new ArrayList<Object[]>(); for (Iterator<?> iter = list.iterator(); iter.hasNext();) { FLRRechnungReport r = (FLRRechnungReport) iter.next(); Object[] zeile = new Object[REPORT_ZM_ANZAHL_SPALTEN]; zeile[FELD_ZM_BELEGDATUM] = r.getD_belegdatum(); // Bezahlte Betraege BigDecimal bdBezahlt = getRechnungFac().getBereitsBezahltWertVonRechnung(r.getI_id(), null); BigDecimal bdBezahltUst = getRechnungFac().getBereitsBezahltWertVonRechnungUst(r.getI_id(), null); BigDecimal bdWertmw = null; BigDecimal bdWertUstmw = null; BigDecimal bdBezahltmw = null; BigDecimal bdBezahltUstmw = null; bdBezahltmw = bdBezahlt; bdBezahltUstmw = bdBezahltUst; bdWertmw = r.getN_wert(); bdWertUstmw = r.getN_wertust(); if (r.getFlrrechnungart().getC_nr().equals(RechnungFac.RECHNUNGART_GUTSCHRIFT) || r.getFlrrechnungart().getC_nr().equals(RechnungFac.RECHNUNGART_WERTGUTSCHRIFT)) { if (bdWertmw != null) bdWertmw = bdWertmw.negate(); if (bdWertUstmw != null) bdWertUstmw = bdWertUstmw.negate(); if (bdBezahltmw != null) bdBezahltmw = bdBezahltmw.negate(); if (bdBezahltUstmw != null) bdBezahltUstmw = bdBezahltUstmw.negate(); } zeile[FELD_ZM_BETRAG] = bdWertmw; zeile[FELD_ZM_BETRAGUST] = bdWertUstmw; zeile[FELD_ZM_BEZAHLT] = bdBezahltmw; zeile[FELD_ZM_BEZAHLTUST] = bdBezahltUstmw; // Kostenstelle if (r.getFlrkostenstelle() != null) { String sKostenstellen = ""; KostenstelleDto k = null; RechnungkontierungDto[] rechnungkontierungsDto = getRechnungFac() .rechnungkontierungFindByRechnungIId(r.getI_id()); if (rechnungkontierungsDto.length != 0) { for (int e = 0; e < rechnungkontierungsDto.length; e++) { k = getSystemFac() .kostenstelleFindByPrimaryKey(rechnungkontierungsDto[e].getKostenstelleIId()); sKostenstellen = sKostenstellen + k.getCNr() + " "; } } else { sKostenstellen = r.getFlrkostenstelle().getC_nr(); } zeile[FELD_ZM_KOSTENSTELLENUMMER] = sKostenstellen; } else { zeile[FELD_ZM_KOSTENSTELLENUMMER] = null; } // Kundendaten FLRKunde flrKunde, flrKundeStatistik; flrKunde = r.getFlrkunde(); // Statistikdaten wenn nicht Kriterium Statistikadresse flrKundeStatistik = r.getFlrstatistikadresse(); zeile[FELD_ZM_KUNDE_STATISTIK] = flrKundeStatistik.getFlrpartner().getC_name1nachnamefirmazeile1(); if (flrKundeStatistik.getFlrpartner().getC_name2vornamefirmazeile2() != null) { zeile[FELD_ZM_KUNDE2_STATISTIK] = flrKundeStatistik.getFlrpartner() .getC_name2vornamefirmazeile2(); } else { zeile[FELD_ZM_KUNDE2_STATISTIK] = ""; } PartnerDto partnerDtoStatistik = getPartnerFac() .partnerFindByPrimaryKey(flrKundeStatistik.getFlrpartner().getI_id(), theClientDto); zeile[FELD_ZM_ADRESSE_STATISTIK] = partnerDtoStatistik.formatAdresse(); zeile[FELD_ZM_KUNDE] = flrKunde.getFlrpartner().getC_name1nachnamefirmazeile1(); zeile[FELD_ZM_REVERSE_CHARGE] = Helper.short2Boolean(r.getB_reversecharge()); zeile[FELD_ZM_KUNDE_UID] = flrKunde.getFlrpartner().getC_uid(); if (r.getFlrvertreter() != null) { if (r.getFlrvertreter().getFlrpartner().getC_name2vornamefirmazeile2() != null) { zeile[FELD_ZM_VERTRETER] = r.getFlrvertreter().getFlrpartner() .getC_name1nachnamefirmazeile1() + " " + r.getFlrvertreter().getFlrpartner().getC_name2vornamefirmazeile2(); } else { zeile[FELD_ZM_VERTRETER] = r.getFlrvertreter().getFlrpartner() .getC_name1nachnamefirmazeile1(); } } if (flrKunde.getFlrpartner().getC_name2vornamefirmazeile2() != null) { zeile[FELD_ZM_KUNDE2] = flrKunde.getFlrpartner().getC_name2vornamefirmazeile2(); } else { zeile[FELD_ZM_KUNDE2] = ""; } PartnerDto partnerDto = getPartnerFac().partnerFindByPrimaryKey(flrKunde.getFlrpartner().getI_id(), theClientDto); zeile[FELD_ZM_ADRESSE] = partnerDto.formatAdresse(); Integer mahnstufeIId = getMahnwesenFac().getAktuelleMahnstufeEinerRechnung(r.getI_id(), theClientDto); if (mahnstufeIId != null) { zeile[FELD_ZM_MAHNSTUFE] = mahnstufeIId; MahnstufeDto mahnstufeDto = getMahnwesenFac() .mahnstufeFindByPrimaryKey(new MahnstufePK(mahnstufeIId, r.getMandant_c_nr())); // Zinsen nur fuer noch nicht vollstaendig bezahlte if (!r.getStatus_c_nr().equals(RechnungFac.STATUS_BEZAHLT)) { if (mahnstufeDto.getFZinssatz() != null) { BigDecimal bdOffen = r.getN_wert().subtract(bdBezahlt); // Zinsen zeile[FELD_ZM_ZINSEN] = bdOffen .multiply(new BigDecimal(mahnstufeDto.getFZinssatz().floatValue())) .movePointLeft(2); } } } zeile[FELD_ZM_ORT] = partnerDto.formatAdresse(); if (r.getFlrrechnungart().getC_nr().equals(RechnungFac.RECHNUNGART_RECHNUNG)) { zeile[FELD_ZM_RECHNUNGSNUMMER] = "RE " + r.getC_nr(); zeile[FELD_ZM_RECHNUNGSNUMMERZUGUTSCHRIFT] = ""; } else if (r.getFlrrechnungart().getC_nr().equals(RechnungFac.RECHNUNGART_ANZAHLUNG)) { zeile[FELD_ZM_RECHNUNGSNUMMER] = "AZ " + r.getC_nr(); zeile[FELD_ZM_RECHNUNGSNUMMERZUGUTSCHRIFT] = ""; } else if (r.getFlrrechnungart().getC_nr().equals(RechnungFac.RECHNUNGART_SCHLUSSZAHLUNG)) { zeile[FELD_ZM_RECHNUNGSNUMMER] = "SZ " + r.getC_nr(); zeile[FELD_ZM_RECHNUNGSNUMMERZUGUTSCHRIFT] = ""; } else { if (r.getFlrrechnungart().getC_nr().equals(RechnungFac.RECHNUNGART_GUTSCHRIFT) || r.getFlrrechnungart().getC_nr().equals(RechnungFac.RECHNUNGART_WERTGUTSCHRIFT)) { zeile[FELD_ZM_RECHNUNGSNUMMER] = "GS " + r.getC_nr(); // wenn es eine Gutschrift ist die C_NR der Rechnung // uebergeben if (r.getFlrrechnung() != null) { zeile[FELD_ZM_RECHNUNGSNUMMERZUGUTSCHRIFT] = "RE " + r.getFlrrechnung().getC_nr(); } } else { zeile[FELD_ZM_RECHNUNGSNUMMER] = r.getC_nr(); zeile[FELD_ZM_RECHNUNGSNUMMERZUGUTSCHRIFT] = ""; } } if (r.getZahlungsziel_i_id() != null) { zeile[FELD_ZM_ZIELDATUM] = getMandantFac().berechneZielDatumFuerBelegdatum(r.getD_belegdatum(), r.getZahlungsziel_i_id(), theClientDto); } // Bezahlt if (r.getT_bezahltdatum() != null) { zeile[FELD_ZM_BEZAHLTDATUM] = r.getT_bezahltdatum(); // Zahltage int iZahltage = Helper.getDifferenzInTagen(r.getD_belegdatum(), r.getT_bezahltdatum()); zeile[FELD_ZM_ZAHLTAGE] = new Integer(iZahltage); } // Debitorenkontonummer KontoDtoSmall kontoDtoDeb = null; if (flrKunde.getKonto_i_id_debitorenkonto() != null) { kontoDtoDeb = getFinanzFac() .kontoFindByPrimaryKeySmallOhneExc(flrKunde.getKonto_i_id_debitorenkonto()); } String sKontonummer; if (kontoDtoDeb != null) { sKontonummer = kontoDtoDeb.getCNr(); } else { sKontonummer = ""; } zeile[FELD_ZM_DEBITORENKONTO] = sKontonummer; zeile[FELD_ZM_WAEHRUNG] = r.getWaehrung_c_nr(); zeile[FELD_ZM_KURS] = r.getN_kurs(); // 14217 String sLaenderart = getFinanzServiceFac().getLaenderartZuPartner(partnerDtoFinazamt, partnerDto, theClientDto); zeile[FELD_ZM_LAENDERART] = sLaenderart; if (sLaenderart != null && sLaenderart.equals(FinanzFac.LAENDERART_EU_AUSLAND_MIT_UID)) { alZeilen.add(zeile); } } data = new Object[alZeilen.size()][REPORT_ZM_ANZAHL_SPALTEN]; data = alZeilen.toArray(data); MandantDto mandantDto = getMandantFac().mandantFindByPrimaryKey(theClientDto.getMandant(), theClientDto); // Waehrung HashMap mapParameter = new HashMap(); mapParameter.put(LPReport.P_WAEHRUNG, mandantDto.getWaehrungCNr()); StringBuffer sSortierung = new StringBuffer(); sSortierung.append(getTextRespectUISpr("lp.kunde", theClientDto.getMandant(), theClientDto.getLocUi())); StringBuffer sFilter = new StringBuffer(); if (sVon != null) { sFilter.append(getTextRespectUISpr("lp.von", theClientDto.getMandant(), theClientDto.getLocUi())); sFilter.append(" " + sVon + " "); } if (sBis != null) { sFilter.append(getTextRespectUISpr("lp.bis", theClientDto.getMandant(), theClientDto.getLocUi())); sFilter.append(" " + sBis + " "); } mapParameter.put(LPReport.P_SORTIERUNG, sSortierung.toString()); mapParameter.put(LPReport.P_FILTER, sFilter.toString()); FinanzamtDto finanzamtDto = getFinanzFac().finanzamtFindByPrimaryKey(partnerIIdFinanzamt, theClientDto.getMandant(), theClientDto); boolean bRunden = false; bRunden = Helper.short2boolean(finanzamtDto.getBUmsatzRunden()); mapParameter.put("P_FA_NAME", finanzamtDto.getPartnerDto().formatFixName1Name2()); mapParameter.put("P_FA_ADRESSE", finanzamtDto.getPartnerDto().formatAdresse()); // Steuernummer mapParameter.put("P_FA_STEUERNUMMER", finanzamtDto.getCSteuernummer()); mapParameter.put("P_FA_REFERAT", finanzamtDto.getCReferat()); mapParameter.put("P_UMSATZRUNDEN", new Boolean(bRunden)); initJRDS(mapParameter, RechnungReportFac.REPORT_MODUL, RechnungReportFac.REPORT_RECHNUNGEN_ZM, theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto); return getReportPrint(); } catch (RemoteException ex) { throwEJBExceptionLPRespectOld(ex); return null; } finally { if (session != null) { session.close(); } } }
From source file:com.lp.server.rechnung.ejbfac.RechnungReportFacBean.java
License:Open Source License
private JasperPrintLP buildAlleReport(ReportRechnungJournalKriterienDto krit, String rechnungtypCNr, String sReportname, TheClientDto theClientDto) throws EJBExceptionLP { Session session = null;//from w w w. ja va 2 s. c o m try { this.useCase = UC_REPORT_ALLE; SessionFactory factory = FLRSessionFactory.getFactory(); session = factory.openSession(); // Kunde oder Statistikadresse verwenden final String critKundeIId; final String critFLRKunde; if (krit.getBVerwendeStatistikAdresse()) { critKundeIId = RechnungFac.FLR_RECHNUNG_KUNDE_I_ID_STATISTIKADRESSE; critFLRKunde = RechnungFac.FLR_RECHNUNG_FLRSTATISTIKADRESSE; } else { critKundeIId = RechnungFac.FLR_RECHNUNG_KUNDE_I_ID; critFLRKunde = RechnungFac.FLR_RECHNUNG_FLRKUNDE; } Criteria c = session.createCriteria(FLRRechnungReport.class); // Filter nach Mandant c.add(Restrictions.eq(RechnungFac.FLR_RECHNUNG_MANDANT_C_NR, theClientDto.getMandant())); if (krit.getBGutschriftenBeruecksichtigen()) { // Rechnungen und Gutschriften Collection<String> cArten = new LinkedList<String>(); cArten.add(rechnungtypCNr); cArten.add(RechnungFac.RECHNUNGART_GUTSCHRIFT); c.createCriteria(RechnungFac.FLR_RECHNUNG_FLRRECHNUNGART) .add(Restrictions.in(RechnungFac.FLR_RECHNUNGART_RECHNUNGTYP_C_NR, cArten)); } else { // nur Rechnungen c.createCriteria(RechnungFac.FLR_RECHNUNG_FLRRECHNUNGART) .add(Restrictions.eq(RechnungFac.FLR_RECHNUNGART_RECHNUNGTYP_C_NR, rechnungtypCNr)); } // Filter nach Kostenstelle if (krit.kostenstelleIId != null) { c.add(Restrictions.eq(RechnungFac.FLR_RECHNUNG_KOSTENSTELLE_I_ID, krit.kostenstelleIId)); } // Filter nach einem Kunden Map<String, Object> mapParameter = new TreeMap<String, Object>(); if (krit.kundeIId != null) { c.add(Restrictions.eq(critKundeIId, krit.kundeIId)); KundeDto kundeDto = getKundeFac().kundeFindByPrimaryKey(krit.kundeIId, theClientDto); mapParameter.put("P_KUNDE", kundeDto.getPartnerDto().formatTitelAnrede()); } // Filter nach einem Vertrter if (krit.vertreterIId != null) { c.add(Restrictions.eq(RechnungFac.FLR_RECHNUNG_FLRVERTRETER + ".i_id", krit.vertreterIId)); } // Filter nach Status (keine stornierten) c.add(Restrictions .not(Restrictions.eq(RechnungFac.FLR_RECHNUNG_STATUS_C_NR, RechnungFac.STATUS_STORNIERT))); // Nur offene anzeigen? if (krit.getBNurOffene()) { Collection<String> cStati = new LinkedList<String>(); cStati.add(RechnungFac.STATUS_ANGELEGT); cStati.add(RechnungFac.STATUS_OFFEN); cStati.add(RechnungFac.STATUS_TEILBEZAHLT); cStati.add(RechnungFac.STATUS_VERBUCHT); c.add(Restrictions.in(RechnungFac.FLR_RECHNUNG_STATUS_C_NR, cStati)); } // Datum von/bis String sVon = null; String sBis = null; if (krit.dVon != null) { c.add(Restrictions.ge(RechnungFac.FLR_RECHNUNG_D_BELEGDATUM, krit.dVon)); sVon = Helper.formatDatum(krit.dVon, theClientDto.getLocUi()); } if (krit.dBis != null) { c.add(Restrictions.le(RechnungFac.FLR_RECHNUNG_D_BELEGDATUM, krit.dBis)); sBis = Helper.formatDatum(krit.dBis, theClientDto.getLocUi()); } // Belegnummer von/bis LpBelegnummerFormat f = getBelegnummerGeneratorObj().getBelegnummernFormat(theClientDto.getMandant()); Integer iGeschaeftsjahr = getParameterFac().getGeschaeftsjahr(theClientDto.getMandant()); String sMandantKuerzel = getParameterFac().getMandantparameter(theClientDto.getMandant(), ParameterFac.KATEGORIE_ALLGEMEIN, ParameterFac.PARAMETER_BELEGNUMMER_MANDANTKENNUNG).getCWert(); if (krit.sBelegnummerVon != null) { sVon = HelperServer.getBelegnummernFilterForHibernateCriterias(f, iGeschaeftsjahr, sMandantKuerzel, krit.sBelegnummerVon); c.add(Restrictions.ge(RechnungFac.FLR_RECHNUNG_C_NR, sVon)); } if (krit.sBelegnummerBis != null) { sBis = HelperServer.getBelegnummernFilterForHibernateCriterias(f, iGeschaeftsjahr, sMandantKuerzel, krit.sBelegnummerBis); c.add(Restrictions.le(RechnungFac.FLR_RECHNUNG_C_NR, sBis)); } // Sortierung nach Kostenstelle ist optional if (krit.bSortiereNachKostenstelle) { c.createCriteria(RechnungFac.FLR_RECHNUNG_FLRKOSTENSTELLE).addOrder(Order.asc("c_nr")); } // Sortierung nach Partner ist optional if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_PARTNER) { c.createCriteria(critFLRKunde).createCriteria(KundeFac.FLR_PARTNER) .addOrder(Order.asc(PartnerFac.FLR_PARTNER_NAME1NACHNAMEFIRMAZEILE1)); } else if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_BELEGNUMMER) { c.addOrder(Order.asc(RechnungFac.FLR_RECHNUNG_C_NR)); } if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_VERTRETER) { c.createCriteria(RechnungFac.FLR_RECHNUNG_FLRVERTRETER) .addOrder(Order.asc(PersonalFac.FLR_PERSONAL_C_KURZZEICHEN)); } List<?> list = c.list(); data = new Object[list.size()][REPORT_ALLE_ANZAHL_SPALTEN]; // Map mapZahlungsziele = // getMandantFac().zahlungszielFindAllByMandantAsDto // (theClientDto.getMandant(), // theClientDto.getIDUser()); int i = 0; for (Iterator<?> iter = list.iterator(); iter.hasNext();) { FLRRechnungReport r = (FLRRechnungReport) iter.next(); data[i][FELD_ALLE_BELEGDATUM] = r.getD_belegdatum(); // Bezahlte Betraege BigDecimal bdBezahlt = getRechnungFac().getBereitsBezahltWertVonRechnung(r.getI_id(), null); BigDecimal bdBezahltUst = getRechnungFac().getBereitsBezahltWertVonRechnungUst(r.getI_id(), null); BigDecimal bdWertmw = null; BigDecimal bdWertUstmw = null; BigDecimal bdBezahltmw = null; BigDecimal bdBezahltUstmw = null; bdBezahltmw = bdBezahlt; bdBezahltUstmw = bdBezahltUst; BigDecimal bdWertFW = null; BigDecimal bdWertUstFW = null; BigDecimal bdBezahltFW = getRechnungFac().getBereitsBezahltWertVonRechnungFw(r.getI_id(), null); BigDecimal bdBezahltUstFW = getRechnungFac().getBereitsBezahltWertVonRechnungUstFw(r.getI_id(), null); bdWertmw = r.getN_wert(); bdWertUstmw = r.getN_wertust(); bdWertFW = r.getN_wertfw(); bdWertUstFW = r.getN_wertustfw(); if (r.getFlrrechnungart().getC_nr().equals(RechnungFac.RECHNUNGART_GUTSCHRIFT) || r.getFlrrechnungart().getC_nr().equals(RechnungFac.RECHNUNGART_WERTGUTSCHRIFT)) { if (bdWertmw != null) bdWertmw = bdWertmw.negate(); if (bdWertUstmw != null) bdWertUstmw = bdWertUstmw.negate(); if (bdBezahltmw != null) bdBezahltmw = bdBezahltmw.negate(); if (bdBezahltUstmw != null) bdBezahltUstmw = bdBezahltUstmw.negate(); // FW if (bdWertFW != null) bdWertFW = bdWertFW.negate(); if (bdWertUstFW != null) bdWertUstFW = bdWertUstFW.negate(); if (bdBezahltFW != null) bdBezahltFW = bdBezahltFW.negate(); if (bdBezahltUstFW != null) bdBezahltUstFW = bdBezahltUstFW.negate(); } data[i][FELD_ALLE_BETRAG] = bdWertmw; data[i][FELD_ALLE_BETRAGUST] = bdWertUstmw; data[i][FELD_ALLE_BEZAHLT] = bdBezahltmw; data[i][FELD_ALLE_BEZAHLTUST] = bdBezahltUstmw; data[i][FELD_ALLE_BETRAG_FW] = bdWertFW; data[i][FELD_ALLE_BETRAGUST_FW] = bdWertUstFW; data[i][FELD_ALLE_BEZAHLT_FW] = bdBezahltFW; data[i][FELD_ALLE_BEZAHLTUST_FW] = bdBezahltUstFW; BigDecimal bdUstAnzahlungMandWhg = new BigDecimal(0); BigDecimal bdNettoAnzahlungMandWhg = new BigDecimal(0); BigDecimal bdUstAnzahlungFW = new BigDecimal(0); BigDecimal bdNettoAnzahlungFW = new BigDecimal(0); if (r.getFlrauftrag() != null && r.getFlrrechnungart().getC_nr().equals(RechnungFac.RECHNUNGART_SCHLUSSZAHLUNG)) { bdUstAnzahlungFW = getRechnungFac().getAnzahlungenZuSchlussrechnungUstFw(r.getI_id()); bdNettoAnzahlungFW = getRechnungFac().getAnzahlungenZuSchlussrechnungFw(r.getI_id()); bdNettoAnzahlungMandWhg = getLocaleFac().rechneUmInAndereWaehrungZuDatum(bdNettoAnzahlungFW, r.getWaehrung_c_nr(), theClientDto.getSMandantenwaehrung(), new Date(System.currentTimeMillis()), theClientDto); bdUstAnzahlungMandWhg = getLocaleFac().rechneUmInAndereWaehrungZuDatum(bdUstAnzahlungFW, r.getWaehrung_c_nr(), theClientDto.getSMandantenwaehrung(), new Date(System.currentTimeMillis()), theClientDto); } data[i][FELD_ALLE_WERT_ANZAHLUNGEN] = bdNettoAnzahlungMandWhg; data[i][FELD_ALLE_WERT_ANZAHLUNGENUST] = bdUstAnzahlungMandWhg; data[i][FELD_ALLE_WERT_ANZAHLUNGEN_FW] = bdNettoAnzahlungFW; data[i][FELD_ALLE_WERT_ANZAHLUNGENUST_FW] = bdUstAnzahlungFW; // Kostenstelle if (r.getFlrkostenstelle() != null) { String sKostenstellen = ""; KostenstelleDto k = null; RechnungkontierungDto[] rechnungkontierungsDto = getRechnungFac() .rechnungkontierungFindByRechnungIId(r.getI_id()); if (rechnungkontierungsDto.length != 0) { for (int e = 0; e < rechnungkontierungsDto.length; e++) { k = getSystemFac() .kostenstelleFindByPrimaryKey(rechnungkontierungsDto[e].getKostenstelleIId()); sKostenstellen = sKostenstellen + k.getCNr() + " "; } } else { sKostenstellen = r.getFlrkostenstelle().getC_nr(); } data[i][FELD_ALLE_KOSTENSTELLENUMMER] = sKostenstellen; } else { data[i][FELD_ALLE_KOSTENSTELLENUMMER] = null; } // Kundendaten FLRKunde flrKunde, flrKundeStatistik; if (krit.getBVerwendeStatistikAdresse()) { flrKunde = r.getFlrstatistikadresse(); } else { flrKunde = r.getFlrkunde(); // Statistikdaten wenn nicht Kriterium Statistikadresse flrKundeStatistik = r.getFlrstatistikadresse(); data[i][FELD_ALLE_KUNDE_STATISTIK] = flrKundeStatistik.getFlrpartner() .getC_name1nachnamefirmazeile1(); if (flrKundeStatistik.getFlrpartner().getC_name2vornamefirmazeile2() != null) { data[i][FELD_ALLE_KUNDE2_STATISTIK] = flrKundeStatistik.getFlrpartner() .getC_name2vornamefirmazeile2(); } else { data[i][FELD_ALLE_KUNDE2_STATISTIK] = ""; } PartnerDto partnerDtoStatistik = getPartnerFac() .partnerFindByPrimaryKey(flrKundeStatistik.getFlrpartner().getI_id(), theClientDto); data[i][FELD_ALLE_ADRESSE_STATISTIK] = partnerDtoStatistik.formatAdresse(); } data[i][FELD_ALLE_KUNDE] = flrKunde.getFlrpartner().getC_name1nachnamefirmazeile1(); data[i][FELD_ALLE_REVERSE_CHARGE] = Helper.short2Boolean(r.getB_reversecharge()); data[i][FELD_ALLE_STATUS] = r.getStatus_c_nr(); data[i][FELD_ALLE_ZOLLBELEGNUMMER] = r.getC_zollpapier(); data[i][FELD_ALLE_KUNDE_UID] = flrKunde.getFlrpartner().getC_uid(); if (r.getFlrvertreter() != null) { if (r.getFlrvertreter().getFlrpartner().getC_name2vornamefirmazeile2() != null) { data[i][FELD_ALLE_VERTRETER] = r.getFlrvertreter().getFlrpartner() .getC_name1nachnamefirmazeile1() + " " + r.getFlrvertreter().getFlrpartner().getC_name2vornamefirmazeile2(); } else { data[i][FELD_ALLE_VERTRETER] = r.getFlrvertreter().getFlrpartner() .getC_name1nachnamefirmazeile1(); } } if (flrKunde.getFlrpartner().getC_name2vornamefirmazeile2() != null) { data[i][FELD_ALLE_KUNDE2] = flrKunde.getFlrpartner().getC_name2vornamefirmazeile2(); } else { data[i][FELD_ALLE_KUNDE2] = ""; } PartnerDto partnerDto = getPartnerFac().partnerFindByPrimaryKey(flrKunde.getFlrpartner().getI_id(), theClientDto); data[i][FELD_ALLE_ADRESSE] = partnerDto.formatAdresse(); Integer mahnstufeIId = getMahnwesenFac().getAktuelleMahnstufeEinerRechnung(r.getI_id(), theClientDto); if (mahnstufeIId != null) { data[i][FELD_ALLE_MAHNSTUFE] = mahnstufeIId; MahnstufeDto mahnstufeDto = getMahnwesenFac() .mahnstufeFindByPrimaryKey(new MahnstufePK(mahnstufeIId, r.getMandant_c_nr())); // Zinsen nur fuer noch nicht vollstaendig bezahlte if (!r.getStatus_c_nr().equals(RechnungFac.STATUS_BEZAHLT)) { if (mahnstufeDto.getFZinssatz() != null) { BigDecimal bdOffen = r.getN_wert().subtract(bdBezahlt); // Zinsen data[i][FELD_ALLE_ZINSEN] = bdOffen .multiply(new BigDecimal(mahnstufeDto.getFZinssatz().floatValue())) .movePointLeft(2); } } } data[i][FELD_ALLE_ORT] = partnerDto.formatAdresse(); if (r.getFlrrechnungart().getC_nr().equals(RechnungFac.RECHNUNGART_RECHNUNG)) { data[i][FELD_ALLE_RECHNUNGSNUMMER] = "RE " + r.getC_nr(); data[i][FELD_ALLE_RECHNUNGSNUMMERZUGUTSCHRIFT] = ""; } else { if (r.getFlrrechnungart().getC_nr().equals(RechnungFac.RECHNUNGART_GUTSCHRIFT) || r.getFlrrechnungart().getC_nr().equals(RechnungFac.RECHNUNGART_WERTGUTSCHRIFT)) { data[i][FELD_ALLE_RECHNUNGSNUMMER] = "GS " + r.getC_nr(); // wenn es eine Gutschrift ist die C_NR der Rechnung // uebergeben if (r.getFlrrechnung() != null) { data[i][FELD_ALLE_RECHNUNGSNUMMERZUGUTSCHRIFT] = "RE " + r.getFlrrechnung().getC_nr(); } } else if (r.getFlrrechnungart().getC_nr().equals(RechnungFac.RECHNUNGART_ANZAHLUNG)) { data[i][FELD_ALLE_RECHNUNGSNUMMER] = "AZ " + r.getC_nr(); } else if (r.getFlrrechnungart().getC_nr().equals(RechnungFac.RECHNUNGART_SCHLUSSZAHLUNG)) { data[i][FELD_ALLE_RECHNUNGSNUMMER] = "SR " + r.getC_nr(); } else if (r.getFlrrechnungart().getC_nr().equals(RechnungFac.RECHNUNGART_PROFORMARECHNUNG)) { data[i][FELD_ALLE_RECHNUNGSNUMMER] = "PF " + r.getC_nr(); } else { data[i][FELD_ALLE_RECHNUNGSNUMMER] = r.getC_nr(); data[i][FELD_ALLE_RECHNUNGSNUMMERZUGUTSCHRIFT] = ""; } } if (r.getZahlungsziel_i_id() != null) { data[i][FELD_ALLE_ZIELDATUM] = getMandantFac().berechneZielDatumFuerBelegdatum( r.getD_belegdatum(), r.getZahlungsziel_i_id(), theClientDto); } // Bezahlt if (r.getT_bezahltdatum() != null) { data[i][FELD_ALLE_BEZAHLTDATUM] = r.getT_bezahltdatum(); // Zahltage int iZahltage = Helper.getDifferenzInTagen(r.getD_belegdatum(), r.getT_bezahltdatum()); data[i][FELD_ALLE_ZAHLTAGE] = new Integer(iZahltage); } // Debitorenkontonummer KontoDtoSmall kontoDtoDeb = null; if (flrKunde.getKonto_i_id_debitorenkonto() != null) { kontoDtoDeb = getFinanzFac() .kontoFindByPrimaryKeySmallOhneExc(flrKunde.getKonto_i_id_debitorenkonto()); } String sKontonummer; if (kontoDtoDeb != null) { sKontonummer = kontoDtoDeb.getCNr(); } else { sKontonummer = ""; } data[i][FELD_ALLE_DEBITORENKONTO] = sKontonummer; data[i][FELD_ALLE_WAEHRUNG] = r.getWaehrung_c_nr(); data[i][FELD_ALLE_KURS] = r.getN_kurs(); // 14217 String sLaenderart = getFinanzServiceFac().getLaenderartZuPartner(partnerDto.getIId(), theClientDto); data[i][FELD_ALLE_LAENDERART] = sLaenderart; i++; } MandantDto mandantDto = getMandantFac().mandantFindByPrimaryKey(theClientDto.getMandant(), theClientDto); // Waehrung mapParameter.put(LPReport.P_WAEHRUNG, mandantDto.getWaehrungCNr()); StringBuffer sSortierung = new StringBuffer(); if (krit.bSortiereNachKostenstelle) { sSortierung.append( getTextRespectUISpr("lp.kostenstelle", theClientDto.getMandant(), theClientDto.getLocUi())); sSortierung.append(", "); } if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_PARTNER) { if (krit.getBVerwendeStatistikAdresse()) { sSortierung.append(getTextRespectUISpr("rech.statistikadresse", theClientDto.getMandant(), theClientDto.getLocUi())); } else { sSortierung.append( getTextRespectUISpr("lp.kunde", theClientDto.getMandant(), theClientDto.getLocUi())); } } else if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_BELEGNUMMER) { sSortierung.append( getTextRespectUISpr("bes.belegnummer", theClientDto.getMandant(), theClientDto.getLocUi())); } else if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_VERTRETER) { sSortierung.append( getTextRespectUISpr("lp.vertreter", theClientDto.getMandant(), theClientDto.getLocUi())); } StringBuffer sFilter = new StringBuffer(); if (sVon != null) { sFilter.append(getTextRespectUISpr("lp.von", theClientDto.getMandant(), theClientDto.getLocUi())); sFilter.append(" " + sVon + " "); } if (sBis != null) { sFilter.append(getTextRespectUISpr("lp.bis", theClientDto.getMandant(), theClientDto.getLocUi())); sFilter.append(" " + sBis + " "); } if (krit.kostenstelleIId != null) { if (sFilter.length() > 0) { sFilter.append(", "); } KostenstelleDto kstDto = getSystemFac().kostenstelleFindByPrimaryKey(krit.kostenstelleIId); sFilter.append( getTextRespectUISpr("lp.kostenstelle", theClientDto.getMandant(), theClientDto.getLocUi())); sFilter.append(" "); sFilter.append(kstDto.getCNr()); } // Statistikadresse if (krit.getBVerwendeStatistikAdresse()) { if (sFilter.length() > 0) { sFilter.append(", "); } sFilter.append(getTextRespectUISpr("rech.nachstatistikadresse", theClientDto.getMandant(), theClientDto.getLocUi())); } mapParameter.put(LPReport.P_SORTIERUNG, sSortierung.toString()); mapParameter.put(LPReport.P_SORTIERENACHKOSTENSTELLE, new Boolean(krit.bSortiereNachKostenstelle)); mapParameter.put(LPReport.P_SORTIERENACHKUNDE, new Boolean(krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_PARTNER)); mapParameter.put(LPReport.P_SORTIERENACHVERTRETER, new Boolean(krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_VERTRETER)); mapParameter.put(LPReport.P_FILTER, sFilter.toString()); initJRDS(mapParameter, RechnungReportFac.REPORT_MODUL, sReportname, theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto); return getReportPrint(); // } // catch (FinderException ex) { // { // @ToDo FinderException // throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_DRUCKEN, // null); // } // throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_DRUCKEN, ex); } catch (RemoteException ex) { throwEJBExceptionLPRespectOld(ex); return null; } finally { if (session != null) { session.close(); } } }
From source file:com.lushapp.common.orm.hibernate.HibernateDao.java
License:Apache License
/** * ???.// w w w . j a va 2 s. c o m * * @param uniquePropertyNames * POJO???,? "name,loginid,password" */ public boolean isUnique(T entity, String uniquePropertyNames) { Assert.hasText(uniquePropertyNames); Criteria criteria = getSession().createCriteria(entityClass).setProjection(Projections.rowCount()); String[] nameList = uniquePropertyNames.split(","); try { // for (int i = 0; i < nameList.length; i++) { criteria.add(Restrictions.eq(nameList[i], PropertyUtils.getProperty(entity, nameList[i]))); } // ?update,entity. String idName = getSessionFactory().getClassMetadata(entity.getClass()).getIdentifierPropertyName(); if (idName != null) { // ?entity Serializable id = (Serializable) PropertyUtils.getProperty(entity, idName); // id!=null,,?update, if (id != null) criteria.add(Restrictions.not(Restrictions.eq(idName, id))); } } catch (Exception e) { ReflectionUtils.convertReflectionExceptionToUnchecked(e); } return ((Number) criteria.uniqueResult()).intValue() == 0; }
From source file:com.maydesk.base.gui.user.DlgSelectUser.java
License:Mozilla Public License
private void readFromModel() { Criteria criteria = PDHibernateFactory.getSession().createCriteria(MUser.class); boolean hasRestriction = false; if (!PDUtil.isEmpty(txtLastName.getText())) { criteria.add(Restrictions.like("lastName", txtLastName.getText().trim() + "%")); //$NON-NLS-1$ //$NON-NLS-2$ hasRestriction = true;/*from www . j a va 2 s . c om*/ } if (!PDUtil.isEmpty(txtFirstName.getText())) { criteria.add(Restrictions.like("firstName", txtFirstName.getText().trim() + "%")); //$NON-NLS-1$ //$NON-NLS-2$ hasRestriction = true; } if (!PDUtil.isEmpty(txtLogin.getText())) { criteria.add(Restrictions.like("login", txtLogin.getText().trim() + "%")); //$NON-NLS-1$ //$NON-NLS-2$ hasRestriction = true; } if (!hasRestriction) { criteria.add(Restrictions.isNotNull("lastName")); //$NON-NLS-1$ criteria.add(Restrictions.not(Restrictions.eq("lastName", ""))); //$NON-NLS-1$ //$NON-NLS-2$ } criteria.addOrder(Order.asc("lastName")); //$NON-NLS-1$ criteria.addOrder(Order.asc("firstName")); //$NON-NLS-1$ criteria.setMaxResults(20); List<MUser> users = criteria.list(); tableModel.setValues(users); tableModel.fireTableDataChanged(); if (users.size() > 0) { table.getSelectionModel().setSelectedIndex(0, true); } }
From source file:com.qcadoo.model.api.search.SearchRestrictions.java
License:Open Source License
/** * Wraps given criterion with "not" criterion. * /*from w w w .ja v a 2 s. com*/ * @param criterion * criterion * @return negated criterion */ public static SearchCriterion not(final SearchCriterion criterion) { return new SearchCriterionImpl(Restrictions.not(criterion.getHibernateCriterion())); }