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();
      }
    }
  }
  private void vkPreisfindungPreislisteDto2com(VkPreisfindungPreislisteDto preisDto)
      throws Throwable {
    // werte zuruecksetzen
    wnfVkbasis.setBigDecimal(null);
    wdfVkbasisGueltigab.setDate(null);
    if (preisDto != null && preisDto.getIId() != null) {
      // werte anzeigen

      if (preisDto.getNArtikelfixpreis() != null) {
        wnfVkbasis.setBigDecimal(preisDto.getNArtikelfixpreis());
      } else {
        if (preisDto.getNArtikelstandardrabattsatz() != null) {

          VkPreisfindungEinzelverkaufspreisDto preisBasisDto =
              DelegateFactory.getInstance()
                  .getVkPreisfindungDelegate()
                  .getArtikeleinzelverkaufspreis(
                      wifArtikel.getArtikelDto().getIId(), datGueltigkeitsanzeigeab, waehrungCNr);

          BigDecimal bdRabattsumme =
              preisBasisDto
                  .getNVerkaufspreisbasis()
                  .multiply(preisDto.getNArtikelstandardrabattsatz().movePointLeft(2));
          wnfVkbasis.setBigDecimal(preisBasisDto.getNVerkaufspreisbasis().subtract(bdRabattsumme));
        }
      }

      wdfVkbasisGueltigab.setDate(preisDto.getTPreisgueltigab());
    }
  }
  protected void eventActionSpecial(ActionEvent e) throws Throwable {

    if (e.getSource().equals(wbuKWZurueck)) {
      Calendar c = Calendar.getInstance();
      c.setTime(wdfKW.getDate());
      c.set(Calendar.DATE, c.get(Calendar.DATE) - 7);
      wdfKW.setTimestamp(new java.sql.Timestamp(c.getTimeInMillis()));
    } else if (e.getSource().equals(wbuNaechsteKW)) {
      Calendar c = Calendar.getInstance();
      c.setTime(wdfKW.getDate());
      c.set(Calendar.DATE, c.get(Calendar.DATE) + 7);
      wdfKW.setTimestamp(new java.sql.Timestamp(c.getTimeInMillis()));
    } else if (e.getSource().equals(wbuZeitenAbschliessen)) {
      DelegateFactory.getInstance()
          .getZeiterfassungDelegate()
          .zeitenAbschliessen(
              internalFrameZeiterfassung.getPersonalDto().getIId(), wdfKW.getTimestamp());

      DialogFactory.showModalDialog(
          LPMain.getTextRespectUISPr("lp.info"),
          LPMain.getTextRespectUISPr("pers.report.wochenabschluss.zeitenabgeschlossen")
              + wlaKW.getText());
      wbuZeitenAbschliessen.setEnabled(false);
    }
  }
  public void mengenstaffelDto2components(KundesokomengenstaffelDto mengenstaffelDtoI)
      throws Throwable {
    boolean bEnable = LPMain.getTheClient().getSMandantenwaehrung().equals(waehrungCNr);
    wnfRabattsatz.setEditable(bEnable);
    wnfRabattsatz.setMandatoryField(bEnable);

    wnfRabattsatz.setDouble(mengenstaffelDtoI.getFArtikelstandardrabattsatz());
    wnfMenge.setBigDecimal(mengenstaffelDtoI.getNMenge());
    wnfFixpreis.setBigDecimal(mengenstaffelDtoI.getNArtikelfixpreis());

    if (mengenstaffelDtoI.getNArtikelfixpreis() != null) {
      wnfBerechneterpreis.setBigDecimal(mengenstaffelDtoI.getNArtikelfixpreis());
    } else {
      // 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 = null;
      if (iPreisbasis == 0 || iPreisbasis == 2) {

        nPreisbasis =
            DelegateFactory.getInstance()
                .getVkPreisfindungDelegate()
                .ermittlePreisbasis(
                    wifArtikel.getArtikelDto().getIId(),
                    wdfPreisgueltigkeitsanzeigeab.getDate(),
                    null,
                    waehrungCNr);
      } else {

        nPreisbasis =
            DelegateFactory.getInstance()
                .getVkPreisfindungDelegate()
                .ermittlePreisbasis(
                    wifArtikel.getArtikelDto().getIId(),
                    wdfPreisgueltigkeitsanzeigeab.getDate(),
                    getKundenpreislisteIId(),
                    waehrungCNr);
      }

      if (nPreisbasis != null) {
        VerkaufspreisDto vkpfDto =
            DelegateFactory.getInstance()
                .getVkPreisfindungDelegate()
                .berechneVerkaufspreis(
                    nPreisbasis, mengenstaffelDtoI.getFArtikelstandardrabattsatz());

        wnfBerechneterpreis.setBigDecimal(vkpfDto.nettopreis);
      } else {
        wnfBerechneterpreis.setBigDecimal(null);
      }
    }
  }
 private void verkaufspreisbasisDto2comp(VkPreisfindungEinzelverkaufspreisDto preisDto)
     throws Throwable {
   if (preisDto != null && preisDto.getIId() != null) {
     // werte anzeigen
     wnfVkbasis.setBigDecimal(preisDto.getNVerkaufspreisbasis());
     wdfVkbasisGueltigab.setDate(preisDto.getTVerkaufspreisbasisgueltigab());
   } else {
     // werte zuruecksetzen
     wnfVkbasis.setBigDecimal(null);
     wdfVkbasisGueltigab.setDate(null);
   }
 }
  public JasperPrintLP getReport(String sDrucktype) throws Throwable {

    return DelegateFactory.getInstance()
        .getKuecheReportDelegate()
        .printKuechenauswertung1(
            wdfDatumVon.getTimestamp(),
            wdfDatumBis.getTimestamp(),
            wtfArtikelnrVon.getText(),
            wtfArtikelnrBis.getText(),
            brancheIId,
            wsfArtikelklasse.getIKey());
  }
  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));
    }
  }
  protected void eventItemchanged(EventObject eI) throws ExceptionLP, Throwable {
    ItemChangedEvent e = (ItemChangedEvent) eI;

    if (e.getID() == ItemChangedEvent.GOTO_DETAIL_PANEL) {

      if (e.getSource() == panelQueryFLRAnsprechpartnerfunktion) {
        Integer iId = (Integer) ((ISourceEvent) e.getSource()).getIdSelected();
        getAnsprechpartnerDto().setAnsprechpartnerfunktionIId(iId);

        AnsprechpartnerfunktionDto ansprechpartnerfunktionDto = null;
        if (iId != null) {
          ansprechpartnerfunktionDto =
              DelegateFactory.getInstance()
                  .getAnsprechpartnerDelegate()
                  .ansprechpartnerfunktionFindByPrimaryKey(iId);
          wtfAnsprechpartnerfunktion.setText(ansprechpartnerfunktionDto.getBezeichnung());
        }
      } else if (e.getSource() == panelQueryFLRAnsprechpartnerAuswahl) {
        Integer key = (Integer) ((ISourceEvent) e.getSource()).getIdSelected();
        if (key != null) {
          getAnsprechpartnerDto().setPartnerIIdAnsprechpartner(key);
          PartnerDto partnerDto = null;
          partnerDto =
              DelegateFactory.getInstance().getPartnerDelegate().partnerFindByPrimaryKey(key);
          wtfAnsprechpartner.setText(partnerDto.getCName1nachnamefirmazeile1());
          wtfVorname.setText(partnerDto.getCName2vornamefirmazeile2());
          wtfTitel.setText(partnerDto.getCTitel());
          wtfNtitel.setText(partnerDto.getCNtitel());
          wcoAnrede.setKeyOfSelectedItem(partnerDto.getAnredeCNr());
          wdfGebDatum.setDate(partnerDto.getDGeburtsdatumansprechpartner());
        }
      }
    }
  }
  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();
  }
  public void setMandatoryFields(boolean bMandatoryI) {
    super.setMandatoryFields(bMandatoryI);

    wdfPreisgueltigkeitsanzeigeab.setMandatoryField(bMandatoryI);
    wifArtikel.getWtfIdent().setMandatoryField(bMandatoryI);
    wnfMenge.setMandatoryField(bMandatoryI);
    wnfRabattsatz.setMandatoryField(bMandatoryI);

    // wnfBerechneterpreis.setMandatoryField(bMandatoryI);
  }
  protected void setDefaults() throws Throwable {

    getPartnerDto().setPartnerartCNr(PartnerFac.PARTNERART_ANSPRECHPARTNER);
    wdfGueltigAb.setDate(new java.sql.Date(System.currentTimeMillis()));

    LPMain.getInstance();
    Map<?, ?> tmAnreden =
        (SortedMap<?, ?>)
            DelegateFactory.getInstance()
                .getPartnerDelegate()
                .getAllAnreden(LPMain.getTheClient().getLocUi());
    wcoAnrede.setMap(tmAnreden);
    wcoAnrede.setKeyOfSelectedItem(PartnerFac.PARTNER_ANREDE_HERR);
  }
  protected void components2Dto() throws Throwable {

    getAnsprechpartnerDto().setDGueltigab(wdfGueltigAb.getDate());
    getAnsprechpartnerDto().setXBemerkung(wefBemerkung.getText());
    getAnsprechpartnerDto().setISort(wtfSort.getInteger());
    getAnsprechpartnerDto().setBVersteckt(wcbVersteckt.getShort());
    getAnsprechpartnerDto().setCFremdsystemnr(wtfFremdsystem.getText());
    // Partnerkommunikation.

    getAnsprechpartnerDto().setCDirektfax(wtfDirektfax.getText());

    getAnsprechpartnerDto().setCTelefon(wtfDurchwahl.getText());

    getAnsprechpartnerDto().setCEmail(wtfEmail.getText());

    getAnsprechpartnerDto().setCFax(wtfFaxdurchwahl.getText());

    getAnsprechpartnerDto().setCHandy(wtfHandy.getText());
    getAnsprechpartnerDto().setNewsletterEmpfaenger(wcbNewsletterEmpfaenger.isSelected());
    getAnsprechpartnerDto().setCAbteilung(wtfAbteilung.getText());
  }
  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());
  }
  private void jbInit() throws Throwable {
    this.setLayout(new GridBagLayout());
    getInternalFrame().addItemChangedListener(this);
    jpaWorkingOn.setLayout(new GridBagLayout());
    wrbErledigt.setText(LPMain.getInstance().getTextRespectUISPr("fert.losstatistik.erledigtvon"));
    wlaBis.setText(LPMain.getInstance().getTextRespectUISPr("lp.bis"));
    wdfVon.setMandatoryField(true);
    wdfBis.setMandatoryField(true);
    wdfStichtag.setMandatoryField(true);
    wdfStichtag.setTimestamp(new java.sql.Timestamp(System.currentTimeMillis()));
    wdrBereich = new WrapperDateRangeController(wdfVon, wdfBis);

    wrbStichtag.setText(LPMain.getInstance().getTextRespectUISPr("lp.stichtag"));

    buttonGroup.add(wrbErledigt);
    buttonGroup.add(wrbStichtag);
    wrbErledigt.setSelected(true);

    wbuStueckliste.setText(LPMain.getInstance().getTextRespectUISPr("button.stueckliste"));
    wbuAuftrag.setText(LPMain.getInstance().getTextRespectUISPr("button.auftrag"));
    wbuLos.setText(LPMain.getInstance().getTextRespectUISPr("fert.tab.unten.los.title") + "...");

    wcbArbeitsplanSortiertNachAG.setText(
        LPMain.getInstance()
            .getTextRespectUISPr("fertigung.report.losstatistik.arbeitsplansortiertnachag"));
    wcbVerdichtetNachArtikel.setText(
        LPMain.getInstance().getTextRespectUISPr("lp.verdichtetartikelnummer"));

    wcbVerdichtetNachArtikel.setSelected(true);

    wbuStueckliste.setActionCommand(ACTION_SPECIAL_STUECKLISTE_FROM_LISTE);
    wbuStueckliste.addActionListener(this);

    wbuAuftrag.setActionCommand(ACTION_SPECIAL_AUFTRAG_FROM_LISTE);
    wbuAuftrag.addActionListener(this);

    wbuLos.setActionCommand(ACTION_SPECIAL_LOS_FROM_LISTE);
    wbuLos.addActionListener(this);

    wtfStueckliste.setActivatable(false);
    wtfLos.setActivatable(false);
    wtfAuftrag.setActivatable(false);

    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));
    int iZeile = 0;

    jpaWorkingOn.add(
        wrbErledigt,
        new GridBagConstraints(
            0,
            iZeile,
            1,
            1,
            0.1,
            0.0,
            GridBagConstraints.CENTER,
            GridBagConstraints.HORIZONTAL,
            new Insets(2, 2, 2, 2),
            0,
            0));
    jpaWorkingOn.add(
        wdfVon,
        new GridBagConstraints(
            1,
            iZeile,
            1,
            1,
            0.1,
            0.0,
            GridBagConstraints.CENTER,
            GridBagConstraints.HORIZONTAL,
            new Insets(2, 2, 2, 2),
            0,
            0));
    jpaWorkingOn.add(
        wlaBis,
        new GridBagConstraints(
            2,
            iZeile,
            1,
            1,
            0.1,
            0.0,
            GridBagConstraints.CENTER,
            GridBagConstraints.HORIZONTAL,
            new Insets(2, 2, 2, 2),
            0,
            0));
    jpaWorkingOn.add(
        wdfBis,
        new GridBagConstraints(
            3,
            iZeile,
            1,
            1,
            0.1,
            0.0,
            GridBagConstraints.CENTER,
            GridBagConstraints.HORIZONTAL,
            new Insets(2, 2, 2, 2),
            0,
            0));
    jpaWorkingOn.add(
        wdrBereich,
        new GridBagConstraints(
            4,
            iZeile,
            1,
            1,
            0.0,
            0.0,
            GridBagConstraints.WEST,
            GridBagConstraints.BOTH,
            new Insets(2, 2, 2, 2),
            0,
            0));

    iZeile++;
    jpaWorkingOn.add(
        wrbStichtag,
        new GridBagConstraints(
            0,
            iZeile,
            1,
            1,
            0.1,
            0.0,
            GridBagConstraints.CENTER,
            GridBagConstraints.HORIZONTAL,
            new Insets(2, 2, 2, 2),
            0,
            0));
    jpaWorkingOn.add(
        wdfStichtag,
        new GridBagConstraints(
            1,
            iZeile,
            1,
            1,
            0.1,
            0.0,
            GridBagConstraints.CENTER,
            GridBagConstraints.HORIZONTAL,
            new Insets(2, 2, 2, 2),
            0,
            0));
    iZeile++;

    jpaWorkingOn.add(
        wbuLos,
        new GridBagConstraints(
            0,
            iZeile,
            1,
            1,
            0,
            0.0,
            GridBagConstraints.CENTER,
            GridBagConstraints.HORIZONTAL,
            new Insets(2, 2, 2, 2),
            0,
            0));
    jpaWorkingOn.add(
        wtfLos,
        new GridBagConstraints(
            1,
            iZeile,
            1,
            1,
            0,
            0.0,
            GridBagConstraints.CENTER,
            GridBagConstraints.HORIZONTAL,
            new Insets(2, 2, 2, 2),
            0,
            0));
    jpaWorkingOn.add(
        wcbArbeitsplanSortiertNachAG,
        new GridBagConstraints(
            2,
            iZeile,
            2,
            1,
            0.1,
            0.0,
            GridBagConstraints.CENTER,
            GridBagConstraints.HORIZONTAL,
            new Insets(2, 2, 2, 2),
            0,
            0));

    iZeile++;
    jpaWorkingOn.add(
        wbuAuftrag,
        new GridBagConstraints(
            0,
            iZeile,
            1,
            1,
            0,
            0.0,
            GridBagConstraints.CENTER,
            GridBagConstraints.HORIZONTAL,
            new Insets(2, 2, 2, 2),
            0,
            0));
    jpaWorkingOn.add(
        wtfAuftrag,
        new GridBagConstraints(
            1,
            iZeile,
            1,
            1,
            0,
            0.0,
            GridBagConstraints.CENTER,
            GridBagConstraints.HORIZONTAL,
            new Insets(2, 2, 2, 2),
            0,
            0));
    jpaWorkingOn.add(
        wcbVerdichtetNachArtikel,
        new GridBagConstraints(
            2,
            iZeile,
            2,
            1,
            0.1,
            0.0,
            GridBagConstraints.CENTER,
            GridBagConstraints.HORIZONTAL,
            new Insets(2, 2, 2, 2),
            0,
            0));
    iZeile++;
    jpaWorkingOn.add(
        wbuStueckliste,
        new GridBagConstraints(
            0,
            iZeile,
            1,
            1,
            0,
            0.0,
            GridBagConstraints.CENTER,
            GridBagConstraints.HORIZONTAL,
            new Insets(2, 2, 2, 2),
            0,
            0));
    jpaWorkingOn.add(
        wtfStueckliste,
        new GridBagConstraints(
            1,
            iZeile,
            1,
            1,
            0,
            0.0,
            GridBagConstraints.CENTER,
            GridBagConstraints.HORIZONTAL,
            new Insets(2, 2, 2, 2),
            0,
            0));
  }
  protected void dto2Components(PartnerDto dto) throws Throwable {

    wefBemerkung.setText(getAnsprechpartnerDto().getXBemerkung());

    if (getAnsprechpartnerDto().getAnsprechpartnerfunktionIId() != null) {
      AnsprechpartnerfunktionDto ansprechpartnerfunktionDto =
          DelegateFactory.getInstance()
              .getAnsprechpartnerDelegate()
              .ansprechpartnerfunktionFindByPrimaryKey(
                  getAnsprechpartnerDto().getAnsprechpartnerfunktionIId());
      wtfAnsprechpartnerfunktion.setText(ansprechpartnerfunktionDto.getBezeichnung());
    } else {
      wtfAnsprechpartnerfunktion.setText(null);
    }

    PartnerDto partnerDto =
        DelegateFactory.getInstance()
            .getPartnerDelegate()
            .partnerFindByPrimaryKey(getAnsprechpartnerDto().getPartnerIIdAnsprechpartner());
    wtfAnsprechpartner.setText(partnerDto.getCName1nachnamefirmazeile1());

    // gotobutton: 4 Den Key des Datensatzes jedesmal zuordnen
    wbuAnsprechpartner.setOKey(partnerDto.getIId());

    wtfVorname.setText(partnerDto.getCName2vornamefirmazeile2());
    wtfTitel.setText(partnerDto.getCTitel());
    wtfNtitel.setText(partnerDto.getCNtitel());
    wcoAnrede.setKeyOfSelectedItem(partnerDto.getAnredeCNr());
    wdfGebDatum.setDate(partnerDto.getDGeburtsdatumansprechpartner());

    AnsprechpartnerDto ansprechpartnerDto = getAnsprechpartnerDto();

    wcbVersteckt.setShort(ansprechpartnerDto.getBVersteckt());
    wtfAbteilung.setText(ansprechpartnerDto.getCAbteilung());
    wdfGueltigAb.setDate(getAnsprechpartnerDto().getDGueltigab());

    // Partnerkommunikation

    wtfDirektfax.setText(getAnsprechpartnerDto().getCDirektfax());

    if (getAnsprechpartnerDto().getCEmail() != null) {
      wtfEmail.setEmail(getAnsprechpartnerDto().getCEmail(), getAnsprechpartnerDto());
    } else {
      wtfEmail.setEmail(null, null);
    }

    wtfFaxdurchwahl.setText(getAnsprechpartnerDto().getCFax());

    wtfDurchwahl.setPartnerKommunikationDto(dto, getAnsprechpartnerDto().getCTelefon());

    if (getAnsprechpartnerDto().getCHandy() != null) {
      wtfHandy.setPartnerKommunikationDto(
          getAnsprechpartnerDto().getPartnerDto(), getAnsprechpartnerDto().getCHandy());
    } else {
      wtfHandy.setPartnerKommunikationDto(null, null);
    }

    wtfSort.setInteger(ansprechpartnerDto.getISort());
    wtfFremdsystem.setText(ansprechpartnerDto.getCFremdsystemnr());

    wcbNewsletterEmpfaenger.setSelected(ansprechpartnerDto.isNewsletterEmpfaenger());

    if (getAnsprechpartnerDto().getCKennwort() != null) {
      wbuPasswort.setBackground(new Color(0, 200, 0));

    } else {
      wbuPasswort.setBackground(UIManager.getColor("Button.background"));
    }
  }
  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;
  }
  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);
  }
  public final void eventYouAreSelected(boolean bNeedNoYouAreSelectedI) throws Throwable {

    super.eventYouAreSelected(true);

    wbuPasswort.setBackground(UIManager.getColor("Button.background"));

    // Die normale Telefon/Faxnummer vor der Durchwajl anzeigen
    PartnerDto dto = null;
    if (getInternalFrame() instanceof InternalFrameLieferant) {
      dto = ((InternalFrameLieferant) getInternalFrame()).getLieferantDto().getPartnerDto();
    } else if (getInternalFrame() instanceof InternalFrameKunde) {
      dto = ((InternalFrameKunde) getInternalFrame()).getKundeDto().getPartnerDto();
    } else if (getInternalFrame() instanceof InternalFramePartner) {
      dto = ((InternalFramePartner) getInternalFrame()).getTpPartner().getPartnerDto();
    }

    String cTelefon =
        DelegateFactory.getInstance()
            .getPartnerDelegate()
            .enrichNumber(dto.getIId(), PartnerFac.KOMMUNIKATIONSART_TELEFON, null, true);

    if (cTelefon != null) {

      LPMain.getInstance();
      wlaDurchwahl.setText(LPMain.getTextRespectUISPr("lp.durchwahl") + " (" + cTelefon + ")");
    } else {
      LPMain.getInstance();
      wlaDurchwahl.setText(LPMain.getTextRespectUISPr("lp.durchwahl"));
    }

    cTelefon =
        DelegateFactory.getInstance()
            .getPartnerDelegate()
            .enrichNumber(dto.getIId(), PartnerFac.KOMMUNIKATIONSART_FAX, null, true);

    if (cTelefon != null) {

      LPMain.getInstance();
      wlaFaxdurchwahl.setText(
          LPMain.getTextRespectUISPr("lp.faxdurchwahl") + " (" + cTelefon + ")");
    } else {
      LPMain.getInstance();
      wlaFaxdurchwahl.setText(LPMain.getTextRespectUISPr("lp.faxdurchwahl"));
    }

    if (!bNeedNoYouAreSelectedI) {
      Object key = getKeyWhenDetailPanel();

      setAnsprechpartnerDto(new AnsprechpartnerDto());

      if (key == null || (key != null && key.equals(LPMain.getLockMeForNew()))) {

        leereAlleFelder(this);
        setDefaults();
        clearStatusbar();
        if (key != null && key.equals(LPMain.getLockMeForNew())) {
          wtfAnsprechpartner.setActivatable(true);
          wtfAnsprechpartner.setEditable(true);
          wtfVorname.setActivatable(true);
          wtfVorname.setEditable(true);
          wtfTitel.setActivatable(true);
          wtfTitel.setEditable(true);
          wtfNtitel.setActivatable(true);
          wtfNtitel.setEditable(true);
          wdfGebDatum.setActivatable(true);
          wdfGebDatum.setEnabled(true);
          wcoAnrede.setActivatable(true);
          wcoAnrede.setEnabled(true);
        }
      } else {
        wtfAnsprechpartner.setActivatable(false);
        wtfAnsprechpartner.setEditable(false);
        wtfVorname.setActivatable(false);
        wtfVorname.setEditable(false);
        wtfTitel.setActivatable(false);
        wtfTitel.setEditable(false);
        wtfNtitel.setActivatable(false);
        wtfNtitel.setEditable(false);
        wdfGebDatum.setActivatable(false);
        wdfGebDatum.setEditable(false);
        wcoAnrede.setActivatable(false);
        wcoAnrede.setEditable(false);

        setAnsprechpartnerDto(
            DelegateFactory.getInstance()
                .getAnsprechpartnerDelegate()
                .ansprechpartnerFindByPrimaryKey((Integer) key));

        setStatusbar();

        dto2Components(dto);
      }

      getInternalFrame()
          .setLpTitle(InternalFrame.TITLE_IDX_AS_I_LIKE, getSelectedPartnerTitelAnrede());
    }
  }
  private void jbInit() throws Throwable {
    getInternalFrame().addItemChangedListener(this);

    // Buttons.
    String[] aButton = {
      PanelBasis.ACTION_UPDATE,
      PanelBasis.ACTION_SAVE,
      PanelBasis.ACTION_DELETE,
      PanelBasis.ACTION_DISCARD
    };
    enableToolsPanelButtons(aButton);

    // border = BorderFactory.createEmptyBorder(10, 10, 10, 10);
    // setBorder(border);

    // Das Aussenpanel hat immer das Gridbaglayout.
    gridBagLayoutAll = new GridBagLayout();
    setLayout(gridBagLayoutAll);

    // Ab hier Ansprechpartnerfelder.
    wlaGueltigAb = new WrapperLabel();
    LPMain.getInstance();
    wlaGueltigAb.setText(LPMain.getTextRespectUISPr("lp.gueltigab"));
    wdfGueltigAb = new WrapperDateField();
    wdfGueltigAb.setMandatoryFieldDB(true);

    wlaTitel = new WrapperLabel();
    wlaNtitel = new WrapperLabel();
    wlaVorname = new WrapperLabel();
    wlaGebDatum = new WrapperLabel();
    LPMain.getInstance();
    wlaTitel.setText(LPMain.getTextRespectUISPr("lp.titel"));
    LPMain.getInstance();
    wlaNtitel.setText(LPMain.getTextRespectUISPr("lp.ntitel"));
    LPMain.getInstance();
    wlaVorname = new WrapperLabel(LPMain.getTextRespectUISPr("lp.vorname"));
    wlaGebDatum.setText(LPMain.getTextRespectUISPr("pers.personalangehoerige.geburtsdatum"));

    wcbVersteckt.setText(LPMain.getTextRespectUISPr("lp.versteckt"));
    wcbNewsletterEmpfaenger.setText(
        LPMain.getTextRespectUISPr("part.ansprechpartner.newsletterempfaenger"));

    wlaAbteilung = new WrapperLabel(LPMain.getTextRespectUISPr("lp.abteilung"));
    wtfAbteilung = new WrapperTextField();

    wtfVorname = new WrapperTextField();
    wdfGebDatum = new WrapperDateField();
    wcoAnrede = new WrapperComboBox();
    wtfTitel = new WrapperTextField();
    wtfNtitel = new WrapperTextField();

    wtfAnsprechpartnerfunktion = new WrapperTextField();
    wtfAnsprechpartnerfunktion.setActivatable(false);
    wtfAnsprechpartnerfunktion.setMandatoryFieldDB(true);

    wbuAnsprechpartnerfunktion = new WrapperButton();
    wbuAnsprechpartnerfunktion.setText(LPMain.getTextRespectUISPr("part.ansprechpartner_funktion"));
    wbuAnsprechpartnerfunktion.setActionCommand(ACTION_SPECIAL_FLR_ANSPRECHPARTNER_FUNKTION);
    wbuAnsprechpartnerfunktion.addActionListener(this);

    // gotobutton: 3 Anstatt des WrapperButtons den WrapperGotoButton
    // verwenden
    wbuAnsprechpartner = new WrapperGotoButton(WrapperGotoButton.GOTO_PARTNER_AUSWAHL);
    wbuAnsprechpartner.setText(LPMain.getTextRespectUISPr("button.ansprechpartner.long"));
    wbuAnsprechpartner.setActionCommand(ACTION_SPECIAL_FLR_ANSPRECHPARTNER);
    wbuAnsprechpartner.addActionListener(this);

    wtfAnsprechpartner = new WrapperTextField();
    wtfAnsprechpartner.setMandatoryFieldDB(true);

    wlaBemerkung = new WrapperLabel(LPMain.getTextRespectUISPr("lp.bemerkung"));
    wlaBemerkung.setVerticalAlignment(SwingConstants.NORTH);
    wefBemerkung =
        new WrapperEditorFieldTexteingabe(
            getInternalFrame(), LPMain.getTextRespectUISPr("lp.bemerkung"));

    wlaDurchwahl = new WrapperLabel();
    wlaDurchwahl.setText(LPMain.getTextRespectUISPr("lp.durchwahl"));
    wlaDurchwahl.setMinimumSize(new Dimension(170, Defaults.getInstance().getControlHeight()));
    wlaDurchwahl.setPreferredSize(new Dimension(170, Defaults.getInstance().getControlHeight()));

    wtfDurchwahl = new WrapperTelefonField(PartnerFac.MAX_KOMMART_INHALT);
    wtfDurchwahl.setIstAnsprechpartner(true);
    wtfDurchwahl.setMinimumSize(new Dimension(170, Defaults.getInstance().getControlHeight()));
    wtfDurchwahl.setPreferredSize(new Dimension(170, Defaults.getInstance().getControlHeight()));

    wlaEmail = new WrapperLabel();
    LPMain.getInstance();
    wlaEmail.setText(LPMain.getTextRespectUISPr("lp.email"));
    wlaEmail.setMinimumSize(new Dimension(60, Defaults.getInstance().getControlHeight()));
    wlaEmail.setPreferredSize(new Dimension(60, Defaults.getInstance().getControlHeight()));
    wtfEmail = new WrapperEmailField();

    LPMain.getInstance();
    wlaFremdsystem =
        new WrapperLabel(LPMain.getTextRespectUISPr("part.ansprechpartner.fremdsystem"));
    wtfFremdsystem = new WrapperTextField(30);

    wlaFaxdurchwahl = new WrapperLabel();
    LPMain.getInstance();
    wlaFaxdurchwahl = new WrapperLabel(LPMain.getTextRespectUISPr("lp.faxdurchwahl"));
    wtfFaxdurchwahl = new WrapperTextField(PartnerFac.MAX_KOMMART_INHALT);

    wlaHandy = new WrapperLabel();
    LPMain.getInstance();
    wlaHandy = new WrapperLabel(LPMain.getTextRespectUISPr("lp.handy"));
    wtfHandy = new WrapperTelefonField(PartnerFac.MAX_KOMMART_INHALT);

    wlaDirektfax = new WrapperLabel();
    LPMain.getInstance();
    wlaDirektfax = new WrapperLabel(LPMain.getTextRespectUISPr("lp.direktfax"));
    wtfDirektfax = new WrapperTextField(PartnerFac.MAX_KOMMART_INHALT);

    wlaSort = new WrapperLabel();
    LPMain.getInstance();
    wlaSort = new WrapperLabel(LPMain.getTextRespectUISPr("label.sortierung"));
    wtfSort = new WrapperTextNumberField();
    wtfSort.setMandatoryFieldDB(true);
    wtfSort.setMinimumValue(new Integer(0));
    wtfSort.setMaximumDigits(4);
    wtfSort.setMaximumValue(new Integer(9999));

    wbuPasswort = new WrapperButton(LPMain.getTextRespectUISPr("part.ansprechpartner.passwort"));
    wbuPasswort.addActionListener(this);
    wbuPasswort.setActionCommand(ACTION_SPECIAL_PASSWORD);

    jpaWorkingOn = new JPanel(new MigLayout("wrap 8", "[25%][10%][20%][10%][10%][10%][20%]"));

    // Actionpanel von Oberklasse holen und einhaengen.
    panelButtonAction = getToolsPanel();
    add(
        panelButtonAction,
        new GridBagConstraints(
            0,
            0,
            1,
            1,
            0.0,
            0.0,
            GridBagConstraints.NORTHWEST,
            GridBagConstraints.HORIZONTAL,
            new Insets(0, 0, 0, 0),
            0,
            0));
    add(
        jpaWorkingOn,
        new GridBagConstraints(
            0,
            1,
            1,
            1,
            1.0,
            1.0,
            GridBagConstraints.SOUTH,
            GridBagConstraints.BOTH,
            new Insets(0, 0, 0, 0),
            0,
            0));

    // Statusbar an den unteren Rand des Panels haengen.
    add(
        getPanelStatusbar(),
        new GridBagConstraints(
            0,
            2,
            1,
            1,
            1.0,
            0.0,
            GridBagConstraints.CENTER,
            GridBagConstraints.BOTH,
            new Insets(0, 0, 0, 0),
            0,
            0));

    // Ab hier einhaengen.
    // Zeile

    jpaWorkingOn.add(wbuAnsprechpartner, "growx");
    jpaWorkingOn.add(wcoAnrede, "growx, width 70:70:70");
    jpaWorkingOn.add(wtfAnsprechpartner, "growx");
    jpaWorkingOn.add(wlaGebDatum, "growx, width 70:70:70");
    jpaWorkingOn.add(wdfGebDatum, "growx");
    jpaWorkingOn.add(wlaGueltigAb, "growx");
    jpaWorkingOn.add(wdfGueltigAb, "growx, span2");

    jpaWorkingOn.add(wcbNewsletterEmpfaenger, "growx");
    jpaWorkingOn.add(wlaVorname, "growx");
    jpaWorkingOn.add(wtfVorname, "growx");
    jpaWorkingOn.add(wlaTitel, "growx");
    jpaWorkingOn.add(wtfTitel, "growx");
    jpaWorkingOn.add(wlaNtitel, "growx, width 50:50:50");
    jpaWorkingOn.add(wtfNtitel, "growx, span2");

    jpaWorkingOn.add(wbuAnsprechpartnerfunktion, "growx");
    jpaWorkingOn.add(wtfAnsprechpartnerfunktion, "growx, span 2");
    jpaWorkingOn.add(wlaAbteilung, "growx");
    jpaWorkingOn.add(wtfAbteilung, "growx, span 3, wrap");

    jpaWorkingOn.add(wlaBemerkung, "top, growx");
    jpaWorkingOn.add(wefBemerkung, "grow, span");
    iZeile++;
    jpaWorkingOn.add(wlaDurchwahl, "growx");
    jpaWorkingOn.add(wtfDurchwahl, "growx, span 2");
    jpaWorkingOn.add(wlaEmail, "growx, span 2");
    jpaWorkingOn.add(wtfEmail, "growx, span");
    iZeile++;
    jpaWorkingOn.add(wlaFaxdurchwahl, "growx");
    jpaWorkingOn.add(wtfFaxdurchwahl, "growx, span 2");
    jpaWorkingOn.add(wlaHandy, "growx, span 2");
    jpaWorkingOn.add(wtfHandy, "growx, span");
    iZeile++;
    jpaWorkingOn.add(wlaDirektfax, "growx");
    jpaWorkingOn.add(wtfDirektfax, "growx, span 2");
    jpaWorkingOn.add(wlaFremdsystem, "growx, span 2");
    jpaWorkingOn.add(wtfFremdsystem, "growx, span");
    iZeile++;
    jpaWorkingOn.add(wlaSort, "top, growx");
    jpaWorkingOn.add(wtfSort, "top, growx, span 2");

    if (DelegateFactory.getInstance()
        .getTheJudgeDelegate()
        .hatRecht(com.lp.server.benutzer.service.RechteFac.RECHT_LP_DARF_VERSTECKTE_SEHEN)) {
      jpaWorkingOn.add(wcbVersteckt, "skip 2, growx, width 80:80:80");
    } else {
      jpaWorkingOn.add(new WrapperLabel(""), "skip 2, growx");
    }

    jpaWorkingOn.add(wbuPasswort, "growx");

    // Zeile

    createAndSaveAndShowButton(
        "/com/lp/client/res/book_open2.png",
        LPMain.getTextRespectUISPr("part.partner.export.vcard"),
        ACTION_SPECIAL_VCARD_EXPORT,
        null);
  }
  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 {
    this.setLayout(gridBagLayout1);
    jpaWorkingOn.setLayout(gridBagLayout2);

    wlaDatumVon.setText(LPMain.getInstance().getTextRespectUISPr("lp.von"));
    wlaDatumBis.setText(LPMain.getInstance().getTextRespectUISPr("lp.bis"));
    wdfDatumVon.setTimestamp(new java.sql.Timestamp(System.currentTimeMillis() - 24 * 3600000));
    wdfDatumBis.setTimestamp(new java.sql.Timestamp(System.currentTimeMillis() - 24 * 3600000));

    wdrBereich = new WrapperDateRangeController(wdfDatumVon, wdfDatumBis);

    wdfDatumVon.setMandatoryField(true);
    wdfDatumBis.setMandatoryField(true);

    wsfArtikelklasse =
        new WrapperSelectField(WrapperSelectField.ARTIKELKLASSE, getInternalFrame(), true);

    wbuArtikelnrVon.setText(
        LPMain.getTextRespectUISPr("artikel.artikelnummer")
            + " "
            + LPMain.getTextRespectUISPr("lp.von"));
    wbuArtikelnrBis.setText(
        LPMain.getTextRespectUISPr("artikel.artikelnummer")
            + " "
            + LPMain.getTextRespectUISPr("lp.bis"));
    wtfArtikelnrVon.setActivatable(false);
    wtfArtikelnrBis.setActivatable(false);

    wtfArtikelnrVon.setActivatable(false);

    wbuArtikelnrVon.setActionCommand(ACTION_SPECIAL_ARTIKELVON_FROM_LISTE);
    wbuArtikelnrVon.addActionListener(this);

    wbuArtikelnrBis.setActionCommand(ACTION_SPECIAL_ARTIKELBIS_FROM_LISTE);
    wbuArtikelnrBis.addActionListener(this);

    wbuBranche = new WrapperButton();
    wbuBranche.setActionCommand(ACTION_SPECIAL_FLR_BRANCHE);
    wbuBranche.setActivatable(false);
    wbuBranche.addActionListener(this);

    wbuBranche.setText(LPMain.getInstance().getTextRespectUISPr("button.branche"));
    wtfBranche = new WrapperTextField(PartnerFac.MAX_BRANCHE);
    wtfBranche.setActivatable(false);

    getInternalFrame().addItemChangedListener(this);
    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));
    int iZeile = 0;

    iZeile++;
    jpaWorkingOn.add(
        wlaDatumVon,
        new GridBagConstraints(
            0,
            iZeile,
            1,
            1,
            50,
            0.0,
            GridBagConstraints.CENTER,
            GridBagConstraints.HORIZONTAL,
            new Insets(2, 2, 2, 2),
            0,
            0));
    jpaWorkingOn.add(
        wdfDatumVon,
        new GridBagConstraints(
            1,
            iZeile,
            1,
            1,
            0,
            0.0,
            GridBagConstraints.CENTER,
            GridBagConstraints.HORIZONTAL,
            new Insets(2, 2, 2, 2),
            100,
            0));
    jpaWorkingOn.add(
        wlaDatumBis,
        new GridBagConstraints(
            2,
            iZeile,
            1,
            1,
            50,
            0.0,
            GridBagConstraints.CENTER,
            GridBagConstraints.HORIZONTAL,
            new Insets(2, 2, 2, 2),
            0,
            0));
    jpaWorkingOn.add(
        wdfDatumBis,
        new GridBagConstraints(
            3,
            iZeile,
            1,
            1,
            0,
            0.0,
            GridBagConstraints.CENTER,
            GridBagConstraints.HORIZONTAL,
            new Insets(2, 2, 2, 2),
            100,
            0));
    jpaWorkingOn.add(
        wdrBereich,
        new GridBagConstraints(
            4,
            iZeile,
            1,
            1,
            0,
            0.0,
            GridBagConstraints.WEST,
            GridBagConstraints.BOTH,
            new Insets(2, 2, 2, 0),
            0,
            0));

    iZeile++;

    jpaWorkingOn.add(
        wbuArtikelnrVon,
        new GridBagConstraints(
            0,
            iZeile,
            1,
            1,
            50,
            0.0,
            GridBagConstraints.CENTER,
            GridBagConstraints.HORIZONTAL,
            new Insets(2, 2, 2, 2),
            0,
            0));
    jpaWorkingOn.add(
        wtfArtikelnrVon,
        new GridBagConstraints(
            1,
            iZeile,
            1,
            1,
            0,
            0.0,
            GridBagConstraints.CENTER,
            GridBagConstraints.HORIZONTAL,
            new Insets(2, 2, 2, 2),
            0,
            0));
    jpaWorkingOn.add(
        wbuArtikelnrBis,
        new GridBagConstraints(
            2,
            iZeile,
            1,
            1,
            50,
            0.0,
            GridBagConstraints.CENTER,
            GridBagConstraints.HORIZONTAL,
            new Insets(2, 2, 2, 2),
            0,
            0));
    jpaWorkingOn.add(
        wtfArtikelnrBis,
        new GridBagConstraints(
            3,
            iZeile,
            1,
            1,
            0,
            0.0,
            GridBagConstraints.CENTER,
            GridBagConstraints.HORIZONTAL,
            new Insets(2, 2, 2, 2),
            0,
            0));

    iZeile++;

    jpaWorkingOn.add(
        wsfArtikelklasse.getWrapperButton(),
        new GridBagConstraints(
            0,
            iZeile,
            1,
            1,
            50,
            0.0,
            GridBagConstraints.CENTER,
            GridBagConstraints.HORIZONTAL,
            new Insets(2, 2, 2, 2),
            0,
            0));
    jpaWorkingOn.add(
        wsfArtikelklasse.getWrapperTextField(),
        new GridBagConstraints(
            1,
            iZeile,
            1,
            1,
            0,
            0.0,
            GridBagConstraints.CENTER,
            GridBagConstraints.HORIZONTAL,
            new Insets(2, 2, 2, 2),
            0,
            0));
    iZeile++;

    jpaWorkingOn.add(
        wbuBranche,
        new GridBagConstraints(
            0,
            iZeile,
            1,
            1,
            50,
            0.0,
            GridBagConstraints.CENTER,
            GridBagConstraints.HORIZONTAL,
            new Insets(2, 2, 2, 2),
            0,
            0));
    jpaWorkingOn.add(
        wtfBranche,
        new GridBagConstraints(
            1,
            iZeile,
            1,
            1,
            0,
            0.0,
            GridBagConstraints.CENTER,
            GridBagConstraints.HORIZONTAL,
            new Insets(2, 2, 2, 2),
            0,
            0));
  }
  private void aktualisiereDatumsfelder() {
    if (auftragIId == null && losIId == null) {
      wdfVon.setEditable(true);
      wdfVon.setMandatoryField(true);
      wdfBis.setEnabled(true);
      wdfBis.setMandatoryField(true);
      wdfStichtag.setEnabled(true);
      wdfStichtag.setMandatoryField(true);

    } else {

      wdfVon.setEditable(false);
      wdfVon.setMandatoryField(false);
      wdfBis.setEnabled(false);
      wdfBis.setMandatoryField(false);
      wdfStichtag.setEnabled(false);
      wdfStichtag.setMandatoryField(false);
    }
  }
  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));
  }