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 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());
        }
      }
    }
  }
  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));
    }
  }
  private void setDefaults() throws Throwable {
    wrbBelegdatum.setSelected(true);
    wrbKalenderjahr.setSelected(true);
    wrbGeschaeftsjahr.setVisible(true);

    wcoGeschaeftsjahr.setMap(
        DelegateFactory.getInstance().getSystemDelegate().getAllGeschaeftsjahr());
    // Default ist das aktuelle GJ
    wcoGeschaeftsjahr.setKeyOfSelectedItem(
        DelegateFactory.getInstance().getParameterDelegate().getGeschaeftsjahr());
    String mandantWaehrung =
        DelegateFactory.getInstance()
            .getMandantDelegate()
            .mandantFindByPrimaryKey(LPMain.getTheClient().getMandant())
            .getWaehrungCNr();
  }
  private void jbInit() throws Throwable {
    this.setLayout(new MigLayout("wrap 1", "[fill]", "[fill]"));
    JPanel p = new JPanel(new MigLayout("wrap 4", "[25%,fill|25%,fill|25%,fill|25%,fill]"));
    this.add(p, "pushx");
    wtfGeschaeftsjahr = new WrapperTextField();
    wtfGeschaeftsjahr.setActivatable(false);
    wtfGeschaeftsjahr.setText(geschaeftsjahr);
    wcoFinanzamt = new WrapperComboBox();
    wcoPeriode = new WrapperComboBoxPeriode(geschaeftsjahr);
    faDtos =
        DelegateFactory.getInstance()
            .getFinanzDelegate()
            .finanzamtFindAllByMandantCNr(LPMain.getTheClient());
    if (faDtos != null) {
      for (int i = 0; i < faDtos.length; i++) {
        wcoFinanzamt.addItem(faDtos[i].getPartnerDto().formatName());
      }
    }

    p.add(new WrapperLabel(LPMain.getTextRespectUISPr("label.finanzamt")));
    p.add(wcoFinanzamt);

    p.add(new WrapperLabel(LPMain.getTextRespectUISPr("label.geschaeftsjahr")));
    p.add(wtfGeschaeftsjahr, "wrap");

    p.add(new WrapperLabel(LPMain.getTextRespectUISPr("label.periode")), "skip 2");
    p.add(wcoPeriode, "wrap");
  }
  /**
   * 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;
  }
 @Override
 public JasperPrintLP getReport(String sDrucktype) throws Throwable {
   ReportUvaKriterienDto krit = new ReportUvaKriterienDto();
   krit.setFinanzamtIId(faDtos[wcoFinanzamt.getSelectedIndex()].getPartnerIId());
   krit.setIGeschaeftsjahr(Integer.parseInt(geschaeftsjahr));
   krit.setIPeriode(wcoPeriode.getPeriode());
   krit.setSPeriode(wcoPeriode.getSelectedItem().toString());
   krit.setSAbrechnungszeitraum(FinanzFac.UVA_ABRECHNUNGSZEITRAUM_MONAT);
   return DelegateFactory.getInstance().getFinanzReportDelegate().printUstVerprobung(krit);
 }
  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 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());
    }
  }
  /**
   * Dialog initialisieren
   *
   * @throws Throwable
   */
  private void jbInit() throws Throwable {
    // die Gruppe mit nach Datum
    wlaNachdatum = new WrapperLabel(LPMain.getTextRespectUISPr("label.auswertung"));
    wlaNachdatum.setMaximumSize(new Dimension(120, 23));
    wlaNachdatum.setMinimumSize(new Dimension(120, 23));
    wlaNachdatum.setPreferredSize(new Dimension(120, 23));
    wlaNachdatum.setHorizontalAlignment(SwingConstants.LEADING);

    wlaEmptyLabel1 = new WrapperLabel();
    wlaEmptyLabel1.setMaximumSize(new Dimension(10, 23));
    wlaEmptyLabel1.setMinimumSize(new Dimension(10, 23));
    wlaEmptyLabel1.setPreferredSize(new Dimension(10, 23));

    jbgNachdatum = new ButtonGroup();
    jbgJahr = new ButtonGroup();

    wrbBelegdatum = new WrapperRadioButton();
    wrbBelegdatum.setText(LPMain.getTextRespectUISPr("label.belegdatum"));

    wrbFreigabedatum = new WrapperRadioButton();
    wrbFreigabedatum.setText(LPMain.getTextRespectUISPr("label.freigabedatum"));

    wrbKalenderjahr = new WrapperRadioButton();
    wrbKalenderjahr.setText(LPMain.getTextRespectUISPr("label.kalenderjahr"));

    wrbGeschaeftsjahr = new WrapperRadioButton();
    wrbGeschaeftsjahr.setText(LPMain.getTextRespectUISPr("label.geschaeftsjahr"));

    jbgNachdatum.add(wrbBelegdatum);
    jbgNachdatum.add(wrbFreigabedatum);

    jbgJahr.add(wrbGeschaeftsjahr);
    jbgJahr.add(wrbKalenderjahr);

    wlaEmptyLabel2 = new WrapperLabel();

    wlaPeriode = new WrapperLabel(LPMain.getTextRespectUISPr("label.periode"));
    wlaPeriode.setHorizontalAlignment(SwingConstants.LEADING);
    wlaEmptyLabel3 = new WrapperLabel();
    wcoGeschaeftsjahr = new WrapperComboBox();
    wcoGeschaeftsjahr.setMandatoryField(true);

    jpaWorkingOn.add(
        wlaNachdatum,
        new GridBagConstraints(
            0,
            iZeile,
            2,
            1,
            0.0,
            0.0,
            GridBagConstraints.CENTER,
            GridBagConstraints.BOTH,
            new Insets(2, 2, 2, 2),
            0,
            0));
    iZeile++;
    jpaWorkingOn.add(
        wlaEmptyLabel1,
        new GridBagConstraints(
            0,
            iZeile,
            1,
            1,
            0.0,
            0.0,
            GridBagConstraints.CENTER,
            GridBagConstraints.BOTH,
            new Insets(2, 2, 2, 2),
            0,
            0));
    jpaWorkingOn.add(
        wrbBelegdatum,
        new GridBagConstraints(
            1,
            iZeile,
            1,
            1,
            0.0,
            0.0,
            GridBagConstraints.CENTER,
            GridBagConstraints.BOTH,
            new Insets(0, 0, 0, 0),
            0,
            0));
    iZeile++;
    jpaWorkingOn.add(
        wrbFreigabedatum,
        new GridBagConstraints(
            1,
            iZeile,
            1,
            1,
            0.0,
            0.0,
            GridBagConstraints.CENTER,
            GridBagConstraints.BOTH,
            new Insets(0, 0, 0, 0),
            0,
            0));
    iZeile++;
    jpaWorkingOn.add(
        wlaPeriode,
        new GridBagConstraints(
            0,
            iZeile,
            2,
            1,
            0.0,
            0.0,
            GridBagConstraints.CENTER,
            GridBagConstraints.BOTH,
            new Insets(2, 2, 2, 2),
            0,
            0));
    iZeile++;
    jpaWorkingOn.add(
        wrbKalenderjahr,
        new GridBagConstraints(
            1,
            iZeile,
            1,
            1,
            0.0,
            0.0,
            GridBagConstraints.CENTER,
            GridBagConstraints.BOTH,
            new Insets(0, 0, 0, 0),
            0,
            0));
    iZeile++;
    jpaWorkingOn.add(
        wrbGeschaeftsjahr,
        new GridBagConstraints(
            1,
            iZeile,
            1,
            1,
            0.0,
            0.0,
            GridBagConstraints.CENTER,
            GridBagConstraints.BOTH,
            new Insets(0, 0, 0, 0),
            0,
            0));
    iZeile++;
    jpaWorkingOn.add(
        wlaEmptyLabel2,
        new GridBagConstraints(
            0,
            iZeile,
            1,
            1,
            0.0,
            0.0,
            GridBagConstraints.CENTER,
            GridBagConstraints.BOTH,
            new Insets(2, 2, 2, 2),
            0,
            0));

    iZeile++;
    jpaWorkingOn.add(
        wlaEmptyLabel3,
        new GridBagConstraints(
            0,
            iZeile,
            1,
            1,
            0.0,
            0.0,
            GridBagConstraints.CENTER,
            GridBagConstraints.BOTH,
            new Insets(2, 2, 2, 2),
            0,
            0));
    jpaWorkingOn.add(
        wcoGeschaeftsjahr,
        new GridBagConstraints(
            1,
            iZeile,
            1,
            1,
            0.0,
            0.0,
            GridBagConstraints.CENTER,
            GridBagConstraints.BOTH,
            new Insets(2, 2, 2, 2),
            0,
            0));
  }