List of usage examples for org.hibernate Criteria setMaxResults
public Criteria setMaxResults(int maxResults);
From source file:com.lp.server.artikel.ejbfac.ArtikelFacBean.java
License:Open Source License
public String generiereNeueArtikelnummer(String beginnArtikelnummer, TheClientDto theClientDto) { if (beginnArtikelnummer == null) { beginnArtikelnummer = ""; try {/*w w w .j a va 2s . com*/ // PJ18234 ParametermandantDto parameter = getParameterFac().getMandantparameter(theClientDto.getMandant(), ParameterFac.KATEGORIE_ARTIKEL, ParameterFac.PARAMETER_STARTWERT_ARTIKELNUMMER); String startwert = parameter.getCWert(); if (startwert != null && startwert.trim().length() > 1) { beginnArtikelnummer = startwert.trim(); } } catch (RemoteException e) { throwEJBExceptionLPRespectOld(e); } } Session session = FLRSessionFactory.getFactory().openSession(); org.hibernate.Criteria crit = session.createCriteria(FLRArtikel.class); crit.add(Restrictions.like("c_nr", beginnArtikelnummer, MatchMode.START)); crit.add(Restrictions.eq("mandant_c_nr", theClientDto.getMandant())); String[] art = new String[1]; art[0] = ArtikelFac.ARTIKELART_HANDARTIKEL; crit.add(Restrictions.not(Restrictions.in(ArtikelFac.FLR_ARTIKEL_ARTIKELART_C_NR, art))); crit.addOrder(Order.desc("c_nr")); crit.setMaxResults(1); List<?> results = crit.list(); Iterator<?> resultListIterator = results.iterator(); if (results.size() > 0) { FLRArtikel flrArtikel = (FLRArtikel) resultListIterator.next(); String letzteArtikelnummer = flrArtikel.getC_nr(); int iStartZahl = -1; int iEndeZahl = -1; boolean bEndeFound = false; int i = 0; while (i < letzteArtikelnummer.length()) { char c = letzteArtikelnummer.charAt(i); // wenn 0-9 if (c > 47 && c < 58) { iStartZahl = i; iEndeZahl = iStartZahl; for (int j = i; j < letzteArtikelnummer.length(); j++) { char d = letzteArtikelnummer.charAt(j); if (d > 47 && d < 58) { iEndeZahl = j; if (j == letzteArtikelnummer.length() - 1) { bEndeFound = true; } } else { bEndeFound = true; break; } } } i++; if (bEndeFound) { break; } } if (iStartZahl >= 0 && iEndeZahl >= 0) { String zahlenteil = letzteArtikelnummer.substring(iStartZahl, iEndeZahl + 1); long zahl = new Long(zahlenteil); while (1 == 1) { zahl++; String zahlenteilNeu = new String(zahl + ""); if (zahlenteilNeu.length() > zahlenteil.length()) { // PJ 14917 String s = ""; for (int k = 0; k < zahlenteilNeu.length(); k++) { s += "?"; } return letzteArtikelnummer.substring(0, iStartZahl) + s + letzteArtikelnummer.substring(iEndeZahl + 1); } int iNeueLaenge = zahlenteilNeu.length(); if (iNeueLaenge < zahlenteil.length()) { iNeueLaenge = zahlenteil.length(); } zahlenteilNeu = Helper.fitString2LengthAlignRight(zahl + "", iNeueLaenge, '0'); // Neue Artikelnummer zusammenbauen String neueArtNr = letzteArtikelnummer.substring(0, iStartZahl) + zahlenteilNeu + letzteArtikelnummer.substring(iEndeZahl + 1); Query query = em.createNamedQuery("ArtikelfindByCNrMandantCNr"); query.setParameter(1, neueArtNr); query.setParameter(2, theClientDto.getMandant()); Collection<?> cl = query.getResultList(); if (cl.size() > 0) { continue; } return neueArtNr; } } } session.close(); return beginnArtikelnummer; }
From source file:com.lp.server.artikel.ejbfac.ArtikelFacBean.java
License:Open Source License
public void updateTrumphtopslog(String artikelnummer, String kurzbezeichnungMaterial, String importfileName, BigDecimal gewicht, long iBearbeitsungszeit, BigDecimal laserkostenProStunde, Integer lagerIId, String mandantCNr, boolean kalkulationsart1, int mehrverbrauchfuerlaserinmm, double breiteArtikel, double laengeArtikel, Double hoeheArtikel, TheClientDto theClientDto) throws EJBExceptionLP { TrumphtopslogDto ttlogDto = new TrumphtopslogDto(); try {/*from ww w.j a v a2 s.c o m*/ ttlogDto.setNGewicht(Helper.rundeKaufmaennisch(gewicht, 4)); ttlogDto.setNGestpreisneu(new BigDecimal(0)); ttlogDto.setCImportfilename(importfileName); ttlogDto.setIBearbeitungszeit((int) iBearbeitsungszeit); Query queryArt = em.createNamedQuery("ArtikelfindByCNrMandantCNr"); queryArt.setParameter(1, artikelnummer); queryArt.setParameter(2, mandantCNr); Artikel artikel = (Artikel) queryArt.getSingleResult(); ttlogDto.setArtikelIId(artikel.getIId()); Session session = FLRSessionFactory.getFactory().openSession(); String query = "FROM FLRArtikellistespr aspr WHERE aspr.c_kbez ='" + kurzbezeichnungMaterial + "'"; ; org.hibernate.Query kurzbez = session.createQuery(query); List subResults = kurzbez.list(); if (subResults.size() > 0) { session.close(); FLRArtikellistespr flrSpr = (FLRArtikellistespr) subResults.iterator().next(); Integer artikelIIdMaterial = flrSpr.getId().getArtikelliste().getI_id(); ttlogDto.setArtikelIIdMaterial(artikelIIdMaterial); if (subResults.size() > 1) { ttlogDto.setCError("Es wurden mehrer Artikel mit der Kurzbezeichnung '" + kurzbezeichnungMaterial + "' gefunden."); } // Laserkosten= BigDecimal laserkosten = new BigDecimal(iBearbeitsungszeit / (double) 3600000) .multiply(laserkostenProStunde); // PreisMNeu berechnen BigDecimal preisNeu = new BigDecimal(0); try { ArtikellagerDto artikellagerDto = getLagerFac().artikellagerFindByPrimaryKey(artikelIIdMaterial, lagerIId); Artikel artikelMaterial = em.find(Artikel.class, artikelIIdMaterial); // Laserzeit in Minutenfaktor eintragen artikel.setFMinutenfaktor1((double) iBearbeitsungszeit / 60000); // Anzahl der moeglichen Teile berechnen int iAnzahlDerMoeglichenTeile = 0; int iAnzahl_1 = 0; int iAnzahl_2 = 0; double materialLaenge = 0; double materialBreite = 0; Geometrie geometrieMaterial = em.find(Geometrie.class, artikelIIdMaterial); if (geometrieMaterial != null) { if (geometrieMaterial.getFBreite() != null) { materialBreite = geometrieMaterial.getFBreite(); } if (geometrieMaterial.getFTiefe() != null) { materialLaenge = geometrieMaterial.getFTiefe(); } } // Geometrie des Artikels zurueckschreiben Geometrie geometrieArtikel = em.find(Geometrie.class, artikel.getIId()); if (geometrieArtikel == null) { geometrieArtikel = new Geometrie(artikel.getIId()); } geometrieArtikel.setFBreite(laengeArtikel); geometrieArtikel.setFTiefe(breiteArtikel); if (hoeheArtikel != null) { geometrieArtikel.setFHoehe(hoeheArtikel); } em.merge(geometrieArtikel); em.flush(); // Mehrverbrauch fuer Laser laengeArtikel = laengeArtikel + 2 * mehrverbrauchfuerlaserinmm; breiteArtikel = breiteArtikel + 2 * mehrverbrauchfuerlaserinmm; iAnzahl_1 = (int) (materialLaenge / laengeArtikel) * (int) (materialBreite / breiteArtikel); iAnzahl_2 = (int) (materialLaenge / breiteArtikel) * (int) (materialBreite / laengeArtikel); if (iAnzahl_1 > iAnzahl_2) { iAnzahlDerMoeglichenTeile = iAnzahl_1; } else { iAnzahlDerMoeglichenTeile = iAnzahl_2; } // PJ 15468 // Wenn das Teil zu grosz fuer die Blechtafel ist, dann wird // die gesamte Blechtafel berechnet // d.h. Es wird gerechnet, wie wenn 1 Stueck gefertigt wird if (iAnzahlDerMoeglichenTeile == 0) { iAnzahlDerMoeglichenTeile = 1; } // Gewicht eintragen (Gewicht des Ausgangsmateiral / Anzahl // der Teile if (artikelMaterial.getFGewichtkg() != null && iAnzahlDerMoeglichenTeile != 0) { artikel.setFGewichtkg(artikelMaterial.getFGewichtkg() / iAnzahlDerMoeglichenTeile); } if (kalkulationsart1 == true) { BigDecimal preisProKilo = artikellagerDto.getNGestehungspreis(); if (artikelMaterial.getNUmrechnungsfaktor() != null && artikelMaterial.getNUmrechnungsfaktor().doubleValue() != 0) { preisProKilo = artikellagerDto.getNGestehungspreis() .divide(artikelMaterial.getNUmrechnungsfaktor(), 4, BigDecimal.ROUND_HALF_EVEN); } // Materialkosten BigDecimal materialkosten = preisProKilo.multiply(gewicht); preisNeu = Helper.rundeKaufmaennisch(materialkosten.add(laserkosten), 4); } else { if (iAnzahlDerMoeglichenTeile == 0) { return; } preisNeu = Helper.rundeKaufmaennisch(artikellagerDto.getNGestehungspreis() .divide(new BigDecimal(iAnzahlDerMoeglichenTeile), 4, BigDecimal.ROUND_HALF_EVEN) .add(laserkosten), 4); } ttlogDto.setNGestpreisneu(preisNeu); // Gestehungspreis in Artikellager updaten ArtikellagerDto alDto = new ArtikellagerDto(); alDto.setArtikelIId(artikel.getIId()); alDto.setLagerIId(lagerIId); alDto.setMandantCNr(mandantCNr); alDto.setNGestehungspreis(preisNeu); getLagerFac().updateGestpreisArtikellager(alDto, theClientDto); } catch (RemoteException ex1) { // Wenn finderEx, dann kibts keinen preis ttlogDto.setCError("Kein Material-Gestehungspreis gefunden."); } session = FLRSessionFactory.getFactory().openSession(); org.hibernate.Criteria crit = session.createCriteria(FLRTrumphtopslog.class); crit.add(Restrictions.eq(ArtikelFac.FLR_TRUMPHTOPSLOS_ARTIKEL_I_ID, artikel.getIId())); crit.addOrder(Order.desc(ArtikelFac.FLR_TRUMPHTOPSLOS_T_ANLEGEN)); crit.setMaxResults(1); List results = crit.list(); if (results.size() > 0) { FLRTrumphtopslog log = (FLRTrumphtopslog) results.iterator().next(); Trumphtopslog ttlogVorhanden = em.find(Trumphtopslog.class, log.getI_id()); if (ttlogVorhanden.getNGestpreisneu().doubleValue() == ttlogDto.getNGestpreisneu() .doubleValue()) { // Wenn der Preis gleich ist, dann auslassen } else { PKGeneratorObj pkGen = new PKGeneratorObj(); // PKGEN Integer pk = pkGen.getNextPrimaryKey(PKConst.PK_TRUMPHTOPSLOG); ttlogDto.setIId(pk); erzeugeTrumphTopsLogeintrag(ttlogDto); } // Wenn der Preis geaendert ist, dann neuer Eintrag } else { // Neuer Eintrag PKGeneratorObj pkGen = new PKGeneratorObj(); // PKGEN Integer pk = pkGen.getNextPrimaryKey(PKConst.PK_TRUMPHTOPSLOG); ttlogDto.setIId(pk); erzeugeTrumphTopsLogeintrag(ttlogDto); } session.close(); // Gestehungspreis in der Losbuchung updaten // Alle Lose die IN_PRODUKTION sind (d.h. noch keine // Ablieferungen haben) und den Artikel beinhalten session = FLRSessionFactory.getFactory().openSession(); String sQueryIstmaterial = "SELECT istmaterial, (SELECT sum(abl.n_menge) FROM FLRLosablieferung AS abl WHERE abl.flrlos.i_id=istmaterial.flrlossollmaterial.flrlos.i_id) " + " FROM FLRLosistmaterial AS istmaterial WHERE istmaterial.flrlossollmaterial.flrlos.status_c_nr='" + LocaleFac.STATUS_IN_PRODUKTION + "' AND istmaterial.flrlossollmaterial.flrartikel.i_id=" + artikel.getIId() + " AND istmaterial.b_abgang=1"; org.hibernate.Query istmaterial = session.createQuery(sQueryIstmaterial); results = istmaterial.list(); Iterator<?> resultListIterator = results.iterator(); while (resultListIterator.hasNext()) { Object[] o = (Object[]) resultListIterator.next(); BigDecimal summeAblieferungen = (BigDecimal) o[1]; if (summeAblieferungen == null || summeAblieferungen.doubleValue() == 0) { FLRLosistmaterial flrLosistmaterial = (FLRLosistmaterial) o[0]; try { BigDecimal bdPreisAlt = getLagerFac().getGestehungspreisEinerAbgangsposition( LocaleFac.BELEGART_LOS, flrLosistmaterial.getI_id(), null); if (preisNeu.doubleValue() != bdPreisAlt.doubleValue()) { // Preis in Lager updaten LagerbewegungDto lagerbewegungDto = getLagerFac() .getLetzteintrag(LocaleFac.BELEGART_LOS, flrLosistmaterial.getI_id(), null); if (lagerbewegungDto != null) { // Hole Urspruenge dazu LagerabgangursprungDto[] urspruenge = getLagerFac() .lagerabgangursprungFindByLagerbewegungIIdBuchung( lagerbewegungDto.getIIdBuchung()); for (int i = 0; i < urspruenge.length; i++) { LagerbewegungDto[] lagerbewegungDtos = getLagerFac() .lagerbewegungFindByIIdBuchung( urspruenge[i].getILagerbewegungidursprung()); // Preis in Lager updaten getLagerFac().bucheZu(lagerbewegungDtos[0].getCBelegartnr(), lagerbewegungDtos[0].getIBelegartid(), lagerbewegungDtos[0].getIBelegartpositionid(), lagerbewegungDtos[0].getArtikelIId(), lagerbewegungDtos[0].getNMenge(), preisNeu, lagerbewegungDtos[0].getLagerIId(), null, lagerbewegungDtos[0].getTBelegdatum(), theClientDto, null, true); } } } } catch (RemoteException e) { throwEJBExceptionLPRespectOld(e); } } } } else { // Kein Material gefunden session.close(); PKGeneratorObj pkGen = new PKGeneratorObj(); // PKGEN Integer pk = pkGen.getNextPrimaryKey(PKConst.PK_TRUMPHTOPSLOG); ttlogDto.setIId(pk); ttlogDto.setCError( "Kein Materialartikel mit der Kurzbezeichnung '" + kurzbezeichnungMaterial + "' gefunden"); ttlogDto.setNGestpreisneu(new BigDecimal(0)); erzeugeTrumphTopsLogeintrag(ttlogDto); } } catch (NoResultException ex) { // Fehler ttlogDto.setCError("Kein Artikel mit der Nummer '" + artikelnummer + "' gefunden"); ttlogDto.setNGestpreisneu(new BigDecimal(0)); try { erzeugeTrumphTopsLogeintrag(ttlogDto); } catch (Throwable e) { // TODO Auto-generated catch block e.printStackTrace(); } int u = 0; } }
From source file:com.lp.server.artikel.ejbfac.ArtikelReportFacBean.java
License:Open Source License
@TransactionAttribute(TransactionAttributeType.NEVER) public JasperPrintLP printArtikelstatistik(Integer artikelIId, java.sql.Date dVon, java.sql.Date dBis, Integer iOption, boolean bMonatsstatistik, boolean bEingeschraenkt, boolean bMitHandlagerbewegungen, boolean bMitBewegungsvorschau, boolean bMitHistory, TheClientDto theClientDto) throws RemoteException { if (artikelIId == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FELD_DARF_NICHT_NULL_SEIN, new Exception("artikelIId == null")); }//w w w.j a va2 s .c om boolean bWeReferenzAndrucken = false; try { ParametermandantDto parameter = getParameterFac().getMandantparameter(theClientDto.getMandant(), ParameterFac.KATEGORIE_ARTIKEL, ParameterFac.PARAMETER_WE_REFERENZ_IN_STATISTIK); bWeReferenzAndrucken = ((Boolean) parameter.getCWertAsObject()).booleanValue(); } catch (RemoteException ex) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER, ex); } // Erstellung des Reports HashMap<String, Object> parameter = new HashMap<String, Object>(); Session session = FLRSessionFactory.getFactory().openSession(); org.hibernate.Criteria crit = session.createCriteria(FLRLagerbewegung.class).createAlias("flrartikel", "a") .add(Restrictions.eq("a.i_id", artikelIId)) .createAlias("flrlager", "l"); if (bMitHistory == false) { crit.add(Restrictions.eq("b_historie", Helper.boolean2Short(false))); } parameter.put("P_MITBUCHUNGSDETAILS", new Boolean(bMitHistory)); parameter.put("P_MITBEWEGUNGSVORSCHAU", new Boolean(bMitBewegungsvorschau)); parameter.put("P_EINGESCHRAENKT", new Boolean(bEingeschraenkt)); if (!getMandantFac().darfAnwenderAufZusatzfunktionZugreifen( MandantFac.ZUSATZFUNKTION_ZENTRALER_ARTIKELSTAMM, theClientDto)) { crit.add(Restrictions.eq("l.mandant_c_nr", theClientDto.getMandant())); } else { if (getMandantFac().darfAnwenderAufZusatzfunktionZugreifen(MandantFac.ZUSATZFUNKTION_GETRENNTE_LAGER, theClientDto)) { crit.add(Restrictions.eq("l.mandant_c_nr", theClientDto.getMandant())); } } // PJ 17221 // crit.add( // Restrictions.not(Restrictions.eq("l.lagerart_c_nr", // LagerFac.LAGERART_WERTGUTSCHRIFT))); crit.addOrder(Order.desc(LagerFac.FLR_LAGERBEWEGUNG_T_BELEGDATUM)) .addOrder(Order.desc(LagerFac.FLR_LAGERBEWEGUNG_T_BUCHUNGSZEIT)) .addOrder(Order.desc(LagerFac.FLR_LAGERBEWEGUNG_B_ABGANG)); if (dVon != null) { crit.add(Restrictions.ge(LagerFac.FLR_LAGERBEWEGUNG_T_BELEGDATUM, dVon)); parameter.put("P_VON", new java.sql.Timestamp(dVon.getTime())); } if (dBis != null) { crit.add(Restrictions.le(LagerFac.FLR_LAGERBEWEGUNG_T_BELEGDATUM, dBis)); parameter.put("P_BIS", new java.sql.Timestamp(dBis.getTime())); } boolean darfEinkaufspreisSehen = getTheJudgeFac().hatRecht(RechteFac.RECHT_LP_DARF_PREISE_SEHEN_EINKAUF, theClientDto); boolean darfVerkaufspreisSehen = getTheJudgeFac().hatRecht(RechteFac.RECHT_LP_DARF_PREISE_SEHEN_VERKAUF, theClientDto); parameter.put("P_RECHT_LP_DARF_PREISE_SEHEN_EINKAUF", darfEinkaufspreisSehen); parameter.put("P_RECHT_LP_DARF_PREISE_SEHEN_VERKAUF", darfVerkaufspreisSehen); if (iOption == ArtikelFac.REPORT_ARTIKELSTATISTIK_OPTION_ALLE) { parameter.put("P_MITSUMMENZEILE", new Boolean(false)); parameter.put("P_BELEGARTEN", getTextRespectUISpr("lp.alle", theClientDto.getMandant(), theClientDto.getLocUi())); parameter.put("P_BELEGART_AUSWAHL", "lp.alle"); } else if (iOption == ArtikelFac.REPORT_ARTIKELSTATISTIK_OPTION_EK) { parameter.put("P_MITSUMMENZEILE", new Boolean(true)); parameter.put("P_BELEGARTEN", getTextRespectUISpr("lp.einkauf", theClientDto.getMandant(), theClientDto.getLocUi())); String[] belegarten = new String[1]; belegarten[0] = LocaleFac.BELEGART_BESTELLUNG; crit.add(Restrictions.in(LagerFac.FLR_LAGERBEWEGUNG_C_BELEGARTNR, belegarten)); parameter.put("P_BELEGART_AUSWAHL", "lp.einkauf"); } else if (iOption == ArtikelFac.REPORT_ARTIKELSTATISTIK_OPTION_VK) { parameter.put("P_MITSUMMENZEILE", new Boolean(true)); parameter.put("P_BELEGARTEN", getTextRespectUISpr("lp.verkauf", theClientDto.getMandant(), theClientDto.getLocUi())); String[] belegarten = new String[3]; belegarten[0] = LocaleFac.BELEGART_RECHNUNG; belegarten[1] = LocaleFac.BELEGART_LIEFERSCHEIN; belegarten[2] = LocaleFac.BELEGART_GUTSCHRIFT; crit.add(Restrictions.in(LagerFac.FLR_LAGERBEWEGUNG_C_BELEGARTNR, belegarten)); parameter.put("P_BELEGART_AUSWAHL", "lp.verkauf"); } else if (iOption == ArtikelFac.REPORT_ARTIKELSTATISTIK_OPTION_FERTIGUNG) { parameter.put("P_MITSUMMENZEILE", new Boolean(true)); parameter.put("P_BELEGARTEN", getTextRespectUISpr("lp.fertigung", theClientDto.getMandant(), theClientDto.getLocUi())); String[] belegarten = new String[2]; belegarten[0] = LocaleFac.BELEGART_LOS; belegarten[1] = LocaleFac.BELEGART_LOSABLIEFERUNG; crit.add(Restrictions.in(LagerFac.FLR_LAGERBEWEGUNG_C_BELEGARTNR, belegarten)); parameter.put("P_BELEGART_AUSWAHL", "lp.fertigung"); } if (bMitHandlagerbewegungen == false) { String[] belegarten = new String[1]; belegarten[0] = LocaleFac.BELEGART_HAND; crit.add(Restrictions.not(Restrictions.in(LagerFac.FLR_LAGERBEWEGUNG_C_BELEGARTNR, belegarten))); } parameter.put("P_MITHANDLAGERBEWEGUNGEN", new Boolean(bMitHandlagerbewegungen)); if (bEingeschraenkt) { crit.setMaxResults(50); } List<?> results = crit.list(); Iterator<?> resultListIterator = results.iterator(); ArrayList<Object[]> al = new ArrayList<Object[]>(); // PJ 14202 Session sessionInv = FLRSessionFactory.getFactory().openSession(); String sQuery = "FROM FLRInventurstand AS i WHERE i.flrartikel.i_id=" + artikelIId; if (dVon != null) { sQuery += " AND i.flrinventur.t_inventurdatum>='" + Helper.formatDateWithSlashes(dVon) + "'"; } if (dBis != null) { sQuery += " AND i.flrinventur.t_inventurdatum<='" + Helper.formatDateWithSlashes(dBis) + "'"; } sQuery += " ORDER BY i.flrinventur.t_inventurdatum DESC"; Query inventurliste = sessionInv.createQuery(sQuery); ArrayList alInventurliste = new ArrayList(); List<?> resultList = inventurliste.list(); Iterator<?> resultListInventur = resultList.iterator(); while (resultListInventur.hasNext()) { FLRInventurstand item = (FLRInventurstand) resultListInventur.next(); alInventurliste.add(item); } while (resultListIterator.hasNext()) { FLRLagerbewegung lagerbewegung = (FLRLagerbewegung) resultListIterator.next(); if (bMitHistory == true || lagerbewegung.getN_menge().doubleValue() > 0) { while (alInventurliste.size() > 0) { FLRInventurstand flr = (FLRInventurstand) alInventurliste.get(0); if (lagerbewegung.getT_belegdatum().getTime() <= flr.getFlrinventur().getT_inventurdatum() .getTime()) { Object[] zeile = new Object[REPORT_ARTIKELSTATISTIK_ANZAHL_SPALTEN]; zeile[REPORT_ARTIKELSTATISTIK_BEWEGUNGSVORSCHAU] = new Boolean(false); zeile[REPORT_ARTIKELSTATISTIK_BELEGART] = "Inventurstand"; java.sql.Timestamp ts = new java.sql.Timestamp( flr.getFlrinventur().getT_inventurdatum().getTime()); zeile[REPORT_ARTIKELSTATISTIK_SORTIERDATUM] = ts; zeile[REPORT_ARTIKELSTATISTIK_BELEGDATUM] = ts; zeile[REPORT_ARTIKELSTATISTIK_BUCHUNGSZEIT] = ts; zeile[REPORT_ARTIKELSTATISTIK_INVENTURMENGE] = flr.getN_inventurmenge(); zeile[REPORT_ARTIKELSTATISTIK_BELEGNUMMER] = flr.getFlrinventur().getC_bez(); al.add(zeile); alInventurliste.remove(0); } else { break; } } Object[] zeile = new Object[REPORT_ARTIKELSTATISTIK_ANZAHL_SPALTEN]; zeile[REPORT_ARTIKELSTATISTIK_BEWEGUNGSVORSCHAU] = new Boolean(false); String sBelegartCNr = lagerbewegung.getFlrbelegart().getC_nr(); zeile[REPORT_ARTIKELSTATISTIK_BELEGARTCNR] = sBelegartCNr; if (lagerbewegung.getFlrlager().getLagerart_c_nr().equals(LagerFac.LAGERART_WERTGUTSCHRIFT)) { zeile[REPORT_ARTIKELSTATISTIK_BELEGART] = LagerFac.LAGERART_WERTGUTSCHRIFT; } else { zeile[REPORT_ARTIKELSTATISTIK_BELEGART] = lagerbewegung.getC_belegartnr(); } if (lagerbewegung.getC_belegartnr().equals(LocaleFac.BELEGART_LOS) || lagerbewegung.getC_belegartnr().equals(LocaleFac.BELEGART_LOSABLIEFERUNG)) { LosDto losDto = getFertigungFac().losFindByPrimaryKey(lagerbewegung.getI_belegartid()); if (losDto.getStuecklisteIId() != null) { zeile[REPORT_ARTIKELSTATISTIK_STUECKLISTENARTIKEL] = getStuecklisteFac() .stuecklisteFindByPrimaryKey(losDto.getStuecklisteIId(), theClientDto) .getArtikelDto().formatArtikelbezeichnung(); } else { zeile[REPORT_ARTIKELSTATISTIK_STUECKLISTENARTIKEL] = "Materialliste"; } zeile[REPORT_ARTIKELSTATISTIK_LOS_STATUS] = losDto.getStatusCNr(); zeile[REPORT_ARTIKELSTATISTIK_LOS_BEGINN] = losDto.getTProduktionsbeginn(); zeile[REPORT_ARTIKELSTATISTIK_LOS_ENDE] = losDto.getTProduktionsende(); zeile[REPORT_ARTIKELSTATISTIK_LOS_PROJEKT] = losDto.getCProjekt(); zeile[REPORT_ARTIKELSTATISTIK_LOS_ABGELIFERT] = getFertigungFac() .getErledigteMenge(losDto.getIId(), theClientDto); if (losDto.getAuftragIId() != null) { zeile[REPORT_ARTIKELSTATISTIK_LOS_AUFTRAG] = getAuftragFac() .auftragFindByPrimaryKey(losDto.getAuftragIId()).getCNr(); } } if (lagerbewegung.getC_belegartnr().equals(LocaleFac.BELEGART_LIEFERSCHEIN) || lagerbewegung.getC_belegartnr().equals(LocaleFac.BELEGART_RECHNUNG)) { Integer aufposIId = null; if (lagerbewegung.getC_belegartnr().equals(LocaleFac.BELEGART_RECHNUNG)) { RechnungPositionDto rechPos = getRechnungFac() .rechnungPositionFindByPrimaryKeyOhneExc(lagerbewegung.getI_belegartpositionid()); if (rechPos != null) { aufposIId = rechPos.getAuftragpositionIId(); } } else if (lagerbewegung.getC_belegartnr().equals(LocaleFac.BELEGART_LIEFERSCHEIN)) { LieferscheinpositionDto lsPos = getLieferscheinpositionFac() .lieferscheinpositionFindByPrimaryKeyOhneExc( lagerbewegung.getI_belegartpositionid(), theClientDto); if (lsPos != null) { aufposIId = lsPos.getAuftragpositionIId(); } } if (aufposIId != null) { AuftragpositionDto aufposDto = getAuftragpositionFac() .auftragpositionFindByPrimaryKey(aufposIId); AuftragDto aDto = getAuftragFac().auftragFindByPrimaryKey(aufposDto.getBelegIId()); zeile[REPORT_ARTIKELSTATISTIK_AUFTRAG_AUSLOESER] = aDto.getCNr(); } } zeile[REPORT_ARTIKELSTATISTIK_LAGER] = lagerbewegung.getFlrlager().getC_nr(); zeile[REPORT_ARTIKELSTATISTIK_SNRCHNR] = lagerbewegung.getC_seriennrchargennr(); BigDecimal preis = new BigDecimal(0); BigDecimal wert = new BigDecimal(0); if (lagerbewegung.getB_abgang().intValue() == 0) { if (darfEinkaufspreisSehen) { if (lagerbewegung.getC_belegartnr().equals(LocaleFac.BELEGART_GUTSCHRIFT)) { RechnungPositionDto rechposDto = getRechnungFac() .rechnungPositionFindByPrimaryKeyOhneExc( lagerbewegung.getI_belegartpositionid()); if (rechposDto != null) { RechnungDto rechnungDto = getRechnungFac() .rechnungFindByPrimaryKey(rechposDto.getRechnungIId()); preis = rechposDto.getNNettoeinzelpreisplusversteckteraufschlagminusrabatte() .divide(rechnungDto.getNKurs(), 5, BigDecimal.ROUND_HALF_EVEN); zeile[REPORT_ARTIKELSTATISTIK_PREIS] = Helper.rundeKaufmaennisch(preis, 4); } else { preis = lagerbewegung.getN_einstandspreis(); zeile[REPORT_ARTIKELSTATISTIK_PREIS] = Helper.rundeKaufmaennisch(preis, 4); } } else { preis = lagerbewegung.getN_einstandspreis(); zeile[REPORT_ARTIKELSTATISTIK_PREIS] = Helper.rundeKaufmaennisch(preis, 4); } } else { zeile[REPORT_ARTIKELSTATISTIK_PREIS] = null; } } else { if (darfVerkaufspreisSehen) { preis = lagerbewegung.getN_verkaufspreis(); if (lagerbewegung.getC_belegartnr().equals(LocaleFac.BELEGART_LOS)) { preis = getLagerFac().getGemittelterGestehungspreisEinerAbgangsposition( LocaleFac.BELEGART_LOS, lagerbewegung.getI_belegartpositionid()); } zeile[REPORT_ARTIKELSTATISTIK_PREIS] = Helper.rundeKaufmaennisch(preis, 4); } else { zeile[REPORT_ARTIKELSTATISTIK_PREIS] = null; } } if (bWeReferenzAndrucken) { zeile[REPORT_ARTIKELSTATISTIK_WE_REFERENZ] = getLagerFac().getWareneingangsreferenzSubreport( lagerbewegung.getC_belegartnr(), lagerbewegung.getI_belegartpositionid(), lagerbewegung.getC_seriennrchargennr(), false, theClientDto); } wert = preis.multiply(lagerbewegung.getN_menge()); BigDecimal d = lagerbewegung.getN_menge(); // Wenn Lagerabgang, dann negative Menge if (Helper.short2boolean(lagerbewegung.getB_abgang())) { d = d.negate(); } zeile[REPORT_ARTIKELSTATISTIK_MENGE] = d; if (lagerbewegung.getFlrhersteller() != null) { zeile[REPORT_ARTIKELSTATISTIK_HERSTELLER] = lagerbewegung.getFlrhersteller().getC_nr(); } if (lagerbewegung.getFlrland() != null) { zeile[REPORT_ARTIKELSTATISTIK_URSPRUNGSLAND] = lagerbewegung.getFlrland().getC_lkz(); } try { BelegInfos bi = getLagerFac().getBelegInfos(lagerbewegung.getC_belegartnr(), lagerbewegung.getI_belegartid(), lagerbewegung.getI_belegartpositionid(), theClientDto); zeile[REPORT_ARTIKELSTATISTIK_BELEGNUMMER] = bi.getBelegnummer(); zeile[REPORT_ARTIKELSTATISTIK_FIRMA] = bi.getKundeLieferant(); zeile[REPORT_ARTIKELSTATISTIK_VERLEIHFAKTOR] = bi.getVerleihfaktor(); zeile[REPORT_ARTIKELSTATISTIK_VERLEIHTAGE] = bi.getVerleihtage(); zeile[REPORT_ARTIKELSTATISTIK_BUCHUNGSZEIT] = lagerbewegung.getT_buchungszeit(); if (lagerbewegung.getC_belegartnr().equals(LocaleFac.BELEGART_LIEFERSCHEIN)) { zeile[REPORT_ARTIKELSTATISTIK_LIEFERTERMIN] = bi.getBelegdatum(); } if (bi.getBelegdatum() != null) { zeile[REPORT_ARTIKELSTATISTIK_BELEGDATUM] = bi.getBelegdatum(); } else { zeile[REPORT_ARTIKELSTATISTIK_BELEGDATUM] = lagerbewegung.getT_belegdatum(); } zeile[REPORT_ARTIKELSTATISTIK_MATERIALZUSCHLAG] = bi.getBdMaterialzuschlag(); zeile[REPORT_ARTIKELSTATISTIK_SORTIERDATUM] = zeile[REPORT_ARTIKELSTATISTIK_BELEGDATUM]; // Wenn Belegdatum und Buchungsdatum gleich, dann wird die // Buchungszeit + Datum als Belegdatum verwendet if (Helper.cutTimestamp((Timestamp) zeile[REPORT_ARTIKELSTATISTIK_BELEGDATUM]) .equals(Helper.cutTimestamp((Timestamp) zeile[REPORT_ARTIKELSTATISTIK_BUCHUNGSZEIT]))) { zeile[REPORT_ARTIKELSTATISTIK_SORTIERDATUM] = lagerbewegung.getT_buchungszeit(); } // Fuer Monatsstatistik Calendar c = Calendar.getInstance(); if (bi.getBelegdatum() != null) { c.setTimeInMillis(bi.getBelegdatum().getTime()); } else { c.setTimeInMillis(lagerbewegung.getT_buchungszeit().getTime()); } c.set(Calendar.HOUR_OF_DAY, 0); c.set(Calendar.MINUTE, 0); c.set(Calendar.SECOND, 0); c.set(Calendar.MILLISECOND, 0); c.set(Calendar.DAY_OF_MONTH, 1); // Schon enthalten? al.add(zeile); } catch (RemoteException ex2) { throwEJBExceptionLPRespectOld(ex2); } } } // while (alInventurliste.size() > 0) { FLRInventurstand flr = (FLRInventurstand) alInventurliste.get(0); Object[] zeile = new Object[REPORT_ARTIKELSTATISTIK_ANZAHL_SPALTEN]; zeile[REPORT_ARTIKELSTATISTIK_BELEGART] = "Inventurstand"; zeile[REPORT_ARTIKELSTATISTIK_BEWEGUNGSVORSCHAU] = new Boolean(false); java.sql.Timestamp ts = new java.sql.Timestamp(flr.getFlrinventur().getT_inventurdatum().getTime()); zeile[REPORT_ARTIKELSTATISTIK_SORTIERDATUM] = ts; zeile[REPORT_ARTIKELSTATISTIK_BELEGDATUM] = ts; zeile[REPORT_ARTIKELSTATISTIK_BUCHUNGSZEIT] = ts; zeile[REPORT_ARTIKELSTATISTIK_INVENTURMENGE] = flr.getN_inventurmenge(); zeile[REPORT_ARTIKELSTATISTIK_BELEGNUMMER] = flr.getFlrinventur().getC_bez(); al.add(zeile); alInventurliste.remove(0); } sessionInv.close(); session.close(); ArtikelDto aDto = getArtikelFac().artikelFindByPrimaryKey(artikelIId, theClientDto); parameter.put("P_ARTIKEL", aDto.formatArtikelbezeichnung()); parameter.put("P_ARTIKELEINHEIT", aDto.getEinheitCNr().trim()); parameter.put("P_BESTELLEINHEIT", aDto.getEinheitCNrBestellung()); parameter.put("P_MULTIPLIKATORBESTELLMENGE", aDto.getNUmrechnungsfaktor()); parameter.put("P_BESTELLEINHEIT_INVERS", Helper.short2Boolean(aDto.getbBestellmengeneinheitInvers())); if (bMonatsstatistik == true) { sAktuellerReport = ArtikelReportFac.REPORT_MONATSSTATISTIK; for (int i = 0; i < al.size() - 1; i = i + 1) { for (int j = al.size() - 1; j > i; j = j - 1) { Object[] erstes = (Object[]) al.get(j - 1); Object[] zweites = (Object[]) al.get(j); if (((java.sql.Timestamp) erstes[REPORT_ARTIKELSTATISTIK_BELEGDATUM]) .before(((java.sql.Timestamp) zweites[REPORT_ARTIKELSTATISTIK_BELEGDATUM]))) { Object[] temp = erstes; al.set(j - 1, zweites); al.set(j, temp); } } } // sortiere nach Jahr/Monat java.text.DateFormatSymbols symbols = new java.text.DateFormatSymbols(theClientDto.getLocUi()); String[] defaultMonths = symbols.getMonths(); GregorianCalendar cAktuell = new GregorianCalendar(); if (al.size() > 0) { Object[] erste = (Object[]) al.get(al.size() - 1); Object[] letzte = (Object[]) al.get(0); cAktuell.setTimeInMillis(((Timestamp) letzte[REPORT_ARTIKELSTATISTIK_BELEGDATUM]).getTime()); ArrayList alMonate = new ArrayList(); while (cAktuell.getTimeInMillis() >= ((Timestamp) erste[REPORT_ARTIKELSTATISTIK_BELEGDATUM]) .getTime()) { BigDecimal mengeZugang = new BigDecimal(0); BigDecimal wertZugang = new BigDecimal(0); BigDecimal mengeAbgang = new BigDecimal(0); BigDecimal wertAbgang = new BigDecimal(0); for (int i = 0; i < al.size(); i++) { Object[] zeile = (Object[]) al.get(i); Timestamp d = (Timestamp) zeile[REPORT_ARTIKELSTATISTIK_BELEGDATUM]; Calendar cZeile = Calendar.getInstance(); cZeile.setTimeInMillis(d.getTime()); if (cAktuell.get(Calendar.MONTH) == cZeile.get(Calendar.MONTH) && cAktuell.get(Calendar.YEAR) == cZeile.get(Calendar.YEAR)) { BigDecimal mengeZeile = (BigDecimal) zeile[REPORT_ARTIKELSTATISTIK_MENGE]; BigDecimal preisZeile = (BigDecimal) zeile[REPORT_ARTIKELSTATISTIK_PREIS]; if (mengeZeile != null && preisZeile != null) { boolean bGutschrift = false; if (zeile[REPORT_ARTIKELSTATISTIK_BELEGART] != null && zeile[REPORT_ARTIKELSTATISTIK_BELEGART] .equals(LocaleFac.BELEGART_GUTSCHRIFT)) { bGutschrift = true; } // SP18027 if (mengeZeile.doubleValue() > 0) { if (bGutschrift == true) { mengeAbgang = mengeAbgang.subtract(mengeZeile.abs()); wertAbgang = wertAbgang.subtract(mengeZeile.abs().multiply(preisZeile)); } else { mengeZugang = mengeZugang.add(mengeZeile); wertZugang = wertZugang.add(mengeZeile.multiply(preisZeile)); } } else { mengeAbgang = mengeAbgang.add(mengeZeile.abs()); wertAbgang = wertAbgang.add(mengeZeile.abs().multiply(preisZeile)); } } } } Object[] zeileMonate = new Object[KundeReportFac.REPORT_MONATSSTATISTIK_ANZAHL_FELDER]; zeileMonate[REPORT_MONATSSTATISTIK_MONAT] = defaultMonths[cAktuell.get(Calendar.MONTH)]; zeileMonate[REPORT_MONATSSTATISTIK_JAHR] = cAktuell.get(Calendar.YEAR); zeileMonate[REPORT_MONATSSTATISTIK_ABGANG_MENGE] = mengeAbgang; zeileMonate[REPORT_MONATSSTATISTIK_ABGANG_WERT] = wertAbgang; zeileMonate[REPORT_MONATSSTATISTIK_ZUGANG_MENGE] = mengeZugang; zeileMonate[REPORT_MONATSSTATISTIK_ZUGANG_WERT] = wertZugang; alMonate.add(zeileMonate); cAktuell.set(Calendar.DAY_OF_MONTH, 1); cAktuell.getTimeInMillis(); cAktuell.set(Calendar.MONTH, cAktuell.get(Calendar.MONTH) - 1); cAktuell.getTimeInMillis(); cAktuell.set(Calendar.DAY_OF_MONTH, cAktuell.getActualMaximum(Calendar.DAY_OF_MONTH)); cAktuell.getTimeInMillis(); } Object[][] dataTemp = new Object[1][1]; data = (Object[][]) alMonate.toArray(dataTemp); initJRDS(parameter, ArtikelFac.REPORT_MODUL, ArtikelReportFac.REPORT_MONATSSTATISTIK, theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto); return getReportPrint(); } else { return null; } } else { if (bMitBewegungsvorschau == true) { // SP 1008 OHNE Internebestellung ArrayList<?> list = getInternebestellungFac().getBewegungsvorschauSortiert(artikelIId, false, theClientDto); BewegungsvorschauDto[] returnArray = new BewegungsvorschauDto[list.size()]; BewegungsvorschauDto[] dtos = (com.lp.server.bestellung.service.BewegungsvorschauDto[]) list .toArray(returnArray); for (int i = 0; i < dtos.length; i++) { BewegungsvorschauDto dto = dtos[i]; if (dto.getTLiefertermin() != null) { Object[] zeile = new Object[REPORT_ARTIKELSTATISTIK_ANZAHL_SPALTEN]; zeile[REPORT_ARTIKELSTATISTIK_BEWEGUNGSVORSCHAU] = new Boolean(true); if (dto.getCBelegartCNr() != null && dto.getCBelegartCNr().equals(LocaleFac.BELEGART_LOSABLIEFERUNG)) { LosDto losDto = getFertigungFac().losFindByPrimaryKey(dto.getIBelegIId()); zeile[REPORT_ARTIKELSTATISTIK_LOS_STATUS] = losDto.getStatusCNr(); zeile[REPORT_ARTIKELSTATISTIK_LOS_BEGINN] = losDto.getTProduktionsbeginn(); zeile[REPORT_ARTIKELSTATISTIK_LOS_ENDE] = losDto.getTProduktionsende(); zeile[REPORT_ARTIKELSTATISTIK_LOS_PROJEKT] = losDto.getCProjekt(); zeile[REPORT_ARTIKELSTATISTIK_LOS_ABGELIFERT] = getFertigungFac() .getErledigteMenge(losDto.getIId(), theClientDto); if (losDto.getAuftragIId() != null) { zeile[REPORT_ARTIKELSTATISTIK_LOS_AUFTRAG] = getAuftragFac() .auftragFindByPrimaryKey(losDto.getAuftragIId()).getCNr(); } } zeile[REPORT_ARTIKELSTATISTIK_BELEGART] = dto.getCBelegartCNr(); zeile[REPORT_ARTIKELSTATISTIK_BELEGNUMMER] = dto.getCBelegnummer(); if (dto.getPartnerDto() != null) { zeile[REPORT_ARTIKELSTATISTIK_FIRMA] = dto.getPartnerDto().formatFixTitelName1Name2(); } else { zeile[REPORT_ARTIKELSTATISTIK_FIRMA] = dto.getCProjekt(); } // PJ17836 zeile[REPORT_ARTIKELSTATISTIK_SORTIERDATUM] = dto.getTLiefertermin(); if (dto.getTABTerminBestellung() != null) { zeile[REPORT_ARTIKELSTATISTIK_SORTIERDATUM] = new Timestamp( dto.getTABTerminBestellung().getTime()); } zeile[REPORT_ARTIKELSTATISTIK_BELEGDATUM] = dto.getTLiefertermin(); zeile[REPORT_ARTIKELSTATISTIK_BUCHUNGSZEIT] = dto.getTLiefertermin(); zeile[REPORT_ARTIKELSTATISTIK_LIEFERTERMIN] = dto.getTLiefertermin(); zeile[REPORT_ARTIKELSTATISTIK_MENGE] = dto.getNMenge(); al.add(zeile); } } // PJ17817 ReportAnfragestatistikKriterienDto kritDtoI = new ReportAnfragestatistikKriterienDto(); kritDtoI.setArtikelIId(artikelIId); ReportRahmenreservierungDto[] aReportRahmenreservierungDto = getReportRahmenreservierung(kritDtoI, theClientDto); for (int i = 0; i < aReportRahmenreservierungDto.length; i++) { ReportRahmenreservierungDto reportRahmenreservierungDto = (ReportRahmenreservierungDto) aReportRahmenreservierungDto[i]; Object[] zeile = new Object[REPORT_ARTIKELSTATISTIK_ANZAHL_SPALTEN]; zeile[REPORT_ARTIKELSTATISTIK_BEWEGUNGSVORSCHAU] = new Boolean(true); zeile[REPORT_ARTIKELSTATISTIK_BELEGART] = "Rahmenreservierung"; zeile[REPORT_ARTIKELSTATISTIK_BELEGNUMMER] = reportRahmenreservierungDto.getAuftragCNr(); zeile[REPORT_ARTIKELSTATISTIK_FIRMA] = reportRahmenreservierungDto.getCKundenname(); zeile[REPORT_ARTIKELSTATISTIK_SORTIERDATUM] = reportRahmenreservierungDto .getTUebersteuerterLiefertermin(); zeile[REPORT_ARTIKELSTATISTIK_LIEFERTERMIN] = reportRahmenreservierungDto .getTUebersteuerterLiefertermin(); zeile[REPORT_ARTIKELSTATISTIK_BELEGDATUM] = reportRahmenreservierungDto .getTUebersteuerterLiefertermin(); zeile[REPORT_ARTIKELSTATISTIK_BUCHUNGSZEIT] = reportRahmenreservierungDto .getTUebersteuerterLiefertermin(); zeile[REPORT_ARTIKELSTATISTIK_MENGE] = reportRahmenreservierungDto.getNOffeneMenge().negate(); al.add(zeile); } RahmenbestelltReportDto[] rahmenbestelltDtos = getReportRahmenbestelltDto(artikelIId, theClientDto); for (int i = 0; i < rahmenbestelltDtos.length; i++) { RahmenbestelltReportDto dto = rahmenbestelltDtos[i]; Object[] zeile = new Object[REPORT_ARTIKELSTATISTIK_ANZAHL_SPALTEN]; zeile[REPORT_ARTIKELSTATISTIK_BEWEGUNGSVORSCHAU] = new Boolean(true); zeile[REPORT_ARTIKELSTATISTIK_BELEGART] = "Rahmenbestellt"; zeile[REPORT_ARTIKELSTATISTIK_BELEGNUMMER] = dto.getBestellnummer(); zeile[REPORT_ARTIKELSTATISTIK_FIRMA] = dto.getLieferant(); zeile[REPORT_ARTIKELSTATISTIK_LIEFERTERMIN] = dto.getTLiefertermin(); zeile[REPORT_ARTIKELSTATISTIK_BELEGDATUM] = dto.getTLiefertermin(); zeile[REPORT_ARTIKELSTATISTIK_BUCHUNGSZEIT] = dto.getTLiefertermin(); zeile[REPORT_ARTIKELSTATISTIK_SORTIERDATUM] = dto.getTLiefertermin(); zeile[REPORT_ARTIKELSTATISTIK_MENGE] = dto.getOffenmenge(); // Nettoeinzelpreis zeile[REPORT_ARTIKELSTATISTIK_PREIS] = dto.getPreis(); al.add(zeile); } } Timestamp tHeute = new Timestamp(System.currentTimeMillis()); Timestamp tMorgen = new Timestamp(System.currentTimeMillis() + (24 * 3600000)); for (int i = 0; i < al.size(); i++) { // Bei Bewegungsvorschau-Daten kann der Liefertermin fruehestens // morgen sein Object[] zeile = (Object[]) al.get(i); if (((Boolean) zeile[REPORT_ARTIKELSTATISTIK_BEWEGUNGSVORSCHAU]) == true) { Timestamp t = (Timestamp) zeile[REPORT_ARTIKELSTATISTIK_SORTIERDATUM]; if (t.before(tHeute)) { zeile[REPORT_ARTIKELSTATISTIK_SORTIERDATUM] = tMorgen; al.set(i, zeile); } } } // PJ17836 immer nach diesem Sortierdatum sortieren for (int i = 0; i < al.size() - 1; i = i + 1) { for (int j = al.size() - 1; j > i; j = j - 1) { Object[] erstes = (Object[]) al.get(j - 1); Object[] zweites = (Object[]) al.get(j); if (((java.sql.Timestamp) erstes[REPORT_ARTIKELSTATISTIK_SORTIERDATUM]) .before(((java.sql.Timestamp) zweites[REPORT_ARTIKELSTATISTIK_SORTIERDATUM]))) { Object[] temp = erstes; al.set(j - 1, zweites); al.set(j, temp); } } } index = -1; sAktuellerReport = ArtikelReportFac.REPORT_ARTIKELSTATISTIK; Object[][] returnArray = new Object[al.size()][16]; data = (Object[][]) al.toArray(returnArray); initJRDS(parameter, ArtikelFac.REPORT_MODUL, ArtikelReportFac.REPORT_ARTIKELSTATISTIK, theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto); return getReportPrint(); } }
From source file:com.lp.server.artikel.ejbfac.InventurFacBean.java
License:Open Source License
@TransactionAttribute(TransactionAttributeType.NEVER) public void inventurpreiseAufEkPreisSetzen(Integer inventurIId, TheClientDto theClientDto) { InventurDto inventurDto = inventurFindByPrimaryKey(inventurIId, theClientDto); Session session = FLRSessionFactory.getFactory().openSession(); org.hibernate.Criteria crit = session.createCriteria(FLRInventurstand.class); crit.add(Restrictions.eq("inventur_i_id", inventurIId)); List<?> results = crit.list(); Iterator<?> resultListIteratorInventur = results.iterator(); int row = 0;/* ww w . j a v a 2s . co m*/ while (resultListIteratorInventur.hasNext()) { FLRInventurstand flrInventurstand = (FLRInventurstand) resultListIteratorInventur.next(); row++; System.out.println(row + " von " + results.size()); java.math.BigDecimal inventurpeis = new BigDecimal(0); Session sessionZugang = FLRSessionFactory.getFactory().openSession(); org.hibernate.Criteria critZugang = sessionZugang.createCriteria(FLRLagerbewegung.class); critZugang.add(Restrictions.eq(LagerFac.FLR_LAGERBEWEGUNG_ARTIKEL_I_ID, flrInventurstand.getFlrartikel().getI_id())); critZugang.add(Restrictions.eq(LagerFac.FLR_LAGERBEWEGUNG_B_ABGANG, Helper.boolean2Short(false))); critZugang.add(Restrictions.eq(LagerFac.FLR_LAGERBEWEGUNG_B_HISTORIE, Helper.boolean2Short(false))); critZugang.add(Restrictions.gt(LagerFac.FLR_LAGERBEWEGUNG_N_MENGE, new BigDecimal(0))); critZugang.add( Restrictions.gt(LagerFac.FLR_LAGERBEWEGUNG_T_BUCHUNGSZEIT, inventurDto.getTInventurdatum())); String[] arten = new String[2]; arten[0] = LocaleFac.BELEGART_LOSABLIEFERUNG; arten[1] = LocaleFac.BELEGART_BESTELLUNG; critZugang.add(Restrictions.in(LagerFac.FLR_LAGERBEWEGUNG_C_BELEGARTNR, arten)); critZugang.addOrder(Order.asc(LagerFac.FLR_LAGERBEWEGUNG_T_BUCHUNGSZEIT)); critZugang.setMaxResults(1); List<?> resultList = critZugang.list(); if (resultList.size() > 0) { Iterator<?> resultListIterator = resultList.iterator(); FLRLagerbewegung lagerbewegung = (FLRLagerbewegung) resultListIterator.next(); inventurpeis = lagerbewegung.getN_einstandspreis(); } else { // EK-Preis ArtikellieferantDto alDto; try { alDto = getArtikelFac().getArtikelEinkaufspreis(flrInventurstand.getFlrartikel().getI_id(), new BigDecimal(1), theClientDto.getSMandantenwaehrung(), theClientDto); if (alDto != null && alDto.getNNettopreis() != null && alDto.getNNettopreis().doubleValue() != 0) { inventurpeis = alDto.getNNettopreis(); } else { continue; } } catch (RemoteException e) { throwEJBExceptionLPRespectOld(e); } } sessionZugang.close(); // Updaten InventurstandDto inventurstandDto = inventurstandFindByPrimaryKey(flrInventurstand.getI_id()); inventurstandDto.setNInventurpreis(inventurpeis); try { getInventurFac().updateInventurstand(inventurstandDto); } catch (RemoteException e) { throwEJBExceptionLPRespectOld(e); } } InventurDto dto = inventurFindByPrimaryKey(inventurIId, theClientDto); dto.setBAbwertungdurchgefuehrt(Helper.boolean2Short(false)); dto.setTAbwertungdurchgefuehrt(null); getInventurFac().updateInventur(dto, theClientDto); }
From source file:com.lp.server.artikel.ejbfac.LagerFacBean.java
License:Open Source License
public BigDecimal getGestehungspreisZumZeitpunkt(Integer artikelIId, Integer lagerIId, java.sql.Timestamp tsZeitpunkt, TheClientDto theClientDto) { if (artikelIId == null || tsZeitpunkt == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FELD_DARF_NICHT_NULL_SEIN, new Exception("artikelIId == null || tsZeitpunkt == null")); }//from w w w. ja va 2 s.c o m ArtikelDto aDto = getArtikelFac().artikelFindByPrimaryKeySmall(artikelIId, theClientDto); // Wenn nicht lagerbewirtschaftet, dann auf KEIN_LAGER umstellen. if (!Helper.short2boolean(aDto.getBLagerbewirtschaftet())) { lagerIId = lagerFindByCNrByMandantCNr(LagerFac.LAGER_KEINLAGER, theClientDto.getMandant()).getIId(); } if (aDto.getArtikelartCNr().equals(ArtikelFac.ARTIKELART_ARBEITSZEIT)) { ArtikellieferantDto dto = getArtikelFac().getArtikelEinkaufspreis(artikelIId, null, new BigDecimal(1), theClientDto.getSMandantenwaehrung(), new java.sql.Date(tsZeitpunkt.getTime()), theClientDto); if (dto != null) { if (dto.getNNettopreis() != null) { return dto.getNNettopreis(); } else { return new BigDecimal(0); } } else { return new BigDecimal(0); } } BigDecimal gesamtwert = null; BigDecimal gesamtlagerstand = new BigDecimal(0.0000); LagerDto[] lagerDtos = new LagerDto[1]; if (lagerIId != null) { LagerDto lagerDto = new LagerDto(); lagerDto.setIId(lagerIId); lagerDtos[0] = lagerDto; } else { lagerDtos = lagerFindByMandantCNr(theClientDto.getMandant()); } for (int i = 0; i < lagerDtos.length; i++) { SessionFactory factory = FLRSessionFactory.getFactory(); Session session = null; session = factory.openSession(); org.hibernate.Criteria crit = session.createCriteria(FLRLagerbewegung.class); crit.setMaxResults(1); crit.add(Expression.le(LagerFac.FLR_LAGERBEWEGUNG_T_BELEGDATUM, tsZeitpunkt)) .createAlias(LagerFac.FLR_LAGERPLAETZE_FLRARTIKEL, "a").add(Expression.eq("a.i_id", artikelIId)) .add(Expression.eq("b_historie", Helper.boolean2Short(false))); crit.createAlias(LagerFac.FLR_LAGERPLAETZE_FLRLAGER, "l"); crit.add(Expression.eq(LagerFac.FLR_LAGERBEWEGUNG_B_ABGANG, Helper.boolean2Short(false))); crit.add(Expression.eq("l.i_id", lagerDtos[i].getIId())); crit.addOrder(Order.desc(LagerFac.FLR_LAGERBEWEGUNG_T_BELEGDATUM)) .addOrder(Order.desc(LagerFac.FLR_LAGERBEWEGUNG_T_BUCHUNGSZEIT)); List<?> resultList = crit.list(); Iterator<?> resultListIterator = resultList.iterator(); if (resultListIterator.hasNext()) { if (gesamtwert == null) { gesamtwert = new BigDecimal(0.0000); } FLRLagerbewegung lagerbewegung = (FLRLagerbewegung) resultListIterator.next(); // Wenns der Gestehungspreis eines bestimmten Lagers ist, dann // kann diesel sofort zurueckgegeben werden if (lagerIId != null) { return lagerbewegung.getN_gestehungspreis(); } BigDecimal lpZp = getLagerstandZumZeitpunkt(artikelIId, lagerDtos[i].getIId(), tsZeitpunkt, theClientDto); gesamtlagerstand = gesamtlagerstand.add(lpZp); gesamtwert = gesamtwert.add(lpZp.multiply(lagerbewegung.getN_gestehungspreis())); } session.close(); } if (gesamtlagerstand.doubleValue() != 0) { return gesamtwert.divide(gesamtlagerstand, 4, BigDecimal.ROUND_HALF_EVEN); } else { if (gesamtwert == null) { return null; } else { return new BigDecimal(0.0000); } } }
From source file:com.lp.server.artikel.ejbfac.LagerFacBean.java
License:Open Source License
/** * Gibt das Datum der Letzten Zugangsbuchung zurueck * /*from w w w .j av a2s . c om*/ * @param artikelIId * 4711 * @param bAbgang * Zu/Abgang * @throws EJBExceptionLP * artikelIId == null * @return java.sql.Timestamp Timestamp der Letzten Buchung */ public java.sql.Timestamp getDatumLetzterZugangsOderAbgangsbuchung(Integer artikelIId, boolean bAbgang) throws EJBExceptionLP { if (artikelIId == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FELD_DARF_NICHT_NULL_SEIN, new Exception("artikelIId == null")); } java.sql.Timestamp tsZeit = null; Session session = FLRSessionFactory.getFactory().openSession(); org.hibernate.Criteria crit = session.createCriteria(FLRLagerbewegung.class); crit.add(Restrictions.eq(LagerFac.FLR_LAGERBEWEGUNG_ARTIKEL_I_ID, artikelIId)); crit.add(Restrictions.eq(LagerFac.FLR_LAGERBEWEGUNG_B_ABGANG, Helper.boolean2Short(bAbgang))); crit.add(Restrictions.gt(LagerFac.FLR_LAGERBEWEGUNG_N_MENGE, new BigDecimal(0))); crit.addOrder(Order.desc(LagerFac.FLR_LAGERBEWEGUNG_T_BUCHUNGSZEIT)); crit.setMaxResults(1); List<?> resultList = crit.list(); if (resultList.size() > 0) { Iterator<?> resultListIterator = resultList.iterator(); FLRLagerbewegung lagerbewegung = (FLRLagerbewegung) resultListIterator.next(); tsZeit = new Timestamp(lagerbewegung.getT_buchungszeit().getTime()); } session.close(); return tsZeit; }
From source file:com.lp.server.artikel.ejbfac.LagerFacBean.java
License:Open Source License
public Integer getLetzteWEP_IID(Integer artikelIId) { if (artikelIId == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FELD_DARF_NICHT_NULL_SEIN, new Exception("artikelIId == null")); }//from ww w . j a v a2 s . c o m Integer wepIId = null; Session session = FLRSessionFactory.getFactory().openSession(); org.hibernate.Criteria crit = session.createCriteria(FLRLagerbewegung.class); crit.add(Restrictions.eq(LagerFac.FLR_LAGERBEWEGUNG_ARTIKEL_I_ID, artikelIId)); crit.add(Restrictions.eq(LagerFac.FLR_LAGERBEWEGUNG_C_BELEGARTNR, LocaleFac.BELEGART_BESTELLUNG)); crit.add(Restrictions.eq(LagerFac.FLR_LAGERBEWEGUNG_B_ABGANG, Helper.boolean2Short(false))); crit.add(Restrictions.eq(LagerFac.FLR_LAGERBEWEGUNG_B_HISTORIE, Helper.boolean2Short(false))); crit.add(Restrictions.gt(LagerFac.FLR_LAGERBEWEGUNG_N_MENGE, new BigDecimal(0))); crit.addOrder(Order.desc(LagerFac.FLR_LAGERBEWEGUNG_T_BUCHUNGSZEIT)); crit.setMaxResults(1); List<?> resultList = crit.list(); if (resultList.size() > 0) { Iterator<?> resultListIterator = resultList.iterator(); FLRLagerbewegung lagerbewegung = (FLRLagerbewegung) resultListIterator.next(); wepIId = lagerbewegung.getI_belegartpositionid(); } session.close(); return wepIId; }
From source file:com.lp.server.bestellung.ejbfac.BestellungFacBean.java
License:Open Source License
public void importiereMonatsbestellung(ArrayList<ImportMonatsbestellungDto> importMonatbestellung, TheClientDto theClientDto) {//from ww w .j a v a 2s.com // letzte Bestellung des Lieferanten suchen und nachsehen, ob diese in // diesem Monat bereits vorhanden ist. // PJ 17876 Integer iMonatsbestellungsart = 0; try { ParametermandantDto parameter = getParameterFac().getMandantparameter(theClientDto.getMandant(), ParameterFac.KATEGORIE_BESTELLUNG, ParameterFac.PARAMETER_MONATSBESTELLUNGSART); iMonatsbestellungsart = (Integer) parameter.getCWertAsObject(); } catch (RemoteException e2) { throwEJBExceptionLPRespectOld(e2); } if (iMonatsbestellungsart == 2) { importiereBestellung(importMonatbestellung, theClientDto); return; } for (int i = 0; i < importMonatbestellung.size(); i++) { SessionFactory factory = FLRSessionFactory.getFactory(); Session session = factory.openSession(); Criteria c = session.createCriteria(FLRBestellung.class); c.add(Restrictions.eq(BestellungFac.FLR_BESTELLUNG_LIEFERANT_I_ID_BESTELLADRESSE, importMonatbestellung.get(i).getLieferantIId())); Calendar cal = Calendar.getInstance(); cal.setTimeInMillis(importMonatbestellung.get(i).getWeDatum().getTime()); cal.set(Calendar.DAY_OF_MONTH, cal.getActualMaximum(Calendar.DAY_OF_MONTH)); cal.set(Calendar.HOUR_OF_DAY, 23); cal.set(Calendar.MINUTE, 59); cal.set(Calendar.SECOND, 59); cal.set(Calendar.MILLISECOND, 999); c.add(Restrictions.le(BestellungFac.FLR_BESTELLUNG_T_BELEGDATUM, cal.getTime())); cal.set(Calendar.DAY_OF_MONTH, 1); cal.set(Calendar.HOUR_OF_DAY, 0); cal.set(Calendar.MINUTE, 0); cal.set(Calendar.SECOND, 0); cal.set(Calendar.MILLISECOND, 0); SimpleDateFormat dateformat = new SimpleDateFormat("MMMM", theClientDto.getLocUi()); dateformat.format(cal.getTime()); String projektTextMonatsbestellung = "Monatsbestellung " + dateformat.format(cal.getTime()) + " " + cal.get(Calendar.YEAR); c.add(Restrictions.eq(BestellungFac.FLR_BESTELLUNG_C_BEZPROJEKTBEZEICHNUNG, projektTextMonatsbestellung)); c.add(Restrictions.ge(BestellungFac.FLR_BESTELLUNG_T_BELEGDATUM, cal.getTime())); // String[] s = new String[2]; s[0] = BestellungFac.BESTELLSTATUS_ERLEDIGT; s[1] = BestellungFac.BESTELLSTATUS_STORNIERT; c.add(Restrictions.not(Restrictions.in(BestellungFac.FLR_BESTELLUNG_BESTELLUNGSTATUS_C_NR, s))); c.addOrder(Order.desc(BestellungFac.FLR_BESTELLUNG_T_BELEGDATUM)); c.setMaxResults(1); List<?> list = c.list(); Integer bestellungIId = null; if (list.size() > 0) { FLRBestellung b = (FLRBestellung) list.iterator().next(); bestellungIId = b.getI_id(); } Lieferant lieferant = em.find(Lieferant.class, importMonatbestellung.get(i).getLieferantIId()); Partner partner = em.find(Partner.class, lieferant.getPartnerIId()); if (bestellungIId == null) { BestellungDto bsdto = createBestellungDto(importMonatbestellung.get(i).getLieferantIId(), theClientDto.getMandant(), theClientDto.getIDPersonal()); try { BestellungtextDto bsText = getBestellungServiceFac().bestellungtextFindByMandantLocaleCNr( theClientDto.getMandant(), partner.getLocaleCNrKommunikation(), MediaFac.MEDIAART_KOPFTEXT, theClientDto); if (bsText != null) { bsdto.setBestelltextIIdKopftext(bsText.getIId()); } bsText = getBestellungServiceFac().bestellungtextFindByMandantLocaleCNr( theClientDto.getMandant(), partner.getLocaleCNrKommunikation(), MediaFac.MEDIAART_FUSSTEXT, theClientDto); if (bsText != null) { bsdto.setBestelltextIIdFusstext(bsText.getIId()); } } catch (RemoteException e1) { throwEJBExceptionLPRespectOld(e1); } bsdto.setDBelegdatum(new Date(cal.getTimeInMillis()));// bsdto.setDLiefertermin(new Timestamp(cal.getTimeInMillis())); bsdto.setCBez(projektTextMonatsbestellung); try { bestellungIId = getBestellungFac().createBestellung(bsdto, theClientDto); } catch (EJBExceptionLP e) { throw new EJBExceptionLP(e); } catch (RemoteException e) { throw new EJBExceptionLP(e); } } // Position anlegen try { BestellpositionDto bspos = createBestellPositionDto(bestellungIId, importMonatbestellung.get(i).getLieferantIId(), importMonatbestellung.get(i).getArtikelIId(), importMonatbestellung.get(i).getMenge(), theClientDto); Integer bsPosIId = getBestellpositionFac().createBestellposition(bspos, theClientDto, null, null); // Wareneingang zu Verladedatum anlegen, wenn noch nicht // vorhanden if (iMonatsbestellungsart == 0) { Timestamp tVerladedatum = new java.sql.Timestamp( importMonatbestellung.get(i).getWeDatum().getTime()); Query query = em.createNamedQuery("WareneingangfindByBestellungIIdTWareneingangsdatum"); query.setParameter(1, bestellungIId); query.setParameter(2, tVerladedatum); Collection<?> col = query.getResultList(); Integer wareneingangId = null; if (col.size() > 0) { Wareneingang we = (Wareneingang) col.iterator().next(); wareneingangId = we.getIId(); } else { WareneingangDto wedto = new WareneingangDto(); wedto.setBestellungIId(bestellungIId); wedto.setCLieferscheinnr(importMonatbestellung.get(i).getLieferscheinnr()); wedto.setTLieferscheindatum(tVerladedatum); wedto.setTWareneingangsdatum(tVerladedatum); wedto.setLagerIId(lieferant.getLagerIIdZubuchungslager()); wedto.setNWechselkurs(new BigDecimal(1)); try { wareneingangId = getWareneingangFac().createWareneingang(wedto, theClientDto); } catch (RemoteException e) { throw new EJBExceptionLP(e); } } try { WareneingangspositionDto weposDto = new WareneingangspositionDto(); weposDto.setBestellpositionIId(bsPosIId); weposDto.setNGeliefertemenge(importMonatbestellung.get(i).getMenge()); weposDto.setPersonalIIdAendern(theClientDto.getIDPersonal()); weposDto.setPersonalIIdAnlegen(theClientDto.getIDPersonal()); weposDto.setTAendern(new Timestamp(System.currentTimeMillis())); weposDto.setTAnlegen(weposDto.getTAendern()); weposDto.setWareneingangIId(wareneingangId); BigDecimal nGeliefertpreis = bspos.getNNettogesamtpreis(); weposDto.setNGelieferterpreis(nGeliefertpreis); getWareneingangFac().createWareneingangsposition(weposDto, theClientDto); getBestellungFac().aktiviereBestellung(bestellungIId, theClientDto); getBestellpositionFac().manuellAufVollstaendigGeliefertSetzen(bsPosIId, theClientDto); } catch (EJBExceptionLP e) { throw new EJBExceptionLP(e); } catch (RemoteException e) { throw new EJBExceptionLP(e); } } } catch (EJBExceptionLP e) { throw new EJBExceptionLP(e); } catch (RemoteException e) { throw new EJBExceptionLP(e); } session.close(); } }
From source file:com.lp.server.fertigung.ejbfac.FertigungFacBean.java
License:Open Source License
public LossollarbeitsplanDto[] getAlleOffenenZeiternFuerStueckrueckmeldung(Integer personalIId, TheClientDto theClientDto) {// w ww . j a v a2s . co m ArrayList<LossollarbeitsplanDto> alDaten = new ArrayList<LossollarbeitsplanDto>(); HashMap ids = new HashMap(); try { Integer taetigkeitIId_Kommt = getZeiterfassungFac() .taetigkeitFindByCNr(ZeiterfassungFac.TAETIGKEIT_KOMMT, theClientDto).getIId(); Integer taetigkeitIId_Geht = getZeiterfassungFac() .taetigkeitFindByCNr(ZeiterfassungFac.TAETIGKEIT_GEHT, theClientDto).getIId(); Session session = FLRSessionFactory.getFactory().openSession(); org.hibernate.Criteria liste = session.createCriteria(FLRZeitdaten.class); liste.add(Expression.eq(ZeiterfassungFac.FLR_ZEITDATEN_PERSONAL_I_ID, personalIId)); liste.add(Restrictions.or( Expression.eq(ZeiterfassungFac.FLR_ZEITDATEN_TAETIGKEIT_I_ID, taetigkeitIId_Kommt), Expression.eq(ZeiterfassungFac.FLR_ZEITDATEN_TAETIGKEIT_I_ID, taetigkeitIId_Geht))); liste.add(Expression.lt(ZeiterfassungFac.FLR_ZEITDATEN_T_ZEIT, new Timestamp(System.currentTimeMillis()))); liste.add( Expression.eq(ZeiterfassungFac.FLR_ZEITDATEN_B_AUTOMATIKBUCHUNG, Helper.boolean2Short(false))); liste.addOrder(Order.desc(ZeiterfassungFac.FLR_ZEITDATEN_T_ZEIT)); liste.setMaxResults(1); List<?> letztesKommt = liste.list(); Iterator it = letztesKommt.iterator(); Timestamp tVon = Helper.cutTimestamp(new Timestamp(System.currentTimeMillis())); if (it.hasNext()) { tVon = new Timestamp(((FLRZeitdaten) it.next()).getT_zeit().getTime()); } boolean bTheoretischeIstZeit = false; try { ParametermandantDto parameterIstZeit = (ParametermandantDto) getParameterFac().getMandantparameter( theClientDto.getMandant(), ParameterFac.KATEGORIE_PERSONAL, ParameterFac.PARAMETER_THEORETISCHE_IST_ZEIT_RECHNUNG); bTheoretischeIstZeit = ((Boolean) parameterIstZeit.getCWertAsObject()); } catch (RemoteException ex5) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER, ex5); } ZeitdatenDto[] dtos = getZeiterfassungFac().zeitdatenFindZeitdatenEinesTagesUndEinerPerson(personalIId, tVon, new Timestamp(System.currentTimeMillis())); boolean bRuestenSchonVorhanden = false; for (int i = dtos.length - 1; i >= 0; i--) { if (dtos[i].getCBelegartnr() != null && dtos[i].getIBelegartid() != null) { if (dtos[i].getCBelegartnr().equals(LocaleFac.BELEGART_LOS) && dtos[i].getIBelegartpositionid() != null) { try { Lossollarbeitsplan lossollarbeitsplan = em.find(Lossollarbeitsplan.class, dtos[i].getIBelegartpositionid()); if (lossollarbeitsplan != null) { if (!Helper.short2boolean(lossollarbeitsplan.getBNurmaschinenzeit()) && !Helper.short2boolean(lossollarbeitsplan.getBFertig())) { LossollarbeitsplanDto sollDto = assembleLossollarbeitsplanDto( lossollarbeitsplan); // PJ 16233 if (bTheoretischeIstZeit) { if (!ids.containsKey(sollDto.getIId())) { // PJ 16035 Ruesten nur das letzte if (sollDto.getAgartCNr() == null) { if (bRuestenSchonVorhanden == false) { bRuestenSchonVorhanden = true; alDaten.add(sollDto); ids.put(sollDto.getIId(), sollDto.getIId()); } } else { alDaten.add(sollDto); ids.put(sollDto.getIId(), sollDto.getIId()); } } } else { alDaten.add(sollDto); } } } } catch (NoResultException fe) { // keiner da } } } } // nun nach Losnr und AG sortieren // Nach Fertigungsgruppe sortieren for (int k = alDaten.size() - 1; k > 0; --k) { for (int j = 0; j < k; ++j) { LossollarbeitsplanDto a1 = (LossollarbeitsplanDto) alDaten.get(j); LossollarbeitsplanDto a2 = (LossollarbeitsplanDto) alDaten.get(j + 1); LosDto l1 = losFindByPrimaryKey(a1.getLosIId()); LosDto l2 = losFindByPrimaryKey(a2.getLosIId()); String s1 = l1.getCNr(); if (a1.getIUnterarbeitsgang() != null) { s1 += Helper.fitString2LengthAlignRight(a1.getIUnterarbeitsgang() + "", 10, ' '); } else { s1 += Helper.fitString2LengthAlignRight("", 10, ' '); } s1 += Helper.fitString2LengthAlignRight(a1.getIArbeitsgangnummer() + "", 10, ' '); String s2 = l2.getCNr(); if (a2.getIUnterarbeitsgang() != null) { s2 += Helper.fitString2LengthAlignRight(a2.getIUnterarbeitsgang() + "", 10, ' '); } else { s2 += Helper.fitString2LengthAlignRight("", 10, ' '); } s2 += Helper.fitString2LengthAlignRight(a2.getIArbeitsgangnummer() + "", 10, ' '); if (s1.compareTo(s2) > 0) { alDaten.set(j, a2); alDaten.set(j + 1, a1); } } } } catch (RemoteException e) { throwEJBExceptionLPRespectOld(e); } LossollarbeitsplanDto[] returnArray = new LossollarbeitsplanDto[alDaten.size()]; return (LossollarbeitsplanDto[]) alDaten.toArray(returnArray); }
From source file:com.lp.server.fertigung.ejbfac.FertigungFacBean.java
License:Open Source License
public void createLosgutschlechtMitMaschine(LosgutschlechtDto losgutschlechtDto, TheClientDto theClientDto) { createLosgutschlecht(losgutschlechtDto, theClientDto); // Bei Aenderungen auch in PersonalFacBeanWS.bucheZeitMitStueckmeldung // aendern!!!!! LossollarbeitsplanDto lossollDto = lossollarbeitsplanFindByPrimaryKey( losgutschlechtDto.getLossollarbeitsplanIId()); Query query = em.createNamedQuery("LossollarbeitsplanfindByLosIIdIArbeitsgangnummer"); query.setParameter(1, lossollDto.getLosIId()); query.setParameter(2, lossollDto.getIArbeitsgangnummer()); Collection<?> cl = query.getResultList(); // Beschreibung lt. WH: Es muessen zusaetzlich alle Sollpositionen // desselben AG welche die AG-Art Laufzeit haben und nur // Maschinenzeit // sind, ebenfalls dieselben Gut-Schlecht-Stueck gebucht werden // WH: Wenn der Ausloeser der niedrigste UAG im AG ist und // Umspannzeit ist, dann Gut-Schlecht-Stueck auf Maschinenzeit // buchen//w ww. jav a 2 s . c o m boolean bIchBinDerErsteUnterarbeitsgangMitUmsapnnzeit = false; if (cl != null) { Iterator<?> iterator = cl.iterator(); while (iterator.hasNext()) { Lossollarbeitsplan lossollarbeitsplanTemp = (Lossollarbeitsplan) iterator.next(); if (lossollarbeitsplanTemp.getAgartCNr() != null && lossollarbeitsplanTemp.getAgartCNr().equals(StuecklisteFac.AGART_UMSPANNZEIT)) { if (lossollarbeitsplanTemp.getIId().equals(lossollDto.getIId())) { bIchBinDerErsteUnterarbeitsgangMitUmsapnnzeit = true; } break; } } if (bIchBinDerErsteUnterarbeitsgangMitUmsapnnzeit == true) { iterator = cl.iterator(); while (iterator.hasNext()) { Lossollarbeitsplan lossollarbeitsplanTemp = (Lossollarbeitsplan) iterator.next(); if (!lossollarbeitsplanTemp.getIId().equals(losgutschlechtDto.getLossollarbeitsplanIId())) { if (lossollarbeitsplanTemp.getAgartCNr() != null && (Helper .short2boolean(lossollarbeitsplanTemp.getBNurmaschinenzeit()) && lossollarbeitsplanTemp.getAgartCNr().equals(StuecklisteFac.AGART_LAUFZEIT))) { losgutschlechtDto.setLossollarbeitsplanIId(lossollarbeitsplanTemp.getIId()); // Die letzte Maschinenzeit des Arbeitganges // verwenden Session session = FLRSessionFactory.getFactory().openSession(); org.hibernate.Criteria liste = session.createCriteria(FLRMaschinenzeitdaten.class); if (lossollarbeitsplanTemp.getMaschineIId() != null) // Maschine nur filtern wenn im Arbeitsgang // definiert, sonst erste verwenden (bei ?? fuer // Maschine am Terminal) liste.add(Expression.eq("maschine_i_id", lossollarbeitsplanTemp.getMaschineIId())); liste.add(Expression.eq("lossollarbeitsplan_i_id", lossollarbeitsplanTemp.getIId())); liste.addOrder(Order.desc("t_von")); liste.setMaxResults(1); List<?> letztesKommt = liste.list(); Iterator it = letztesKommt.iterator(); if (it.hasNext()) { FLRMaschinenzeitdaten mz = (FLRMaschinenzeitdaten) it.next(); losgutschlechtDto.setMaschinenzeitdatenIId(mz.getI_id()); losgutschlechtDto.setZeitdatenIId(null); createLosgutschlecht(losgutschlechtDto, theClientDto); } } } } } } }