List of usage examples for org.hibernate.criterion Restrictions lt
public static SimpleExpression lt(String propertyName, Object value)
From source file:com.lp.server.artikel.ejbfac.ReservierungFacBean.java
License:Open Source License
/** * Artikelreservierungen drucken./*from w ww . j ava2s . c o m*/ * * @todo in eine ReportFac verschieben. * * @param artikelIId * Integer * @param dVon * Date * @param dBis * Date * @param theClientDto der aktuelle Benutzer * @return JasperPrintLP * @throws EJBExceptionLP */ public JasperPrintLP printArtikelreservierungen(Integer artikelIId, java.sql.Date dVon, java.sql.Date dBis, TheClientDto theClientDto) throws EJBExceptionLP { if (artikelIId == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FELD_DARF_NICHT_NULL_SEIN, new Exception("artikelIId == null")); } // Erstellung des Reports JasperPrintLP print = null; HashMap<String, Object> parameter = new HashMap<String, Object>(); index = -1; sAktuellerReport = ReservierungFac.REPORT_ARTIKELRESERVIERUNG; String eingeloggterMandant = theClientDto.getMandant(); Session session = FLRSessionFactory.getFactory().openSession(); org.hibernate.Criteria reservierungen = session.createCriteria(FLRArtikelreservierung.class); reservierungen.createAlias(ReservierungFac.FLR_ARTIKELRESERVIERUNG_FLRARTIKEL, "a") .add(Restrictions.eq("a.i_id", artikelIId)); if (dVon != null) { reservierungen.add(Restrictions.ge(ReservierungFac.FLR_ARTIKELRESERVIERUNG_D_LIEFERTERMIN, dVon)); } if (dBis != null) { reservierungen.add(Restrictions.lt(ReservierungFac.FLR_ARTIKELRESERVIERUNG_D_LIEFERTERMIN, dBis)); } reservierungen.addOrder(Order.asc(ReservierungFac.FLR_ARTIKELRESERVIERUNG_D_LIEFERTERMIN)); List<?> resultList = reservierungen.list(); Iterator<?> resultListIterator = resultList.iterator(); int row = 0; Object[][] dataHelp = new Object[resultList.size()][7]; while (resultListIterator.hasNext()) { FLRArtikelreservierung artikelreservierung = (FLRArtikelreservierung) resultListIterator.next(); String sBelegnummer = null; String sStueckliste = null; String sZwangsSNR = null; String sPartner = null; String sProjektbezeichnung = null; if (artikelreservierung.getC_belegartnr().equals(LocaleFac.BELEGART_AUFTRAG)) { AuftragpositionDto auftragpositionDto = null; try { auftragpositionDto = getAuftragpositionFac() .auftragpositionFindByPrimaryKey(artikelreservierung.getI_belegartpositionid()); sZwangsSNR = auftragpositionDto.getCSeriennrchargennr(); } catch (RemoteException ex1) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER, ex1); } AuftragDto auftragDto = getAuftragFac().auftragFindByPrimaryKey(auftragpositionDto.getBelegIId()); sBelegnummer = "A" + auftragDto.getCNr(); sProjektbezeichnung = auftragDto.getCBezProjektbezeichnung(); sPartner = getKundeFac() .kundeFindByPrimaryKey(auftragDto.getKundeIIdAuftragsadresse(), theClientDto) .getPartnerDto().formatTitelAnrede(); } else if (artikelreservierung.getC_belegartnr().equals(LocaleFac.BELEGART_LOS)) { com.lp.server.fertigung.service.LossollmaterialDto auftragpositionDto = null; try { auftragpositionDto = getFertigungFac() .lossollmaterialFindByPrimaryKey(artikelreservierung.getI_belegartpositionid()); } catch (RemoteException ex1) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER, ex1); } LosDto losDto = null; try { losDto = getFertigungFac().losFindByPrimaryKey(auftragpositionDto.getLosIId()); sBelegnummer = "L" + losDto.getCNr(); if (losDto.getStuecklisteIId() != null) { StuecklisteDto stuecklisteDto = getStuecklisteFac() .stuecklisteFindByPrimaryKey(losDto.getStuecklisteIId(), theClientDto); ArtikelDto dto = getArtikelFac().artikelFindByPrimaryKey(stuecklisteDto.getArtikelIId(), theClientDto); sStueckliste = dto.getCNr(); } sProjektbezeichnung = losDto.getCProjekt(); if (losDto.getAuftragIId() != null) { AuftragDto auftragDto = getAuftragFac().auftragFindByPrimaryKey(losDto.getAuftragIId()); sPartner = getKundeFac() .kundeFindByPrimaryKey(auftragDto.getKundeIIdAuftragsadresse(), theClientDto) .getPartnerDto().formatTitelAnrede(); } else { sPartner = ""; } } catch (RemoteException ex3) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER, ex3); } } else if (artikelreservierung.getC_belegartnr().equals(LocaleFac.BELEGART_KUECHE)) { SpeiseplanpositionDto speiseplanpositionDto = null; try { speiseplanpositionDto = getKuecheFac() .speiseplanpositionFindByPrimaryKey(artikelreservierung.getI_belegartpositionid()); } catch (RemoteException ex1) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER, ex1); } SpeiseplanDto speiseplanDto = null; try { speiseplanDto = getKuecheFac() .speiseplanFindByPrimaryKey(speiseplanpositionDto.getSpeiseplanIId()); sBelegnummer = "K"; // Projekt= Speisekassa KassaartikelDto speisekassaDto = getKuecheFac() .kassaartikelFindByPrimaryKey(speiseplanDto.getKassaartikelIId()); sProjektbezeichnung = speisekassaDto.getCBez(); // Kunde = Stuecklistebezeichnung StuecklisteDto stuecklisteDto = getStuecklisteFac() .stuecklisteFindByPrimaryKey(speiseplanDto.getStuecklisteIId(), theClientDto); sPartner = stuecklisteDto.getArtikelDto().formatBezeichnung(); } catch (RemoteException ex3) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER, ex3); } } dataHelp[row][REPORT_RESERVIERUNGSLISTE_AUFTRAG] = sBelegnummer; dataHelp[row][REPORT_RESERVIERUNGSLISTE_STUECKLISTE] = sStueckliste; dataHelp[row][REPORT_RESERVIERUNGSLISTE_KUNDENNAME] = sPartner; dataHelp[row][REPORT_RESERVIERUNGSLISTE_PROJEKTNAME] = sProjektbezeichnung; dataHelp[row][REPORT_RESERVIERUNGSLISTE_LIEFERTERMIN] = artikelreservierung.getT_liefertermin(); dataHelp[row][REPORT_RESERVIERUNGSLISTE_MENGE] = artikelreservierung.getN_menge(); dataHelp[row][REPORT_RESERVIERUNGSLISTE_ZWANGSSERIENNUMMER] = sZwangsSNR; row++; } session.close(); data = new Object[row][7]; for (int i = 0; i < row; i++) { data[i] = dataHelp[i]; } ArtikelDto dto = getArtikelFac().artikelFindByPrimaryKey(artikelIId, theClientDto); parameter.put("P_ARTIKEL", dto.formatArtikelbezeichnung()); initJRDS(parameter, ReservierungFac.REPORT_MODUL, ReservierungFac.REPORT_ARTIKELRESERVIERUNG, theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto); print = getReportPrint(); return print; }
From source file:com.lp.server.auftrag.ejbfac.AuftragFacBean.java
License:Open Source License
/** * Fuer eine bestimmte Auftragsart fuer einen bestimmten Zeitraum und eine * bestimmte Terminart (Belegdatum, Liefertermin, Finaltermin) den * Nettoauftragswert in Abhaengigkeit vom aktuellen Mandanten bestimmen. <br> * Beruecksichtigt werden koennen entweder alle offenen Auftraege oder alle * eingegangenen Auftraege.//w ww. j av a 2 s .c om * * @param cNrAuftragartI * die Auftragart (Frei, Rahmen, Abruf) * @param whichKriteriumI * welche Zeitraumart (Belegdatum, Liefertermin, Finaltermin) * @param gcBerechnungsdatumVonI * ab diesem Datum * @param gcBerechnungsdatumBisI * bis zu diesem Datum * @param offenOderEingegangenI * sollen alle offenen oder alle eingegangengen Auftraegr * beruecksichtigt werden * @param theClientDto * der aktuelle Benutzer * @return BigDecimal der Nettoauftragswert, 0 wenn keine offenen Positionen * gefunden wurden * @throws EJBExceptionLP * Ausnahme */ public BigDecimal berechneSummeAuftragsnettowert(String cNrAuftragartI, String whichKriteriumI, GregorianCalendar gcBerechnungsdatumVonI, GregorianCalendar gcBerechnungsdatumBisI, String offenOderEingegangenI, TheClientDto theClientDto) throws EJBExceptionLP { StringBuffer buff = new StringBuffer(); buff.append(offenOderEingegangenI).append(", ").append(whichKriteriumI).append(", ").append(cNrAuftragartI) .append(", ").append("Von: ") .append(Helper.formatDatum(gcBerechnungsdatumVonI.getTime(), theClientDto.getLocUi())) .append(", Bis: ") .append(Helper.formatDatum(gcBerechnungsdatumBisI.getTime(), theClientDto.getLocUi())); myLogger.info(buff.toString()); BigDecimal nSummeAuftragsnettowert = new BigDecimal(0); Session session = null; try { SessionFactory factory = FLRSessionFactory.getFactory(); session = factory.openSession(); // Criteria duerfen keine Texts oder Blobs enthalten! // Criteria anlegen fuer alle referenzierten Objekte anlegen Criteria crit = session.createCriteria(FLRAuftragFuerUebersicht.class); // Einschraenken nach Mandant crit.add(Restrictions.eq("mandant_c_nr", theClientDto.getMandant())); // Einschraenken nach Auftragart crit.add(Restrictions.eq(AuftragFac.FLR_AUFTRAG_AUFTRAGART_C_NR, cNrAuftragartI)); if (whichKriteriumI.equals(AuftragFac.KRIT_BELEGDATUM)) { // Belegdatum von bis: flrauftrag.t_belegdatum if (gcBerechnungsdatumVonI != null) { crit.add(Restrictions.ge(AuftragFac.FLR_AUFTRAG_D_BELEGDATUM, new java.sql.Date(gcBerechnungsdatumVonI.getTimeInMillis()))); } if (gcBerechnungsdatumBisI != null) { crit.add(Restrictions.lt(AuftragFac.FLR_AUFTRAG_D_BELEGDATUM, new java.sql.Date(gcBerechnungsdatumBisI.getTimeInMillis()))); } } else if (whichKriteriumI.equals(AuftragFac.KRIT_LIEFERTERMIN)) { // Liefertermin von bis: flrauftrag.t_liefertermin if (gcBerechnungsdatumVonI != null) { crit.add(Restrictions.ge(AuftragFac.FLR_AUFTRAG_T_LIEFERTERMIN, new java.sql.Date(gcBerechnungsdatumVonI.getTimeInMillis()))); } if (gcBerechnungsdatumBisI != null) { crit.add(Restrictions.le(AuftragFac.FLR_AUFTRAG_T_LIEFERTERMIN, new java.sql.Date(gcBerechnungsdatumBisI.getTimeInMillis()))); } } else if (whichKriteriumI.equals(AuftragFac.KRIT_FINALTERMIN)) { // Belegdatum von bis: flrauftrag.t_finaltermin if (gcBerechnungsdatumVonI != null) { crit.add(Restrictions.ge(AuftragFac.FLR_AUFTRAG_T_FINALTERMIN, new java.sql.Date(gcBerechnungsdatumVonI.getTimeInMillis()))); } if (gcBerechnungsdatumBisI != null) { crit.add(Restrictions.le(AuftragFac.FLR_AUFTRAG_T_FINALTERMIN, new java.sql.Date(gcBerechnungsdatumBisI.getTimeInMillis()))); } } // Einschraenken nach Auftragstatus if (offenOderEingegangenI.equals(AuftragFac.AUFT_UMSATZUEBERSICHT_OFFEN)) { crit.add(Expression.or( Restrictions.eq(AuftragFac.FLR_AUFTRAG_AUFTRAGSTATUS_C_NR, AuftragServiceFac.AUFTRAGSTATUS_OFFEN), Restrictions.eq(AuftragFac.FLR_AUFTRAG_AUFTRAGSTATUS_C_NR, AuftragServiceFac.AUFTRAGSTATUS_TEILERLEDIGT))); } else if (offenOderEingegangenI.equals(AuftragFac.AUFT_UMSATZUEBERSICHT_EINGANG)) { crit.add(Restrictions.ne(AuftragFac.FLR_AUFTRAG_AUFTRAGSTATUS_C_NR, AuftragServiceFac.AUFTRAGSTATUS_ANGELEGT)); crit.add(Restrictions.ne(AuftragFac.FLR_AUFTRAG_AUFTRAGSTATUS_C_NR, AuftragServiceFac.AUFTRAGSTATUS_STORNIERT)); } List<?> list = crit.list(); if (offenOderEingegangenI.equals(AuftragFac.AUFT_UMSATZUEBERSICHT_OFFEN)) { nSummeAuftragsnettowert = berechneAuftragsnettowertOffen(list, session, theClientDto); } else if (offenOderEingegangenI.equals(AuftragFac.AUFT_UMSATZUEBERSICHT_EINGANG)) { nSummeAuftragsnettowert = berechneAuftragsnettowertEingang(list, theClientDto); } } catch (Throwable t) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FLR, new Exception(t)); } finally { try { session.close(); } catch (HibernateException he) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_HIBERNATE, he); } } return nSummeAuftragsnettowert; }
From source file:com.lp.server.bestellung.ejbfac.BestellungReportFacBean.java
License:Open Source License
public JasperPrintLP printBestellungenAlle(ReportJournalKriterienDto krit, TheClientDto theClientDto) throws EJBExceptionLP { Session session = null;/*from ww w . j a v a 2s . c o m*/ try { this.useCase = UC_ALLE; SessionFactory factory = FLRSessionFactory.getFactory(); session = factory.openSession(); boolean darfEinkaufspreisSehen = getTheJudgeFac().hatRecht(RechteFac.RECHT_LP_DARF_PREISE_SEHEN_EINKAUF, theClientDto); // reportjournal: 00 Erzeugen einer Hibernate-Criteria-Query Criteria c = session.createCriteria(FLRBestellung.class); // reportjournal: 01 Filter nach Mandant c.add(Restrictions.eq(BestellungFac.FLR_BESTELLUNG_MANDANT_C_NR, theClientDto.getMandant())); // reportjournal: 02 Filter: nur eine Kostenstelle if (krit.kostenstelleIId != null) { c.add(Restrictions.eq(BestellungFac.FLR_BESTELLUNG_KOSTENSTELLE_I_ID, krit.kostenstelleIId)); } // reportjournal: 03 Filter: nur ein Lieferant if (krit.lieferantIId != null) { c.add(Restrictions.eq(BestellungFac.FLR_BESTELLUNG_LIEFERANT_I_ID_BESTELLADRESSE, krit.lieferantIId)); } String sVon = null; String sBis = null; // reportjournal: 04 Datum von if (krit.dVon != null) { c.add(Restrictions.ge(BestellungFac.FLR_BESTELLUNG_T_LIEFERTERMIN, Helper.cutDate(krit.dVon))); sVon = Helper.formatDatum(krit.dVon, theClientDto.getLocUi()); } // reportjournal: 05 Datum bis if (krit.dBis != null) { c.add(Restrictions.lt(BestellungFac.FLR_BESTELLUNG_T_LIEFERTERMIN, Helper.cutDate(Helper.addiereTageZuDatum(krit.dBis, 1)))); sBis = Helper.formatDatum(krit.dBis, theClientDto.getLocUi()); } // reportjournalbelegnummer: 0 dazu muss ich das Belegnummernformat // und das // aktuelle Geschaeftsjahr des Mandanten kennen. 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) { sVon = HelperServer.getBelegnummernFilterForHibernateCriterias(f, iGeschaeftsjahr, sMandantKuerzel, krit.sBelegnummerVon); c.add(Restrictions.ge(BestellungFac.FLR_BESTELLUNG_C_NR, sVon)); } // reportjournal: 07 belegnummer bis // reportjournalbelegnummer: 2 (bis) detto if (krit.sBelegnummerBis != null) { sBis = HelperServer.getBelegnummernFilterForHibernateCriterias(f, iGeschaeftsjahr, sMandantKuerzel, krit.sBelegnummerBis); c.add(Restrictions.le(BestellungFac.FLR_BESTELLUNG_C_NR, sBis)); } // reportjournal: 08 Sortierung nach Kostenstelle if (krit.bSortiereNachKostenstelle) { c.createCriteria(BestellungFac.FLR_BESTELLUNG_FLRKOSTENSTELLE).addOrder(Order.asc("c_nr")); } // reportjournal: 09 Sortierung nach Lieferant if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_PARTNER) { c.createCriteria(BestellungFac.FLR_BESTELLUNG_FLRLIEFERANT).createCriteria(LieferantFac.FLR_PARTNER) .addOrder(Order.asc(PartnerFac.FLR_PARTNER_NAME1NACHNAMEFIRMAZEILE1)); } // reportjournal: 10 Sortierung nach Belegnummer else if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_BELEGNUMMER) { c.addOrder(Order.asc(BestellungFac.FLR_BESTELLUNG_C_NR)); } // reportjournal: 11 Und nun zusammenbauen der Daten List<?> list = c.list(); data = new Object[list.size()][7]; int i = 0; for (Iterator<?> iter = list.iterator(); iter.hasNext();) { FLRBestellung b = (FLRBestellung) iter.next(); // reportjournal: 12 Fuer die Performance: so wenige // ejb-Methoden wie moeglich aufrufen! data[i][ALLE_BELEGDATUM] = b.getT_belegdatum(); data[i][ALLE_BESTELLNUMMER] = b.getC_nr(); data[i][ALLE_STATUS] = b.getBestellungstatus_c_nr(); if (darfEinkaufspreisSehen) { data[i][ALLE_BESTELLWERT] = b.getN_bestellwert(); } else { data[i][ALLE_BESTELLWERT] = null; } data[i][ALLE_KOSTENSTELLENUMMER] = b.getFlrkostenstelle() != null ? b.getFlrkostenstelle().getC_nr() : null; data[i][ALLE_LIEFERANT] = b.getFlrlieferant().getFlrpartner().getC_name1nachnamefirmazeile1(); data[i][ALLE_LIEFERTERMIN] = b.getT_liefertermin(); i++; } Map<String, Object> map = new TreeMap<String, Object>(); MandantDto mandantDto = getMandantFac().mandantFindByPrimaryKey(theClientDto.getMandant(), theClientDto); // Waehrung map.put(LPReport.P_WAEHRUNG, mandantDto.getWaehrungCNr()); StringBuffer sSortierung = new StringBuffer(); // Sortierung nach Kostenstelle // reportjournalparameter: 0 nach Kostenstelle map.put(LPReport.P_SORTIERENACHKOSTENSTELLE, new Boolean(krit.bSortiereNachKostenstelle)); if (krit.bSortiereNachKostenstelle) { sSortierung.append( getTextRespectUISpr("lp.kostenstelle", theClientDto.getMandant(), theClientDto.getLocUi())); sSortierung.append(", "); } // Sortierung nach Lieferant // reportjournalparameter: 1 nach Lieferanten map.put(LPReport.P_SORTIERENACHLIEFERANT, new Boolean(krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_PARTNER)); if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_PARTNER) { sSortierung.append( getTextRespectUISpr("lp.lieferant", theClientDto.getMandant(), theClientDto.getLocUi())); } // reportjournalparameter: 2 nach Belegnummer else if (krit.iSortierung == ReportJournalKriterienDto.KRIT_SORT_NACH_BELEGNUMMER) { sSortierung.append( getTextRespectUISpr("bes.bestnr", theClientDto.getMandant(), theClientDto.getLocUi())); } StringBuffer sFilter = new StringBuffer(); if (sVon != null) { sFilter.append(getTextRespectUISpr("lp.von", theClientDto.getMandant(), theClientDto.getLocUi())); sFilter.append(" " + sVon + " "); } if (sBis != null) { sFilter.append(getTextRespectUISpr("lp.bis", theClientDto.getMandant(), theClientDto.getLocUi())); sFilter.append(" " + sBis + " "); } if (krit.kostenstelleIId != null) { if (sFilter.length() > 0) { sFilter.append(", "); } KostenstelleDto kstDto = getSystemFac().kostenstelleFindByPrimaryKey(krit.kostenstelleIId); sFilter.append( getTextRespectUISpr("lp.kostenstelle", theClientDto.getMandant(), theClientDto.getLocUi())); sFilter.append(" "); sFilter.append(kstDto.getCNr()); } // reportjournalparameter: 3 Uebergabe map.put(LPReport.P_SORTIERUNG, sSortierung.toString()); map.put(LPReport.P_FILTER, sFilter.toString()); initJRDS(map, BestellungReportFac.REPORT_MODUL, BestellungReportFac.REPORT_BESTELLUNGEN_ALLE, theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto); } catch (RemoteException ex) { throwEJBExceptionLPRespectOld(ex); } finally { closeSession(session); } 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;//w w w .j a v a 2s. c om 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.bestellung.ejbfac.BSMahnwesenFacBean.java
License:Open Source License
/** * erstellt Liefermahnungen, ABMahnungen oder beides ruft dazu die Methoden * echteLiefermahnungen() und (oder) echteABMahnungen() auf * ------------------// ww w . ja v a 2 s . co m * ---------------------------------------------------------- * * @param echteLiefermahnung * boolean * @param echteABMahnungen * boolean * @param theClientDto * String * @throws EJBExceptionLP * @return Integer * ---------------------------------------------------------- * ----------------- */ @TransactionAttribute(TransactionAttributeType.NEVER) private Integer createMahnungen(boolean echteLiefermahnung, boolean echteABMahnungen, boolean liefererinnerung, TheClientDto theClientDto) throws EJBExceptionLP { Session session = null; try { // Mahnstufen des Mandanten holen BSMahnstufeDto bsmahnstufeDto[] = this.bsmahnstufeFindByMandantCNr(theClientDto.getMandant(), theClientDto); if (bsmahnstufeDto == null || bsmahnstufeDto.length == 0) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FINANZ_KEINE_MAHNSTUFEN_EINGETRAGEN, ""); } // mahnlaufIId generieren wird fuer Liefermahnung und ABMahnung // gebraucht Integer bsmahnlaufIId = null; BSMahnlaufDto bsmahnlaufDto = null; bsmahnlaufIId = context.getBusinessObject(BSMahnwesenFac.class).createBSMahnlauf(bsmahnlaufDto, theClientDto); SessionFactory factory = FLRSessionFactory.getFactory(); session = factory.openSession(); Criteria crit = session.createCriteria(FLRBestellpositionReport.class); // folgende Positionsarten werden ignoriert. Collection<String> cPositionsarten = new LinkedList<String>(); cPositionsarten.add(BestellpositionFac.BESTELLPOSITIONART_BETRIFFT); cPositionsarten.add(BestellpositionFac.BESTELLPOSITIONART_SEITENUMBRUCH); cPositionsarten.add(BestellpositionFac.BESTELLPOSITIONART_LEERZEILE); cPositionsarten.add(BestellpositionFac.BESTELLPOSITIONART_TEXTBAUSTEIN); cPositionsarten.add(BestellpositionFac.BESTELLPOSITIONART_TEXTEINGABE); crit.add(Restrictions.not(Restrictions .in(BestellpositionFac.FLR_BESTELLPOSITION_BESTELLPOSITIONART_C_NR, cPositionsarten))); // PJ 16536 String queryString = "SELECT artgru_i_id FROM FLRMahngruppe m" + " WHERE m.flrartikelgruppe.mandant_c_nr ='" + theClientDto.getMandant() + "'"; Session session2 = FLRSessionFactory.getFactory().openSession(); org.hibernate.Query query = session2.createQuery(queryString); List<?> results = query.list(); Iterator<?> resultListIterator = results.iterator(); Integer[] ids = new Integer[results.size()]; int row = 0; while (resultListIterator.hasNext()) { Integer artgruIId = (Integer) resultListIterator.next(); ids[row] = artgruIId; row++; } session2.close(); if (ids.length > 0) { crit.createAlias("flrartikel", "a"); crit.createAlias("a.flrartikelgruppe", "ag"); crit.add(Restrictions.in("ag.i_id", ids)); } Criteria critBestellung = crit.createCriteria(BestellpositionFac.FLR_BESTELLPOSITION_FLRBESTELLUNG); // nach mandanten filtern critBestellung .add(Restrictions.eq(BestellungFac.FLR_BESTELLUNG_MANDANT_C_NR, theClientDto.getMandant())); // PJ 15165 critBestellung.add(Restrictions.or(Restrictions.isNull(BestellungFac.FLR_BESTELLUNG_T_MAHNSPERREBIS), Restrictions.lt(BestellungFac.FLR_BESTELLUNG_T_MAHNSPERREBIS, Helper.cutTimestamp(new Timestamp(System.currentTimeMillis()))))); // nach Stati filtern Collection<String> cStati = new LinkedList<String>(); cStati.add(BestellungFac.BESTELLSTATUS_OFFEN); cStati.add(BestellungFac.BESTELLSTATUS_BESTAETIGT); // SK added BESTELLSTATUS_TEILERLEDIGT cStati.add(BestellungFac.BESTELLSTATUS_TEILERLEDIGT); critBestellung.add(Restrictions.in(BestellungFac.FLR_BESTELLUNG_BESTELLUNGSTATUS_C_NR, cStati)); List<?> list = crit.list(); for (Iterator<?> iter = list.iterator(); iter.hasNext();) { FLRBestellpositionReport flrbespos = (FLRBestellpositionReport) iter.next(); /** * nur Liefermahnungen deren Status bestaetigt ist oder deren * Liefertermin vor heute ist */ if (echteLiefermahnung == true && !(BestellungFac.BESTELLUNGART_RAHMENBESTELLUNG_C_NR .equals(flrbespos.getFlrbestellung().getBestellungart_c_nr()))) { BSMahnungDto[] bsmahnungdto = getBSMahnwesenFac() .bsmahnungFindByBestellpositionIIdOhneExc(flrbespos.getI_id(), theClientDto); if (bsmahnungdto.length > 0) { Integer latest = 0; for (int y = 0; y < bsmahnungdto.length; y++) { if (bsmahnungdto[y].getMahnstufeIId() > latest) { latest = bsmahnungdto[y].getMahnstufeIId(); } } for (int i = 0; i < bsmahnstufeDto.length; i++) { if (latest.equals(bsmahnstufeDto[i].getIId())) { echteLiefermahnungen(flrbespos, bsmahnlaufIId, bsmahnstufeDto[i], theClientDto); } } } else { echteLiefermahnungen(flrbespos, bsmahnlaufIId, null, theClientDto); } } // lt. WH boolean bEchteLiefermahnungVorhanden = false; BSMahnungDto[] bsmahnungdto = getBSMahnwesenFac() .bsmahnungFindByBestellpositionIIdOhneExc(flrbespos.getI_id(), theClientDto); if (bsmahnungdto.length > 0) { for (int y = 0; y < bsmahnungdto.length; y++) { if (bsmahnungdto[y].getMahnstufeIId() > 0) { bEchteLiefermahnungVorhanden = true; } } } if (bEchteLiefermahnungVorhanden == false) { /** * nur ABMahnungen deren Status offen ist ausser der * Liefertermin ist vor heute dann ist es eine Liefermahnung */ if (echteABMahnungen == true) { // hier wird mahnstufe 0 uebergeben for (int i = 0; i < bsmahnstufeDto.length; i++) { if (bsmahnstufeDto[i].getIId().equals(new Integer(BSMahnwesenFac.MAHNSTUFE_0))) { echteABMahnungen(flrbespos, bsmahnstufeDto[i], bsmahnlaufIId, theClientDto); } } } // lt. WH boolean bABLiefermahnungVorhanden = false; bsmahnungdto = getBSMahnwesenFac().bsmahnungFindByBestellpositionIIdOhneExc(flrbespos.getI_id(), theClientDto); if (bsmahnungdto.length > 0) { for (int y = 0; y < bsmahnungdto.length; y++) { if (bsmahnungdto[y].getMahnstufeIId() == 0) { bABLiefermahnungVorhanden = true; } } } if (bABLiefermahnungVorhanden == false) { // lt. WH Liefererinnerung ist wie echte // Liefermahnung, // jedoch // nur mit Mahnstufe -1 if (liefererinnerung == true && !(BestellungFac.BESTELLUNGART_RAHMENBESTELLUNG_C_NR .equals(flrbespos.getFlrbestellung().getBestellungart_c_nr()))) { if (flrbespos.getT_lieferterminbestaetigt() == null) { // hier wird mahnstufe -1 uebergeben for (int i = 0; i < bsmahnstufeDto.length; i++) { if (bsmahnstufeDto[i].getIId() .equals(new Integer(BSMahnwesenFac.MAHNSTUFE_MINUS1))) { liefererinnerungen(flrbespos, bsmahnlaufIId, bsmahnstufeDto[i], theClientDto); } } } } } } } return bsmahnlaufIId; } catch (RemoteException ex) { throwEJBExceptionLPRespectOld(ex); return null; } finally { closeSession(session); } }
From source file:com.lp.server.eingangsrechnung.ejbfac.EingangsrechnungFacBean.java
License:Open Source License
public int wiederholendeZusatzkostenAnlegen(TheClientDto theClientDto) { int iAnzahlAngelegt = 0; Session session = FLRSessionFactory.getFactory().openSession(); Criteria crit = session.createCriteria(FLREingangsrechnung.class); crit.add(Restrictions.eq("mandant_c_nr", theClientDto.getMandant())); crit.add(Restrictions.eq("eingangsrechnungart_c_nr", EingangsrechnungFac.EINGANGSRECHNUNGART_ZUSATZKOSTEN)); crit.add(Restrictions.not(Restrictions.eq("status_c_nr", EingangsrechnungFac.STATUS_STORNIERT))); crit.add(Restrictions.isNull("t_wiederholenderledigt")); crit.add(Restrictions.isNull("eingangsrechnung_i_id_nachfolger")); crit.add(Restrictions.isNotNull("auftragwiederholungsintervall_c_nr")); crit.add(Restrictions.lt("t_belegdatum", Helper.cutTimestamp(new Timestamp(System.currentTimeMillis() + (24 * 3600000))))); List<?> resultList = crit.list(); Iterator<?> resultListIterator = resultList.iterator(); while (resultListIterator.hasNext()) { FLREingangsrechnung flrEingangsrechnung = (FLREingangsrechnung) resultListIterator.next(); // Naechster faelliger Termin nach Heute Calendar cBeginn = Calendar.getInstance(); cBeginn.setTimeInMillis(flrEingangsrechnung.getT_belegdatum().getTime()); String intervall = flrEingangsrechnung.getAuftragwiederholungsintervall_c_nr(); Timestamp tHeute = Helper.cutTimestamp(new Timestamp(System.currentTimeMillis() + (24 * 3600000))); if (intervall.equals(AuftragServiceFac.AUFTRAGWIEDERHOLUNGSINTERVALL_2WOECHENTLICH)) { cBeginn.set(Calendar.DAY_OF_MONTH, cBeginn.get(Calendar.DAY_OF_MONTH) + 14); } else if (intervall.equals(AuftragServiceFac.AUFTRAGWIEDERHOLUNGSINTERVALL_WOECHENTLICH)) { cBeginn.set(Calendar.DAY_OF_MONTH, cBeginn.get(Calendar.DAY_OF_MONTH) + 7); }/*from ww w .ja v a 2 s . c om*/ if (intervall.equals(AuftragServiceFac.AUFTRAGWIEDERHOLUNGSINTERVALL_JAHR)) { cBeginn.set(Calendar.YEAR, cBeginn.get(Calendar.YEAR) + 1); } else if (intervall.equals(AuftragServiceFac.AUFTRAGWIEDERHOLUNGSINTERVALL_2JAHR)) { cBeginn.set(Calendar.YEAR, cBeginn.get(Calendar.YEAR) + 2); } else if (intervall.equals(AuftragServiceFac.AUFTRAGWIEDERHOLUNGSINTERVALL_3JAHR)) { cBeginn.set(Calendar.YEAR, cBeginn.get(Calendar.YEAR) + 3); } else if (intervall.equals(AuftragServiceFac.AUFTRAGWIEDERHOLUNGSINTERVALL_4JAHR)) { cBeginn.set(Calendar.YEAR, cBeginn.get(Calendar.YEAR) + 4); } else if (intervall.equals(AuftragServiceFac.AUFTRAGWIEDERHOLUNGSINTERVALL_5JAHR)) { cBeginn.set(Calendar.YEAR, cBeginn.get(Calendar.YEAR) + 5); } else if (intervall.equals(AuftragServiceFac.AUFTRAGWIEDERHOLUNGSINTERVALL_MONATLICH)) { cBeginn.set(Calendar.MONTH, cBeginn.get(Calendar.MONTH) + 1); } else if (intervall.equals(AuftragServiceFac.AUFTRAGWIEDERHOLUNGSINTERVALL_QUARTAL)) { cBeginn.set(Calendar.MONTH, cBeginn.get(Calendar.MONTH) + 3); } Date tBelegdatumNeu = new Date(cBeginn.getTimeInMillis()); if (cBeginn.getTimeInMillis() < tHeute.getTime()) { Eingangsrechnung er = em.find(Eingangsrechnung.class, flrEingangsrechnung.getI_id()); EingangsrechnungDto erDtoNeu = assembleEingangsrechnungDto(er); erDtoNeu.setIId(null); erDtoNeu.setDBelegdatum(tBelegdatumNeu); erDtoNeu.setStatusCNr(EingangsrechnungFac.STATUS_ANGELEGT); Integer idNeu = createEingangsrechnung(erDtoNeu, theClientDto).getIId(); // Nachfolger setzten er.setEingangsrechnungIIdNachfolger(idNeu); iAnzahlAngelegt++; } } return iAnzahlAngelegt; }
From source file:com.lp.server.fertigung.ejbfac.FertigungFacBean.java
License:Open Source License
@TransactionAttribute(TransactionAttributeType.NEVER) public ArrayList<Integer> erledigteLoseImZeitraumNachkalkulieren(java.sql.Date tVon, java.sql.Date tBis, TheClientDto theClientDto) {/*from ww w. j a v a 2s. c om*/ SessionFactory factory = FLRSessionFactory.getFactory(); Session session = factory.openSession(); Criteria c = session.createCriteria(FLRLosablieferung.class); c.add(Restrictions.ge(FertigungFac.FLR_LOSABLIEFERUNG_T_AENDERN, tVon)); c.add(Restrictions.lt(FertigungFac.FLR_LOSABLIEFERUNG_T_AENDERN, tBis)); List<?> results = c.list(); ArrayList<Integer> al = new ArrayList<Integer>(); Iterator<?> resultListIterator = results.iterator(); HashMap bereitsNachkalkuliert = new HashMap(); while (resultListIterator.hasNext()) { FLRLosablieferung los = (FLRLosablieferung) resultListIterator.next(); if (!bereitsNachkalkuliert.containsKey(los.getLos_i_id())) { try { getFertigungFac().aktualisiereNachtraeglichPreiseAllerLosablieferungen(los.getLos_i_id(), theClientDto, true); } catch (RemoteException e) { throwEJBExceptionLPRespectOld(e); } } bereitsNachkalkuliert.put(los.getLos_i_id(), ""); } return al; }
From source file:com.lp.server.fertigung.ejbfac.FertigungReportFacBean.java
License:Open Source License
public boolean istErstlos(LosDto losDto, TheClientDto theClientDto) { if (losDto.getStuecklisteIId() != null) { SessionFactory factory = FLRSessionFactory.getFactory(); org.hibernate.Session session = factory.openSession(); Criteria c = session.createCriteria(FLRLosReport.class); c.add(Restrictions.eq(FertigungFac.FLR_LOS_MANDANT_C_NR, theClientDto.getMandant())); c.add(Restrictions.eq(FertigungFac.FLR_LOS_STUECKLISTE_I_ID, losDto.getStuecklisteIId())); c.add(Restrictions.lt(FertigungFac.FLR_LOS_C_NR, losDto.getCNr())); c.add(Restrictions.not(Restrictions.in(FertigungFac.FLR_LOS_STATUS_C_NR, new String[] { FertigungFac.STATUS_STORNIERT, FertigungFac.STATUS_GESTOPPT }))); // Sortierung nach Losnummer c.addOrder(Order.asc(FertigungFac.FLR_LOS_C_NR)); c.setMaxResults(1);// www.ja v a 2s . c o m List<?> list = c.list(); if (list.size() > 0) { return false; } else { return true; } } else { return false; } }
From source file:com.lp.server.fertigung.ejbfac.FertigungReportFacBean.java
License:Open Source License
@TransactionAttribute(TransactionAttributeType.NEVER) public JasperPrintLP printOffene(java.sql.Date dStichtag, int iOptionStichtag, String belegNrVon, String belegNrBis, Integer kundeIId, Integer kostenstelleIId, Integer fertigungsgruppeIId, int iSortierung, TheClientDto theClientDto) throws EJBExceptionLP { Session session = null;/*ww w . j ava 2 s .c o m*/ try { this.useCase = UC_OFFENE; this.index = -1; SessionFactory factory = FLRSessionFactory.getFactory(); session = factory.openSession(); Criteria c = session.createCriteria(FLRLosReport.class); c.add(Restrictions.eq(FertigungFac.FLR_LOS_MANDANT_C_NR, theClientDto.getMandant())); Map<String, Object> mapParameter = new TreeMap<String, Object>(); if (kostenstelleIId != null) { KostenstelleDto kostenstelleDto = getSystemFac().kostenstelleFindByPrimaryKey(kostenstelleIId); mapParameter.put("P_KOSTENSTELLE", kostenstelleDto.formatKostenstellenbezeichnung()); c.add(Restrictions.eq(FertigungFac.FLR_LOSREPORT_KOSTENSTELLE_I_ID, kostenstelleIId)); } boolean flrAuftragSchonVerwendet = false; if (kundeIId != null) { KundeDto kundeDto = getKundeFac().kundeFindByPrimaryKey(kundeIId, theClientDto); mapParameter.put("P_KUNDE", kundeDto.getPartnerDto().formatFixTitelName1Name2()); c.createAlias(FertigungFac.FLR_LOSREPORT_FLRAUFTRAG, "a", CriteriaSpecification.LEFT_JOIN); flrAuftragSchonVerwendet = true; c.add(Restrictions.eq("a." + AuftragFac.FLR_AUFTRAG_KUNDE_I_ID_AUFTRAGSADRESSE, kundeIId)); } if (fertigungsgruppeIId != null) { c.add(Restrictions.eq(FertigungFac.FLR_LOSREPORT_FERTIGUNGSGRUPPE_I_ID, fertigungsgruppeIId)); } String[] stati = new String[4]; stati[0] = LocaleFac.STATUS_AUSGEGEBEN; stati[1] = LocaleFac.STATUS_IN_PRODUKTION; stati[2] = LocaleFac.STATUS_TEILERLEDIGT; stati[3] = LocaleFac.STATUS_ANGELEGT; c.add(Restrictions.in(FertigungFac.FLR_LOS_STATUS_C_NR, stati)); if (dStichtag != null) { dStichtag = Helper.cutDate(dStichtag); // PJ 14420 mapParameter.put("P_STICHTAG", dStichtag); Calendar cal = Calendar.getInstance(); cal.setTimeInMillis(dStichtag.getTime()); cal.set(Calendar.DATE, cal.get(Calendar.DATE) + 1); dStichtag = new java.sql.Date(cal.getTimeInMillis()); String datumsart = ""; if (iOptionStichtag == FertigungReportFac.OFFENE_OPTION_STICHTAG_BEGINNDATUM) { c.add(Restrictions.lt(FertigungFac.FLR_LOS_T_PRODUKTIONSBEGINN, dStichtag)); datumsart = getTextRespectUISpr("lp.begintermin", theClientDto.getMandant(), theClientDto.getLocUi()); } else if (iOptionStichtag == FertigungReportFac.OFFENE_OPTION_STICHTAG_ENDEDATUM) { c.add(Restrictions.lt(FertigungFac.FLR_LOS_T_PRODUKTIONSENDE, dStichtag)); datumsart = getTextRespectUISpr("lp.endetermin", theClientDto.getMandant(), theClientDto.getLocUi()); } else if (iOptionStichtag == FertigungReportFac.OFFENE_OPTION_STICHTAG_LIEFERTERMIN) { if (flrAuftragSchonVerwendet == false) { c.createAlias(FertigungFac.FLR_LOSREPORT_FLRAUFTRAG, "a", CriteriaSpecification.LEFT_JOIN); flrAuftragSchonVerwendet = true; c.add(Restrictions.lt("a." + AuftragFac.FLR_AUFTRAG_T_LIEFERTERMIN, dStichtag)); } datumsart = getTextRespectUISpr("bes.liefertermin", theClientDto.getMandant(), theClientDto.getLocUi()); } mapParameter.put("P_DATUMSART", datumsart); } LpBelegnummerFormat f = getBelegnummerGeneratorObj().getBelegnummernFormat(theClientDto.getMandant()); Integer iGeschaeftsjahr = getParameterFac().getGeschaeftsjahr(theClientDto.getMandant()); String sMandantKuerzel = getParameterFac().getMandantparameter(theClientDto.getMandant(), ParameterFac.KATEGORIE_ALLGEMEIN, ParameterFac.PARAMETER_BELEGNUMMER_MANDANTKENNUNG).getCWert(); if (belegNrVon != null) { String sVon = HelperServer.getBelegnummernFilterForHibernateCriterias(f, iGeschaeftsjahr, sMandantKuerzel, belegNrVon); c.add(Restrictions.ge(FertigungFac.FLR_LOS_C_NR, sVon)); mapParameter.put("P_LOSNRVON", sVon); } if (belegNrBis != null) { String sBis = HelperServer.getBelegnummernFilterForHibernateCriterias(f, iGeschaeftsjahr, sMandantKuerzel, belegNrBis); c.add(Restrictions.le(FertigungFac.FLR_LOS_C_NR, sBis)); mapParameter.put("P_LOSNRBIS", sBis); } // Sortierung if (iSortierung == FertigungReportFac.OFFENE_OPTION_SORTIERUNG_KOSTENSTELLE) { c.createCriteria(FertigungFac.FLR_LOSREPORT_FLRKOSTENSTELLE).addOrder(Order.asc("c_nr")); mapParameter.put(P_SORTIERUNG, getTextRespectUISpr("lp.kostenstelle", theClientDto.getMandant(), theClientDto.getLocUi())); } else if (iSortierung == FertigungReportFac.OFFENE_OPTION_SORTIERUNG_KUNDE) { if (flrAuftragSchonVerwendet == false) { c.createAlias(FertigungFac.FLR_LOSREPORT_FLRAUFTRAG, "a", CriteriaSpecification.LEFT_JOIN); flrAuftragSchonVerwendet = true; } c.createAlias("a." + AuftragFac.FLR_AUFTRAG_FLRKUNDE, "k", CriteriaSpecification.LEFT_JOIN); c.createAlias("k." + KundeFac.FLR_PARTNER, "p", CriteriaSpecification.LEFT_JOIN); c.addOrder(Order.asc("p." + PartnerFac.FLR_PARTNER_C_NAME1NACHNAMEFIRMAZEILE1)); c.addOrder(Order.asc("k.i_id")); mapParameter.put(P_SORTIERUNG, getTextRespectUISpr("lp.kunde", theClientDto.getMandant(), theClientDto.getLocUi())); } else if (iSortierung == FertigungReportFac.OFFENE_OPTION_SORTIERUNG_KUNDEUNDGEWAEHLTERTERMIN) { if (flrAuftragSchonVerwendet == false) { c.createAlias(FertigungFac.FLR_LOSREPORT_FLRAUFTRAG, "a", CriteriaSpecification.LEFT_JOIN); flrAuftragSchonVerwendet = true; } c.createAlias("a." + AuftragFac.FLR_AUFTRAG_FLRKUNDE, "k", CriteriaSpecification.LEFT_JOIN); c.createAlias("k." + KundeFac.FLR_PARTNER, "p", CriteriaSpecification.LEFT_JOIN); c.addOrder(Order.asc("p." + PartnerFac.FLR_PARTNER_C_NAME1NACHNAMEFIRMAZEILE1)); if (iOptionStichtag == FertigungReportFac.OFFENE_OPTION_STICHTAG_BEGINNDATUM) { c.addOrder(Order.asc(FertigungFac.FLR_LOS_T_PRODUKTIONSBEGINN)); } else if (iOptionStichtag == FertigungReportFac.OFFENE_OPTION_STICHTAG_ENDEDATUM) { c.addOrder(Order.asc(FertigungFac.FLR_LOS_T_PRODUKTIONSENDE)); } else if (iOptionStichtag == FertigungReportFac.OFFENE_OPTION_STICHTAG_LIEFERTERMIN) { c.addOrder(Order.asc("a." + AuftragFac.FLR_AUFTRAG_T_LIEFERTERMIN)); } mapParameter.put(P_SORTIERUNG, getTextRespectUISpr("fert.kundeundtermin", theClientDto.getMandant(), theClientDto.getLocUi())); } else if (iSortierung == FertigungReportFac.OFFENE_OPTION_SORTIERUNG_LIEFERTERMIN) { if (flrAuftragSchonVerwendet == false) { c.createAlias(FertigungFac.FLR_LOSREPORT_FLRAUFTRAG, "a", CriteriaSpecification.LEFT_JOIN); flrAuftragSchonVerwendet = true; } c.createAlias("a." + AuftragFac.FLR_AUFTRAG_FLRKUNDE, "k", CriteriaSpecification.LEFT_JOIN); c.createAlias("k." + KundeFac.FLR_PARTNER, "p", CriteriaSpecification.LEFT_JOIN); c.addOrder(Order.asc("a." + AuftragFac.FLR_AUFTRAG_T_LIEFERTERMIN)); c.addOrder(Order.asc("p." + PartnerFac.FLR_PARTNER_C_NAME1NACHNAMEFIRMAZEILE1)); mapParameter.put(P_SORTIERUNG, getTextRespectUISpr("fert.liefertermin", theClientDto.getMandant(), theClientDto.getLocUi())); } else if (iSortierung == FertigungReportFac.OFFENE_OPTION_SORTIERUNG_ARTIKEL) { c.createAlias(FertigungFac.FLR_LOS_FLRSTUECKLISTE, "s"); c.createAlias("s." + StuecklisteFac.FLR_STUECKLISTE_FLRARTIKEL, "art"); c.addOrder(Order.asc("art.c_nr")); mapParameter.put(P_SORTIERUNG, getTextRespectUISpr("lp.kunde", theClientDto.getMandant(), theClientDto.getLocUi())); } else if (iSortierung == FertigungReportFac.OFFENE_OPTION_SORTIERUNG_FERTIGUNGSGRUPPE) { c.createAlias(FertigungFac.FLR_LOSREPORT_FLRFERTIGUNGSGRUPPE, "f"); c.addOrder(Order.asc("f.c_bez")); mapParameter.put(P_SORTIERUNG, getTextRespectUISpr("lp.fertigungsgruppe", theClientDto.getMandant(), theClientDto.getLocUi())); } else if (iSortierung == FertigungReportFac.OFFENE_OPTION_SORTIERUNG_BEGINN) { c.addOrder(Order.asc(FertigungFac.FLR_LOS_T_PRODUKTIONSBEGINN)); mapParameter.put(P_SORTIERUNG, getTextRespectUISpr("lp.beginn", theClientDto.getMandant(), theClientDto.getLocUi())); } else if (iSortierung == FertigungReportFac.OFFENE_OPTION_SORTIERUNG_ENDE) { c.addOrder(Order.asc(FertigungFac.FLR_LOS_T_PRODUKTIONSENDE)); mapParameter.put(P_SORTIERUNG, getTextRespectUISpr("lp.ende", theClientDto.getMandant(), theClientDto.getLocUi())); } else { mapParameter.put(P_SORTIERUNG, getTextRespectUISpr("lp.losnr", theClientDto.getMandant(), theClientDto.getLocUi())); } // 2tes sortierkriterium immer Losnr if (iSortierung == FertigungReportFac.OFFENE_OPTION_SORTIERUNG_BEGINN || iSortierung == FertigungReportFac.OFFENE_OPTION_SORTIERUNG_ENDE || iSortierung == FertigungReportFac.OFFENE_OPTION_SORTIERUNG_LIEFERTERMIN || iSortierung == FertigungReportFac.OFFENE_OPTION_SORTIERUNG_KUNDEUNDGEWAEHLTERTERMIN) { if (flrAuftragSchonVerwendet == false) { c.createAlias(FertigungFac.FLR_LOSREPORT_FLRAUFTRAG, "a", CriteriaSpecification.LEFT_JOIN); flrAuftragSchonVerwendet = true; } c.addOrder(Order.asc("a.c_nr")); } else { c.addOrder(Order.asc(FertigungFac.FLR_LOS_C_NR)); } List<?> list = c.list(); data = new Object[list.size()][OFFENE_SPALTENANZAHL]; int i = 0; for (Iterator<?> iter = list.iterator(); iter.hasNext(); i++) { FLRLosReport los = (FLRLosReport) iter.next(); if (los.getFlrauftrag() != null) { Integer partnerIId = los.getFlrauftrag().getFlrkunde().getFlrpartner().getI_id(); PartnerDto partnerDto = getPartnerFac().partnerFindByPrimaryKey(partnerIId, theClientDto); data[i][OFFENE_KUNDE] = partnerDto.formatFixTitelName1Name2(); data[i][OFFENE_AUFTRAGSPOENALE] = los.getFlrauftrag().getB_poenale(); } if (los.getFlrauftrag() != null) { data[i][OFFENE_AUFTRAGSNUMMER] = los.getFlrauftrag().getC_nr(); data[i][OFFENE_PROJEKT] = los.getFlrauftrag().getC_bez(); data[i][OFFENE_LIEFERTERMIN] = los.getFlrauftrag().getT_liefertermin(); } BigDecimal bdGeliefert = new BigDecimal(0); for (Iterator<?> iter2 = los.getAblieferungset().iterator(); iter2.hasNext();) { FLRLosablieferung item = (FLRLosablieferung) iter2.next(); bdGeliefert = bdGeliefert.add(item.getN_menge()); } data[i][OFFENE_GELIEFERT] = bdGeliefert; if (los.getFlrstueckliste() != null) { ArtikelDto artikelDto = getArtikelFac().artikelFindByPrimaryKeySmall( los.getFlrstueckliste().getFlrartikel().getI_id(), theClientDto); data[i][OFFENE_BEZEICHNUNG] = artikelDto.getArtikelsprDto().getCBez(); data[i][OFFENE_ZUSATZBEZEICHNUNG] = artikelDto.getArtikelsprDto().getCZbez(); data[i][OFFENE_ARTIKELNUMMER] = los.getFlrstueckliste().getFlrartikel().getC_nr(); data[i][OFFENE_DETAILBEDARF] = getRahmenbedarfeFac() .getSummeAllerRahmenbedarfeEinesArtikels(artikelDto.getIId()); // Offene Fehlmengen data[i][OFFENE_FEHLMENGE] = getFehlmengeFac() .getAnzahlFehlmengeEinesArtikels(artikelDto.getIId(), theClientDto); LossollarbeitsplanDto[] lossollarbeitsplanDto = getFertigungFac() .lossollarbeitsplanFindByLosIId(los.getI_id()); BigDecimal bdFertigungszeit = new BigDecimal(0); for (int j = 0; lossollarbeitsplanDto.length > j; j++) { bdFertigungszeit = bdFertigungszeit.add(lossollarbeitsplanDto[j].getNGesamtzeit()); } data[i][OFFENE_FERTIGUNGSZEIT] = bdFertigungszeit; // Rahmenbestellt Hashtable<?, ?> htRahmenbestellt = getArtikelbestelltFac() .getAnzahlRahmenbestellt(artikelDto.getIId(), theClientDto); if (htRahmenbestellt.containsKey(ArtikelbestelltFac.KEY_RAHMENBESTELLT_ANZAHL)) { BigDecimal bdAnzahlRahmenbestellt = (BigDecimal) htRahmenbestellt .get(ArtikelbestelltFac.KEY_RAHMENBESTELLT_ANZAHL); data[i][OFFENE_RAHMEN_BESTELLT] = bdAnzahlRahmenbestellt; } data[i][OFFENE_RESERVIERUNGEN] = getReservierungFac() .getAnzahlReservierungen(artikelDto.getIId(), theClientDto); data[i][OFFENE_RAHMENRESERVIERUNGEN] = getReservierungFac() .getAnzahlRahmenreservierungen(artikelDto.getIId(), theClientDto); } else { data[i][OFFENE_BEZEICHNUNG] = los.getC_projekt(); data[i][OFFENE_ZUSATZBEZEICHNUNG] = null; data[i][OFFENE_ARTIKELNUMMER] = getTextRespectUISpr("fert.materialliste", theClientDto.getMandant(), theClientDto.getLocUi()); } GregorianCalendar gc = new GregorianCalendar(); gc.setTime(los.getT_produktionsbeginn()); data[i][OFFENE_KALENDERWOCHE] = new Integer(gc.get(GregorianCalendar.WEEK_OF_YEAR)); data[i][OFFENE_LOSGROESSE] = los.getN_losgroesse(); data[i][OFFENE_LOSNUMMER] = los.getC_nr(); data[i][OFFENE_FERTIGUNGSGRUPPE] = los.getFlrfertigungsgruppe().getC_bez(); /** * @todo material PJ 4239 */ data[i][OFFENE_MATERIAL] = null; data[i][OFFENE_BEGINN] = los.getT_produktionsbeginn(); data[i][OFFENE_ENDE] = los.getT_produktionsende(); data[i][OFFENE_LOSSTATUS] = los.getStatus_c_nr(); // PJ 15009 String queryf = "select sum(flrfehlmenge.n_menge) FROM FLRFehlmenge flrfehlmenge WHERE flrfehlmenge.flrlossollmaterial.flrlos = " + los.getI_id() + " AND flrfehlmenge.n_menge>0"; Session session2 = FLRSessionFactory.getFactory().openSession(); Query query = session2.createQuery(queryf); List<?> results = query.list(); data[i][OFFENE_LOSHATFEHLMENGE] = new Boolean(false); if (results.size() > 0) { BigDecimal bd = (BigDecimal) results.iterator().next(); if (bd != null && bd.doubleValue() > 0) { data[i][OFFENE_LOSHATFEHLMENGE] = new Boolean(true); } } session2.close(); } initJRDS(mapParameter, FertigungReportFac.REPORT_MODUL, FertigungReportFac.REPORT_OFFENE, theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto); return getReportPrint(); } catch (Exception t) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER, t); } finally { closeSession(session); } }
From source file:com.lp.server.fertigung.ejbfac.FertigungReportFacBean.java
License:Open Source License
@TransactionAttribute(TransactionAttributeType.NEVER) public JasperPrintLP printOffeneArbeitsgaenge(java.sql.Date dStichtag, int iOptionStichtag, String belegNrVon, String belegNrBis, Integer kundeIId, Integer kostenstelleIId, Integer fertigungsgruppeIId, Integer artikelgruppeIId, Integer maschineIId, boolean bSollstundenbetrachtung, TheClientDto theClientDto) {/*from w w w.j a v a2 s.co m*/ Session session = null; try { this.useCase = UC_OFFENE_AG; this.index = -1; SessionFactory factory = FLRSessionFactory.getFactory(); session = factory.openSession(); Criteria c = session.createCriteria(FLRLossollarbeitsplan.class); c.createAlias(FertigungFac.FLR_LOSSOLLARBEITSPLAN_FLRLOS, "l", CriteriaSpecification.LEFT_JOIN); c.add(Restrictions.eq("l." + FertigungFac.FLR_LOS_MANDANT_C_NR, theClientDto.getMandant())); c.add(Restrictions.eq(FertigungFac.FLR_LOSSOLLARBEITSPLAN_B_FERTIG, Helper.boolean2Short(false))); Map<String, Object> mapParameter = new TreeMap<String, Object>(); mapParameter.put("P_SOLLSTUNDENBETRACHTUNG", new Boolean(bSollstundenbetrachtung)); if (artikelgruppeIId != null) { c.createAlias(FertigungFac.FLR_LOSSOLLARBEITSPLAN_FLRARTIKEL, "artikel", CriteriaSpecification.LEFT_JOIN); c.createAlias("artikel." + ArtikelFac.FLR_ARTIKEL_FLRARTIKELGRUPPE, "artikelgruppe", CriteriaSpecification.LEFT_JOIN); c.add(Restrictions.eq("artikelgruppe.i_id", artikelgruppeIId)); ArtgruDto artgruDto = getArtikelFac().artgruFindByPrimaryKey(artikelgruppeIId, theClientDto); mapParameter.put("P_ARTIKELGRUPPE", artgruDto.getBezeichnung()); } /* * if (kostenstelleIId != null) { KostenstelleDto kostenstelleDto = * getSystemFac() .kostenstelleFindByPrimaryKey(kostenstelleIId); * mapParameter.put("P_KOSTENSTELLE", * kostenstelleDto.formatKostenstellenbezeichnung()); * * c.add(Restrictions.eq("l." + * FertigungFac.FLR_LOSREPORT_KOSTENSTELLE_I_ID, kostenstelleIId)); * } */ boolean flrAuftragSchonVerwendet = false; if (kundeIId != null) { KundeDto kundeDto = getKundeFac().kundeFindByPrimaryKey(kundeIId, theClientDto); mapParameter.put("P_KUNDE", kundeDto.getPartnerDto().formatFixTitelName1Name2()); c.createAlias("l." + FertigungFac.FLR_LOSREPORT_FLRAUFTRAG, "a", CriteriaSpecification.LEFT_JOIN); flrAuftragSchonVerwendet = true; c.add(Restrictions.eq("a." + AuftragFac.FLR_AUFTRAG_KUNDE_I_ID_AUFTRAGSADRESSE, kundeIId)); } String[] stati = new String[4]; stati[0] = LocaleFac.STATUS_AUSGEGEBEN; stati[1] = LocaleFac.STATUS_IN_PRODUKTION; stati[2] = LocaleFac.STATUS_TEILERLEDIGT; stati[3] = LocaleFac.STATUS_ANGELEGT; c.add(Restrictions.in("l." + FertigungFac.FLR_LOS_STATUS_C_NR, stati)); if (dStichtag != null) { dStichtag = Helper.cutDate(dStichtag); // PJ 14420 mapParameter.put("P_STICHTAG", dStichtag); Calendar cal = Calendar.getInstance(); cal.setTimeInMillis(dStichtag.getTime()); cal.set(Calendar.DATE, cal.get(Calendar.DATE) + 1); dStichtag = new java.sql.Date(cal.getTimeInMillis()); String datumsart = ""; if (iOptionStichtag == FertigungReportFac.OFFENE_OPTION_STICHTAG_BEGINNDATUM) { c.add(Restrictions.lt("l." + FertigungFac.FLR_LOS_T_PRODUKTIONSBEGINN, dStichtag)); datumsart = getTextRespectUISpr("lp.begintermin", theClientDto.getMandant(), theClientDto.getLocUi()); } else if (iOptionStichtag == FertigungReportFac.OFFENE_OPTION_STICHTAG_ENDEDATUM) { c.add(Restrictions.lt("l." + FertigungFac.FLR_LOS_T_PRODUKTIONSENDE, dStichtag)); datumsart = getTextRespectUISpr("lp.endetermin", theClientDto.getMandant(), theClientDto.getLocUi()); } else if (iOptionStichtag == FertigungReportFac.OFFENE_OPTION_STICHTAG_LIEFERTERMIN) { if (flrAuftragSchonVerwendet == false) { c.createAlias("l." + FertigungFac.FLR_LOSREPORT_FLRAUFTRAG, "a", CriteriaSpecification.LEFT_JOIN); flrAuftragSchonVerwendet = true; c.add(Restrictions.lt("a." + AuftragFac.FLR_AUFTRAG_T_LIEFERTERMIN, dStichtag)); } datumsart = getTextRespectUISpr("bes.liefertermin", theClientDto.getMandant(), theClientDto.getLocUi()); } mapParameter.put("P_DATUMSART", datumsart); } LpBelegnummerFormat f = getBelegnummerGeneratorObj().getBelegnummernFormat(theClientDto.getMandant()); Integer iGeschaeftsjahr = getParameterFac().getGeschaeftsjahr(theClientDto.getMandant()); String sMandantKuerzel = getParameterFac().getMandantparameter(theClientDto.getMandant(), ParameterFac.KATEGORIE_ALLGEMEIN, ParameterFac.PARAMETER_BELEGNUMMER_MANDANTKENNUNG).getCWert(); if (belegNrVon != null) { String sVon = HelperServer.getBelegnummernFilterForHibernateCriterias(f, iGeschaeftsjahr, sMandantKuerzel, belegNrVon); c.add(Restrictions.ge("l." + FertigungFac.FLR_LOS_C_NR, sVon)); mapParameter.put("P_LOSNRVON", sVon); } if (belegNrBis != null) { String sBis = HelperServer.getBelegnummernFilterForHibernateCriterias(f, iGeschaeftsjahr, sMandantKuerzel, belegNrBis); c.add(Restrictions.le("l." + FertigungFac.FLR_LOS_C_NR, sBis)); mapParameter.put("P_LOSNRBIS", sBis); } if (maschineIId != null) { MaschineDto mDto = getZeiterfassungFac().maschineFindByPrimaryKey(maschineIId); c.add(Restrictions.eq("maschine_i_id", maschineIId)); mapParameter.put("P_MASCHINE", mDto.getBezeichnung()); } List<?> list = c.list(); data = new Object[list.size()][OFFENE_AG_SPALTENANZAHL]; int i = 0; for (Iterator<?> iter = list.iterator(); iter.hasNext(); i++) { FLRLossollarbeitsplan a = (FLRLossollarbeitsplan) iter.next(); FLRLos los = a.getFlrlos(); if (fertigungsgruppeIId != null && kostenstelleIId != null) { if (los.getFertigungsgruppe_i_id().intValue() != fertigungsgruppeIId.intValue() && los.getKostenstelle_i_id().intValue() != kostenstelleIId.intValue()) { i--; } else { // skip } } else if (fertigungsgruppeIId != null && kostenstelleIId == null) { if (los.getFertigungsgruppe_i_id().intValue() != fertigungsgruppeIId.intValue()) { i--; } else { // skip } } else if (fertigungsgruppeIId == null && kostenstelleIId != null) { if (los.getKostenstelle_i_id().intValue() != kostenstelleIId.intValue()) { i--; } else { // skip } } } if (fertigungsgruppeIId != null || kostenstelleIId != null) { data = new Object[i][OFFENE_AG_SPALTENANZAHL]; } i = 0; for (Iterator<?> iter = list.iterator(); iter.hasNext(); i++) { FLRLossollarbeitsplan a = (FLRLossollarbeitsplan) iter.next(); FLRLos los = a.getFlrlos(); if (fertigungsgruppeIId != null && kostenstelleIId != null) { if (los.getFertigungsgruppe_i_id().intValue() != fertigungsgruppeIId.intValue() && los.getKostenstelle_i_id().intValue() != kostenstelleIId.intValue()) { i--; } else { data[i][OFFENE_AG_AGNUMMER] = a.getI_arbeitsgangsnummer(); data[i][OFFENE_AG_UAGNUMMER] = a.getI_unterarbeitsgang(); data[i][OFFENE_AG_AG_ARTIKEL] = a.getFlrartikel().getC_nr(); ArtikelDto aDto = getArtikelFac().artikelFindByPrimaryKeySmall(a.getFlrartikel().getI_id(), theClientDto); data[i][OFFENE_AG_AG_ARTIKELBEZEICHNUNG] = aDto.formatBezeichnung(); if (Helper.short2boolean(a.getB_fertig())) { data[i][OFFENE_AG_AG_GESAMTZEIT] = new BigDecimal(0); } else { data[i][OFFENE_AG_AG_GESAMTZEIT] = a.getN_gesamtzeit(); } if (bSollstundenbetrachtung == true) { data[i][OFFENE_AG_AG_ISTZEIT] = getZeiterfassungFac().getSummeZeitenEinesBeleges( LocaleFac.BELEGART_LOS, los.getI_id(), a.getI_id(), null, null, null, theClientDto); } if (a.getFlrmaschine() != null) { data[i][OFFENE_AG_AG_MASCHINE_BEZEICHNUNG] = a.getFlrmaschine().getC_bez(); data[i][OFFENE_AG_AG_MASCHINE_IDENTIFIKATIONSNUMMMER] = a.getFlrmaschine() .getC_identifikationsnr(); data[i][OFFENE_AG_AG_MASCHINE_INVENTARNUMMMER] = a.getFlrmaschine() .getC_inventarnummer(); } if (a.getFlrartikel().getFlrartikelgruppe() != null) { data[i][OFFENE_AG_AG_ARTIKELGRUPPPE] = a.getFlrartikel().getFlrartikelgruppe() .getC_nr(); } else { data[i][OFFENE_AG_AG_ARTIKELGRUPPPE] = ""; } if (a.getI_maschinenversatztage() != null) { data[i][OFFENE_AG_AG_BEGINN] = Helper.addiereTageZuTimestamp( (Timestamp) los.getT_produktionsbeginn(), a.getI_maschinenversatztage()); } else { data[i][OFFENE_AG_AG_BEGINN] = los.getT_produktionsbeginn(); } if (los.getFlrauftrag() != null) { Integer partnerIId = los.getFlrauftrag().getFlrkunde().getFlrpartner().getI_id(); PartnerDto partnerDto = getPartnerFac().partnerFindByPrimaryKey(partnerIId, theClientDto); data[i][OFFENE_AG_KUNDE] = partnerDto.formatFixTitelName1Name2(); data[i][OFFENE_AG_AUFTRAGSPOENALE] = los.getFlrauftrag().getB_poenale(); } if (los.getFlrauftrag() != null) { data[i][OFFENE_AG_AUFTRAGSNUMMER] = los.getFlrauftrag().getC_nr(); data[i][OFFENE_AG_PROJEKT] = los.getFlrauftrag().getC_bez(); data[i][OFFENE_AG_LIEFERTERMIN] = los.getFlrauftrag().getT_liefertermin(); } BigDecimal bdGeliefert = new BigDecimal(0); for (Iterator<?> iter2 = los.getAblieferungset().iterator(); iter2.hasNext();) { FLRLosablieferung item = (FLRLosablieferung) iter2.next(); bdGeliefert = bdGeliefert.add(item.getN_menge()); } data[i][OFFENE_AG_GELIEFERT] = bdGeliefert; if (los.getFlrstueckliste() != null) { ArtikelDto artikelDto = getArtikelFac().artikelFindByPrimaryKeySmall( los.getFlrstueckliste().getFlrartikel().getI_id(), theClientDto); data[i][OFFENE_AG_BEZEICHNUNG] = artikelDto.getArtikelsprDto().getCBez(); data[i][OFFENE_AG_ZUSATZBEZEICHNUNG] = artikelDto.getArtikelsprDto().getCZbez(); data[i][OFFENE_AG_ARTIKELNUMMER] = los.getFlrstueckliste().getFlrartikel().getC_nr(); data[i][OFFENE_AG_DETAILBEDARF] = getRahmenbedarfeFac() .getSummeAllerRahmenbedarfeEinesArtikels(artikelDto.getIId()); // Offene Fehlmengen data[i][OFFENE_AG_FEHLMENGE] = getFehlmengeFac() .getAnzahlFehlmengeEinesArtikels(artikelDto.getIId(), theClientDto); LossollarbeitsplanDto[] lossollarbeitsplanDto = getFertigungFac() .lossollarbeitsplanFindByLosIId(los.getI_id()); BigDecimal bdFertigungszeit = new BigDecimal(0); for (int j = 0; lossollarbeitsplanDto.length > j; j++) { bdFertigungszeit = bdFertigungszeit.add(lossollarbeitsplanDto[j].getNGesamtzeit()); } data[i][OFFENE_AG_FERTIGUNGSZEIT] = bdFertigungszeit; // Rahmenbestellt Hashtable<?, ?> htRahmenbestellt = getArtikelbestelltFac() .getAnzahlRahmenbestellt(artikelDto.getIId(), theClientDto); if (htRahmenbestellt.containsKey(ArtikelbestelltFac.KEY_RAHMENBESTELLT_ANZAHL)) { BigDecimal bdAnzahlRahmenbestellt = (BigDecimal) htRahmenbestellt .get(ArtikelbestelltFac.KEY_RAHMENBESTELLT_ANZAHL); data[i][OFFENE_AG_RAHMEN_BESTELLT] = bdAnzahlRahmenbestellt; } data[i][OFFENE_AG_RESERVIERUNGEN] = getReservierungFac() .getAnzahlReservierungen(artikelDto.getIId(), theClientDto); data[i][OFFENE_AG_RAHMENRESERVIERUNGEN] = getReservierungFac() .getAnzahlRahmenreservierungen(artikelDto.getIId(), theClientDto); } else { data[i][OFFENE_AG_BEZEICHNUNG] = los.getC_projekt(); data[i][OFFENE_AG_ZUSATZBEZEICHNUNG] = null; data[i][OFFENE_AG_ARTIKELNUMMER] = getTextRespectUISpr("fert.materialliste", theClientDto.getMandant(), theClientDto.getLocUi()); } GregorianCalendar gc = new GregorianCalendar(); gc.setTime(los.getT_produktionsbeginn()); data[i][OFFENE_AG_KALENDERWOCHE] = new Integer(gc.get(GregorianCalendar.WEEK_OF_YEAR)); data[i][OFFENE_AG_LOSGROESSE] = los.getN_losgroesse(); data[i][OFFENE_AG_LOSNUMMER] = los.getC_nr(); data[i][OFFENE_AG_FERTIGUNGSGRUPPE] = los.getFlrfertigungsgruppe().getC_bez(); /** * @todo material PJ 4239 */ data[i][OFFENE_AG_MATERIAL] = null; data[i][OFFENE_AG_BEGINN] = los.getT_produktionsbeginn(); data[i][OFFENE_AG_ENDE] = los.getT_produktionsende(); data[i][OFFENE_AG_LOSSTATUS] = los.getStatus_c_nr(); // PJ 15009 String queryf = "select sum(flrfehlmenge.n_menge) FROM FLRFehlmenge flrfehlmenge WHERE flrfehlmenge.flrlossollmaterial.flrlos = " + los.getI_id() + " AND flrfehlmenge.n_menge>0"; Session session2 = FLRSessionFactory.getFactory().openSession(); Query query = session2.createQuery(queryf); List<?> results = query.list(); data[i][OFFENE_AG_LOSHATFEHLMENGE] = new Boolean(false); if (results.size() > 0) { BigDecimal bd = (BigDecimal) results.iterator().next(); if (bd != null && bd.doubleValue() > 0) { data[i][OFFENE_AG_LOSHATFEHLMENGE] = new Boolean(true); } } session2.close(); } } else if (fertigungsgruppeIId != null || kostenstelleIId != null) { if (fertigungsgruppeIId != null) { if (los.getFertigungsgruppe_i_id().intValue() != fertigungsgruppeIId.intValue()) { i--; } else { data[i][OFFENE_AG_AGNUMMER] = a.getI_arbeitsgangsnummer(); data[i][OFFENE_AG_UAGNUMMER] = a.getI_unterarbeitsgang(); data[i][OFFENE_AG_AG_ARTIKEL] = a.getFlrartikel().getC_nr(); ArtikelDto aDto = getArtikelFac() .artikelFindByPrimaryKeySmall(a.getFlrartikel().getI_id(), theClientDto); data[i][OFFENE_AG_AG_ARTIKELBEZEICHNUNG] = aDto.formatBezeichnung(); if (Helper.short2boolean(a.getB_fertig())) { data[i][OFFENE_AG_AG_GESAMTZEIT] = new BigDecimal(0); } else { data[i][OFFENE_AG_AG_GESAMTZEIT] = a.getN_gesamtzeit(); } if (bSollstundenbetrachtung == true) { data[i][OFFENE_AG_AG_ISTZEIT] = getZeiterfassungFac().getSummeZeitenEinesBeleges( LocaleFac.BELEGART_LOS, los.getI_id(), a.getI_id(), null, null, null, theClientDto); } if (a.getFlrmaschine() != null) { data[i][OFFENE_AG_AG_MASCHINE_BEZEICHNUNG] = a.getFlrmaschine().getC_bez(); data[i][OFFENE_AG_AG_MASCHINE_IDENTIFIKATIONSNUMMMER] = a.getFlrmaschine() .getC_identifikationsnr(); data[i][OFFENE_AG_AG_MASCHINE_INVENTARNUMMMER] = a.getFlrmaschine() .getC_inventarnummer(); } if (a.getFlrartikel().getFlrartikelgruppe() != null) { data[i][OFFENE_AG_AG_ARTIKELGRUPPPE] = a.getFlrartikel().getFlrartikelgruppe() .getC_nr(); } else { data[i][OFFENE_AG_AG_ARTIKELGRUPPPE] = ""; } if (a.getI_maschinenversatztage() != null) { data[i][OFFENE_AG_AG_BEGINN] = Helper.addiereTageZuTimestamp( (Timestamp) los.getT_produktionsbeginn(), a.getI_maschinenversatztage()); } else { data[i][OFFENE_AG_AG_BEGINN] = los.getT_produktionsbeginn(); } if (los.getFlrauftrag() != null) { Integer partnerIId = los.getFlrauftrag().getFlrkunde().getFlrpartner().getI_id(); PartnerDto partnerDto = getPartnerFac().partnerFindByPrimaryKey(partnerIId, theClientDto); data[i][OFFENE_AG_KUNDE] = partnerDto.formatFixTitelName1Name2(); data[i][OFFENE_AG_AUFTRAGSPOENALE] = los.getFlrauftrag().getB_poenale(); } if (los.getFlrauftrag() != null) { data[i][OFFENE_AG_AUFTRAGSNUMMER] = los.getFlrauftrag().getC_nr(); data[i][OFFENE_AG_PROJEKT] = los.getFlrauftrag().getC_bez(); data[i][OFFENE_AG_LIEFERTERMIN] = los.getFlrauftrag().getT_liefertermin(); } BigDecimal bdGeliefert = new BigDecimal(0); for (Iterator<?> iter2 = los.getAblieferungset().iterator(); iter2.hasNext();) { FLRLosablieferung item = (FLRLosablieferung) iter2.next(); bdGeliefert = bdGeliefert.add(item.getN_menge()); } data[i][OFFENE_AG_GELIEFERT] = bdGeliefert; if (los.getFlrstueckliste() != null) { ArtikelDto artikelDto = getArtikelFac().artikelFindByPrimaryKeySmall( los.getFlrstueckliste().getFlrartikel().getI_id(), theClientDto); data[i][OFFENE_AG_BEZEICHNUNG] = artikelDto.getArtikelsprDto().getCBez(); data[i][OFFENE_AG_ZUSATZBEZEICHNUNG] = artikelDto.getArtikelsprDto().getCZbez(); data[i][OFFENE_AG_ARTIKELNUMMER] = los.getFlrstueckliste().getFlrartikel() .getC_nr(); data[i][OFFENE_AG_DETAILBEDARF] = getRahmenbedarfeFac() .getSummeAllerRahmenbedarfeEinesArtikels(artikelDto.getIId()); // Offene Fehlmengen data[i][OFFENE_AG_FEHLMENGE] = getFehlmengeFac() .getAnzahlFehlmengeEinesArtikels(artikelDto.getIId(), theClientDto); LossollarbeitsplanDto[] lossollarbeitsplanDto = getFertigungFac() .lossollarbeitsplanFindByLosIId(los.getI_id()); BigDecimal bdFertigungszeit = new BigDecimal(0); for (int j = 0; lossollarbeitsplanDto.length > j; j++) { bdFertigungszeit = bdFertigungszeit .add(lossollarbeitsplanDto[j].getNGesamtzeit()); } data[i][OFFENE_AG_FERTIGUNGSZEIT] = bdFertigungszeit; // Rahmenbestellt Hashtable<?, ?> htRahmenbestellt = getArtikelbestelltFac() .getAnzahlRahmenbestellt(artikelDto.getIId(), theClientDto); if (htRahmenbestellt.containsKey(ArtikelbestelltFac.KEY_RAHMENBESTELLT_ANZAHL)) { BigDecimal bdAnzahlRahmenbestellt = (BigDecimal) htRahmenbestellt .get(ArtikelbestelltFac.KEY_RAHMENBESTELLT_ANZAHL); data[i][OFFENE_AG_RAHMEN_BESTELLT] = bdAnzahlRahmenbestellt; } data[i][OFFENE_AG_RESERVIERUNGEN] = getReservierungFac() .getAnzahlReservierungen(artikelDto.getIId(), theClientDto); data[i][OFFENE_AG_RAHMENRESERVIERUNGEN] = getReservierungFac() .getAnzahlRahmenreservierungen(artikelDto.getIId(), theClientDto); } else { data[i][OFFENE_AG_BEZEICHNUNG] = los.getC_projekt(); data[i][OFFENE_AG_ZUSATZBEZEICHNUNG] = null; data[i][OFFENE_AG_ARTIKELNUMMER] = getTextRespectUISpr("fert.materialliste", theClientDto.getMandant(), theClientDto.getLocUi()); } GregorianCalendar gc = new GregorianCalendar(); gc.setTime(los.getT_produktionsbeginn()); data[i][OFFENE_AG_KALENDERWOCHE] = new Integer(gc.get(GregorianCalendar.WEEK_OF_YEAR)); data[i][OFFENE_AG_LOSGROESSE] = los.getN_losgroesse(); data[i][OFFENE_AG_LOSNUMMER] = los.getC_nr(); data[i][OFFENE_AG_FERTIGUNGSGRUPPE] = los.getFlrfertigungsgruppe().getC_bez(); /** * @todo material PJ 4239 */ data[i][OFFENE_AG_MATERIAL] = null; data[i][OFFENE_AG_BEGINN] = los.getT_produktionsbeginn(); data[i][OFFENE_AG_ENDE] = los.getT_produktionsende(); data[i][OFFENE_AG_LOSSTATUS] = los.getStatus_c_nr(); // PJ 15009 String queryf = "select sum(flrfehlmenge.n_menge) FROM FLRFehlmenge flrfehlmenge WHERE flrfehlmenge.flrlossollmaterial.flrlos = " + los.getI_id() + " AND flrfehlmenge.n_menge>0"; Session session2 = FLRSessionFactory.getFactory().openSession(); Query query = session2.createQuery(queryf); List<?> results = query.list(); data[i][OFFENE_AG_LOSHATFEHLMENGE] = new Boolean(false); if (results.size() > 0) { BigDecimal bd = (BigDecimal) results.iterator().next(); if (bd != null && bd.doubleValue() > 0) { data[i][OFFENE_AG_LOSHATFEHLMENGE] = new Boolean(true); } } session2.close(); } } else if (kostenstelleIId != null) { if (los.getKostenstelle_i_id().intValue() != kostenstelleIId.intValue()) { i--; } else { data[i][OFFENE_AG_AGNUMMER] = a.getI_arbeitsgangsnummer(); data[i][OFFENE_AG_UAGNUMMER] = a.getI_unterarbeitsgang(); data[i][OFFENE_AG_AG_ARTIKEL] = a.getFlrartikel().getC_nr(); ArtikelDto aDto = getArtikelFac() .artikelFindByPrimaryKeySmall(a.getFlrartikel().getI_id(), theClientDto); data[i][OFFENE_AG_AG_ARTIKELBEZEICHNUNG] = aDto.formatBezeichnung(); if (Helper.short2boolean(a.getB_fertig())) { data[i][OFFENE_AG_AG_GESAMTZEIT] = new BigDecimal(0); } else { data[i][OFFENE_AG_AG_GESAMTZEIT] = a.getN_gesamtzeit(); } if (bSollstundenbetrachtung == true) { data[i][OFFENE_AG_AG_ISTZEIT] = getZeiterfassungFac().getSummeZeitenEinesBeleges( LocaleFac.BELEGART_LOS, los.getI_id(), a.getI_id(), null, null, null, theClientDto); } if (a.getFlrmaschine() != null) { data[i][OFFENE_AG_AG_MASCHINE_BEZEICHNUNG] = a.getFlrmaschine().getC_bez(); data[i][OFFENE_AG_AG_MASCHINE_IDENTIFIKATIONSNUMMMER] = a.getFlrmaschine() .getC_identifikationsnr(); data[i][OFFENE_AG_AG_MASCHINE_INVENTARNUMMMER] = a.getFlrmaschine() .getC_inventarnummer(); } if (a.getFlrartikel().getFlrartikelgruppe() != null) { data[i][OFFENE_AG_AG_ARTIKELGRUPPPE] = a.getFlrartikel().getFlrartikelgruppe() .getC_nr(); } else { data[i][OFFENE_AG_AG_ARTIKELGRUPPPE] = ""; } if (a.getI_maschinenversatztage() != null) { data[i][OFFENE_AG_AG_BEGINN] = Helper.addiereTageZuTimestamp( (Timestamp) los.getT_produktionsbeginn(), a.getI_maschinenversatztage()); } else { data[i][OFFENE_AG_AG_BEGINN] = los.getT_produktionsbeginn(); } if (los.getFlrauftrag() != null) { Integer partnerIId = los.getFlrauftrag().getFlrkunde().getFlrpartner().getI_id(); PartnerDto partnerDto = getPartnerFac().partnerFindByPrimaryKey(partnerIId, theClientDto); data[i][OFFENE_AG_KUNDE] = partnerDto.formatFixTitelName1Name2(); data[i][OFFENE_AG_AUFTRAGSPOENALE] = los.getFlrauftrag().getB_poenale(); } if (los.getFlrauftrag() != null) { data[i][OFFENE_AG_AUFTRAGSNUMMER] = los.getFlrauftrag().getC_nr(); data[i][OFFENE_AG_PROJEKT] = los.getFlrauftrag().getC_bez(); data[i][OFFENE_AG_LIEFERTERMIN] = los.getFlrauftrag().getT_liefertermin(); } BigDecimal bdGeliefert = new BigDecimal(0); for (Iterator<?> iter2 = los.getAblieferungset().iterator(); iter2.hasNext();) { FLRLosablieferung item = (FLRLosablieferung) iter2.next(); bdGeliefert = bdGeliefert.add(item.getN_menge()); } data[i][OFFENE_AG_GELIEFERT] = bdGeliefert; if (los.getFlrstueckliste() != null) { ArtikelDto artikelDto = getArtikelFac().artikelFindByPrimaryKeySmall( los.getFlrstueckliste().getFlrartikel().getI_id(), theClientDto); data[i][OFFENE_AG_BEZEICHNUNG] = artikelDto.getArtikelsprDto().getCBez(); data[i][OFFENE_AG_ZUSATZBEZEICHNUNG] = artikelDto.getArtikelsprDto().getCZbez(); data[i][OFFENE_AG_ARTIKELNUMMER] = los.getFlrstueckliste().getFlrartikel() .getC_nr(); data[i][OFFENE_AG_DETAILBEDARF] = getRahmenbedarfeFac() .getSummeAllerRahmenbedarfeEinesArtikels(artikelDto.getIId()); // Offene Fehlmengen data[i][OFFENE_AG_FEHLMENGE] = getFehlmengeFac() .getAnzahlFehlmengeEinesArtikels(artikelDto.getIId(), theClientDto); LossollarbeitsplanDto[] lossollarbeitsplanDto = getFertigungFac() .lossollarbeitsplanFindByLosIId(los.getI_id()); BigDecimal bdFertigungszeit = new BigDecimal(0); for (int j = 0; lossollarbeitsplanDto.length > j; j++) { bdFertigungszeit = bdFertigungszeit .add(lossollarbeitsplanDto[j].getNGesamtzeit()); } data[i][OFFENE_AG_FERTIGUNGSZEIT] = bdFertigungszeit; // Rahmenbestellt Hashtable<?, ?> htRahmenbestellt = getArtikelbestelltFac() .getAnzahlRahmenbestellt(artikelDto.getIId(), theClientDto); if (htRahmenbestellt.containsKey(ArtikelbestelltFac.KEY_RAHMENBESTELLT_ANZAHL)) { BigDecimal bdAnzahlRahmenbestellt = (BigDecimal) htRahmenbestellt .get(ArtikelbestelltFac.KEY_RAHMENBESTELLT_ANZAHL); data[i][OFFENE_AG_RAHMEN_BESTELLT] = bdAnzahlRahmenbestellt; } data[i][OFFENE_AG_RESERVIERUNGEN] = getReservierungFac() .getAnzahlReservierungen(artikelDto.getIId(), theClientDto); data[i][OFFENE_AG_RAHMENRESERVIERUNGEN] = getReservierungFac() .getAnzahlRahmenreservierungen(artikelDto.getIId(), theClientDto); } else { data[i][OFFENE_AG_BEZEICHNUNG] = los.getC_projekt(); data[i][OFFENE_AG_ZUSATZBEZEICHNUNG] = null; data[i][OFFENE_AG_ARTIKELNUMMER] = getTextRespectUISpr("fert.materialliste", theClientDto.getMandant(), theClientDto.getLocUi()); } GregorianCalendar gc = new GregorianCalendar(); gc.setTime(los.getT_produktionsbeginn()); data[i][OFFENE_AG_KALENDERWOCHE] = new Integer(gc.get(GregorianCalendar.WEEK_OF_YEAR)); data[i][OFFENE_AG_LOSGROESSE] = los.getN_losgroesse(); data[i][OFFENE_AG_LOSNUMMER] = los.getC_nr(); data[i][OFFENE_AG_FERTIGUNGSGRUPPE] = los.getFlrfertigungsgruppe().getC_bez(); /** * @todo material PJ 4239 */ data[i][OFFENE_AG_MATERIAL] = null; data[i][OFFENE_AG_BEGINN] = los.getT_produktionsbeginn(); data[i][OFFENE_AG_ENDE] = los.getT_produktionsende(); data[i][OFFENE_AG_LOSSTATUS] = los.getStatus_c_nr(); // PJ 15009 String queryf = "select sum(flrfehlmenge.n_menge) FROM FLRFehlmenge flrfehlmenge WHERE flrfehlmenge.flrlossollmaterial.flrlos = " + los.getI_id() + " AND flrfehlmenge.n_menge>0"; Session session2 = FLRSessionFactory.getFactory().openSession(); Query query = session2.createQuery(queryf); List<?> results = query.list(); data[i][OFFENE_AG_LOSHATFEHLMENGE] = new Boolean(false); if (results.size() > 0) { BigDecimal bd = (BigDecimal) results.iterator().next(); if (bd != null && bd.doubleValue() > 0) { data[i][OFFENE_AG_LOSHATFEHLMENGE] = new Boolean(true); } } session2.close(); } } } else { data[i][OFFENE_AG_AGNUMMER] = a.getI_arbeitsgangsnummer(); data[i][OFFENE_AG_UAGNUMMER] = a.getI_unterarbeitsgang(); data[i][OFFENE_AG_AG_ARTIKEL] = a.getFlrartikel().getC_nr(); ArtikelDto aDto = getArtikelFac().artikelFindByPrimaryKeySmall(a.getFlrartikel().getI_id(), theClientDto); data[i][OFFENE_AG_AG_ARTIKELBEZEICHNUNG] = aDto.formatBezeichnung(); if (Helper.short2boolean(a.getB_fertig())) { data[i][OFFENE_AG_AG_GESAMTZEIT] = new BigDecimal(0); } else { data[i][OFFENE_AG_AG_GESAMTZEIT] = a.getN_gesamtzeit(); } if (bSollstundenbetrachtung == true) { data[i][OFFENE_AG_AG_ISTZEIT] = getZeiterfassungFac().getSummeZeitenEinesBeleges( LocaleFac.BELEGART_LOS, los.getI_id(), a.getI_id(), null, null, null, theClientDto); } if (a.getFlrmaschine() != null) { data[i][OFFENE_AG_AG_MASCHINE_BEZEICHNUNG] = a.getFlrmaschine().getC_bez(); data[i][OFFENE_AG_AG_MASCHINE_IDENTIFIKATIONSNUMMMER] = a.getFlrmaschine() .getC_identifikationsnr(); data[i][OFFENE_AG_AG_MASCHINE_INVENTARNUMMMER] = a.getFlrmaschine().getC_inventarnummer(); } if (a.getFlrartikel().getFlrartikelgruppe() != null) { data[i][OFFENE_AG_AG_ARTIKELGRUPPPE] = a.getFlrartikel().getFlrartikelgruppe().getC_nr(); } else { data[i][OFFENE_AG_AG_ARTIKELGRUPPPE] = ""; } if (a.getI_maschinenversatztage() != null) { data[i][OFFENE_AG_AG_BEGINN] = Helper.addiereTageZuTimestamp( (Timestamp) los.getT_produktionsbeginn(), a.getI_maschinenversatztage()); } else { data[i][OFFENE_AG_AG_BEGINN] = los.getT_produktionsbeginn(); } if (los.getFlrauftrag() != null) { Integer partnerIId = los.getFlrauftrag().getFlrkunde().getFlrpartner().getI_id(); PartnerDto partnerDto = getPartnerFac().partnerFindByPrimaryKey(partnerIId, theClientDto); data[i][OFFENE_AG_KUNDE] = partnerDto.formatFixTitelName1Name2(); data[i][OFFENE_AG_AUFTRAGSPOENALE] = los.getFlrauftrag().getB_poenale(); } if (los.getFlrauftrag() != null) { data[i][OFFENE_AG_AUFTRAGSNUMMER] = los.getFlrauftrag().getC_nr(); data[i][OFFENE_AG_PROJEKT] = los.getFlrauftrag().getC_bez(); data[i][OFFENE_AG_LIEFERTERMIN] = los.getFlrauftrag().getT_liefertermin(); } BigDecimal bdGeliefert = new BigDecimal(0); for (Iterator<?> iter2 = los.getAblieferungset().iterator(); iter2.hasNext();) { FLRLosablieferung item = (FLRLosablieferung) iter2.next(); bdGeliefert = bdGeliefert.add(item.getN_menge()); } data[i][OFFENE_AG_GELIEFERT] = bdGeliefert; if (los.getFlrstueckliste() != null) { ArtikelDto artikelDto = getArtikelFac().artikelFindByPrimaryKeySmall( los.getFlrstueckliste().getFlrartikel().getI_id(), theClientDto); data[i][OFFENE_AG_BEZEICHNUNG] = artikelDto.getArtikelsprDto().getCBez(); data[i][OFFENE_AG_ZUSATZBEZEICHNUNG] = artikelDto.getArtikelsprDto().getCZbez(); data[i][OFFENE_AG_ARTIKELNUMMER] = los.getFlrstueckliste().getFlrartikel().getC_nr(); data[i][OFFENE_AG_DETAILBEDARF] = getRahmenbedarfeFac() .getSummeAllerRahmenbedarfeEinesArtikels(artikelDto.getIId()); // Offene Fehlmengen data[i][OFFENE_AG_FEHLMENGE] = getFehlmengeFac() .getAnzahlFehlmengeEinesArtikels(artikelDto.getIId(), theClientDto); LossollarbeitsplanDto[] lossollarbeitsplanDto = getFertigungFac() .lossollarbeitsplanFindByLosIId(los.getI_id()); BigDecimal bdFertigungszeit = new BigDecimal(0); for (int j = 0; lossollarbeitsplanDto.length > j; j++) { bdFertigungszeit = bdFertigungszeit.add(lossollarbeitsplanDto[j].getNGesamtzeit()); } data[i][OFFENE_AG_FERTIGUNGSZEIT] = bdFertigungszeit; // Rahmenbestellt Hashtable<?, ?> htRahmenbestellt = getArtikelbestelltFac() .getAnzahlRahmenbestellt(artikelDto.getIId(), theClientDto); if (htRahmenbestellt.containsKey(ArtikelbestelltFac.KEY_RAHMENBESTELLT_ANZAHL)) { BigDecimal bdAnzahlRahmenbestellt = (BigDecimal) htRahmenbestellt .get(ArtikelbestelltFac.KEY_RAHMENBESTELLT_ANZAHL); data[i][OFFENE_AG_RAHMEN_BESTELLT] = bdAnzahlRahmenbestellt; } data[i][OFFENE_AG_RESERVIERUNGEN] = getReservierungFac() .getAnzahlReservierungen(artikelDto.getIId(), theClientDto); data[i][OFFENE_AG_RAHMENRESERVIERUNGEN] = getReservierungFac() .getAnzahlRahmenreservierungen(artikelDto.getIId(), theClientDto); } else { data[i][OFFENE_AG_BEZEICHNUNG] = los.getC_projekt(); data[i][OFFENE_AG_ZUSATZBEZEICHNUNG] = null; data[i][OFFENE_AG_ARTIKELNUMMER] = getTextRespectUISpr("fert.materialliste", theClientDto.getMandant(), theClientDto.getLocUi()); } GregorianCalendar gc = new GregorianCalendar(); gc.setTime(los.getT_produktionsbeginn()); data[i][OFFENE_AG_KALENDERWOCHE] = new Integer(gc.get(GregorianCalendar.WEEK_OF_YEAR)); data[i][OFFENE_AG_LOSGROESSE] = los.getN_losgroesse(); data[i][OFFENE_AG_LOSNUMMER] = los.getC_nr(); data[i][OFFENE_AG_FERTIGUNGSGRUPPE] = los.getFlrfertigungsgruppe().getC_bez(); /** * @todo material PJ 4239 */ data[i][OFFENE_AG_MATERIAL] = null; data[i][OFFENE_AG_BEGINN] = los.getT_produktionsbeginn(); data[i][OFFENE_AG_ENDE] = los.getT_produktionsende(); data[i][OFFENE_AG_LOSSTATUS] = los.getStatus_c_nr(); // PJ 15009 String queryf = "select sum(flrfehlmenge.n_menge) FROM FLRFehlmenge flrfehlmenge WHERE flrfehlmenge.flrlossollmaterial.flrlos = " + los.getI_id() + " AND flrfehlmenge.n_menge>0"; Session session2 = FLRSessionFactory.getFactory().openSession(); Query query = session2.createQuery(queryf); List<?> results = query.list(); data[i][OFFENE_AG_LOSHATFEHLMENGE] = new Boolean(false); if (results.size() > 0) { BigDecimal bd = (BigDecimal) results.iterator().next(); if (bd != null && bd.doubleValue() > 0) { data[i][OFFENE_AG_LOSHATFEHLMENGE] = new Boolean(true); } } session2.close(); } } // Sortieren nach Artikelgruppe + AG-Beginn for (int k = data.length - 1; k > 0; --k) { for (int j = 0; j < k; ++j) { Object[] a1 = (Object[]) data[j]; Object[] a2 = (Object[]) data[j + 1]; if (((String) a1[OFFENE_AG_AG_ARTIKELGRUPPPE]) .compareTo((String) a2[OFFENE_AG_AG_ARTIKELGRUPPPE]) > 0) { data[j] = a2; data[j + 1] = a1; } else if (((String) a1[OFFENE_AG_AG_ARTIKELGRUPPPE]) .compareTo((String) a2[OFFENE_AG_AG_ARTIKELGRUPPPE]) == 0) { java.util.Date k1 = (java.util.Date) a1[OFFENE_AG_AG_BEGINN]; java.util.Date k2 = (java.util.Date) a2[OFFENE_AG_AG_BEGINN]; if (iOptionStichtag == FertigungReportFac.OFFENE_OPTION_STICHTAG_ENDEDATUM) { k1 = (java.util.Date) a1[OFFENE_AG_ENDE]; k2 = (java.util.Date) a2[OFFENE_AG_ENDE]; } else if (iOptionStichtag == FertigungReportFac.OFFENE_OPTION_STICHTAG_LIEFERTERMIN) { k1 = (java.util.Date) a1[OFFENE_AG_LIEFERTERMIN]; if (k1 == null) { k1 = new Date(0); } k2 = (java.util.Date) a2[OFFENE_AG_LIEFERTERMIN]; if (k2 == null) { k2 = new Date(0); } } k1 = Helper.cutDate(k1); k2 = Helper.cutDate(k2); if (k1.after(k2)) { data[j] = a2; data[j + 1] = a1; } else if (k1.equals(k2)) { String l1 = (String) a1[OFFENE_AG_LOSNUMMER]; String l2 = (String) a1[OFFENE_AG_LOSNUMMER]; if (l1.compareTo(l2) > 0) { data[j] = a2; data[j + 1] = a1; } } } } } initJRDS(mapParameter, FertigungReportFac.REPORT_MODUL, FertigungReportFac.REPORT_OFFENE_AG, theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto); return getReportPrint(); } catch (Exception t) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER, t); } finally { closeSession(session); } }