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();
      }
    }
  }
  public void propertyChange(PropertyChangeEvent evt) {
    super.propertyChange(evt);

    try {
      if (wdfPreisgueltigkeitsanzeigeab != null
          && wifArtikel.getArtikelDto() != null
          && wifArtikel.getArtikelDto().getIId() != null) {
        if (evt.getSource() == wdfPreisgueltigkeitsanzeigeab.getDisplay()
            && evt.getPropertyName().equals("date")
            && wdfPreisgueltigkeitsanzeigeab.getDate() != null) {
          datGueltigkeitsanzeigeab = wdfPreisgueltigkeitsanzeigeab.getDate();

          // die passende Verkaufspreisbasis anzeigen
          if (iPreisbasis == 0 || iPreisbasis == 2) {
            verkaufspreisbasisDto2comp(
                DelegateFactory.getInstance()
                    .getVkPreisfindungDelegate()
                    .getArtikeleinzelverkaufspreis(
                        wifArtikel.getArtikelDto().getIId(),
                        datGueltigkeitsanzeigeab,
                        waehrungCNr));
          } else {
            vkPreisfindungPreislisteDto2com(
                DelegateFactory.getInstance()
                    .getVkPreisfindungDelegate()
                    .getAktuellePreislisteByArtikelIIdPreislisteIId(
                        wifArtikel.getArtikelDto().getIId(),
                        getKundenpreislisteIId(),
                        datGueltigkeitsanzeigeab,
                        waehrungCNr));
          }

          // den berechneten Preis aktualisieren
          BigDecimal nBerechneterPreis = new BigDecimal(0);

          if (wnfFixpreis.getBigDecimal() == null && wnfRabattsatz.getDouble() != null) {
            // WH 21.06.06 Es gilt die VK-Basis zur
            // Preisgueltigkeit. Damit kann der
            // berechnete Preis von dem dargstellten in der FLR
            // Liste abweichen, der wird
            // fuer das Beginndatum der Mengenstaffel angezeigt
            BigDecimal nPreisbasis =
                DelegateFactory.getInstance()
                    .getVkPreisfindungDelegate()
                    .ermittlePreisbasis(
                        wifArtikel.getArtikelDto().getIId(),
                        wdfPreisgueltigkeitsanzeigeab.getDate(),
                        null,
                        waehrungCNr);

            VerkaufspreisDto vkpfDto =
                DelegateFactory.getInstance()
                    .getVkPreisfindungDelegate()
                    .berechneVerkaufspreis(nPreisbasis, wnfRabattsatz.getDouble());

            nBerechneterPreis = vkpfDto.nettopreis;
          }

          wnfBerechneterpreis.setBigDecimal(nBerechneterPreis);
        }
      }
    } catch (Throwable t) {
      DialogFactory.showModalDialog(
          LPMain.getInstance().getTextRespectUISPr("lp.error"),
          LPMain.getInstance().getTextRespectUISPr("vkpf.error.preisgueltigkeitsanzeigeab"));
    }
  }
  private void jbInit() throws Throwable {
    wlaDatumKW.setText(LPMain.getTextRespectUISPr("lp.datum") + ":");

    wbuZeitenAbschliessen.setText(
        LPMain.getTextRespectUISPr("pers.report.wochenabschluss.zeitenabschliessen"));
    wbuZeitenAbschliessen.setEnabled(false);
    wbuZeitenAbschliessen.addActionListener(this);

    wbuKWZurueck.setText("<");
    wbuKWZurueck.addActionListener(this);

    wbuNaechsteKW.setText(">");
    wbuNaechsteKW.addActionListener(this);

    wcoInVorschauBleiben.setText(
        LPMain.getTextRespectUISPr("pers.wochenabschluss.report.invorschaubleiben"));

    wdfKW.setMandatoryField(true);
    wdfKW.getDisplay().addPropertyChangeListener(this);

    Calendar c = Calendar.getInstance();
    c.add(Calendar.DAY_OF_MONTH, -7);
    wdfKW.setDate(c.getTime());

    jpaWorkingOn.setLayout(gridBagLayout1);
    this.add(
        jpaWorkingOn,
        new GridBagConstraints(
            0,
            0,
            1,
            1,
            1.0,
            1.0,
            GridBagConstraints.WEST,
            GridBagConstraints.BOTH,
            new Insets(0, 0, 0, 0),
            0,
            0));

    iZeile++;
    jpaWorkingOn.add(
        wlaDatumKW,
        new GridBagConstraints(
            0,
            iZeile,
            1,
            1,
            0.0,
            0.0,
            GridBagConstraints.CENTER,
            GridBagConstraints.HORIZONTAL,
            new Insets(2, 2, 2, 2),
            100,
            0));
    jpaWorkingOn.add(
        wdfKW,
        new GridBagConstraints(
            1,
            iZeile,
            1,
            1,
            0.1,
            0.0,
            GridBagConstraints.CENTER,
            GridBagConstraints.HORIZONTAL,
            new Insets(2, 2, 2, 2),
            0,
            0));
    jpaWorkingOn.add(
        wbuKWZurueck,
        new GridBagConstraints(
            2,
            iZeile,
            1,
            1,
            0.1,
            0.0,
            GridBagConstraints.CENTER,
            GridBagConstraints.HORIZONTAL,
            new Insets(2, 2, 2, 2),
            10,
            0));
    jpaWorkingOn.add(
        wlaKW,
        new GridBagConstraints(
            3,
            iZeile,
            1,
            1,
            0.1,
            0.0,
            GridBagConstraints.CENTER,
            GridBagConstraints.HORIZONTAL,
            new Insets(2, 2, 2, 2),
            200,
            0));
    jpaWorkingOn.add(
        wbuNaechsteKW,
        new GridBagConstraints(
            4,
            iZeile,
            1,
            1,
            0.1,
            0.0,
            GridBagConstraints.WEST,
            GridBagConstraints.NONE,
            new Insets(2, 20, 2, 2),
            10,
            0));
    iZeile++;
    jpaWorkingOn.add(
        wbuZeitenAbschliessen,
        new GridBagConstraints(
            4,
            iZeile,
            1,
            1,
            1,
            1,
            GridBagConstraints.CENTER,
            GridBagConstraints.HORIZONTAL,
            new Insets(2, 20, 2, 2),
            0,
            0));
    jpaWorkingOn.add(
        wcoInVorschauBleiben,
        new GridBagConstraints(
            3,
            iZeile,
            1,
            1,
            0.1,
            0.0,
            GridBagConstraints.CENTER,
            GridBagConstraints.HORIZONTAL,
            new Insets(2, 2, 2, 2),
            0,
            0));
  }
  private void jbInit() throws Throwable {
    getInternalFrame().addItemChangedListener(this);

    wlaGestehungspreis =
        new WrapperLabel(LPMain.getInstance().getTextRespectUISPr("lp.gestehungspreis"));
    wnfGestehungspreis = new WrapperNumberField();
    wnfGestehungspreis.setActivatable(false);
    wnfGestehungspreis.setFractionDigits(iPreiseUINachkommastellen);
    wlaWaehrungGestehungspreis = new WrapperLabel(waehrungCNr);
    wlaWaehrungGestehungspreis.setHorizontalAlignment(SwingConstants.LEADING);

    wlaMinverkaufspreis =
        new WrapperLabel(LPMain.getInstance().getTextRespectUISPr("lp.minverkaufspreisshort"));
    wnfMinverkaufspreis = new WrapperNumberField();
    wnfMinverkaufspreis.setActivatable(false);
    wnfMinverkaufspreis.setFractionDigits(iPreiseUINachkommastellen);
    wlaWaehrungMinverkaufspreis = new WrapperLabel(waehrungCNr);
    wlaWaehrungMinverkaufspreis.setHorizontalAlignment(SwingConstants.LEADING);

    wcbWirktNichtInVerkaufspreisfindung =
        new WrapperCheckBox(
            LPMain.getInstance()
                .getTextRespectUISPr("part.kundesoko.artikel.wirktnichtinpreisfindung"));

    // PJ 17390
    ParametermandantDto parameter =
        (ParametermandantDto)
            DelegateFactory.getInstance()
                .getParameterDelegate()
                .getParametermandant(
                    ParameterFac.PARAMETER_PREISBASIS_VERKAUF,
                    ParameterFac.KATEGORIE_KUNDEN,
                    LPMain.getTheClient().getMandant());

    if (parameter.getCWert() != null) {

      iPreisbasis = (Integer) parameter.getCWertAsObject();
    }

    if (iPreisbasis == 0 || iPreisbasis == 2) {
      wlaVkbasis =
          new WrapperLabel(
              LPMain.getInstance().getTextRespectUISPr("artikel.label.einzelverkaufspreis"));
    } else {
      wlaVkbasis =
          new WrapperLabel(
              LPMain.getInstance().getTextRespectUISPr("part.kundensoko.preisbasis.preisliste"));
    }

    wnfVkbasis = new WrapperNumberField();
    wnfVkbasis.setFractionDigits(iPreiseUINachkommastellen);
    wnfVkbasis.setActivatable(false);
    wlaVkbasiswaehrung = new WrapperLabel(waehrungCNr);
    wlaVkbasiswaehrung.setHorizontalAlignment(SwingConstants.LEADING);
    wlaVkbasisGueltigab =
        new WrapperLabel(LPMain.getInstance().getTextRespectUISPr("vkpf.vkbasisgueltigab"));
    wdfVkbasisGueltigab = new WrapperDateField();
    wdfVkbasisGueltigab.setActivatable(false);

    wlaFixpreis = new WrapperLabel(LPMain.getInstance().getTextRespectUISPr("lp.fixpreis"));
    wlaFixpreis.setHorizontalAlignment(SwingConstants.LEADING);
    wlaFixpreis.setVerticalAlignment(SwingConstants.BOTTOM);
    wlaBerechneterpreis =
        new WrapperLabel(LPMain.getInstance().getTextRespectUISPr("lp.berechneterpreis"));
    wlaBerechneterpreis.setHorizontalAlignment(SwingConstants.LEADING);
    wlaBerechneterpreis.setVerticalAlignment(SwingConstants.BOTTOM);

    wnfFixpreis = new WrapperNumberField();
    wnfFixpreis.setFractionDigits(iPreiseUINachkommastellen);
    wnfFixpreis.setDependenceField(true);
    wnfFixpreis.addFocusListener(new PanelMengenstaffelArtikel_fixpreis_focusAdapter(this));

    wlaFixpreiswaehrung = new WrapperLabel(waehrungCNr);
    wlaFixpreiswaehrung.setHorizontalAlignment(SwingConstants.LEADING);

    wnfBerechneterpreis = new WrapperNumberField();
    wnfBerechneterpreis.setFractionDigits(iPreiseUINachkommastellen);
    wnfBerechneterpreis.setActivatable(false);
    wnfBerechneterpreis.setDependenceField(true);

    wlaBerechneterpreiswaehrung = new WrapperLabel(waehrungCNr);
    wlaBerechneterpreiswaehrung.setHorizontalAlignment(SwingConstants.LEADING);

    initMengeRabattsatz();

    wnfRabattsatz.addFocusListener(new PanelMengenstaffelArtikel_rabattsatz_focusAdapter(this));

    wifArtikel = new WrapperIdentField(getInternalFrame(), this);
    wifArtikel.addEinheitLabel(wlaMengeeinheit);

    addFormatierungszeile();

    iZeile++;
    add(
        wifArtikel.getWbuArtikel(),
        new GridBagConstraints(
            0,
            iZeile,
            2,
            1,
            0.0,
            0.0,
            GridBagConstraints.NORTH,
            GridBagConstraints.HORIZONTAL,
            new Insets(2, 2, 2, 2),
            0,
            0));
    add(
        wifArtikel.getWtfIdent(),
        new GridBagConstraints(
            2,
            iZeile,
            1,
            1,
            0.0,
            0.0,
            GridBagConstraints.NORTH,
            GridBagConstraints.HORIZONTAL,
            new Insets(2, 2, 2, 2),
            0,
            0));
    add(
        wifArtikel.getWtfBezeichnung(),
        new GridBagConstraints(
            4,
            iZeile,
            4,
            1,
            1.0,
            0.0,
            GridBagConstraints.NORTH,
            GridBagConstraints.HORIZONTAL,
            new Insets(2, 2, 2, 2),
            0,
            0));

    if (bMitUebersteuerbarenArtikelbezeichnungen) {
      iZeile++;
      wlaKndArtBez =
          new WrapperLabel(LPMain.getInstance().getTextRespectUISPr("artikel.kundesoko.kndartbez"));

      add(
          wlaKndArtBez,
          new GridBagConstraints(
              2,
              iZeile,
              2,
              1,
              0.0,
              0.0,
              GridBagConstraints.NORTH,
              GridBagConstraints.HORIZONTAL,
              new Insets(2, 2, 2, 2),
              0,
              0));

      wtfKndArtBez = new WrapperTextField(40);
      wtfKndArtZBez = new WrapperTextField(25);
      add(
          wtfKndArtBez,
          new GridBagConstraints(
              4,
              iZeile,
              4,
              1,
              1.0,
              0.0,
              GridBagConstraints.NORTH,
              GridBagConstraints.HORIZONTAL,
              new Insets(2, 2, 2, 2),
              0,
              0));
    }

    iZeile++;

    add(
        wlaGestehungspreis,
        new GridBagConstraints(
            0,
            iZeile,
            2,
            1,
            0.0,
            0.0,
            GridBagConstraints.NORTH,
            GridBagConstraints.HORIZONTAL,
            new Insets(2, 2, 2, 2),
            0,
            0));
    add(
        wnfGestehungspreis,
        new GridBagConstraints(
            2,
            iZeile,
            1,
            1,
            0.0,
            0.0,
            GridBagConstraints.NORTH,
            GridBagConstraints.HORIZONTAL,
            new Insets(2, 2, 2, 2),
            0,
            0));
    add(
        wlaWaehrungGestehungspreis,
        new GridBagConstraints(
            3,
            iZeile,
            1,
            1,
            0.0,
            0.0,
            GridBagConstraints.NORTH,
            GridBagConstraints.HORIZONTAL,
            new Insets(2, 2, 2, 2),
            0,
            0));
    if (bMitUebersteuerbarenArtikelbezeichnungen) {
      add(
          wtfKndArtZBez,
          new GridBagConstraints(
              4,
              iZeile,
              4,
              1,
              1.0,
              0.0,
              GridBagConstraints.NORTH,
              GridBagConstraints.HORIZONTAL,
              new Insets(2, 2, 2, 2),
              0,
              0));
    }

    iZeile++;
    add(
        wlaMinverkaufspreis,
        new GridBagConstraints(
            0,
            iZeile,
            2,
            1,
            0.0,
            0.0,
            GridBagConstraints.NORTH,
            GridBagConstraints.HORIZONTAL,
            new Insets(2, 2, 2, 2),
            0,
            0));
    add(
        wnfMinverkaufspreis,
        new GridBagConstraints(
            2,
            iZeile,
            1,
            1,
            0.0,
            0.0,
            GridBagConstraints.NORTH,
            GridBagConstraints.HORIZONTAL,
            new Insets(2, 2, 2, 2),
            0,
            0));
    add(
        wlaWaehrungMinverkaufspreis,
        new GridBagConstraints(
            3,
            iZeile,
            1,
            1,
            0.0,
            0.0,
            GridBagConstraints.NORTH,
            GridBagConstraints.HORIZONTAL,
            new Insets(2, 2, 2, 2),
            0,
            0));
    wlaPreisgueltigkeitsanzeigeab =
        new WrapperLabel(
            LPMain.getInstance().getTextRespectUISPr("vkpf.preisgueltigkeitsanzeigeab"));
    wdfPreisgueltigkeitsanzeigeab = new WrapperDateField();
    wdfPreisgueltigkeitsanzeigeab.getDisplay().addPropertyChangeListener(this);
    // SP2243 -> Preisgueltigkeisanzeige immm ab heute
    add(
        wcbWirktNichtInVerkaufspreisfindung,
        new GridBagConstraints(
            4,
            iZeile,
            2,
            1,
            0.0,
            0.0,
            GridBagConstraints.NORTH,
            GridBagConstraints.HORIZONTAL,
            new Insets(2, 2, 2, 2),
            0,
            0));

    /*
     * add(wlaPreisgueltigkeitsanzeigeab, new GridBagConstraints(0, iZeile,
     * 6, 1, 0.0, 0.0, GridBagConstraints.NORTH,
     * GridBagConstraints.HORIZONTAL, new Insets(2, 2, 2, 2), 0, 0));
     * add(wdfPreisgueltigkeitsanzeigeab, new GridBagConstraints(6, iZeile,
     * 1, 1, 0.0, 0.0, GridBagConstraints.NORTH,
     * GridBagConstraints.HORIZONTAL, new Insets(2, 2, 2, 2), 0, 0));
     */
    iZeile++;
    add(
        wlaVkbasis,
        new GridBagConstraints(
            0,
            iZeile,
            2,
            1,
            0.0,
            0.0,
            GridBagConstraints.NORTH,
            GridBagConstraints.HORIZONTAL,
            new Insets(2, 2, 2, 2),
            0,
            0));
    add(
        wnfVkbasis,
        new GridBagConstraints(
            2,
            iZeile,
            1,
            1,
            0.0,
            0.0,
            GridBagConstraints.NORTH,
            GridBagConstraints.HORIZONTAL,
            new Insets(2, 2, 2, 2),
            0,
            0));
    add(
        wlaVkbasiswaehrung,
        new GridBagConstraints(
            3,
            iZeile,
            1,
            1,
            0.0,
            0.0,
            GridBagConstraints.NORTH,
            GridBagConstraints.HORIZONTAL,
            new Insets(2, 2, 2, 2),
            0,
            0));
    add(
        wlaVkbasisGueltigab,
        new GridBagConstraints(
            4,
            iZeile,
            2,
            1,
            0.0,
            0.0,
            GridBagConstraints.NORTH,
            GridBagConstraints.HORIZONTAL,
            new Insets(2, 2, 2, 2),
            0,
            0));
    add(
        wdfVkbasisGueltigab,
        new GridBagConstraints(
            6,
            iZeile,
            1,
            1,
            0.0,
            0.0,
            GridBagConstraints.NORTH,
            GridBagConstraints.HORIZONTAL,
            new Insets(2, 2, 2, 2),
            0,
            0));

    iZeile++;
    add(
        wlaMenge,
        new GridBagConstraints(
            0,
            iZeile,
            1,
            1,
            0.0,
            0.0,
            GridBagConstraints.NORTH,
            GridBagConstraints.HORIZONTAL,
            new Insets(2, 2, 2, 2),
            0,
            0));
    add(
        wlaFixpreis,
        new GridBagConstraints(
            2,
            iZeile,
            1,
            1,
            0.0,
            0.0,
            GridBagConstraints.NORTH,
            GridBagConstraints.HORIZONTAL,
            new Insets(2, 2, 2, 2),
            0,
            0));
    add(
        wlaRabattsatz,
        new GridBagConstraints(
            4,
            iZeile,
            1,
            1,
            0.0,
            0.0,
            GridBagConstraints.NORTH,
            GridBagConstraints.HORIZONTAL,
            new Insets(2, 2, 2, 2),
            0,
            0));
    add(
        wlaBerechneterpreis,
        new GridBagConstraints(
            6,
            iZeile,
            1,
            1,
            0.0,
            0.0,
            GridBagConstraints.NORTH,
            GridBagConstraints.HORIZONTAL,
            new Insets(2, 2, 2, 2),
            0,
            0));

    iZeile++;
    add(
        wnfMenge,
        new GridBagConstraints(
            0,
            iZeile,
            1,
            1,
            0.0,
            0.0,
            GridBagConstraints.NORTH,
            GridBagConstraints.HORIZONTAL,
            new Insets(2, 2, 2, 2),
            0,
            0));
    add(
        wlaMengeeinheit,
        new GridBagConstraints(
            1,
            iZeile,
            1,
            1,
            0.0,
            0.0,
            GridBagConstraints.NORTH,
            GridBagConstraints.HORIZONTAL,
            new Insets(2, 2, 2, 2),
            0,
            0));
    add(
        wnfFixpreis,
        new GridBagConstraints(
            2,
            iZeile,
            1,
            1,
            0.0,
            0.0,
            GridBagConstraints.NORTH,
            GridBagConstraints.HORIZONTAL,
            new Insets(2, 2, 2, 2),
            0,
            0));
    add(
        wlaFixpreiswaehrung,
        new GridBagConstraints(
            3,
            iZeile,
            1,
            1,
            0.0,
            0.0,
            GridBagConstraints.NORTH,
            GridBagConstraints.HORIZONTAL,
            new Insets(2, 2, 2, 2),
            0,
            0));
    add(
        wnfRabattsatz,
        new GridBagConstraints(
            4,
            iZeile,
            1,
            1,
            0.0,
            0.0,
            GridBagConstraints.NORTH,
            GridBagConstraints.HORIZONTAL,
            new Insets(2, 2, 2, 2),
            0,
            0));
    add(
        wlaRabattsatzprozent,
        new GridBagConstraints(
            5,
            iZeile,
            1,
            1,
            0.0,
            0.0,
            GridBagConstraints.NORTH,
            GridBagConstraints.HORIZONTAL,
            new Insets(2, 2, 2, 2),
            0,
            0));
    add(
        wnfBerechneterpreis,
        new GridBagConstraints(
            6,
            iZeile,
            1,
            1,
            0.0,
            0.0,
            GridBagConstraints.NORTH,
            GridBagConstraints.HORIZONTAL,
            new Insets(2, 2, 2, 2),
            0,
            0));
    add(
        wlaBerechneterpreiswaehrung,
        new GridBagConstraints(
            7,
            iZeile,
            1,
            1,
            0.0,
            0.0,
            GridBagConstraints.NORTH,
            GridBagConstraints.HORIZONTAL,
            new Insets(2, 2, 2, 2),
            0,
            0));

    iZeile++;
    addZeileGueltigVonBis(iZeile);
  }