/**
   * ptkrit: 2 die gewaehlten Kriterien zusammenbauen. <br>
   * Es gilt fuer Auftrag Uebersicht: <br>
   * Krit1 : Auswertung (Belegdatum oder Liefertermin oder Finaltermin) = Auswahl Geschaeftsjahr
   *
   * @throws Throwable
   * @return FilterKriterium[]
   */
  public FilterKriterium[] buildFilterKriterien() throws Throwable {
    aAlleKriterien = new FilterKriterium[EingangsrechnungFac.ANZAHL_KRITERIEN];

    FilterKriterium fkDatum = null;
    FilterKriterium fkJahr = null;

    if (wrbBelegdatum.isSelected()) {
      // Auswertung nach Belegdatum
      fkDatum =
          EingangsrechnungFilterFactory.getInstance()
              .createFKKriteriumBelegdatum(
                  wrbBelegdatum.isSelected(), wcoGeschaeftsjahr.getKeyOfSelectedItem().toString());
    } else if (wrbFreigabedatum.isSelected()) {
      // Auswertung nach Freigabedatum
      fkDatum =
          EingangsrechnungFilterFactory.getInstance()
              .createFKKriteriumFreigabedatum(
                  wrbBelegdatum.isSelected(), wcoGeschaeftsjahr.getKeyOfSelectedItem().toString());
    }
    if (wrbGeschaeftsjahr.isSelected()) {
      fkJahr =
          EingangsrechnungFilterFactory.getInstance()
              .createFKKriteriumGeschaeftsjahr(
                  wrbBelegdatum.isSelected(), wcoGeschaeftsjahr.getKeyOfSelectedItem().toString());
    } else if (wrbKalenderjahr.isSelected()) {
      fkJahr =
          EingangsrechnungFilterFactory.getInstance()
              .createFKKriteriumKalenderjahr(
                  wrbBelegdatum.isSelected(), wcoGeschaeftsjahr.getKeyOfSelectedItem().toString());
    }

    aAlleKriterien[EingangsrechnungFac.IDX_KRIT_DATUM] = fkDatum;
    aAlleKriterien[EingangsrechnungFac.IDX_KRIT_JAHR] = fkJahr;

    FilterKriterium fkZusatzkosten =
        new FilterKriterium(
            EingangsrechnungFac.KRIT_ZUSATZKOSTEN,
            false,
            Helper.boolean2Short(tabbedPaneER.isBZusatzkosten()) + "",
            FilterKriterium.OPERATOR_EQUAL,
            false);

    aAlleKriterien[EingangsrechnungFac.IDX_KRIT_ZUSATZKOSTEN] = fkZusatzkosten;

    return aAlleKriterien;
  }
  public JasperPrintLP getReport(String sDrucktype) throws Throwable {
    JasperPrintLP jasperPrint = null;

    if (wrbErledigt.isSelected()) {

      if (auftragIId == null && losIId == null) {
        java.sql.Timestamp wdfBisTemp =
            new java.sql.Timestamp(wdfBis.getTimestamp().getTime() + 24 * 3600000);

        jasperPrint =
            DelegateFactory.getInstance()
                .getFertigungDelegate()
                .printLosstatistik(
                    Helper.cutTimestamp(wdfVon.getTimestamp()),
                    Helper.cutTimestamp(wdfBisTemp),
                    losIId,
                    stuecklisteIId,
                    auftragIId,
                    wcbArbeitsplanSortiertNachAG.isSelected(),
                    wcbVerdichtetNachArtikel.isSelected(),
                    null);
      } else {
        jasperPrint =
            DelegateFactory.getInstance()
                .getFertigungDelegate()
                .printLosstatistik(
                    null,
                    null,
                    losIId,
                    stuecklisteIId,
                    auftragIId,
                    wcbArbeitsplanSortiertNachAG.isSelected(),
                    wcbVerdichtetNachArtikel.isSelected(),
                    null);
      }
    } else {
      if (auftragIId == null && losIId == null) {
        java.sql.Timestamp wdfBisTemp =
            new java.sql.Timestamp(wdfBis.getTimestamp().getTime() + 24 * 3600000);

        jasperPrint =
            DelegateFactory.getInstance()
                .getFertigungDelegate()
                .printLosstatistik(
                    null,
                    null,
                    losIId,
                    stuecklisteIId,
                    auftragIId,
                    wcbArbeitsplanSortiertNachAG.isSelected(),
                    wcbVerdichtetNachArtikel.isSelected(),
                    wdfStichtag.getTimestamp());
      } else {
        jasperPrint =
            DelegateFactory.getInstance()
                .getFertigungDelegate()
                .printLosstatistik(
                    null,
                    null,
                    losIId,
                    stuecklisteIId,
                    auftragIId,
                    wcbArbeitsplanSortiertNachAG.isSelected(),
                    wcbVerdichtetNachArtikel.isSelected(),
                    wdfStichtag.getTimestamp());
      }
    }
    return jasperPrint;
  }