List of usage examples for org.hibernate.criterion Restrictions gt
public static SimpleExpression gt(String propertyName, Object value)
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;// w w w. j a v a 2 s .c o 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;// w w w. j ava2s. 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.lushapp.common.orm.hibernate.HibernateDao.java
License:Apache License
/** * ??Criterion,./* w w w . jav a 2 s . c o m*/ */ protected Criterion buildCriterion(final String propertyName, final Object propertyValue, final MatchType matchType) { Assert.hasText(propertyName, "propertyName?"); Criterion criterion = null; String value; Character ESCAPE = '!'; // ?MatchTypecriterion switch (matchType) { case EQ: criterion = Restrictions.eq(propertyName, propertyValue); break; case NE: criterion = Restrictions.ne(propertyName, propertyValue); break; case LIKE: // value = (String) propertyValue; if ((ESCAPE.toString()).equals(value)) { criterion = Restrictions.like(propertyName, (String) propertyValue, MatchMode.ANYWHERE); } else { criterion = new LikeExpression(propertyName, (String) propertyValue, MatchMode.ANYWHERE, ESCAPE, true); } break; case SLIKE: // value = (String) propertyValue; if ((ESCAPE.toString()).equals(value)) { criterion = Restrictions.like(propertyName, (String) propertyValue, MatchMode.START); } else { criterion = new LikeExpression(propertyName, (String) propertyValue, MatchMode.START, ESCAPE, true); } break; case ELIKE: // value = (String) propertyValue; if ((ESCAPE.toString()).equals(value)) { criterion = Restrictions.like(propertyName, (String) propertyValue, MatchMode.END); } else { criterion = new LikeExpression(propertyName, (String) propertyValue, MatchMode.END, ESCAPE, true); } break; case LE: criterion = Restrictions.le(propertyName, propertyValue); break; case LT: criterion = Restrictions.lt(propertyName, propertyValue); break; case GE: criterion = Restrictions.ge(propertyName, propertyValue); break; case GT: criterion = Restrictions.gt(propertyName, propertyValue); break; case ISNULL: criterion = Restrictions.isNull(propertyName); } return criterion; }
From source file:com.maharishi_inn.daoImpl.AbstractDao.java
public T find(Long id) { Criteria cr = getSession().createCriteria(entityClass); return (T) cr.add(Restrictions.gt("id", id)).list().get(0); }
From source file:com.maydesk.base.dao.DaoUser.java
License:Mozilla Public License
public String findNewestPresenceStatus(String jabberId) { // find the time of last acknowledgement Session session = PDHibernateFactory.getSession(); Criteria criteria = session.createCriteria(MPresenceAcknowledge.class); criteria.add(Restrictions.eq("jabberId", jabberId)); criteria.add(Restrictions.eq("acknowledgedBy", PDUserSession.getInstance().getUser())); MPresenceAcknowledge acknowledgement = (MPresenceAcknowledge) criteria.uniqueResult(); Date acknowledgeTime = null;/*from w w w . j a va2 s .co m*/ if (acknowledgement != null) { acknowledgeTime = acknowledgement.getAcknowledgeTime(); } criteria = session.createCriteria(MPresence.class); criteria.add(Restrictions.eq("jabberId", jabberId)); if (acknowledgeTime != null) { criteria.add(Restrictions.gt("time", acknowledgeTime)); } MPresence newestPresence = (MPresence) criteria.uniqueResult(); if (newestPresence == null) { return null; } return newestPresence.getStatus(); }
From source file:com.metropolitan.methotels727.dao.RezervacijaDAOImpl.java
@Override public boolean aktivnaRezervacijaKorisnika(Korisnik korisnik) { Date sad = Calendar.getInstance().getTime(); return !(session.createCriteria(Rezervacija.class).add(Restrictions.eq("korId", korisnik)) .add(Restrictions.lt("datumPrijave", sad)).add(Restrictions.gt("datumOdjave", sad)).list() .isEmpty());// w w w . j av a2 s .co m }
From source file:com.mil.randommenu.dao.WeekItemDao.java
public List<WeekItem> getWeekItems() { Criteria criteria = sessionFactory.getCurrentSession().createCriteria(WeekItem.class); criteria.add(Restrictions.gt("quantity", 0)); return criteria.list(); }
From source file:com.ponysdk.hibernate.query.decorator.AbstractCriteriaDecorator.java
License:Apache License
@SuppressWarnings("rawtypes") @Override//from w w w.ja v a2 s. c om public void render(final CriteriaContext context) { final Criterion field = context.getCriterion(); Criteria criteria = context.getOrderingCriteria(); final List<String> propertyNamePath = Arrays.asList(field.getPojoProperty().split(REGEX_SPLIT)); final Iterator<String> iter = propertyNamePath.iterator(); String key = null; String associationPath = null; if (propertyNamePath.size() == 1) { associationPath = iter.next(); } else while (iter.hasNext()) { key = iter.next(); if (associationPath == null) { associationPath = new String(key); } else { associationPath += "." + key; } if (iter.hasNext()) { criteria = criteria.createCriteria(associationPath, key, CriteriaSpecification.INNER_JOIN); associationPath = new String(key); } } final T value = getObjectValue(field); ComparatorType comparator = field.getComparator(); if (value != null) { if (value.toString().contains("%")) { comparator = ComparatorType.LIKE; } } if (field.getValue() != null || field.getComparator() == ComparatorType.IS_NULL || field.getComparator() == ComparatorType.IS_NOT_NULL) { switch (comparator) { case EQ: criteria.add(Restrictions.eq(associationPath, value)); break; case GE: criteria.add(Restrictions.ge(associationPath, value)); break; case GT: criteria.add(Restrictions.gt(associationPath, value)); break; case LE: criteria.add(Restrictions.le(associationPath, value)); break; case LT: criteria.add(Restrictions.lt(associationPath, value)); break; case NE: criteria.add(Restrictions.ne(associationPath, value)); break; case LIKE: criteria.add(Restrictions.ilike(associationPath, value)); break; case IS_NULL: criteria.add(Restrictions.isNull(associationPath)); break; case IS_NOT_NULL: criteria.add(Restrictions.isNotNull(associationPath)); break; case IN: if (value instanceof Collection) { criteria.add(Restrictions.in(associationPath, (Collection) value)); } else if (value instanceof Object[]) { criteria.add(Restrictions.in(associationPath, (Object[]) value)); } else { log.warn("Type not allowed for IN clause: " + value.getClass() + ", value: " + value); } break; default: log.warn("Restriction not supported: " + comparator); break; } } switch (field.getSortingType()) { case ASCENDING: criteria.addOrder(Order.asc(associationPath)); break; case DESCENDING: criteria.addOrder(Order.desc(associationPath)); break; case NONE: break; } }
From source file:com.qcadoo.model.api.search.SearchRestrictions.java
License:Open Source License
/** * Creates criterion which checks if field is greater than given value. * //from w ww . j a v a 2 s . c om * @param field * field * @param value * value * @return criterion */ public static SearchCriterion gt(final String field, final Object value) { return new SearchCriterionImpl(Restrictions.gt(field, value)); }
From source file:com.reignite.parser.QueryParser.java
License:Open Source License
private Criterion processField(JSONObject where) throws ParserException { String field = JSONObject.getNames(where)[0]; JSONObject exp;/*from w ww . j a v a 2 s . co m*/ try { exp = where.getJSONObject(field); } catch (JSONException e) { throw new ParserException("field expressions must be JSON Object: " + field); } ExpressionType type = ExpressionType.get(JSONObject.getNames(exp)[0]); Object value = null; // if the field is a join if (field.indexOf(".") > -1) { String join = field.substring(0, field.indexOf(".")); query.createJoin(join); } switch (type) { case IN: case NOT_IN: try { value = createArray(exp.getJSONArray(type.getName())); } catch (JSONException e) { throw new ParserException("in and not in expressions must be arrays: " + exp); } break; default: try { value = createValue(exp.get(type.getName())); } catch (JSONException e) { throw new ParserException("expressions must have a value: " + exp); } } switch (type) { case GREATER_THAN: return Restrictions.gt(field, value); case IN: return Restrictions.in(field, (Object[]) value); case LESS_THAN: return Restrictions.lt(field, value); case LIKE: MatchMode match = MatchMode.EXACT; String toMatch = value.toString(); if (value.toString().startsWith("%")) { match = MatchMode.END; toMatch = toMatch.substring(1); } if (value.toString().endsWith("%")) { toMatch = toMatch.substring(0, toMatch.length() - 1); if (match == MatchMode.END) { match = MatchMode.ANYWHERE; } else { match = MatchMode.START; } } return Restrictions.ilike(field, toMatch, match); case NOT_EQUAL: if (value == null) { return Restrictions.isNotNull(field); } return Restrictions.ne(field, value); case NOT_IN: return Restrictions.not(Restrictions.in(field, (Object[]) value)); case EQUAL: default: if (value == null) { return Restrictions.isNull(field); } return Restrictions.eq(field, value); } }