List of usage examples for org.hibernate.criterion Restrictions ilike
public static Criterion ilike(String propertyName, Object value)
From source file:com.jaspersoft.jasperserver.api.metadata.user.service.impl.UserAuthorityServiceImpl.java
License:Open Source License
private DetachedCriteria createAssignedRolesCriteria(ExecutionContext context, RepoUser user, String text, boolean order) { final String roleNameField = "roleName"; final String externallyDefinedField = "externallyDefined"; DetachedCriteria criteria = DetachedCriteria.forClass(getPersistentRoleClass()); DetachedCriteria usersCriteria = criteria.createCriteria("users"); usersCriteria.add(Restrictions.idEq(user.getId())); final String roleNameLikeValue = text == null ? "" : text; Criterion roleNameCriterion = Restrictions.ilike(roleNameField, "%" + roleNameLikeValue + "%"); criteria.add(roleNameCriterion);//ww w . ja v a 2s.c om criteria.add(Restrictions.eq(externallyDefinedField, Boolean.FALSE)); if (order) { criteria.addOrder(Order.asc(roleNameField)); } return criteria; }
From source file:com.jaspersoft.jasperserver.api.metadata.user.service.impl.UserAuthorityServiceImpl.java
License:Open Source License
protected void createSearchByUserNameCriteria(DetachedCriteria criteria, String userName) { if (userName != null && userName.trim().length() > 0) { Criterion userNameCriterion = Restrictions.ilike("username", "%" + userName.trim() + "%"); Criterion fullNameCriterion = Restrictions.ilike("fullName", "%" + userName.trim() + "%"); criteria.add(Restrictions.or(userNameCriterion, fullNameCriterion)); }// ww w .j a v a 2 s.c om }
From source file:com.jeroensteenbeeke.hyperion.data.Expression.java
License:Open Source License
public static Expression<?> simpleSearchString(final String property, final String searchString) { return new Expression<String>() { private static final long serialVersionUID = 1L; private String criteriaFilter(String input) { StringBuilder filtered = new StringBuilder(); for (char n : input.toCharArray()) { if (Character.isWhitespace(n) || Character.isLetterOrDigit(n)) { filtered.append(n);// w ww . ja v a2 s. c o m } else if (n == '?') { filtered.append('_'); } else if (n == '*') { filtered.append('%'); } } return filtered.toString(); } private String retainFilter(String input) { StringBuilder filtered = new StringBuilder(); for (char n : input.toCharArray()) { if (Character.isWhitespace(n) || Character.isLetterOrDigit(n)) { filtered.append(n); } else if (n == '?') { filtered.append('.'); } else if (n == '*') { filtered.append(".*"); } } return filtered.toString(); } @Override public void decorateCriteria(Criteria criteria) { criteria.add(Restrictions.ilike(property, criteriaFilter(searchString))); } @Override public boolean retain(Object object) { String objectValue = Reflector.invokeGetter(object, property); return objectValue.matches(retainFilter(searchString)); } }; }
From source file:com.klistret.cmdb.dao.ElementTypeDAOImpl.java
License:Open Source License
/** * Uses ILike expression to match by name and the to-timestamp is forced to * be null.// www . ja v a 2 s . c o m * * @param name * @return List */ @SuppressWarnings("unchecked") public List<ElementType> find(String name) { logger.debug("Finding element type by composite id [{}]", name); if (name == null) throw new ApplicationException("Name parameter is null", new IllegalArgumentException()); try { Criteria query = getSession().createCriteria(ElementType.class); query.add(Restrictions.ilike("name", name)); query.add(Restrictions.isNull("toTimeStamp")); return query.list(); } catch (HibernateException e) { throw new InfrastructureException(e.getMessage(), e); } }
From source file:com.klistret.cmdb.dao.RelationTypeDAOImpl.java
License:Open Source License
/** * Uses ILike expression to match by name and the to-timestamp is forced to * be null.//w w w. ja v a 2 s . c o m * * @param name * @return List */ @SuppressWarnings("unchecked") public List<RelationType> find(String name) { logger.debug("Finding relation type by composite id [{}]", name); if (name == null) throw new ApplicationException("Name parameter is null", new IllegalArgumentException()); try { Criteria query = getSession().createCriteria(RelationType.class); query.add(Restrictions.ilike("name", name)); query.add(Restrictions.isNull("toTimeStamp")); return query.list(); } catch (HibernateException e) { throw new InfrastructureException(e.getMessage(), e); } }
From source file:com.lm.lic.manager.hibernate.LicenseDAO.java
License:Open Source License
public Integer findNumUnpaidForLics(Long isvId, Long prodId) { Integer numLics = 0;/*from w w w . ja v a 2 s . c o m*/ try { Criteria criteria = getSession().createCriteria(License.class); criteria.add(Restrictions.eq("isv.id", isvId)); criteria.add(Restrictions.eq("product.id", prodId)); criteria.add(Restrictions.eq("inUse", true)); criteria.add(Restrictions.eq("decom", false)); criteria.add(Restrictions.ilike("paymentStatus", LicensePaymentStatus.OVERDRAFT.name())); criteria.setProjection(Projections.rowCount()); numLics = (Integer) criteria.list().get(0); } catch (RuntimeException re) { log.error("find by property name failed", re); throw re; } return numLics; }
From source file:com.lp.server.bestellung.ejbfac.BestellungReportFacBean.java
License:Open Source License
/** * Alle offenen Bestellungen fuer einen bestimmten Mandanten drucken. * //from w w w. j a va2s.c om * @param krit * die Filter- und Sortierkriterien * @param dStichtag * Date * @param bSortierungNachLiefertermin * Boolean * @param artikelklasseIId * Integer * @param artikelgruppeIId * Integer * @param artikelCNrVon * String * @param artikelCNrBis * String * @param projektCBezeichnung * String * @param auftragIId * Integer * @param theClientDto * der aktuelle Benutzer * @throws EJBExceptionLP * Ausnahme * @return JasperPrint der Druck */ @TransactionAttribute(TransactionAttributeType.NEVER) public JasperPrintLP printBestellungOffene(ReportJournalKriterienDto krit, Date dStichtag, Boolean bSortierungNachLiefertermin, Integer artikelklasseIId, Integer artikelgruppeIId, String artikelCNrVon, String artikelCNrBis, String projektCBezeichnung, Integer auftragIId, Integer iArt, boolean bNurAngelegte, boolean bNurOffeneMengenAnfuehren, Integer[] projekte, TheClientDto theClientDto) throws EJBExceptionLP { useCase = UC_OFFENE; int iAnzahlZeilen = 0; SessionFactory factory = FLRSessionFactory.getFactory(); Session session = null; // vom Stichtag die Uhrzeit abschneiden dStichtag = Helper.cutDate(dStichtag); // die dem Report uebergeben HashMap<String, Object> parameter = new HashMap<String, Object>(); parameter.put("P_STICHTAG", Helper.formatDatum(dStichtag, theClientDto.getLocUi())); dStichtag = Helper.addiereTageZuDatum(dStichtag, 1); session = factory.openSession(); boolean darfEinkaufspreisSehen = getTheJudgeFac().hatRecht(RechteFac.RECHT_LP_DARF_PREISE_SEHEN_EINKAUF, theClientDto); boolean bProjektklammer = getMandantFac().darfAnwenderAufZusatzfunktionZugreifen( MandantFac.ZUSATZFUNKTION_PROJEKTKLAMMER, theClientDto.getMandant()); // Hiberante Criteria fuer alle Tabellen ausgehend von meiner // Haupttabelle anlegen, // nach denen ich filtern und sortieren kann Criteria crit = session.createCriteria(FLRBestellung.class); // Einschraenkung auf den aktuellen Mandanten crit.add(Restrictions.eq(BestellungFac.FLR_BESTELLUNG_MANDANT_C_NR, theClientDto.getMandant())); // Einschraenkung nach Status Offen, Erledigt Collection<String> cStati = new LinkedList<String>(); cStati.add(BestellungFac.BESTELLSTATUS_ANGELEGT); if (bNurAngelegte == false) { cStati.add(BestellungFac.BESTELLSTATUS_OFFEN); cStati.add(BestellungFac.BESTELLSTATUS_BESTAETIGT); cStati.add(BestellungFac.BESTELLSTATUS_ERLEDIGT); } crit.add(Restrictions.in(BestellungFac.FLR_BESTELLUNG_BESTELLUNGSTATUS_C_NR, cStati)); // Das Belegdatum muss vor dem Stichtag liegen crit.add(Restrictions.le(BestellungFac.FLR_BESTELLUNG_T_BELEGDATUM, dStichtag)); /** * @todo MB->MB hier sollte auch das erledigt-datum ziehen, das gibts * aber in der BS nicht :-( */ crit.add(Restrictions.or(Restrictions.ge(BestellungFac.FLR_BESTELLUNG_T_MANUELLGELIEFERT, dStichtag), Restrictions.isNull(BestellungFac.FLR_BESTELLUNG_T_MANUELLGELIEFERT))); // Das Belegdatum muss vor dem Stichtag liegen crit.add(Restrictions.le(BestellungFac.FLR_BESTELLUNG_T_BELEGDATUM, dStichtag)); // Filter nach Projektbezeichnung if (projektCBezeichnung != null) { crit.add(Restrictions.ilike(BestellungFac.FLR_BESTELLUNG_C_BEZPROJEKTBEZEICHNUNG, "%" + projektCBezeichnung + "%")); } // Projektklammer if (projekte != null && projekte.length > 0) { crit.add(Restrictions.in(BestellungFac.FLR_BESTELLUNG_PROJEKT_I_ID, projekte)); String text = ""; for (int i = 0; i < projekte.length; i++) { try { ProjektDto pDto = getProjektFac().projektFindByPrimaryKey(projekte[i]); text += pDto.getCNr() + ", "; } catch (RemoteException e) { throwEJBExceptionLPRespectOld(e); } } parameter.put("P_PROJEKTE", text); } // Filter nach Auftrag if (auftragIId != null) { crit.add(Restrictions.like(BestellungFac.FLR_BESTELLUNG_AUFTRAG_I_ID, auftragIId)); } // Einschraenkung nach einer bestimmten Kostenstelle if (krit.kostenstelleIId != null) { crit.add(Restrictions.eq(BestellungFac.FLR_BESTELLUNG_KOSTENSTELLE_I_ID, krit.kostenstelleIId)); } // Einschraenkung nach einem bestimmten Lieferanten if (krit.lieferantIId != null) { crit.add( Restrictions.eq(BestellungFac.FLR_BESTELLUNG_LIEFERANT_I_ID_BESTELLADRESSE, krit.lieferantIId)); } // Filter nach Bestellungsart Collection<String> cArt = null; if (iArt != null) { if (iArt == 1) { // Ohne Rahmenbestellungen cArt = new LinkedList<String>(); cArt.add(BestellungFac.BESTELLUNGART_FREIE_BESTELLUNG_C_NR); cArt.add(BestellungFac.BESTELLUNGART_ABRUFBESTELLUNG_C_NR); cArt.add(BestellungFac.BESTELLUNGART_LEIHBESTELLUNG_C_NR); crit.add(Restrictions.in(BestellungFac.FLR_BESTELLUNG_BESTELLUNGART_C_NR, cArt)); } else if (iArt == 2) { // Nur Rahmenbestellungen cArt = new LinkedList<String>(); cArt.add(BestellungFac.BESTELLUNGART_RAHMENBESTELLUNG_C_NR); crit.add(Restrictions.in(BestellungFac.FLR_BESTELLUNG_BESTELLUNGART_C_NR, cArt)); } } // Sortierung nach Kostenstelle ist immer die erste Sortierung if (krit.bSortiereNachKostenstelle) { crit.createCriteria(BestellungFac.FLR_BESTELLUNG_FLRKOSTENSTELLE).addOrder(Order.asc("c_nr")); } // Sortierung nach Kunde, eventuell innerhalb der Kostenstelle if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_PARTNER) { crit.createCriteria(BestellungFac.FLR_BESTELLUNG_FLRLIEFERANT).createCriteria(LieferantFac.FLR_PARTNER) .addOrder(Order.asc(PartnerFac.FLR_PARTNER_NAME1NACHNAMEFIRMAZEILE1)); } // Sortierung nach Projekt, eventuell innerhalb der Kostenstelle else if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_PROJEKT) { if (bProjektklammer == true) { crit.createAlias(BestellungFac.FLR_BESTELLUNG_FLRPROJEKT, "p"); crit.addOrder(Order.asc("p.c_nr")); } else { crit.addOrder(Order.asc(BestellungFac.FLR_BESTELLUNG_C_BEZPROJEKTBEZEICHNUNG)); } } // Sortierung nach Bestellungart, eventuell innerhalb der // Kostenstelle // else if (krit.iSortierung == // ReportJournalKriterienDto.KRIT_SORT_NACH_ART) { // crit.addOrder(Order // .asc(BestellungFac.FLR_BESTELLUNG_BESTELLUNGART_C_NR)); // } // Sortierung nach Liefertermin (optional) if (bSortierungNachLiefertermin != null && bSortierungNachLiefertermin.booleanValue()) { crit.addOrder(Order.asc(BestellungFac.FLR_BESTELLUNG_T_LIEFERTERMIN)); } // es wird in jedem Fall nach der Belegnummer sortiert crit.addOrder(Order.asc("c_nr")); List<?> list = crit.list(); Iterator<?> it = list.iterator(); ArrayList<FLRBestellung> bestellung = new ArrayList<FLRBestellung>(); while (it.hasNext()) { FLRBestellung flrbestellung = (FLRBestellung) it.next(); session = factory.openSession(); Criteria crit1 = session.createCriteria(FLRBestellposition.class); Criteria crit1Bestellung = crit1.createCriteria(BestellpositionFac.FLR_BESTELLPOSITION_FLRBESTELLUNG); // nur Positionen der aktuellen Bestellung. crit1Bestellung.add(Restrictions.eq(BestellungFac.FLR_BESTELLUNG_I_ID, flrbestellung.getI_id())); // keine erledigten Positionen. crit1.add(Restrictions.ne(BestellpositionFac.FLR_BESTELLPOSITION_BESTELLPOSITIONSTATUS_C_NR, BestellpositionFac.BESTELLPOSITIONSTATUS_ERLEDIGT)); // keine geliferten Positionen. crit1.add(Restrictions.ne(BestellpositionFac.FLR_BESTELLPOSITION_BESTELLPOSITIONSTATUS_C_NR, BestellpositionFac.BESTELLPOSITIONSTATUS_GELIEFERT)); // Der Liefertermin muss vor dem Stichtag liegen crit1.add(Restrictions.or(Restrictions.and( // Wenn der AB-Termin // eingegeben ist, zieht // der Restrictions.isNotNull(BestellpositionFac.FLR_BESTELLPOSITION_T_AUFTRAGSBESTAETIGUNGSTERMIN), Restrictions .le(BestellpositionFac.FLR_BESTELLPOSITION_T_AUFTRAGSBESTAETIGUNGSTERMIN, dStichtag)), Restrictions.and( // sonst der // uebersteuerte // Liefertermin Restrictions .isNull(BestellpositionFac.FLR_BESTELLPOSITION_T_AUFTRAGSBESTAETIGUNGSTERMIN), Restrictions.le(BestellpositionFac.FLR_BESTELLPOSITION_T_UEBERSTEUERTERLIEFERTERMIN, dStichtag)))); if (artikelklasseIId != null || artikelgruppeIId != null || artikelCNrVon != null || artikelCNrBis != null) { // Wenn nach Artikelklassen/Gruppen gefiltert wird, dann // kommen nur Ident-Positionen crit1.add(Restrictions.eq(BestellpositionFac.FLR_BESTELLPOSITION_BESTELLPOSITIONART_C_NR, BestellpositionFac.BESTELLPOSITIONART_IDENT)); Criteria critArtikel = crit1.createCriteria(BestellpositionFac.FLR_BESTELLPOSITION_FLRARTIKEL); if (artikelklasseIId != null) { critArtikel.createCriteria(ArtikelFac.FLR_ARTIKEL_FLRARTIKELKLASSE) .add(Restrictions.eq("i_id", artikelklasseIId)); } if (artikelgruppeIId != null) { critArtikel.createCriteria(ArtikelFac.FLR_ARTIKEL_FLRARTIKELGRUPPE) .add(Restrictions.eq("i_id", artikelgruppeIId)); } if (artikelCNrVon != null) { critArtikel.add(Restrictions.ge(ArtikelFac.FLR_ARTIKEL_C_NR, artikelCNrVon)); } if (artikelCNrBis != null) { critArtikel.add(Restrictions.le(ArtikelFac.FLR_ARTIKEL_C_NR, artikelCNrBis)); } } List<?> resultList = crit1.list(); // Wenn die Bestellung anzuzeigende Positionen enthaelt, dann in // die Liste aufnehmen. if (resultList.size() > 0) { bestellung.add(flrbestellung); iAnzahlZeilen++; } for (Iterator<?> iter = resultList.iterator(); iter.hasNext();) { FLRBestellposition item = (FLRBestellposition) iter.next(); if (item.getN_menge() != null) { bestellung.add(null); iAnzahlZeilen++; } } } data = new Object[iAnzahlZeilen][BestellungReportFac.REPORT_BESTELLUNG_OFFENE_ANZAHL_SPALTEN]; int i = 0; while (i < iAnzahlZeilen) { FLRBestellung flrbestellung = null; if (bestellung.get(i) != null) { flrbestellung = (FLRBestellung) bestellung.get(i); data[i][BestellungReportFac.REPORT_BESTELLUNG_OFFENE_BESTELLUNGCNR] = flrbestellung.getC_nr(); data[i][BestellungReportFac.REPORT_BESTELLUNG_OFFENE_BESTELLUNGARTCNR] = flrbestellung .getBestellungart_c_nr(); if (bProjektklammer && flrbestellung.getProjekt_i_id() != null) { data[i][BestellungReportFac.REPORT_BESTELLUNG_OFFENE_PROJEKT] = flrbestellung.getFlrprojekt() .getC_nr(); } else { data[i][BestellungReportFac.REPORT_BESTELLUNG_OFFENE_PROJEKT] = flrbestellung .getC_bezprojektbezeichnung(); } data[i][BestellungReportFac.REPORT_BESTELLUNG_OFFENE_BESTELLUNGLIEFERANT] = flrbestellung .getFlrlieferant().getFlrpartner().getC_name1nachnamefirmazeile1(); // PJ 14752 String sortierstring = ""; if (krit.bSortiereNachKostenstelle == true) { sortierstring = Helper.fitString2Length(flrbestellung.getFlrkostenstelle().getC_nr(), 80, ' '); } if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_IDENT) { sortierstring += Helper.fitString2Length( flrbestellung.getFlrlieferant().getFlrpartner().getC_name1nachnamefirmazeile1(), 80, ' ') + Helper.fitString2Length("", 80, ' '); } if (bSortierungNachLiefertermin == true) { sortierstring += Helper.fitString2Length(flrbestellung.getT_liefertermin() + "", 15, ' '); } data[i][REPORT_BESTELLUNG_OFFENE_SORTIERKRITERIUM] = sortierstring; data[i][BestellungReportFac.REPORT_BESTELLUNG_OFFENE_BESTELLUNGDATUM] = Helper .formatDatum(flrbestellung.getT_belegdatum(), theClientDto.getLocUi()); if (flrbestellung.getFlrkostenstelle() != null) { data[i][BestellungReportFac.REPORT_BESTELLUNG_OFFENE_KOSTENSTELLECNR] = flrbestellung .getFlrkostenstelle().getC_nr(); } i++; } session = factory.openSession(); Criteria crit1 = session.createCriteria(FLRBestellpositionReport.class); // Keine erledigten Positionen. crit1.add(Restrictions.ne(BestellpositionFac.FLR_BESTELLPOSITION_BESTELLPOSITIONSTATUS_C_NR, BestellpositionFac.BESTELLPOSITIONSTATUS_ERLEDIGT)); crit1.add(Restrictions.ne(BestellpositionFac.FLR_BESTELLPOSITION_BESTELLPOSITIONSTATUS_C_NR, BestellpositionFac.BESTELLPOSITIONSTATUS_GELIEFERT)); // Der Liefertermin muss vor dem Stichtag liegen crit1.add(Restrictions.or(Restrictions.and( // Wenn der AB-Termin // eingegeben ist, zieht // der Restrictions.isNotNull(BestellpositionFac.FLR_BESTELLPOSITION_T_AUFTRAGSBESTAETIGUNGSTERMIN), Restrictions .le(BestellpositionFac.FLR_BESTELLPOSITION_T_AUFTRAGSBESTAETIGUNGSTERMIN, dStichtag)), Restrictions.and( // sonst der // uebersteuerte // Liefertermin Restrictions .isNull(BestellpositionFac.FLR_BESTELLPOSITION_T_AUFTRAGSBESTAETIGUNGSTERMIN), Restrictions.le(BestellpositionFac.FLR_BESTELLPOSITION_T_UEBERSTEUERTERLIEFERTERMIN, dStichtag)))); // Nur Positionen der aktuellen Bestellung. Criteria crit1Bestellung = crit1.createCriteria(BestellpositionFac.FLR_BESTELLPOSITION_FLRBESTELLUNG); crit1Bestellung.add(Restrictions.eq(BestellungFac.FLR_BESTELLUNG_I_ID, flrbestellung.getI_id())); if (artikelklasseIId != null || artikelgruppeIId != null || artikelCNrVon != null || artikelCNrBis != null) { // Wenn nach Artikelklassen/Gruppen gefiltert wird, dann // kommen nur Ident-Positionen crit1.add(Restrictions.eq(BestellpositionFac.FLR_BESTELLPOSITION_BESTELLPOSITIONART_C_NR, BestellpositionFac.BESTELLPOSITIONART_IDENT)); Criteria critArtikel = crit1.createCriteria(BestellpositionFac.FLR_BESTELLPOSITION_FLRARTIKEL); if (artikelklasseIId != null) { critArtikel.createCriteria(ArtikelFac.FLR_ARTIKEL_FLRARTIKELKLASSE) .add(Restrictions.eq("i_id", artikelklasseIId)); } if (artikelgruppeIId != null) { critArtikel.createCriteria(ArtikelFac.FLR_ARTIKEL_FLRARTIKELGRUPPE) .add(Restrictions.eq("i_id", artikelgruppeIId)); } if (artikelCNrVon != null) { critArtikel.add(Restrictions.ge(ArtikelFac.FLR_ARTIKEL_C_NR, artikelCNrVon)); } if (artikelCNrBis != null) { critArtikel.add(Restrictions.le(ArtikelFac.FLR_ARTIKEL_C_NR, artikelCNrBis)); } } List<?> resultList = crit1.list(); for (Iterator<?> iter = resultList.iterator(); iter.hasNext();) { FLRBestellpositionReport item = (FLRBestellpositionReport) iter.next(); if (item.getN_menge() != null) { String artikelCNr = null; /** * @todo das ist nicht sehr sauber ... */ if (item.getFlrartikel().getC_nr().startsWith("~")) { artikelCNr = BestellungReportFac.REPORT_VORKALKULATION_ZEICHEN_FUER_HANDEINGABE; } else { artikelCNr = item.getFlrartikel().getC_nr(); } Criteria critWep = session.createCriteria(FLRWareneingangspositionen.class); critWep.createCriteria("flrbestellposition").add(Restrictions.eq("i_id", item.getI_id())); List<?> wepResultList = critWep.list(); Iterator<?> wepResultListIterator = wepResultList.iterator(); data[i][BestellungReportFac.REPORT_BESTELLUNG_OFFENE_BESTELLUNGCNR] = flrbestellung.getC_nr(); data[i][BestellungReportFac.REPORT_BESTELLUNG_OFFENE_BESTELLUNGARTCNR] = flrbestellung .getBestellungart_c_nr(); data[i][BestellungReportFac.REPORT_BESTELLUNG_OFFENE_PROJEKT] = flrbestellung .getC_bezprojektbezeichnung(); data[i][BestellungReportFac.REPORT_BESTELLUNG_OFFENE_BESTELLUNGLIEFERANT] = flrbestellung .getFlrlieferant().getFlrpartner().getC_name1nachnamefirmazeile1(); data[i][BestellungReportFac.REPORT_BESTELLUNG_OFFENE_ARTIKELCNR] = artikelCNr; // SP903 if (item.getPosition_i_id_artikelset() != null) { data[i][BestellungReportFac.REPORT_BESTELLUNG_OFFENE_SETARTIKEL_TYP] = ArtikelFac.SETARTIKEL_TYP_POSITION; } else { Session sessionSet = FLRSessionFactory.getFactory().openSession(); sessionSet = factory.openSession(); Criteria critSet = sessionSet.createCriteria(FLRBestellpositionReport.class); critSet.add(Restrictions.eq("position_i_id_artikelset", item.getI_id())); int iZeilen = critSet.list().size(); if (iZeilen > 0) { data[i][BestellungReportFac.REPORT_BESTELLUNG_OFFENE_SETARTIKEL_TYP] = ArtikelFac.SETARTIKEL_TYP_KOPF; } sessionSet.close(); } // PJ 14752 String sortierstring = ""; if (krit.bSortiereNachKostenstelle == true) { sortierstring = Helper.fitString2Length(flrbestellung.getFlrkostenstelle().getC_nr(), 80, ' '); } if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_IDENT) { sortierstring += Helper .fitString2Length(flrbestellung.getFlrlieferant().getFlrpartner() .getC_name1nachnamefirmazeile1(), 80, ' ') + Helper.fitString2Length(artikelCNr, 80, ' '); } if (bSortierungNachLiefertermin == true) { sortierstring += Helper.fitString2Length(flrbestellung.getT_liefertermin() + "", 15, ' '); } data[i][REPORT_BESTELLUNG_OFFENE_SORTIERKRITERIUM] = sortierstring; data[i][BestellungReportFac.REPORT_BESTELLUNG_OFFENE_ARTIKELMENGE] = item.getN_menge(); BigDecimal bdOffeneLiefermenge = new BigDecimal(0); if (BestellungFac.BESTELLUNGART_RAHMENBESTELLUNG_C_NR .equals(flrbestellung.getBestellungart_c_nr())) { try { BestellpositionDto[] abrufPos = getBestellpositionFac() .bestellpositionFindByBestellpositionIIdRahmenposition(item.getI_id(), theClientDto); for (int y = 0; y < abrufPos.length; y++) { bdOffeneLiefermenge = bdOffeneLiefermenge .add(getBestellpositionFac().berechneOffeneMenge(abrufPos[y])); } } catch (RemoteException e) { } data[i][BestellungReportFac.REPORT_BESTELLUNG_OFFENE_OFFENELIEFERUNGEN] = bdOffeneLiefermenge; } else { data[i][BestellungReportFac.REPORT_BESTELLUNG_OFFENE_OFFENELIEFERUNGEN] = null; } StringBuffer sbArtikelInfo = new StringBuffer(); if (item.getC_bezeichnung() != null) { sbArtikelInfo.append(item.getC_bezeichnung()); } else { ArtikelDto artikelDto = getArtikelFac() .artikelFindByPrimaryKey(item.getFlrartikel().getI_id(), theClientDto); if (artikelDto.getArtikelsprDto() != null) { if (artikelDto.getArtikelsprDto().getCBez() != null) { sbArtikelInfo.append(artikelDto.getArtikelsprDto().getCBez()); } } } data[i][BestellungReportFac.REPORT_BESTELLUNG_OFFENE_ARTIKELBEZ] = sbArtikelInfo.toString(); // der Preis wird in Mandantenwaehrung angezeigt, es // gilt der hinterlegte Wechselkurs BigDecimal bdPreisinmandantenwaehrung = item.getN_nettogesamtpreis(); BigDecimal wechselkursmandantwaehrungzuauftragswaehrung = null; if (!flrbestellung.getWaehrung_c_nr_bestellwaehrung() .equals(theClientDto.getSMandantenwaehrung())) { wechselkursmandantwaehrungzuauftragswaehrung = new BigDecimal( flrbestellung.getF_wechselkursmandantwaehrungbestellungswaehrung().doubleValue()); bdPreisinmandantenwaehrung = getBetragMalWechselkurs(bdPreisinmandantenwaehrung, Helper.getKehrwert(wechselkursmandantwaehrungzuauftragswaehrung)); } if (darfEinkaufspreisSehen) { data[i][BestellungReportFac.REPORT_BESTELLUNG_OFFENE_ARTIKELPREIS] = bdPreisinmandantenwaehrung; } else { data[i][BestellungReportFac.REPORT_BESTELLUNG_OFFENE_ARTIKELPREIS] = null; } if (item.getEinheit_c_nr() != null) { data[i][BestellungReportFac.REPORT_BESTELLUNG_OFFENE_ARTIKELEINHEIT] = item .getEinheit_c_nr().trim(); } if (item.getT_auftragsbestaetigungstermin() != null) { data[i][BestellungReportFac.REPORT_BESTELLUNG_OFFENE_ABTERMIN] = Helper .formatDatum(item.getT_auftragsbestaetigungstermin(), theClientDto.getLocUi()); } data[i][BestellungReportFac.REPORT_BESTELLUNG_OFFENE_ABNUMMER] = item.getC_abnummer(); data[i][BestellungReportFac.REPORT_BESTELLUNG_OFFENE_ABKOMMENTAR] = item.getC_abkommentar(); if (item.getT_uebersteuerterliefertermin() != null) { data[i][BestellungReportFac.REPORT_BESTELLUNG_OFFENE_BESTELLUNGLIEFERTERMIN] = Helper .formatDatum(item.getT_uebersteuerterliefertermin(), theClientDto.getLocUi()); } else { data[i][BestellungReportFac.REPORT_BESTELLUNG_OFFENE_BESTELLUNGLIEFERTERMIN] = Helper .formatDatum(item.getFlrbestellung().getT_liefertermin(), theClientDto.getLocUi()); } BigDecimal noffeneMenge = item.getN_menge(); BigDecimal ngeliferteMenge = new BigDecimal(0); if (flrbestellung.getBestellungart_c_nr() .equals(BestellungFac.BESTELLUNGART_RAHMENBESTELLUNG_C_NR)) { noffeneMenge = item.getN_offenemenge(); while (wepResultListIterator.hasNext()) { FLRWareneingangspositionen waren = (FLRWareneingangspositionen) wepResultListIterator .next(); ngeliferteMenge = ngeliferteMenge.add(waren.getN_geliefertemenge()); } } else { while (wepResultListIterator.hasNext()) { FLRWareneingangspositionen waren = (FLRWareneingangspositionen) wepResultListIterator .next(); noffeneMenge = noffeneMenge.subtract(waren.getN_geliefertemenge()); } } data[i][BestellungReportFac.REPORT_BESTELLUNG_OFFENE_ARTIKELGELIFERTEMENGE] = ngeliferteMenge; data[i][BestellungReportFac.REPORT_BESTELLUNG_OFFENE_ARTIKELOFFENEMENGE] = noffeneMenge; if (darfEinkaufspreisSehen) { data[i][BestellungReportFac.REPORT_BESTELLUNG_OFFENE_ARTIKELOFFENEWERT] = noffeneMenge .multiply(bdPreisinmandantenwaehrung); } else { data[i][BestellungReportFac.REPORT_BESTELLUNG_OFFENE_ARTIKELOFFENEWERT] = null; } i++; } } } closeSession(session); // PJ 15254 if (bNurOffeneMengenAnfuehren) { ArrayList alTemp = new ArrayList(); for (int k = 0; k < data.length; k++) { BigDecimal bdOffeneMenge = (BigDecimal) data[k][BestellungReportFac.REPORT_BESTELLUNG_OFFENE_ARTIKELOFFENEMENGE]; if (bdOffeneMenge != null && bdOffeneMenge.doubleValue() > 0) { alTemp.add(data[k]); } } Object[][] returnArray = new Object[alTemp .size()][BestellungReportFac.REPORT_BESTELLUNG_OFFENE_ANZAHL_SPALTEN]; data = (Object[][]) alTemp.toArray(returnArray); } // PJ 14752 Manuell nachsortieren (in Besprechung mit AD+WH besprochen) if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_IDENT) { for (int k = data.length - 1; k > 0; --k) { for (int j = 0; j < k; ++j) { Object[] o = data[j]; Object[] o1 = data[j + 1]; String s = (String) o[REPORT_BESTELLUNG_OFFENE_SORTIERKRITERIUM]; String s1 = (String) o1[REPORT_BESTELLUNG_OFFENE_SORTIERKRITERIUM]; if (s.toUpperCase().compareTo(s1.toUpperCase()) > 0) { data[j] = o1; data[j + 1] = o; } } } } parameter.put(LPReport.P_SORTIERUNG, buildSortierungBestellungOffene(krit, theClientDto)); parameter.put(LPReport.P_FILTER, buildFilterBestellungOffene(krit, artikelklasseIId, artikelgruppeIId, artikelCNrVon, artikelCNrBis, projektCBezeichnung, theClientDto)); parameter.put(LPReport.P_SORTIERENACHLIEFERANT, new Boolean(krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_PARTNER)); parameter.put("P_SORTIERENACHBESTELLUNGART", new Boolean(krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_ART)); parameter.put("P_TITLE", getTextRespectUISpr("bes.print.offene", theClientDto.getMandant(), theClientDto.getLocUi())); parameter.put(P_MANDANTWAEHRUNG, theClientDto.getSMandantenwaehrung()); initJRDS(parameter, BestellungReportFac.REPORT_MODUL, BestellungReportFac.REPORT_BESTELLUNG_JOURNAL_OFFENE, theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto); return getReportPrint(); }
From source file:com.lp.server.bestellung.ejbfac.BestellungReportFacBean.java
License:Open Source License
public JasperPrintLP printBestellungWareneingangsJournal(ReportJournalKriterienDto krit, Integer artikelklasseIId, Integer artikelgruppeIId, String artikelCNrVon, String artikelCNrBis, String projektCBezeichnung, Integer auftragIId, boolean bMitWarenverbrauch, TheClientDto theClientDto) throws EJBExceptionLP, RemoteException { Session session = null;//from w w w . j a va 2 s . com useCase = UC_BESTELLUNG_WARENEINGANG; SessionFactory factory = FLRSessionFactory.getFactory(); session = factory.openSession(); boolean darfEinkaufspreisSehen = getTheJudgeFac().hatRecht(RechteFac.RECHT_LP_DARF_PREISE_SEHEN_EINKAUF, theClientDto); Criteria c = session.createCriteria(FLRWareneingangspositionen.class); Criteria cWe = c.createCriteria(WareneingangFac.FLR_WEPOS_FLRWARENEINGANG); Criteria cBesPos = c.createCriteria(WareneingangFac.FLR_WEPOS_FLRBESTELLPOSITION); Criteria cArt = cBesPos.createCriteria(BestellpositionFac.FLR_BESTELLPOSITION_FLRARTIKEL); Criteria cBestellung = cWe.createCriteria(WareneingangFac.FLR_WE_FLRBESTELLUNG); cBestellung.add(Restrictions.eq(BestellungFac.FLR_BESTELLUNG_MANDANT_C_NR, theClientDto.getMandant())); // Datum von if (krit.dVon != null) { cWe.add(Restrictions.ge(WareneingangFac.FLRSPALTE_T_WARENEINGANGSDATUM, Helper.cutDate(krit.dVon))); } // Datum bis if (krit.dBis != null) { java.sql.Date dBisTemp = Helper.cutDate(new java.sql.Date(krit.dBis.getTime() + 24 * 3600000)); cWe.add(Restrictions.lt(WareneingangFac.FLRSPALTE_T_WARENEINGANGSDATUM, dBisTemp)); } // Filter nach Projektbezeichnung if (projektCBezeichnung != null) { cBestellung.add(Restrictions.ilike(BestellungFac.FLR_BESTELLUNG_C_BEZPROJEKTBEZEICHNUNG, "%" + projektCBezeichnung + "%")); } // Filter nach Auftrag if (auftragIId != null) { cBestellung.add(Restrictions.like(BestellungFac.FLR_BESTELLUNG_AUFTRAG_I_ID, auftragIId)); } 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(); // reportjournal: 06 belegnummer von // reportjournalbelegnummer: 1 (von) hier funktionierts fast gleich // wie bei den Direktfiltern if (krit.sBelegnummerVon != null) { String sVon = HelperServer.getBelegnummernFilterForHibernateCriterias(f, iGeschaeftsjahr, sMandantKuerzel, krit.sBelegnummerVon); cBestellung.add(Restrictions.ge(BestellungFac.FLR_BESTELLUNG_C_NR, sVon)); } // reportjournal: 07 belegnummer bis // reportjournalbelegnummer: 2 (bis) detto if (krit.sBelegnummerBis != null) { String sBis = HelperServer.getBelegnummernFilterForHibernateCriterias(f, iGeschaeftsjahr, sMandantKuerzel, krit.sBelegnummerBis); cBestellung.add(Restrictions.le(BestellungFac.FLR_BESTELLUNG_C_NR, sBis)); } // Einschraenkung nach einer bestimmten Kostenstelle if (krit.kostenstelleIId != null) { cBestellung.add(Restrictions.eq(BestellungFac.FLR_BESTELLUNG_KOSTENSTELLE_I_ID, krit.kostenstelleIId)); } // Einschraenkung nach einem bestimmten Lieferanten if (krit.lieferantIId != null) { cBestellung.add( Restrictions.eq(BestellungFac.FLR_BESTELLUNG_LIEFERANT_I_ID_BESTELLADRESSE, krit.lieferantIId)); } if (artikelklasseIId != null) { cArt.createCriteria(ArtikelFac.FLR_ARTIKEL_FLRARTIKELKLASSE) .add(Restrictions.eq("i_id", artikelklasseIId)); } if (artikelgruppeIId != null) { cArt.createCriteria(ArtikelFac.FLR_ARTIKEL_FLRARTIKELGRUPPE) .add(Restrictions.eq("i_id", artikelgruppeIId)); } if (artikelCNrVon != null) { cArt.add(Restrictions.ge(ArtikelFac.FLR_ARTIKEL_C_NR, artikelCNrVon)); } if (artikelCNrBis != null) { cArt.add(Restrictions.le(ArtikelFac.FLR_ARTIKEL_C_NR, artikelCNrBis)); } // Sortierung nach Kostenstelle ist immer die erste Sortierung if (krit.bSortiereNachKostenstelle) { cBestellung.createCriteria(BestellungFac.FLR_BESTELLUNG_FLRKOSTENSTELLE).addOrder(Order.asc("c_nr")); } Map<String, Object> map = new TreeMap<String, Object>(); if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_DATUM) { cWe.addOrder(Order.asc(WareneingangFac.FLRSPALTE_T_WARENEINGANGSDATUM)); map.put(LPReport.P_SORTIERUNG, getTextRespectUISpr("bes.wedatum", theClientDto.getMandant(), theClientDto.getLocUi())); } else if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_IDENT) { cArt.addOrder(Order.asc(ArtikelFac.FLR_ARTIKEL_C_NR)); map.put(LPReport.P_SORTIERUNG, getTextRespectUISpr("lp.artikel", theClientDto.getMandant(), theClientDto.getLocUi())); } else if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_BELEGNUMMER) { cBestellung.addOrder(Order.asc(BestellungFac.FLR_BESTELLUNG_C_NR)); map.put(LPReport.P_SORTIERUNG, getTextRespectUISpr("bes.belegnummer", theClientDto.getMandant(), theClientDto.getLocUi())); } else if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_PROJEKT) { cBestellung.addOrder(Order.asc(BestellungFac.FLR_BESTELLUNG_C_BEZPROJEKTBEZEICHNUNG)); map.put(LPReport.P_SORTIERUNG, getTextRespectUISpr("lp.projekt", theClientDto.getMandant(), theClientDto.getLocUi())); } else if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_PARTNER) { cBestellung.createCriteria(BestellungFac.FLR_BESTELLUNG_FLRLIEFERANT) .createCriteria(LieferantFac.FLR_PARTNER) .addOrder(Order.asc(PartnerFac.FLR_PARTNER_NAME1NACHNAMEFIRMAZEILE1)); map.put(LPReport.P_SORTIERUNG, getTextRespectUISpr("lp.partner", theClientDto.getMandant(), theClientDto.getLocUi())); } else { c.addOrder(Order.asc("i_id")); map.put(LPReport.P_SORTIERUNG, "i_id"); } List<?> list = c.list(); data = new Object[list.size()][REPORT_BSWARENEINGANGSJOURNAL_ANZAHL_SPALTEN]; int i = 0; for (Iterator<?> iter = list.iterator(); iter.hasNext();) { FLRWareneingangspositionen w = (FLRWareneingangspositionen) iter.next(); if (w.getFlrwareneingang().getT_wareneingansdatum() != null) { data[i][REPORT_BSWARENEINGANGSJOURNAL_DATUM] = w.getFlrwareneingang().getT_wareneingansdatum(); } if (w.getFlrwareneingang().getFlrbestellung().getC_nr() != null) { data[i][REPORT_BSWARENEINGANGSJOURNAL_BESTELLNUMMER] = w.getFlrwareneingang().getFlrbestellung() .getC_nr(); } else { data[i][REPORT_BSWARENEINGANGSJOURNAL_BESTELLNUMMER] = ""; } if (w.getFlrbestellposition().getFlrartikel().getC_nr() != null) { data[i][REPORT_BSWARENEINGANGSJOURNAL_IDENT] = w.getFlrbestellposition().getFlrartikel().getC_nr(); } else { data[i][REPORT_BSWARENEINGANGSJOURNAL_IDENT] = ""; } if (w.getFlrbestellposition().getC_bezeichnung() != null) { data[i][REPORT_BSWARENEINGANGSJOURNAL_BEZEICHNUNG] = w.getFlrbestellposition().getC_bezeichnung(); } else { ArtikelDto artikelDto = getArtikelFac().artikelFindByPrimaryKeySmall( w.getFlrbestellposition().getFlrartikel().getI_id(), theClientDto); data[i][REPORT_BSWARENEINGANGSJOURNAL_BEZEICHNUNG] = artikelDto.formatBezeichnung(); } if (bMitWarenverbrauch) { data[i][REPORT_BSWARENEINGANGSJOURNAL_WA_REFERENZ] = getLagerFac() .getWarenausgangsreferenzSubreport(LocaleFac.BELEGART_BESTELLUNG, w.getI_id(), null, theClientDto); } // SP903 if (w.getFlrbestellposition().getPosition_i_id_artikelset() != null) { data[i][REPORT_BSWARENEINGANGSJOURNAL_SETARTIKEL_TYP] = ArtikelFac.SETARTIKEL_TYP_POSITION; } else { Session sessionSet = FLRSessionFactory.getFactory().openSession(); sessionSet = factory.openSession(); Criteria critSet = sessionSet.createCriteria(FLRBestellpositionReport.class); critSet.add(Restrictions.eq("position_i_id_artikelset", w.getFlrbestellposition().getI_id())); int iZeilen = critSet.list().size(); if (iZeilen > 0) { data[i][REPORT_BSWARENEINGANGSJOURNAL_SETARTIKEL_TYP] = ArtikelFac.SETARTIKEL_TYP_KOPF; } sessionSet.close(); } data[i][REPORT_BSWARENEINGANGSJOURNAL_PROJEKT] = w.getFlrbestellposition().getFlrbestellung() .getC_bezprojektbezeichnung(); data[i][REPORT_BSWARENEINGANGSJOURNAL_LIEFERANT] = w.getFlrbestellposition().getFlrbestellung() .getFlrlieferant().getFlrpartner().getC_name1nachnamefirmazeile1(); if (w.getN_geliefertemenge() != null) { data[i][REPORT_BSWARENEINGANGSJOURNAL_MENGE] = w.getN_geliefertemenge(); } else { data[i][REPORT_BSWARENEINGANGSJOURNAL_MENGE] = new BigDecimal(0); } if (w.getN_gelieferterpreis() != null) { if (darfEinkaufspreisSehen) { BigDecimal kurs = new BigDecimal(w.getFlrwareneingang().getFlrbestellung() .getF_wechselkursmandantwaehrungbestellungswaehrung()); if (kurs.doubleValue() != 0) { data[i][REPORT_BSWARENEINGANGSJOURNAL_GELIEFERTERPREIS] = w.getN_gelieferterpreis() .divide(kurs, 4, BigDecimal.ROUND_HALF_EVEN); } else { data[i][REPORT_BSWARENEINGANGSJOURNAL_GELIEFERTERPREIS] = new BigDecimal(0); } } else { data[i][REPORT_BSWARENEINGANGSJOURNAL_GELIEFERTERPREIS] = null; } } else { if (darfEinkaufspreisSehen) { data[i][REPORT_BSWARENEINGANGSJOURNAL_GELIEFERTERPREIS] = new BigDecimal(0); } else { data[i][REPORT_BSWARENEINGANGSJOURNAL_GELIEFERTERPREIS] = null; } } if (w.getN_einstandspreis() != null) { if (darfEinkaufspreisSehen) { BigDecimal kurs = new BigDecimal(w.getFlrwareneingang().getFlrbestellung() .getF_wechselkursmandantwaehrungbestellungswaehrung()); if (kurs.doubleValue() != 0) { data[i][REPORT_BSWARENEINGANGSJOURNAL_EINSTANDSPREIS] = w.getN_einstandspreis().divide(kurs, 4, BigDecimal.ROUND_HALF_EVEN); } else { data[i][REPORT_BSWARENEINGANGSJOURNAL_EINSTANDSPREIS] = new BigDecimal(0); } } else { data[i][REPORT_BSWARENEINGANGSJOURNAL_EINSTANDSPREIS] = null; } } else { if (darfEinkaufspreisSehen) { data[i][REPORT_BSWARENEINGANGSJOURNAL_EINSTANDSPREIS] = new BigDecimal(0); } else { data[i][REPORT_BSWARENEINGANGSJOURNAL_EINSTANDSPREIS] = null; } } data[i][REPORT_BSWARENEINGANGSJOURNAL_LIEFERSCHEIN] = w.getFlrwareneingang().getC_lieferscheinnr(); data[i][REPORT_BSWARENEINGANGSJOURNAL_LIEFERSCHEINDATUM] = w.getFlrwareneingang() .getT_lieferscheindatum(); if (w.getFlrwareneingang().getFlreingangsrechnung() != null) { data[i][REPORT_BSWARENEINGANGSJOURNAL_EINGANGSRECHNUNG] = w.getFlrwareneingang() .getFlreingangsrechnung().getC_nr(); } if (w.getFlrwareneingang().getFlrbestellung().getFlrkostenstelle() != null) { data[i][REPORT_BSWARENEINGANGSJOURNAL_KOSTENSTELLE] = w.getFlrwareneingang().getFlrbestellung() .getFlrkostenstelle().getC_nr(); } data[i][REPORT_BSWARENEINGANGSJOURNAL_ZUBUCHUNGSLAGER] = w.getFlrwareneingang().getFlrlager().getC_nr(); data[i][REPORT_BSWARENEINGANGSJOURNAL_RABATTSATZ] = w.getFlrwareneingang().getF_rabattsatz(); if (w.getFlrwareneingang().getFlrbestellung().getAuftrag_i_id() != null) { data[i][REPORT_BSWARENEINGANGSJOURNAL_AUFTRAG] = w.getFlrwareneingang().getFlrbestellung() .getFlrauftrag().getC_nr(); } if (w.getFlrbestellposition().getFlrartikel().getFlrartikelklasse() != null) { w.getFlrbestellposition().getFlrartikel().getFlrartikelklasse().getC_nr(); data[i][REPORT_BSWARENEINGANGSJOURNAL_ARTIKELKLASSE] = w.getFlrbestellposition().getFlrartikel() .getFlrartikelklasse().getC_nr(); } if (w.getFlrbestellposition().getFlrartikel().getFlrartikelgruppe() != null) { w.getFlrbestellposition().getFlrartikel().getFlrartikelgruppe().getC_nr(); data[i][REPORT_BSWARENEINGANGSJOURNAL_ARTIKELGRUPPE] = w.getFlrbestellposition().getFlrartikel() .getFlrartikelgruppe().getC_nr(); } data[i][REPORT_BSWARENEINGANGSJOURNAL_TRANSPORTKOSTEN] = w.getFlrwareneingang().getN_transportkosten(); data[i][REPORT_BSWARENEINGANGSJOURNAL_BANKSPESEN] = w.getFlrwareneingang().getN_bankspesen(); data[i][REPORT_BSWARENEINGANGSJOURNAL_ZOLLKOSTEN] = w.getFlrwareneingang().getN_zollkosten(); data[i][REPORT_BSWARENEINGANGSJOURNAL_SONSTIGEKOSTEN] = w.getFlrwareneingang().getN_sonstigespesen(); data[i][REPORT_BSWARENEINGANGSJOURNAL_GK_FAKTOR] = w.getFlrwareneingang().getF_gemeinkostenfaktor(); i++; } if (krit.dBis != null) { map.put("P_BIS", new Timestamp(krit.dBis.getTime())); } if (krit.dVon != null) { map.put("P_VON", new Timestamp(krit.dVon.getTime())); } map.put("P_MIT_WARENVERBRAUCH", new Boolean(bMitWarenverbrauch)); map.put(LPReport.P_REPORT_INFORMATION, ""); initJRDS(map, BestellungReportFac.REPORT_MODUL, BestellungReportFac.REPORT_BESTELLUNG_JOURNAL_WARENEINGANG, theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto); session.close(); return getReportPrint(); }
From source file:com.lp.server.finanz.ejbfac.FinanzReportFacBean.java
License:Open Source License
/** * Buchungsjournal drucken.//from w ww . j a v a 2s . c o m * * @param theClientDto * String * @param buchungsjournalIId * Integer * @return JasperPrint * @throws EJBExceptionLP */ public JasperPrintLP printBuchungsjournal(TheClientDto theClientDto, Integer buchungsjournalIId, Date dVon, Date dBis, boolean storniert, boolean bDatumsfilterIstBuchungsdatum, String text, String belegnummer, BigDecimal betrag) throws EJBExceptionLP { Session session = null; try { this.useCase = UC_BUCHUNGSJOURNAL; this.index = -1; Map<String, Object> mapParameter = new TreeMap<String, Object>(); SessionFactory factory = FLRSessionFactory.getFactory(); session = factory.openSession(); Criteria c = session.createCriteria(FLRFinanzBuchungDetail.class); Timestamp help = new Timestamp(dVon.getTime()); c.createAlias("flrbuchung", "s"); String datumsfilter = "s.d_buchungsdatum"; if (!bDatumsfilterIstBuchungsdatum) { datumsfilter = "t_anlegen"; } c.add(Restrictions.ge(datumsfilter, Helper.cutTimestamp(help))); if (text != null) { c.add(Restrictions.ilike("s." + FinanzFac.FLR_BUCHUNG_C_TEXT, "%" + text + "%")); mapParameter.put("P_TEXT", text); } if (belegnummer != null) { String trennzeichen = getParameterFac().getMandantparameter(theClientDto.getMandant(), ParameterFac.KATEGORIE_ALLGEMEIN, ParameterFac.PARAMETER_BELEGNUMMERNFORMAT_TRENNZEICHEN) .getCWert(); Integer stellenBelegnummer = new Integer(getParameterFac() .getMandantparameter(theClientDto.getMandant(), ParameterFac.KATEGORIE_ALLGEMEIN, ParameterFac.PARAMETER_BELEGNUMMERNFORMAT_STELLEN_BELEGNUMMER) .getCWert()); String sValue = belegnummer; sValue = sValue.replaceAll("%", ""); sValue = Helper.fitString2LengthAlignRight(sValue, stellenBelegnummer, '0'); sValue = "%" + trennzeichen + sValue; c.add(Restrictions.like("s." + FinanzFac.FLR_BUCHUNG_C_BELEGNUMMER, sValue)); } if (betrag != null) { Integer toleranzBetragsuche = new Integer(getParameterFac() .getMandantparameter(theClientDto.getMandant(), ParameterFac.KATEGORIE_FINANZ, ParameterFac.PARAMETER_TOLERANZ_BETRAGSUCHE) .getCWert()); BigDecimal value1 = betrag.subtract( new BigDecimal(betrag.doubleValue() * ((double) toleranzBetragsuche / (double) 100))).abs(); BigDecimal value2 = betrag .add(new BigDecimal(betrag.doubleValue() * ((double) toleranzBetragsuche / (double) 100))) .abs(); c.add(Restrictions.or(Restrictions.between(FinanzFac.FLR_BUCHUNGDETAIL_N_BETRAG, value1, value2), Restrictions.between(FinanzFac.FLR_BUCHUNGDETAIL_N_BETRAG, value2.negate(), value1.negate()))); mapParameter.put("P_TOLERANZ_BETRAGSSUCHE", toleranzBetragsuche); mapParameter.put("P_BETRAG", betrag); } help = new Timestamp(dBis.getTime() + 24 * 3600000); c.add(Restrictions.lt(datumsfilter, Helper.cutTimestamp(help))); if (storniert != true) { c.add(Restrictions.isNull("s.t_storniert")); } else { // Skip } c.createAlias("s.flrkostenstelle", "k"); c.add(Restrictions.eq("k.mandant_c_nr", theClientDto.getMandant())); List<?> list = c.list(); data = new Object[list.size()][REPORT_BUCHUNGSJOURNAL_ANZAHL_SPALTEN]; int i = 0; for (Iterator<?> iter = list.iterator(); iter.hasNext();) { FLRFinanzBuchungDetail b = (FLRFinanzBuchungDetail) iter.next(); data[i][REPORT_BUCHUNGSJOURNAL_AUSZUG] = b.getI_auszug(); data[i][REPORT_BUCHUNGSJOURNAL_BELEGNUMMER] = b.getFlrbuchung().getC_belegnummer(); data[i][REPORT_BUCHUNGSJOURNAL_BUCHUNGSART] = b.getFlrbuchung().getBuchungsart_c_nr(); data[i][REPORT_BUCHUNGSJOURNAL_BUCHUNGSDATUM] = b.getFlrbuchung().getD_buchungsdatum(); if (b.getFlrgegenkonto() != null) { data[i][REPORT_BUCHUNGSJOURNAL_GEGENKONTONUMMER] = b.getFlrgegenkonto().getC_nr(); } data[i][REPORT_BUCHUNGSJOURNAL_BETRAG] = b.getN_betrag(); data[i][REPORT_BUCHUNGSJOURNAL_KONTONUMMER] = b.getFlrkonto().getC_nr(); data[i][REPORT_BUCHUNGSJOURNAL_KOSTENSTELLENUMMER] = b.getFlrbuchung().getFlrkostenstelle() .getC_nr(); data[i][REPORT_BUCHUNGSJOURNAL_TEXT] = b.getFlrbuchung().getC_text(); data[i][REPORT_BUCHUNGSJOURNAL_UST] = b.getN_ust(); if (b.getFlrbuchung().getT_storniert() == null) { data[i][REPORT_BUCHUNGSJOURNAL_STORNIERT] = new Boolean(false); } else { data[i][REPORT_BUCHUNGSJOURNAL_STORNIERT] = new Boolean(true); } if (b.getBuchungdetailart_c_nr().equals("SOLL ")) { data[i][REPORT_BUCHUNGSJOURNAL_SOLL] = b.getN_betrag(); data[i][REPORT_BUCHUNGSJOURNAL_HABEN] = null; } else if (b.getBuchungdetailart_c_nr().equals("HABEN ")) { data[i][REPORT_BUCHUNGSJOURNAL_HABEN] = b.getN_betrag(); data[i][REPORT_BUCHUNGSJOURNAL_SOLL] = null; } else { data[i][REPORT_BUCHUNGSJOURNAL_SOLL] = null; data[i][REPORT_BUCHUNGSJOURNAL_HABEN] = null; } data[i][REPORT_BUCHUNGSJOURNAL_BUCHUNGSJOURNALDATUM] = b.getT_anlegen(); data[i][REPORT_BUCHUNGSJOURNAL_WER] = getPersonalFac() .personalFindByPrimaryKeySmall(b.getFlrbuchung().getPersonal_i_id_anlegen()) .getCKurzzeichen(); i++; } MandantDto mandantDto = getMandantFac().mandantFindByPrimaryKey(theClientDto.getMandant(), theClientDto); mapParameter.put(LPReport.P_WAEHRUNG, mandantDto.getWaehrungCNr()); mapParameter.put("P_VON", dVon); mapParameter.put("P_MITSTORNIERTEN", new Boolean(storniert)); mapParameter.put("P_DATUMSFILTER_IST_BUCHUNGSDATUM", new Boolean(bDatumsfilterIstBuchungsdatum)); mapParameter.put("P_BIS", dBis); initJRDS(mapParameter, FinanzReportFac.REPORT_MODUL, FinanzReportFac.REPORT_BUCHUNGSJOURNAL, theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto); return getReportPrint(); } catch (RemoteException ex) { throwEJBExceptionLPRespectOld(ex); return null; } finally { closeSession(session); } }
From source file:com.medicfast.DAO.MedicamentoDAO.java
public List<Medicamento> buscarPorFabricante(String txt) { Session session = (Session) em.getDelegate(); Criteria criteria = session.createCriteria(Medicamento.class); criteria.add(Restrictions.ilike("fabricante", "%" + txt + "%")); return criteria.list(); }