public void propertyChange(PropertyChangeEvent e) {
    // System.out.println(e.getPropertyName());
    if (e.getSource() == wdfKW.getDisplay()
        && e.getNewValue() instanceof Date
        && e.getPropertyName().equals("date")) {
      wbuZeitenAbschliessen.setEnabled(false);
      Date d = (Date) e.getNewValue();

      Timestamp[] tVonBis = Helper.getTimestampVonBisEinerKW(new Timestamp(d.getTime()));

      wdfKW.setDate(d);
      //

      Calendar c = Calendar.getInstance();
      c.setTimeInMillis(wdfKW.getDate().getTime());
      try {
        wlaKW.setText(
            "KW: "
                + c.get(Calendar.WEEK_OF_YEAR)
                + "/"
                + Helper.berechneJahrDerKW(c)
                + " ("
                + Helper.formatDatum(tVonBis[0], LPMain.getTheClient().getLocUi())
                + "-"
                + Helper.formatDatum(tVonBis[1], LPMain.getTheClient().getLocUi())
                + ")");
      } catch (Throwable e1) {

        e1.printStackTrace();
      }
    }
  }
Beispiel #2
0
  public MailtextDto getMailtextDto() throws Throwable {
    MailtextDto mailtextDto = PanelReportKriterien.getDefaultMailtextDto(this);
    if (auftragDto != null) {
      Locale locKunde = Helper.string2Locale(kundeDto.getPartnerDto().getLocaleCNrKommunikation());
      mailtextDto.setMailPartnerIId(kundeDto.getPartnerIId());
      mailtextDto.setMailAnprechpartnerIId(auftragDto.getAnsprechparnterIId());
      PersonalDto personalDtoBearbeiter =
          DelegateFactory.getInstance()
              .getPersonalDelegate()
              .personalFindByPrimaryKey(auftragDto.getPersonalIIdVertreter());
      mailtextDto.setMailVertreter(personalDtoBearbeiter);

      mailtextDto.setMailBelegdatum(new java.sql.Date(auftragDto.getTBelegdatum().getTime()));
      mailtextDto.setMailBelegnummer(auftragDto.getCNr());
      mailtextDto.setMailBezeichnung(
          LPMain.getTextRespectSpezifischesLocale("auft.mailbezeichnung", locKunde));
      mailtextDto.setMailProjekt(auftragDto.getCBezProjektbezeichnung());
      mailtextDto.setKundenbestellnummer(auftragDto.getCBestellnummer());
      /** @todo die restlichen Felder befuellen */
      mailtextDto.setMailFusstext(null); // UW: kommt noch
      mailtextDto.setMailText(null); // UW: kommt noch
      mailtextDto.setParamLocale(locKunde);
    }
    return mailtextDto;
  }
  protected void speicherePartner() throws Throwable {

    // Wenn Partner manuell eingegeben wurde, dann vorher anlegen
    if (getAnsprechpartnerDto().getPartnerIIdAnsprechpartner() == null) {
      PartnerDto partnerDto = new PartnerDto();
      partnerDto.setCName1nachnamefirmazeile1(wtfAnsprechpartner.getText());
      partnerDto.setCName2vornamefirmazeile2(wtfVorname.getText());
      partnerDto.setCTitel(wtfTitel.getText());
      partnerDto.setCNtitel(wtfNtitel.getText());
      partnerDto.setAnredeCNr((String) wcoAnrede.getKeyOfSelectedItem());
      partnerDto.setDGeburtsdatumansprechpartner(wdfGebDatum.getDate());
      partnerDto.setPartnerartCNr(PartnerFac.PARTNERART_ANSPRECHPARTNER);
      partnerDto.setBVersteckt(com.lp.util.Helper.boolean2Short(false));
      LPMain.getInstance();
      partnerDto.setLocaleCNrKommunikation(LPMain.getTheClient().getLocUiAsString());
      String kbez = wtfAnsprechpartner.getText();
      if (kbez.length() > 14) {
        kbez = kbez.substring(0, 13);
      }
      partnerDto.setCKbez(kbez);
      getAnsprechpartnerDto()
          .setPartnerIIdAnsprechpartner(
              DelegateFactory.getInstance().getPartnerDelegate().createPartner(partnerDto));
    }
  }
Beispiel #4
0
  public QueryResult getPageAt(Integer rowIndex) throws EJBExceptionLP {

    QueryResult result = null;
    SessionFactory factory = FLRSessionFactory.getFactory();
    Session session = null;
    try {
      int colCount = getTableInfo().getColumnClasses().length;
      int pageSize = LieferantHandler.PAGE_SIZE;
      int startIndex = Math.max(rowIndex.intValue() - (pageSize / 2), 0);
      int endIndex = startIndex + pageSize - 1;

      session = factory.openSession();
      String queryString = getFromClause() + buildWhereClause() + buildOrderByClause();

      Query query = session.createQuery(queryString);
      query.setFirstResult(startIndex);
      query.setMaxResults(pageSize);
      List<?> resultList = query.list();
      Iterator<?> resultListIterator = resultList.iterator();
      Object[][] rows = new Object[resultList.size()][colCount];
      int row = 0;
      int col = 0;
      while (resultListIterator.hasNext()) {
        Object[] o = (Object[]) resultListIterator.next();

        rows[row][col++] = o[0];
        rows[row][col++] = o[1];
        rows[row][col++] = o[2];
        rows[row][col++] = o[3];
        if (o[4] != null) {
          rows[row][col++] = LocaleFac.STATUS_GESPERRT;
        } else {
          rows[row][col++] = null;
        }
        rows[row][col++] = o[5];
        rows[row][col++] = o[6];
        rows[row][col++] = o[7];
        rows[row][col++] = o[8];

        if (Helper.short2boolean((Short) o[9])) {
          rows[row][col++] = Color.LIGHT_GRAY;
        }

        row++;
        col = 0;
      }
      result = new QueryResult(rows, this.getRowCount(), startIndex, endIndex, 0);
    } catch (Exception e) {
      throw new EJBExceptionLP(EJBExceptionLP.FEHLER, e);
    } finally {
      try {
        session.close();
      } catch (HibernateException he) {
        throw new EJBExceptionLP(EJBExceptionLP.FEHLER, he);
      }
    }
    return result;
  }
  public void kundesokoDto2components(KundesokoDto kundesokoDtoI) throws Throwable {
    boolean bEnable = LPMain.getTheClient().getSMandantenwaehrung().equals(waehrungCNr);
    wnfRabattsatz.setEditable(bEnable);
    wnfRabattsatz.setMandatoryField(bEnable);
    wlaWaehrungGestehungspreis.setText(waehrungCNr);
    wlaWaehrungMinverkaufspreis.setText(waehrungCNr);
    wlaVkbasiswaehrung.setText(waehrungCNr);
    wlaFixpreiswaehrung.setText(waehrungCNr);

    wdfGueltigab.setDate(kundesokoDtoI.getTPreisgueltigab());
    wdfGueltigbis.setDate(kundesokoDtoI.getTPreisgueltigbis());
    wtfBemerkung.setText(kundesokoDtoI.getCBemerkung());

    if (wtfKndArtBez != null) {
      wtfKndArtBez.setText(kundesokoDtoI.getCKundeartikelbez());
    }
    if (wtfKndArtZBez != null) {
      wtfKndArtZBez.setText(kundesokoDtoI.getCKundeartikelzbez());
    }

    if (kundesokoDtoI.getBDrucken() == null) {
      wcbDrucken.setSelected(false);
    } else {
      wcbDrucken.setSelected(Helper.short2boolean(kundesokoDtoI.getBDrucken()));
    }

    if (kundesokoDtoI.getBBemerkungdrucken() == null) {
      wcbBemerkungDrucken.setSelected(false);
    } else {
      wcbBemerkungDrucken.setSelected(Helper.short2boolean(kundesokoDtoI.getBBemerkungdrucken()));
    }

    if (kundesokoDtoI.getBRabattsichtbar() == null) {
      wcbRabattsichtbar.setSelected(false);
    } else {
      wcbRabattsichtbar.setSelected(Helper.short2boolean(kundesokoDtoI.getBRabattsichtbar()));
    }

    if (kundesokoDtoI.getBWirktNichtFuerPreisfindung() == null) {
      wcbWirktNichtInVerkaufspreisfindung.setSelected(false);
    } else {
      wcbWirktNichtInVerkaufspreisfindung.setSelected(
          Helper.short2boolean(kundesokoDtoI.getBWirktNichtFuerPreisfindung()));
    }
  }
Beispiel #6
0
  /**
   * Die Spalte verstecken.
   *
   * @param iColumnIndex der Index der Spalte
   * @param iColumnWidth doe absolute Breite der Spalte
   */
  private void setColumnWidthToZero(int iColumnIndex) {
    TableColumn tc = table.getColumnModel().getColumn(iColumnIndex);
    tc.setMinWidth(0);
    tc.setPreferredWidth(0);

    boolean showIIds = iColumnIndex == 0 && Defaults.getInstance().isShowIIdColumn();
    tc.setMaxWidth(showIIds ? Helper.getBreiteInPixel(QueryParameters.FLR_BREITE_M) : 0);
    tc.setResizable(showIIds);
  }
 @Override
 public void eventActionSave(ActionEvent e, boolean bNeedNoSaveI) throws Throwable {
   if (wcbNewsletterEmpfaenger.isSelected() && !Helper.validateEmailadresse(wtfEmail.getText())) {
     showDialogEmailAusfuellen();
     return;
   }
   if (allMandatoryFieldsSetDlg()) {
     eventActionSaveImpl(e, bNeedNoSaveI);
     super.eventActionSave(e, true);
     eventYouAreSelected(false);
   }
 }
Beispiel #8
0
  /**
   * Die absoulte Breite einer Spalte festlegen.
   *
   * @param iColumnIndex der Index der Spalte
   * @param iColumnWidth die absolute Breite der Spalte
   */
  protected void setColumnWidth(int iColumnIndex, int iColumnWidth) {
    if (iColumnWidth == 0) {
      setColumnWidthToZero(iColumnIndex);
      return;
    }

    TableColumn tc = table.getColumnModel().getColumn(iColumnIndex);
    tc.setMinWidth(Helper.getBreiteInPixel(QueryParameters.FLR_BREITE_MINIMUM));
    //		tc.setMaxWidth(iColumnWidth);
    //		tc.setMinWidth(iColumnWidth);
    tc.setPreferredWidth(iColumnWidth);
    tc.setWidth(iColumnWidth);
  }
Beispiel #9
0
  public MediastandardDto createMediastandard(
      MediastandardDto mediastandardDto, TheClientDto theClientDto) throws EJBExceptionLP {
    myLogger.logData(mediastandardDto);

    // logg: createXY wenn der PK noch nicht bekannt ist, der PKGenerator
    // loggt den neuen PK
    Integer iId = getPKGeneratorObj().getNextPrimaryKey(PKConst.PK_MEDIASTANDARD);
    mediastandardDto.setIId(iId);
    mediastandardDto.setMandantCNr(theClientDto.getMandant());
    // Falls kein Locale definiert ist, zieht das UI-Locale.
    if (mediastandardDto.getLocaleCNr() == null) {
      mediastandardDto.setLocaleCNr(theClientDto.getLocUiAsString());
    }
    // b_versteckt muss gesetzt sein
    if (mediastandardDto.getBVersteckt() == null) {
      mediastandardDto.setBVersteckt(Helper.boolean2Short(false));
    }

    // NOT NULL
    Timestamp now = new Timestamp(System.currentTimeMillis());

    try {
      mediastandardDto.setTAendern(now);
      mediastandardDto.setTAnlegen(now);
      mediastandardDto.setPersonalIIdAendern(theClientDto.getIDPersonal());
      mediastandardDto.setPersonalIIdAnlegen(theClientDto.getIDPersonal());
      Mediastandard mediastandard =
          new Mediastandard(
              mediastandardDto.getIId(),
              mediastandardDto.getCNr(),
              mediastandardDto.getOMediaImage(),
              mediastandardDto.getDatenformatCNr(),
              mediastandardDto.getCDateiname(),
              mediastandardDto.getPersonalIIdAnlegen(),
              mediastandardDto.getTAnlegen(),
              mediastandardDto.getPersonalIIdAendern(),
              mediastandardDto.getTAendern(),
              mediastandardDto.getMandantCNr(),
              mediastandardDto.getLocaleCNr(),
              mediastandardDto.getBVersteckt());
      em.persist(mediastandard);
      em.flush();
      setMediastandardFromMediastandardDto(mediastandard, mediastandardDto);
      return mediastandardDto;
    } catch (EntityExistsException ex) {
      throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_ANLEGEN, ex);
    }
  }
  /**
   * Pr&uuml;ft die gr&ouml;&szlig;e der Datei gegen die Berechtigung.
   *
   * @param file
   * @return true wenn gespeichert werden darf, sonst false
   * @throws ExceptionLP
   * @throws Throwable
   */
  private static boolean checkFileSize(File file) throws ExceptionLP, Throwable {

    ParametermandantDto param =
        DelegateFactory.getInstance()
            .getParameterDelegate()
            .getMandantparameter(
                LPMain.getTheClient().getMandant(),
                ParameterFac.KATEGORIE_ALLGEMEIN,
                ParameterFac.PARAMETER_ALLGEMEIN_DOKUMENTE_MAXIMALE_GROESSE);
    Integer lFileSize = (Integer) param.getCWertAsObject();
    // Umrechnung in Byte
    Integer lFileSizeByte = lFileSize * 1024;
    boolean bSpeichern = true;
    if (file.length() > lFileSizeByte) {
      boolean bHatRechtImmerZuSpeichern =
          DelegateFactory.getInstance()
              .getTheJudgeDelegate()
              .hatRecht(
                  RechteFac.RECHT_DOKUMENTE_DARF_DOKUMENTE_GROESSER_ALS_MAX_ZULAESSIG_SPEICHERN);
      if (bHatRechtImmerZuSpeichern) {
        if (!DialogFactory.showModalJaNeinDialog(
            null, LPMain.getTextRespectUISPr("lp.dokumente.datei.zugros.trotzdem.speichern")))
          bSpeichern = false;
      } else {
        bSpeichern = false;
        DialogFactory.showModalDialog(
            LPMain.getTextRespectUISPr("lp.hinweis"),
            LPMain.getTextRespectUISPr("lp.error.dateizugross")
                + "\n "
                + LPMain.getTextRespectUISPr("lp.datei.maxgroesse")
                + ": "
                + lFileSize
                + "Kb "
                + LPMain.getTextRespectUISPr("lp.datei.dateigroesse")
                + ": "
                + (file.length() / 1024)
                + "Kb");
      }
    }
    if (bSpeichern && Helper.getMime(file.getName()).isEmpty()) {
      bSpeichern =
          DialogFactory.showModalJaNeinDialog(
              null, LPMain.getTextRespectUISPr("lp.dokumente.keinedateiendung"));
    }
    return bSpeichern;
  }
  /**
   * 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 {

    WochenabschlussReportDto wochenabschlussReportDto = null;
    wochenabschlussReportDto =
        DelegateFactory.getInstance()
            .getZeiterfassungDelegate()
            .printWochenabschluss(
                internalFrameZeiterfassung.getPersonalDto().getIId(), wdfKW.getTimestamp());
    wbuZeitenAbschliessen.setToolTipText("");
    if (wochenabschlussReportDto.isBFehlerVorhanden() == false) {

      java.sql.Timestamp tLetzterAbschluss =
          DelegateFactory.getInstance()
              .getZeiterfassungDelegate()
              .gibtEsBereitseinenZeitabschlussBisZurKW(
                  internalFrameZeiterfassung.getPersonalDto().getIId(), wdfKW.getTimestamp());

      if (tLetzterAbschluss != null) {
        wbuZeitenAbschliessen.setEnabled(false);

        MessageFormat mf =
            new MessageFormat(
                LPMain.getTextRespectUISPr("pers.wochenabschluss.fehler.zeitabschlussvorhanden"));
        mf.setLocale(LPMain.getTheClient().getLocUi());

        Object pattern[] = {
          Helper.formatDatum(tLetzterAbschluss, LPMain.getTheClient().getLocUi())
        };
        String sMsg = mf.format(pattern);

        wbuZeitenAbschliessen.setToolTipText(sMsg);
      } else {
        wbuZeitenAbschliessen.setEnabled(true);
      }

    } else {
      wbuZeitenAbschliessen.setEnabled(false);

      wbuZeitenAbschliessen.setToolTipText(
          LPMain.getTextRespectUISPr("pers.wochenabschluss.fehler.vorhanden"));
    }

    return wochenabschlussReportDto.getJasperPrintLP();
  }
Beispiel #13
0
  public JasperPrintLP getReport(String sDrucktype) throws Throwable {
    JasperPrintLP jasperPrint = null;

    JasperPrintLP[] aJasperPrint =
        DelegateFactory.getInstance()
            .getAuftragReportDelegate()
            .printAuftragbestaetigung(
                auftragDto.getIId(),
                wnfKopien.getInteger(),
                new Boolean(this.isBPrintLogo()),
                getReportname());

    // Original und Kopien hintereinanderhaengen
    jasperPrint = aJasperPrint[0];

    for (int i = 1; i < aJasperPrint.length; i++) {
      jasperPrint = Helper.addReport2Report(jasperPrint, aJasperPrint[i].getPrint());
    }

    return jasperPrint;
  }
Beispiel #14
0
  public String mediastandardTextHtmlFindByCNrMandantCNrLocale(
      String cNrI, String mandantCNrI, Locale locale) {

    // try {
    Query query = em.createNamedQuery("MediastandardfindByCNrDatenformatCNrMandantCNrLocaleCNr");
    query.setParameter(1, cNrI);
    query.setParameter(2, MediaFac.DATENFORMAT_MIMETYPE_TEXT_HTML);
    query.setParameter(3, mandantCNrI);
    query.setParameter(4, Helper.locale2String(locale));
    Mediastandard mediastandard = null;
    try {
      mediastandard = (Mediastandard) query.getSingleResult();

      return new String(mediastandard.getOMedia(), "UTF8");
    } catch (UnsupportedEncodingException e) {
      // nothing here
      return null;
    } catch (NoResultException e) {
      // nothing here
      return null;
    }
  }
  protected void setDefaults() throws Throwable {
    super.setDefaults();

    datGueltigkeitsanzeigeab = Helper.cutDate(new Date(System.currentTimeMillis()));

    wdfPreisgueltigkeitsanzeigeab.setDate(datGueltigkeitsanzeigeab);

    wifArtikel.setArtikelDto(new ArtikelDto());

    wnfRabattsatz.setDouble(new Double(0)); // wird mit 0 initialisiert

    ParametermandantDto parameter =
        (ParametermandantDto)
            DelegateFactory.getInstance()
                .getParameterDelegate()
                .getParametermandant(
                    ParameterFac.PARAMETER_DEFAULT_KUNDESOKO_WIRKT_NICHT_IN_PREISFINDUNG,
                    ParameterFac.KATEGORIE_KUNDEN,
                    LPMain.getTheClient().getMandant());

    wcbWirktNichtInVerkaufspreisfindung.setSelected((Boolean) parameter.getCWertAsObject());
  }
Beispiel #16
0
  public QueryResult getPageAt(Integer rowIndex) throws EJBExceptionLP {

    QueryResult result = null;
    SessionFactory factory = FLRSessionFactory.getFactory();
    Session session = null;
    try {
      int colCount = getTableInfo().getColumnClasses().length;
      int pageSize = ArtikelgruHandler.PAGE_SIZE;
      int startIndex = Math.max(rowIndex.intValue() - (pageSize / 2), 0);
      int endIndex = startIndex + pageSize - 1;

      session = factory.openSession();
      String queryString =
          this.getFromClause() + this.buildWhereClause() + this.buildOrderByClause();

      Query query = session.createQuery(queryString);
      session = setFilter(session);

      query.setFirstResult(startIndex);
      query.setMaxResults(pageSize);
      List<?> resultList = query.list();
      Iterator<?> resultListIterator = resultList.iterator();

      Object[][] rows = new Object[resultList.size()][colCount];
      int row = 0;
      int col = 0;

      String sLocUI = Helper.locale2String(theClientDto.getLocUi());

      while (resultListIterator.hasNext()) {
        Object o[] = (Object[]) resultListIterator.next();
        FLRArtikelgruppe artikelgruppe = (FLRArtikelgruppe) o[0];
        Iterator<?> sprsetIterator = artikelgruppe.getArtikelgruppesprset().iterator();

        rows[row][col++] = artikelgruppe.getI_id();
        rows[row][col++] = artikelgruppe.getC_nr();
        rows[row][col++] = findSpr(sLocUI, sprsetIterator);

        rows[row][col++] =
            artikelgruppe.getFlrartikelgruppe() == null
                ? null
                : artikelgruppe.getFlrartikelgruppe().getC_nr();

        if (artikelgruppe.getFlrartikelgruppe() != null) {
          Iterator<?> sprsetIteratorV =
              artikelgruppe.getFlrartikelgruppe().getArtikelgruppesprset().iterator();

          rows[row][col++] = findSpr(sLocUI, sprsetIteratorV);
        } else {
          rows[row][col++] = null;
        }

        rows[row][col++] =
            artikelgruppe.getFlrkonto() == null ? null : artikelgruppe.getFlrkonto().getC_nr();

        row++;
        col = 0;
      }
      result = new QueryResult(rows, this.getRowCount(), startIndex, endIndex, 0);
    } catch (HibernateException e) {
      throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FLR, e);
    } finally {
      try {
        session.close();
      } catch (HibernateException he) {
        throw new EJBExceptionLP(EJBExceptionLP.FEHLER_HIBERNATE, he);
      }
    }
    return result;
  }
 private static List<JCRDocDto> createJCRDoc(File file, JCRDocDto vorlage) throws IOException {
   return getFileToJCRForMime(Helper.getMime(file.getName())).createJCR(file, vorlage);
 }
Beispiel #18
0
  /**
   * Initialisiere alle Komponenten; braucht der JBX-Designer; hier bitte keine wilden Dinge wie zum
   * Server gehen, etc. machen.
   *
   * @throws Exception
   */
  private void jbInit() throws Exception {
    // das Aussenpanel hat immer das Gridbaglayout und einen Rahmen nach
    // innen von 10
    gridBagLayoutAll = new GridBagLayout();
    setLayout(gridBagLayoutAll);

    // auf dem Aussenpanel wird die Toolbar angebracht
    add(
        getToolsPanel(),
        new GridBagConstraints(
            0,
            0,
            1,
            1,
            1,
            0.0,
            GridBagConstraints.NORTHWEST,
            GridBagConstraints.HORIZONTAL,
            new Insets(0, 0, 0, 0),
            0,
            0));

    // CK: Listen-Druck-Icon einbauen
    //		JButton bPrint = createAndSaveButton(
    //				"/com/lp/client/res/table_sql_view.png",
    //				LPMain.getTextRespectUISPr("lp.printer"),
    //				LEAVEALONE_PRINTPANELQUERY, null, null);
    //		bPrint.setEnabled(true);

    getToolBar()
        .addButtonRight(
            "/com/lp/client/res/table_sql_view.png",
            LPMain.getTextRespectUISPr("lp.printer"),
            LEAVEALONE_PRINTPANELQUERY,
            null,
            null);
    enableToolsPanelButtons(true, LEAVEALONE_PRINTPANELQUERY);
    //		getToolBar().getToolsPanelRight().add(bPrint);

    // auf dem Aussenpanel wird ausserdem das WorkingPanel angebracht, das
    // alles andere enthaelt
    panelWorkingOn = new JPanel();
    gridBagLayoutWorkingOn = new GridBagLayout();
    panelWorkingOn.setLayout(gridBagLayoutWorkingOn);
    add(
        panelWorkingOn,
        new GridBagConstraints(
            0,
            1,
            1,
            1,
            1.0,
            1.0,
            GridBagConstraints.SOUTH,
            GridBagConstraints.BOTH,
            new Insets(0, 0, 0, 0),
            0,
            0));

    // Zeile - das Panel mit den Filterkriterien
    panelWorkingOn.add(
        getPanelFilterKriterien(),
        new GridBagConstraints(
            0,
            iYGridBagNext,
            1,
            1,
            1.0,
            0.0,
            GridBagConstraints.NORTH,
            GridBagConstraints.HORIZONTAL,
            new Insets(0, 0, 0, 0),
            0,
            0));

    // Zeile - das Panel fuer die optionale zweite Zeile
    iYGridBagNext++;

    panelWorkingOn.add(
        getPanelOptionaleZweiteZeile(),
        new GridBagConstraints(
            0,
            iYGridBagNext,
            1,
            1,
            1.0,
            0.0,
            GridBagConstraints.NORTH,
            GridBagConstraints.HORIZONTAL,
            new Insets(0, 0, 0, 0),
            0,
            0));

    // Zeile
    iYGridBagNext++;

    dataSource = new DistributedTableDataSourceImpl(new Integer(idUsecase));

    tableModel = new DistributedTableModelImpl(this.dataSource);

    // String[] dbColumnNames = this.dataSource.getTableInfo()
    // .getDataBaseColumnNames();

    this.table = new WrapperTable(getInternalFrame(), this.tableModel);
    this.table.setLocale(LPMain.getInstance().getUISprLocale());
    // this.table.addKeyListener(this);
    // this.table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    // this.table.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION);
    this.table.setColumnSelectionAllowed(false);
    this.table.setRowSelectionAllowed(false);
    // this.table.addMouseListener(this);

    // Feature Spalten mit der Maus verschieben deaktivieren
    table.getTableHeader().setReorderingAllowed(false);

    tableScrollPane = new JScrollPane(table);
    tableScrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
    tableScrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);

    // die Tabelle hat ein hellgraues Gitter
    table.setGridColor(HelperClient.getHintergrundColor());

    // die erste Spalte ist immer der ZeilenHeader
    TableColumn tcZeilenHeader = table.getColumnModel().getColumn(0);
    tcZeilenHeader.setCellRenderer(new ZeilenHeaderRenderer());
    //		tcZeilenHeader.setPreferredWidth(SPALTENBREITE_ZEILENHEADER);

    /** @todo das kommt 2 mal vor -> eine Methode */
    // die restlichen Spalten werden per default formatiert

    // die Breite der Spalten einstellen
    columnHeaderWidths = dataSource.getTableInfo().getColumnHeaderWidths();

    if (columnHeaderWidths != null) {
      for (int i = 1; i < columnHeaderWidths.length; i++) {

        // alle Spalten mit -1 sind variabel
        if (columnHeaderWidths[i] != -1) {
          setColumnWidth(i, Helper.getBreiteInPixel(columnHeaderWidths[i]));
        }
      }
    }

    // die letzte Spalte Verstecken, wenn Color
    Class<?> letzteKlasse = dataSource.getColumnClasses()[dataSource.getColumnClasses().length - 1];
    if (letzteKlasse.equals(java.awt.Color.class)) {
      setColumnWidthToZero(dataSource.getColumnClasses().length - 1);
    }

    table.setAutoResizeMode(JTable.AUTO_RESIZE_SUBSEQUENT_COLUMNS);
    // Zeile
    iYGridBagNext++;

    panelWorkingOn.add(
        tableScrollPane,
        new GridBagConstraints(
            0,
            iYGridBagNext,
            1,
            1,
            1.0,
            0.7,
            GridBagConstraints.SOUTH,
            GridBagConstraints.BOTH,
            new Insets(0, 0, 0, 0),
            0,
            0));
  }
  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;
  }
  public void keyPressed(KeyEvent e) {

    if (e.getKeyCode() == KeyEvent.VK_ENTER) {
      if (e.getSource() == wtfArtikelnummer) {

        try {
          artikelDto =
              DelegateFactory.getInstance()
                  .getArtikelDelegate()
                  .artikelFindByCNr(wtfArtikelnummer.getText());

        } catch (Throwable ex) {
          if (ex instanceof ExceptionLP) {
            ExceptionLP exLP = (ExceptionLP) ex;
            if (exLP.getICode() == EJBExceptionLP.FEHLER_BEI_FIND) {
              DialogFactory.showModalDialog(
                  LPMain.getInstance().getTextRespectUISPr("lp.error"),
                  "Artikel konnte nicht gefunden werden.");
              artikelDto = null;
              wtfArtikelnummer.setText(null);
              wtfBezeichnung.setText(null);
              wtfArtikelnummer.requestFocus();
            } else {
              panelPositionen.handleException(ex, true);
            }
          } else {
            panelPositionen.handleException(ex, true);
          }
        }

        if (artikelDto != null) {
          wtfBezeichnung.setText(artikelDto.formatArtikelbezeichnung());

          if (Helper.short2boolean(artikelDto.getBChargennrtragend())
              || Helper.short2boolean(artikelDto.getBSeriennrtragend())) {
            wtfSerienChargennummer.setEnabled(true);
            wtfSerienChargennummer.setText(null);
            wtfSerienChargennummer.requestFocus();
            if (Helper.short2boolean(artikelDto.getBSeriennrtragend())) {
              try {
                wnfMenge.setDouble(new Double(1));
              } catch (ExceptionLP ex2) {
                // wird hoffentlich gehen
              }
            }

          } else {
            wtfSerienChargennummer.setText(null);
            wtfSerienChargennummer.setEnabled(false);
            try {
              wnfMenge.setDouble(null);
            } catch (ExceptionLP ex2) {
              // wird hoffentlich gehen
            }

            wnfMenge.requestFocus();
          }
        }
      } else if (e.getSource() == wtfSerienChargennummer) {
        if (Helper.short2boolean(artikelDto.getBSeriennrtragend())) {
          wtfArtikelnummer.requestFocus();

        } else if (Helper.short2boolean(artikelDto.getBChargennrtragend())) {
          wnfMenge.requestFocus();
        }
      } else if (e.getSource() == wnfMenge) {

        // Auftragsposition speichern

        try {
          if (artikelDto != null && wnfMenge.getBigDecimal() != null) {

            AuftragpositionDto aDto = new AuftragpositionDto();
            aDto.setBelegIId(auftragDto.getIId());
            aDto.setArtikelIId(artikelDto.getIId());
            aDto.setPositionsartCNr(AuftragServiceFac.AUFTRAGPOSITIONART_IDENT);
            aDto.setNMenge(wnfMenge.getBigDecimal());
            aDto.setBNettopreisuebersteuert(Helper.boolean2Short(false));
            aDto.setBMwstsatzuebersteuert(Helper.boolean2Short(false));
            aDto.setBArtikelbezeichnunguebersteuert(Helper.boolean2Short(false));
            aDto.setEinheitCNr(artikelDto.getEinheitCNr());
            aDto.setNOffeneMenge(wnfMenge.getBigDecimal());
            aDto.setTUebersteuerbarerLiefertermin(auftragDto.getDLiefertermin());
            if (wtfSerienChargennummer.getText() != null) {
              aDto.setSeriennrChargennrMitMenge(
                  SeriennrChargennrMitMengeDto.erstelleDtoAusEinerChargennummer(
                      wtfSerienChargennummer.getText(), wnfMenge.getBigDecimal()));
            }
            DelegateFactory.getInstance().getAuftragpositionDelegate().createAuftragposition(aDto);
            wtfArtikelnummer.setText(null);
            wtfBezeichnung.setText(null);
            wtfSerienChargennummer.setText(null);

            wnfMenge.setDouble(null);
          }
        } catch (Throwable ex) {
          panelPositionen.handleException(ex, true);
        }
        wtfArtikelnummer.requestFocus();
      }
    }
  }
  public QueryResult getPageAt(Integer rowIndex) throws EJBExceptionLP {
    QueryResult result = null;
    SessionFactory factory = FLRSessionFactory.getFactory();
    Session session = null;
    try {
      int colCount = getTableInfo().getColumnClasses().length;
      int startIndex = Math.max(rowIndex.intValue() - (PAGE_SIZE / 2), 0);
      int endIndex = startIndex + PAGE_SIZE - 1;

      session = factory.openSession();
      String queryString =
          this.getFromClause() + this.buildWhereClause() + this.buildOrderByClause();
      Query query = session.createQuery(queryString);
      query.setFirstResult(startIndex);
      query.setMaxResults(PAGE_SIZE);
      List<?> resultList = query.list();
      Iterator<?> resultListIterator = resultList.iterator();
      Object[][] rows = new Object[resultList.size()][colCount];
      String[] tooltipData = new String[resultList.size()];
      int row = 0;
      int col = 0;
      while (resultListIterator.hasNext()) {
        FLRZahlungsvorschlaglauf zvLauf = (FLRZahlungsvorschlaglauf) resultListIterator.next();
        rows[row][col++] = zvLauf.getI_id();
        rows[row][col++] = new java.sql.Timestamp(zvLauf.getT_anlegen().getTime());
        rows[row][col++] = zvLauf.getT_zahlungsstichtag();
        rows[row][col++] = zvLauf.getT_naechsterzahlungslauf();
        rows[row][col++] = Helper.short2Boolean(zvLauf.getB_mitskonto());
        rows[row][col++] = zvLauf.getI_skontoueberziehungsfristintagen();
        if (zvLauf.getFlrbankverbindung().getC_bez() != null) {
          rows[row][col++] = zvLauf.getFlrbankverbindung().getC_bez();
        } else {
          rows[row][col++] =
              zvLauf.getFlrbankverbindung().getC_kontonummer()
                  + " | "
                  + zvLauf
                      .getFlrbankverbindung()
                      .getFlrbank()
                      .getFlrpartner()
                      .getC_name1nachnamefirmazeile1();
        }

        if (zvLauf.getT_gespeichert() != null) {
          String s =
              getTextRespectUISpr(
                      "er.zahlungsvorschlag.gespeichert",
                      theClientDto.getMandant(),
                      theClientDto.getLocUi())
                  + Helper.formatTimestamp(
                      new Timestamp(zvLauf.getT_gespeichert().getTime()), theClientDto.getLocUi());
          if (zvLauf.getFlrpersonalgespeichert() != null) {
            s +=
                " ("
                    + HelperServer.formatPersonAusFLRPartner(
                        zvLauf.getFlrpersonalgespeichert().getFlrpartner())
                    + ")";
          }
          rows[row][col++] = LocaleFac.STATUS_GELIEFERT;
          tooltipData[row] = s;
        }

        row++;
        col = 0;
      }
      result = new QueryResult(rows, this.getRowCount(), startIndex, endIndex, 0, tooltipData);
    } catch (Exception e) {
      throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FLR, e);
    } finally {
      try {
        session.close();
      } catch (HibernateException he) {
        throw new EJBExceptionLP(EJBExceptionLP.FEHLER, he);
      }
    }
    return result;
  }