package AlMaGe;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.KeyEventDispatcher;
import java.awt.KeyboardFocusManager;
import java.awt.Point;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.FocusAdapter;
import java.awt.event.FocusEvent;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.image.BufferedImage;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.io.File;
import java.io.IOException;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import javax.imageio.ImageIO;
import javax.swing.BorderFactory;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JDialog;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JSeparator;
import javax.swing.JSpinner;
import javax.swing.JTextField;
import javax.swing.SpinnerModel;
import javax.swing.SpinnerNumberModel;
import javax.swing.SwingConstants;
import javax.swing.SwingUtilities;
import javax.swing.border.BevelBorder;
import javax.swing.border.EtchedBorder;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import javax.swing.filechooser.FileFilter;
import org.jdesktop.swingx.JXDatePicker;
import org.jdesktop.swingx.JXMonthView;
import org.jdesktop.swingx.calendar.DefaultDateSelectionModel;
public class PersonModify {
private KeyboardFocusManager kbf;
private JDialog mainDialog;
private static ArrayList<Person> persList = new ArrayList<Person>();
// Formatierungsbefehle
private static SimpleDateFormat gebDate = new SimpleDateFormat("dd.MM.yyyy");// 'at'
// HH:mm:ss
// Steuerungswerte
private boolean aktIDFehler = false;
private boolean aktIDFormfehler = false;
private boolean initialNeu = false;
private Status status = Status.ANZEIGEN;
// Steuerungs IDs
private int lastPersID = 0;
private int religionID = 0;
private int krKasseID = 0;
private BufferedImage foto = new BufferedImage(1, 1,
BufferedImage.TYPE_INT_BGR);
// Statusbar
private JButton btnZurueck = new JButton("<");
private JButton btnVor = new JButton(">");
private JTextField tfAktID = new JTextField();
private JLabel labStatus = new JLabel(" ");
private static JLabel labUhrzeit = new JLabel(" ");
private JPanel statPanel = new JPanel();
// Autovervollst�ndigung PLZ
private boolean plzChanged = false;
private int plzID = 0;
private int plzLength = 0;
// main
private JLabel labAnrede = new JLabel("Anrede");
private JLabel labNachname = new JLabel("Nachname");
private JLabel labVorname = new JLabel("Vorname");
private JLabel labStrasse = new JLabel("Stra�e");
private JLabel labPLZ = new JLabel("Postleitzahl");
private JLabel labOrt = new JLabel("Wohnort");
private JLabel labBundesland = new JLabel("Bundesland");
private JLabel labTele = new JLabel("Telefon");
private JLabel labGebDat = new JLabel("Geburtsdatum");
private JLabel labKinder = new JLabel("Kinder");
private JLabel labReligion = new JLabel("Konfession");
private JLabel labGehBrutto = new JLabel("Bruttogehalt");
private JLabel labSonstBezug = new JLabel("sonstige Bez�ge");
private JLabel labSonstAbzug = new JLabel("sonstige Abz�ge");
private JLabel labLSt = new JLabel("Lohnsteuer");
private JLabel labKiSt = new JLabel("Kirchensteuer");
private JLabel labSoli = new JLabel("Solidarit�tszuschlag");
private JLabel labKrKasse = new JLabel("Krankenkasse");
// Hauptpanels
private JPanel panLeft = new JPanel();
private JPanel panCenter = new JPanel();
// Menuebarlabels
private JLabel labFoto;
private JLabel geloeschterMitarbeiter = new JLabel(
"<html><center><font color='#FF0000' size='3.5'>" +
"<b>Dieser<br>Mitarbeiter<br>wurde<br>GEL�SCHT</b></font></center></html>");
// Elemente Mainbereich
private String[] anreden = { "bitte Anrede w�hlen", "Herrn", "Frau" };
private JComboBox cbAnrede = new JComboBox(anreden);
private JTextField tfNachname = new JTextField("Nachname");
private JTextField tfVorname = new JTextField("Vorname");
private JTextField tfStrasse = new JTextField("Stra�e");
private JTextField tfPostleitzahl = new JTextField("Postleitzahl");
private JTextField tfOrt = new JTextField("Ort");
private JTextField tfBDL = new JTextField("Bundesland");
private JTextField tfTele = new JTextField("Telefon");
private JXDatePicker dpGebDat = new JXDatePicker();
private SpinnerModel spModelKind = new SpinnerNumberModel(0.00, 0.00, 10.0,
0.5);
private JSpinner spKinder = new JSpinner(spModelKind);
private JComboBox cbReligion = new JComboBox();
private SpinnerModel spModelGehBrutto = new SpinnerNumberModel(0.00, 0.00,
9999999.99, 0.01);
private JSpinner spGehBrutto = new JSpinner(spModelGehBrutto);
private SpinnerModel spModelSonstBezug = new SpinnerNumberModel(0.00, 0.00,
9999999.99, 0.01);
private JSpinner spSonstBezug = new JSpinner(spModelSonstBezug);
private SpinnerModel spModelSonstAbzug = new SpinnerNumberModel(0.00, 0.00,
9999999.99, 0.01);
private JSpinner spSonstAbzug = new JSpinner(spModelSonstAbzug);
private SpinnerModel spModelLSt = new SpinnerNumberModel(0.00, 0.00,
9999999.99, 0.01);
private JSpinner spLSt = new JSpinner(spModelLSt);
private SpinnerModel spModelKiSt = new SpinnerNumberModel(0.00, 0.00,
9999999.99, 0.01);
private JSpinner spKiSt = new JSpinner(spModelKiSt);
private SpinnerModel spModelSoli = new SpinnerNumberModel(0.00, 0.00,
9999999.99, 0.01);
private JSpinner spSoli = new JSpinner(spModelSoli);
private JComboBox cbKrKasse = new JComboBox();
// Hauptelement f�r aktuelle Person
private Person pers = new Person();
private int soli = 0;
// Menuebuttons
private JButton upload = new JButton("Bild �ndern");
private JButton neu = new JButton("Neu");
private JButton save = new JButton("Speichern");
private JButton bearb = new JButton("Bearbeiten");
private JButton delete = new JButton("L�schen");
private JButton cancel = new JButton("Schlie�en");
private Dimension btnDim = new Dimension(100, 30);
private String lastValidPLZ = "";
// Konstruktoren
public PersonModify(JFrame parent, int persID, Status status) throws InstantiationException,
IllegalAccessException, ClassNotFoundException, SQLException,
IOException, FormatException {
kbf = null;
mainDialog = new JDialog(parent, true);
if (parent != null) {
Dimension parentSize = parent.getSize();
Point p = parent.getLocation();
mainDialog.setLocation(p.x + (parentSize.width / 2)-235, p.y + (parentSize.height / 2)-313);
}
setIdList();
lastPersID = persID;
this.status = status;
tfAktID.setText("" + persID);
setGebDatLimits();
pers = new Person(persID);
cbAnrede.setSelectedItem(pers.getAnrede());
tfNachname.setText(pers.getNachname());
tfVorname.setText(pers.getVorname());
tfStrasse.setText(pers.getStrasse());
plzID = pers.getPlzID();
tfTele.setText(pers.getTele());
dpGebDat.setDate(pers.getGebDat());
foto = pers.getFoto();
spKinder.setValue(pers.getKinder());
religionID = pers.getReligionID();
spGehBrutto.setValue(pers.getGehBrutto());
spLSt.setValue(pers.getLst());
spKiSt.setValue(pers.getKiSt());
spSoli.setValue(pers.getSoli());
krKasseID = pers.getKrKasseID();
spSonstBezug.setValue(pers.getSonstBezug());
spSonstAbzug.setValue(pers.getSonstAbzug());
// DB Abfrage
setReligionenInitial();
setKrankenkasseInitial();
// Setzen der Werte : PLZ,Wohnort,Bundesland
setPlzOrtBdl();
gui();
}
private void gui() {
mainDialog.setTitle("Arbeitnehmer Information");
mainDialog.setDefaultCloseOperation(JDialog.DO_NOTHING_ON_CLOSE);
mainDialog.setResizable(false);
geloeschterMitarbeiter.setBorder(BorderFactory.createTitledBorder(
BorderFactory.createRaisedBevelBorder(), "ACHTUNG"));
geloeschterMitarbeiter.setVisible(false);
labStatus.setText(" ");
spKiSt.setEnabled(false);
cbAnrede.setEnabled(false);
dpGebDat.setEditable(false);
dpGebDat.setEnabled(false);
spKinder.setEnabled(false);
spGehBrutto.setEnabled(false);
spSonstBezug.setEnabled(false);
spSonstAbzug.setEnabled(false);
spLSt.setEnabled(false);
cbReligion.setEnabled(false);
spSoli.setEnabled(false);
cbKrKasse.setEnabled(false);
save.setEnabled(false);
if (pers.getLoeschDat() != null) {
upload.setEnabled(false);
bearb.setEnabled(false);
delete.setEnabled(false);
geloeschterMitarbeiter.setVisible(true);
labStatus.setText("gel�schter Mitarbeiter");
}
tfOrt.setEnabled(false);
tfBDL.setEnabled(false);
tfNachname.setEnabled(false);
tfVorname.setEnabled(false);
tfStrasse.setEnabled(false);
tfPostleitzahl.setEnabled(false);
tfTele.setEnabled(false);
upload.setPreferredSize(btnDim);
neu.setPreferredSize(btnDim);
bearb.setPreferredSize(btnDim);
save.setPreferredSize(btnDim);
delete.setPreferredSize(btnDim);
cancel.setPreferredSize(btnDim);
spKinder.setEditor(new JSpinner.NumberEditor(spKinder, "0.0"));
spGehBrutto.setEditor(new JSpinner.NumberEditor(spGehBrutto, "0.00"));
spSonstBezug.setEditor(new JSpinner.NumberEditor(spSonstBezug, "0.00"));
spSonstAbzug.setEditor(new JSpinner.NumberEditor(spSonstAbzug, "0.00"));
spLSt.setEditor(new JSpinner.NumberEditor(spLSt, "0.00"));
spKiSt.setEditor(new JSpinner.NumberEditor(spKiSt, "0.00"));
spSoli.setEditor(new JSpinner.NumberEditor(spSoli, "0.00"));
// Statusbar
statPanel.setBorder(BorderFactory
.createEtchedBorder(EtchedBorder.LOWERED));
GridBagLayout gblStat = new GridBagLayout();
statPanel.setLayout(gblStat);
GridBagConstraints gbcStat = new GridBagConstraints();
// Festlegen, dass die GUI-Elemente die Gitterfelder in
// waagerechter Richtung ausf�llen:
gbcStat.fill = GridBagConstraints.BOTH;
// Die Abst�nder der einzelnen GUI-Elemente zu den gedachten
// Gitterlinien festgelegen:
gbcStat.insets = new Insets(2, 2, 2, 2);
btnZurueck.putClientProperty("JComponent.sizeVariant", "mini");
gbcStat.gridx = 0;
gbcStat.gridy = 0;
gblStat.setConstraints(btnZurueck, gbcStat);
statPanel.add(btnZurueck);
tfAktID.setPreferredSize(new Dimension(30, 20));
tfAktID.putClientProperty("JComponent.sizeVariant", "mini");
gbcStat.gridx = 1;
gbcStat.gridy = 0;
gblStat.setConstraints(tfAktID, gbcStat);
statPanel.add(tfAktID);
btnVor.putClientProperty("JComponent.sizeVariant", "mini");
gbcStat.gridx = 2;
gbcStat.gridy = 0;
gblStat.setConstraints(btnVor, gbcStat);
statPanel.add(btnVor);
JSeparator sep1 = new JSeparator(SwingConstants.VERTICAL);
gbcStat.gridx = 3;
gbcStat.gridy = 0;
gblStat.setConstraints(sep1, gbcStat);
statPanel.add(sep1);
labStatus.setPreferredSize(new Dimension(300, 20));
gbcStat.gridx = 4;
gbcStat.gridy = 0;
gblStat.setConstraints(labStatus, gbcStat);
statPanel.add(labStatus);
JSeparator sep2 = new JSeparator(SwingConstants.VERTICAL);
gbcStat.gridx = 5;
gbcStat.gridy = 0;
gblStat.setConstraints(sep2, gbcStat);
statPanel.add(sep2);
labUhrzeit.setPreferredSize(new Dimension(52, 20));
gbcStat.gridx = 6;
gbcStat.gridy = 0;
gblStat.setConstraints(labUhrzeit, gbcStat);
statPanel.add(labUhrzeit);
mainDialog.add(statPanel, BorderLayout.SOUTH);
SwingUtilities.updateComponentTreeUI(mainDialog);
GridBagLayout gbl = new GridBagLayout();
panCenter.setLayout(gbl);
GridBagConstraints gbc = new GridBagConstraints();
// Festlegen, dass die GUI-Elemente die Gitterfelder in
// waagerechter Richtung ausf�llen:
gbc.fill = GridBagConstraints.HORIZONTAL;
// Die Abst�nder der einzelnen GUI-Elemente zu den gedachten
// Gitterlinien festgelegen:
gbc.insets = new Insets(2, 2, 2, 2);
mainDialog.add(panCenter, BorderLayout.CENTER);
mainDialog.add(panLeft, BorderLayout.WEST);
gbc.gridx = 0;
gbc.gridy = 0;
gbl.setConstraints(labAnrede, gbc);
panCenter.add(labAnrede);
gbc.gridx = 1;
gbc.gridy = 0;
gbl.setConstraints(cbAnrede, gbc);
panCenter.add(cbAnrede);
gbc.gridx = 0; // x-Position im gedachten Gitter
gbc.gridy = 1; // y-Position im gedachten Gitter
gbl.setConstraints(labNachname, gbc);
panCenter.add(labNachname);
gbc.gridx = 1; // x-Position im gedachten Gitter
gbc.gridy = 1; // y-Position im gedachten Gitter
gbl.setConstraints(tfNachname, gbc);
panCenter.add(tfNachname);
gbc.gridx = 0; // x-Position im gedachten Gitter
gbc.gridy = 2; // y-Position im gedachten Gitter
gbl.setConstraints(labVorname, gbc);
panCenter.add(labVorname);
gbc.gridx = 1; // x-Position im gedachten Gitter
gbc.gridy = 2; // y-Position im gedachten Gitter
gbl.setConstraints(tfVorname, gbc);
panCenter.add(tfVorname);
gbc.gridx = 0; // x-Position im gedachten Gitter
gbc.gridy = 3; // y-Position im gedachten Gitter
gbl.setConstraints(labStrasse, gbc);
panCenter.add(labStrasse);
gbc.gridx = 1; // x-Position im gedachten Gitter
gbc.gridy = 3; // y-Position im gedachten Gitter
gbl.setConstraints(tfStrasse, gbc);
panCenter.add(tfStrasse);
gbc.gridx = 0; // x-Position im gedachten Gitter
gbc.gridy = 4; // y-Position im gedachten Gitter
gbl.setConstraints(labPLZ, gbc);
panCenter.add(labPLZ);
gbc.gridx = 1; // x-Position im gedachten Gitter
gbc.gridy = 4; // y-Position im gedachten Gitter
gbl.setConstraints(tfPostleitzahl, gbc);
panCenter.add(tfPostleitzahl);
gbc.gridx = 0; // x-Position im gedachten Gitter
gbc.gridy = 5; // y-Position im gedachten Gitter
gbl.setConstraints(labOrt, gbc);
panCenter.add(labOrt);
gbc.gridx = 1; // x-Position im gedachten Gitter
gbc.gridy = 5; // y-Position im gedachten Gitter
gbl.setConstraints(tfOrt, gbc);
panCenter.add(tfOrt);
gbc.gridx = 0;
gbc.gridy = 6;
gbl.setConstraints(labBundesland, gbc);
panCenter.add(labBundesland);
gbc.gridx = 1;
gbc.gridy = 6;
gbl.setConstraints(tfBDL, gbc);
panCenter.add(tfBDL);
gbc.gridx = 0; // x-Position im gedachten Gitter
gbc.gridy = 7; // y-Position im gedachten Gitter
gbl.setConstraints(labTele, gbc);
panCenter.add(labTele);
gbc.gridx = 1; // x-Position im gedachten Gitter
gbc.gridy = 7; // y-Position im gedachten Gitter
gbl.setConstraints(tfTele, gbc);
panCenter.add(tfTele);
gbc.gridx = 0; // x-Position im gedachten Gitter
gbc.gridy = 8; // y-Position im gedachten Gitter
gbl.setConstraints(labGebDat, gbc);
panCenter.add(labGebDat);
gbc.gridx = 1; // x-Position im gedachten Gitter
gbc.gridy = 8; // y-Position im gedachten Gitter
gbl.setConstraints(dpGebDat, gbc);
panCenter.add(dpGebDat);
gbc.gridx = 0; // x-Position im gedachten Gitter
gbc.gridy = 9; // y-Position im gedachten Gitter
gbl.setConstraints(labKinder, gbc);
panCenter.add(labKinder);
gbc.gridx = 1; // x-Position im gedachten Gitter
gbc.gridy = 9; // y-Position im gedachten Gitter
gbl.setConstraints(spKinder, gbc);
panCenter.add(spKinder);
gbc.gridx = 0;
gbc.gridy = 10;
gbl.setConstraints(labGehBrutto, gbc);
panCenter.add(labGehBrutto);
gbc.gridx = 1;
gbc.gridy = 10;
gbl.setConstraints(spGehBrutto, gbc);
panCenter.add(spGehBrutto);
gbc.gridx = 0;
gbc.gridy = 11;
gbl.setConstraints(labSonstBezug, gbc);
panCenter.add(labSonstBezug);
gbc.gridx = 1;
gbc.gridy = 11;
gbl.setConstraints(spSonstBezug, gbc);
panCenter.add(spSonstBezug);
gbc.gridx = 0;
gbc.gridy = 12;
gbl.setConstraints(labSonstAbzug, gbc);
panCenter.add(labSonstAbzug);
gbc.gridx = 1;
gbc.gridy = 12;
gbl.setConstraints(spSonstAbzug, gbc);
panCenter.add(spSonstAbzug);
gbc.gridx = 0;
gbc.gridy = 14;
gbl.setConstraints(labLSt, gbc);
panCenter.add(labLSt);
gbc.gridx = 1;
gbc.gridy = 14;
gbl.setConstraints(spLSt, gbc);
panCenter.add(spLSt);
gbc.gridx = 0;
gbc.gridy = 15;
gbl.setConstraints(labReligion, gbc);
panCenter.add(labReligion);
gbc.gridx = 1;
gbc.gridy = 15;
gbl.setConstraints(cbReligion, gbc);
panCenter.add(cbReligion);
gbc.gridx = 0;
gbc.gridy = 16;
gbl.setConstraints(labKiSt, gbc);
panCenter.add(labKiSt);
gbc.gridx = 1;
gbc.gridy = 16;
gbl.setConstraints(spKiSt, gbc);
panCenter.add(spKiSt);
gbc.gridx = 0;
gbc.gridy = 17;
gbl.setConstraints(labSoli, gbc);
panCenter.add(labSoli);
gbc.gridx = 1;
gbc.gridy = 17;
gbl.setConstraints(spSoli, gbc);
panCenter.add(spSoli);
gbc.gridx = 0;
gbc.gridy = 19;
gbl.setConstraints(labKrKasse, gbc);
panCenter.add(labKrKasse);
gbc.gridx = 1;
gbc.gridy = 19;
gbl.setConstraints(cbKrKasse, gbc);
panCenter.add(cbKrKasse);
labFoto = new JLabel(new ImageIcon(foto));
labFoto.setBorder(BorderFactory.createTitledBorder(
BorderFactory.createBevelBorder(BevelBorder.LOWERED,
Color.GRAY, Color.BLACK), "Foto"));
panLeft.setPreferredSize(new Dimension(130, 200));
panLeft.setLayout(new FlowLayout(FlowLayout.CENTER));
labFoto.setPreferredSize(new Dimension(120, 140));
panLeft.add(labFoto);
panLeft.add(upload);
panLeft.add(neu);
panLeft.add(bearb);
panLeft.add(save);
panLeft.add(delete);
panLeft.add(cancel);
panLeft.add(geloeschterMitarbeiter);
//Enum Status
switch (status) {
case ANZEIGEN:
break;
case BEARBEITEN: bearb();
break;
case LOESCHEN: delete();
break;
case NEU: neu();
break;
default:
break;
}
// Accelerator
upload.setMnemonic('�');
neu.setMnemonic('n');
bearb.setMnemonic('b');
save.setMnemonic('s');
delete.setMnemonic('l');
cancel.setMnemonic('c');
kbf = KeyboardFocusManager.
getCurrentKeyboardFocusManager();
final KeyEventDispatcher EventDispatcher = new KeyEventDispatcher() {
@Override
public boolean dispatchKeyEvent(KeyEvent e) {
boolean keyUsed = false;
if(e.getID() == KeyEvent.KEY_PRESSED && e.isControlDown()){
int kChar = e.getKeyCode();
if (kChar == 78){
neu.doClick();
keyUsed = true;
}else
if (kChar == 0){
upload.doClick();
keyUsed = true;
}else
if (kChar == 66){
bearb.doClick();
keyUsed = true;
}else
if (kChar == 83){
save.doClick();
keyUsed = true;
}else
if (kChar == 76){
delete.doClick();
keyUsed = true;
}else
if (kChar == 67){
cancel.doClick();
keyUsed = true;
}
}
return keyUsed;
}
};
kbf.addKeyEventDispatcher(EventDispatcher);
// Accelerator(
// KeyStroke.getKeyStroke(KeyEvent.VK_ASTERISK, InputEvent.CTRL_MASK)
// );
// ActionListener
cbAnrede.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
if (!initialNeu) {
try {
pers.setAnrede((String) cbAnrede.getSelectedItem());
} catch (FormatException e) {
JOptionPane.showMessageDialog(mainDialog,
"<html>Bitte Anrede w�hlen.</html>",
"Anrede w�hlen", JOptionPane.WARNING_MESSAGE);
}
}
}
});
tfNachname.addKeyListener(new KeyAdapter() {
@Override
public void keyReleased(KeyEvent e) {
pers.setNachname(tfNachname.getText());
}
});
tfVorname.addKeyListener(new KeyAdapter() {
@Override
public void keyReleased(KeyEvent e) {
pers.setVorname(tfVorname.getText());
}
});
tfStrasse.addKeyListener(new KeyAdapter() {
@Override
public void keyReleased(KeyEvent e) {
pers.setStrasse(tfStrasse.getText());
}
});
tfPostleitzahl.addKeyListener(new KeyAdapter() {
@Override
public void keyReleased(KeyEvent e) {
if (tfPostleitzahl.getText().isEmpty()) {
plzChanged = false;
}
if (!(plzLength == tfPostleitzahl.getText().length())
|| tfPostleitzahl.getText().length() > 5) {
plzLength = tfPostleitzahl.getText().length();
if (!tfPostleitzahl.getText().equals("")) {
try {
ResultSet rs = DataMgr.getInstance().getResultSet(
"SELECT * FROM `plz_ort_vorwahl`"
+ "WHERE Plz LIKE '"
+ tfPostleitzahl.getText() + "%'"
+ "LIMIT 0 , 1");
if (rs.next()) {
tfPostleitzahl.setText(rs.getString(4));
tfPostleitzahl.setSelectionStart(plzLength);
plzChanged = true;
lastValidPLZ = rs.getString(4);
} else {
plzChanged = false;
int length = tfPostleitzahl.getText().length();
tfPostleitzahl.setText(tfPostleitzahl.getText()
.substring(
0,
tfPostleitzahl.getText()
.length() - 1));
if (length <= 5) {
JOptionPane
.showMessageDialog(
mainDialog,
"<html>Die Postleitzahl existiert nicht" +
"<br>Bitte richtige Postleitzahl angeben</html>",
"Postleitzahl falsch",
JOptionPane.WARNING_MESSAGE);
}
}
} catch (InstantiationException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
mainDialog,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
} catch (IllegalAccessException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
mainDialog,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
} catch (ClassNotFoundException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
mainDialog,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
} catch (SQLException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
mainDialog,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
}
}
}
}
});
tfPostleitzahl.addFocusListener(new FocusAdapter() {
@Override
public void focusLost(FocusEvent e) {
if (tfPostleitzahl.isEnabled() && tfPostleitzahl.isEditable()
&& plzChanged) {
Object[] options = { "Ja, auch Telefon",
"Ja, ohne Telefon", "Nein" };
int auswahl = JOptionPane
.showOptionDialog(
mainDialog,
"<html>Achtung, die Felder :<br>"
+ " Wohnort<br>"
+ " Bundesland<br>"
+ "werden eingef�gt.<br>"
+ "Das Feld Telefon wird auf Wunsch mit der Vorwahl �berschrieben</html>",
"Auto-Vervollst�ndigung",
JOptionPane.YES_NO_CANCEL_OPTION,
JOptionPane.QUESTION_MESSAGE, null,
options, options[2]);
if (auswahl == 0 || auswahl == 1)
try {
ResultSet rs = DataMgr.getInstance().getResultSet(
"SELECT * FROM `plz_ort_vorwahl`"
+ "WHERE Plz LIKE '" + lastValidPLZ
+ "%'" + "ORDER BY Ort ASC");
ArrayList<ArrayList<String>> plz_ort_data = new ArrayList<ArrayList<String>>();
while (rs.next()) {
ArrayList<String> data = new ArrayList<String>();
data.add(rs.getString(1));
data.add(rs.getString(2));
data.add(rs.getString(3));
data.add(rs.getString(4));
data.add(rs.getString(5));
data.add(rs.getString(6));
plz_ort_data.add(data);
}
int richtigerOrtId = -1;
if (plz_ort_data.size() == 1) {
richtigerOrtId = 0;
} else {
ArrayList<Object> alPossibilities = new ArrayList<Object>();
for (int i = 0; i < plz_ort_data.size(); i++) {
alPossibilities.add(plz_ort_data.get(i)
.get(1));
}
Object[] possibilities = alPossibilities
.toArray();
String ort = (String) JOptionPane
.showInputDialog(
mainDialog,
"<html>Mehrere Orte wurden zu Ihrer Postleitzahl gefunden<br>"
+ "Bitte w�hlen Sie passenden aus.</html>",
"Auto-Vervollst�ndigung",
JOptionPane.PLAIN_MESSAGE,
null, possibilities,
possibilities[0]);
for (int i = 0; i < plz_ort_data.size(); i++) {
if (plz_ort_data.get(i).get(1).equals(ort))
richtigerOrtId = i;
}
}
if (richtigerOrtId != -1) {
plzChanged = false;
plzID = Integer.parseInt(plz_ort_data.get(
richtigerOrtId).get(0));
pers.setPlzID(plzID);
tfOrt.setText(plz_ort_data.get(richtigerOrtId)
.get(1)
+ " "
+ plz_ort_data.get(richtigerOrtId).get(
2));
rs = DataMgr.getInstance().getResultSet(
"SELECT Name, Soli FROM bundeslaender WHERE BLID = '"
+ plz_ort_data.get(
richtigerOrtId).get(5)
+ "'");
while (rs.next()) {
tfBDL.setText(rs.getString(1));
soli = rs.getInt(2);
}
if (soli == 1) {
spSoli.setEnabled(true);
} else {
spSoli.setEnabled(false);
spSoli.setValue(0.0);
}
if (auswahl == 0) {
if (JOptionPane
.showOptionDialog(
mainDialog,
"<html>Achtung, das Feld :<br>"
+ " Telefon<br>"
+ "wird mit der Vorwahl �berschrieben<br>"
+ "M�chten Sie wirklich fortfahren?</html>",
"Auto-Vervollst�ndigung",
JOptionPane.YES_NO_OPTION,
JOptionPane.QUESTION_MESSAGE,
null, null, null) == 0)
if (!plz_ort_data.get(richtigerOrtId)
.get(4).equals("0"))
tfTele.setText("0"
+ plz_ort_data.get(
richtigerOrtId)
.get(4));
}
}
} catch (SQLException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
mainDialog,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
} catch (InstantiationException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
mainDialog,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
} catch (IllegalAccessException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
mainDialog,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
} catch (ClassNotFoundException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
mainDialog,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
}
}
}
});
tfTele.addKeyListener(new KeyAdapter() {
@Override
public void keyReleased(KeyEvent e) {
pers.setTele(tfTele.getText());
}
});
dpGebDat.addPropertyChangeListener(new PropertyChangeListener() {
@Override
public void propertyChange(PropertyChangeEvent arg0) {
pers.setGebDat(dpGebDat.getDate());
}
});
spKinder.addChangeListener(new ChangeListener() {
@Override
public void stateChanged(ChangeEvent e) {
pers.setKinder((Double) spKinder.getValue());
}
});
spGehBrutto.addChangeListener(new ChangeListener() {
@Override
public void stateChanged(ChangeEvent e) {
pers.setGehBrutto((Double) spGehBrutto.getValue());
}
});
spSonstBezug.addChangeListener(new ChangeListener() {
@Override
public void stateChanged(ChangeEvent e) {
pers.setSonstBezug((Double) spSonstBezug.getValue());
}
});
spSonstAbzug.addChangeListener(new ChangeListener() {
@Override
public void stateChanged(ChangeEvent e) {
pers.setSonstAbzug((Double) spSonstAbzug.getValue());
}
});
spLSt.addChangeListener(new ChangeListener() {
@Override
public void stateChanged(ChangeEvent e) {
pers.setLst((Double) spLSt.getValue());
}
});
cbReligion.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if (!initialNeu) {
Religion rel = (Religion) cbReligion.getSelectedItem();
try {
pers.setReligionID(rel.getReligionID());
} catch (FormatException e1) {
JOptionPane.showMessageDialog(mainDialog,
"<html>Bitte Konfession w�hlen.</html>",
"Konfession w�hlen",
JOptionPane.WARNING_MESSAGE);
}
if (rel.getKiSt() == 1) {
spKiSt.setEnabled(true);
} else {
spKiSt.setEnabled(false);
spKiSt.setValue(0);
}
}
}
});
spKiSt.addChangeListener(new ChangeListener() {
@Override
public void stateChanged(ChangeEvent e) {
if (spKiSt.isEnabled()) {
pers.setKiSt((Double) spKiSt.getValue());
} else {
spKiSt.setValue((Double) 0.0);
pers.setKiSt((Double) 0.0);
}
}
});
spSoli.addChangeListener(new ChangeListener() {
@Override
public void stateChanged(ChangeEvent e) {
if (spSoli.isEnabled()) {
pers.setSoli((Double) spSoli.getValue());
} else {
spSoli.setValue((Double) 0.0);
pers.setSoli((Double) 0.0);
}
}
});
cbKrKasse.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if (!initialNeu) {
Krankenkasse krKasse = (Krankenkasse) cbKrKasse
.getSelectedItem();
try {
pers.setKrKasseID(krKasse.getKrKasseID());
} catch (FormatException e1) {
JOptionPane.showMessageDialog(mainDialog,
"<html>Bitte Krankenkasse w�hlen.</html>",
"Krankenkasse w�hlen",
JOptionPane.WARNING_MESSAGE);
}
}
}
});
upload.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
// GIF, JPEG or PNG files allowed
File file = new File("");
JFileChooser fc = new JFileChooser(file.getAbsolutePath());
fc.setSelectedFile(file);
fc.setFileFilter(new FileFilter() {
@Override
public String getDescription() {
return "Bilddateien";
}
@Override
public boolean accept(File f) {
if (f.isDirectory() == true)
return true;
if (f.getName().endsWith(".gif"))
return true;
if (f.getName().endsWith(".jpg"))
return true;
if (f.getName().endsWith(".jpeg"))
return true;
if (f.getName().endsWith(".png"))
return true;
if (f.getName().endsWith(".Gif"))
return true;
if (f.getName().endsWith(".Jpg"))
return true;
if (f.getName().endsWith(".Jpeg"))
return true;
if (f.getName().endsWith(".Png"))
return true;
if (f.getName().endsWith(".GIF"))
return true;
if (f.getName().endsWith(".JPG"))
return true;
if (f.getName().endsWith(".JPEG"))
return true;
if (f.getName().endsWith(".PNG"))
return true;
return false;
}
});
fc.setFileHidingEnabled(true);
fc.setApproveButtonText("Bild verwenden");
fc.setApproveButtonToolTipText("Ausgew�hltes Bild wird Mitarbeiter zugewiesen.");
fc.setApproveButtonMnemonic(KeyEvent.VK_S);
fc.setMultiSelectionEnabled(false);
int state = fc.showOpenDialog(null);
if (state == JFileChooser.APPROVE_OPTION
&& JOptionPane
.showOptionDialog(
mainDialog,
"<html>M�chten Sie das Bild wirklich �ndern?<br>"
+ "Dieser Vorgang ist nicht mehr r�ckg�ngig zu machen.</html>",
"Bild �ndern",
JOptionPane.YES_NO_CANCEL_OPTION,
JOptionPane.QUESTION_MESSAGE, null,
null, null) == 0) {
try {
pers.setFoto(ImageIO.read(new File(fc.getSelectedFile()
.getAbsolutePath())), true);
} catch (InstantiationException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(mainDialog,
e.getMessage() + System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.", "Fehler",
JOptionPane.WARNING_MESSAGE);
System.exit(1);
} catch (IllegalAccessException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(mainDialog,
e.getMessage() + System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.", "Fehler",
JOptionPane.WARNING_MESSAGE);
System.exit(1);
} catch (ClassNotFoundException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(mainDialog,
e.getMessage() + System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.", "Fehler",
JOptionPane.WARNING_MESSAGE);
System.exit(1);
} catch (SQLException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(mainDialog,
e.getMessage() + System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.", "Fehler",
JOptionPane.WARNING_MESSAGE);
System.exit(1);
} catch (IOException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(mainDialog,
e.getMessage() + System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.", "Fehler",
JOptionPane.WARNING_MESSAGE);
System.exit(1);
} catch (FormatException e) {
JOptionPane.showMessageDialog(mainDialog, e.getMessage(),
"Fehler", JOptionPane.WARNING_MESSAGE);
}
try {
foto = pers.getFoto();
labFoto.setIcon(new ImageIcon(foto));
labFoto.updateUI();
labFoto.repaint();
} catch (InstantiationException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(mainDialog,
e.getMessage() + System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.", "Fehler",
JOptionPane.WARNING_MESSAGE);
System.exit(1);
} catch (IllegalAccessException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(mainDialog,
e.getMessage() + System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.", "Fehler",
JOptionPane.WARNING_MESSAGE);
System.exit(1);
} catch (ClassNotFoundException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(mainDialog,
e.getMessage() + System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.", "Fehler",
JOptionPane.WARNING_MESSAGE);
System.exit(1);
} catch (SQLException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(mainDialog,
e.getMessage() + System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.", "Fehler",
JOptionPane.WARNING_MESSAGE);
System.exit(1);
} catch (IOException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(mainDialog,
e.getMessage() + System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.", "Fehler",
JOptionPane.WARNING_MESSAGE);
System.exit(1);
} catch (FormatException e) {
JOptionPane.showMessageDialog(mainDialog, e.getMessage(),
"Fehler", JOptionPane.WARNING_MESSAGE);
}
}
}
});
neu.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
neu();
}
});
bearb.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
bearb();
}
});
save.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
if (JOptionPane.showOptionDialog(mainDialog,
"<html>M�chten Sie wirklich Speichern?" + "</html>",
"Auto-Vervollst�ndigung",
JOptionPane.YES_NO_CANCEL_OPTION,
JOptionPane.QUESTION_MESSAGE, null, null, null) == 0) {
try {
pers.storeToDB();
if(status == Status.BEARBEITEN || status == Status.NEU){
kbf.removeKeyEventDispatcher(EventDispatcher);
mainDialog.dispose();
GehaltTreeTable.tableUpdate();
}
cancel.setText("Schlie�en");
lastPersID = pers.getPersID();
cbAnrede.setEnabled(false);
tfNachname.setEnabled(false);
tfVorname.setEnabled(false);
tfStrasse.setEnabled(false);
tfPostleitzahl.setEnabled(false);
tfTele.setEnabled(false);
dpGebDat.setEditable(false);
dpGebDat.setEnabled(false);
spKinder.setEnabled(false);
spGehBrutto.setEnabled(false);
spSonstBezug.setEnabled(false);
spSonstAbzug.setEnabled(false);
spLSt.setEnabled(false);
cbReligion.setEnabled(false);
cbKrKasse.setEnabled(false);
spKiSt.setEnabled(false);
spSoli.setEnabled(false);
save.setEnabled(false);
btnVor.setEnabled(true);
btnZurueck.setEnabled(true);
tfAktID.setEnabled(true);
if (!neu.isEnabled()) {
neu.setEnabled(true);
}
if (!bearb.isEnabled()) {
bearb.setEnabled(true);
}
if (!delete.isEnabled()) {
delete.setEnabled(true);
}
setIdList();
tfAktID.setText("" + pers.getPersID());
} catch (SQLException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(mainDialog,
e.getMessage() + System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.", "Fehler",
JOptionPane.WARNING_MESSAGE);
System.exit(1);
} catch (InstantiationException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(mainDialog,
e.getMessage() + System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.", "Fehler",
JOptionPane.WARNING_MESSAGE);
System.exit(1);
} catch (IllegalAccessException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(mainDialog,
e.getMessage() + System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.", "Fehler",
JOptionPane.WARNING_MESSAGE);
System.exit(1);
} catch (ClassNotFoundException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(mainDialog,
e.getMessage() + System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.", "Fehler",
JOptionPane.WARNING_MESSAGE);
System.exit(1);
} catch (FormatException e) {
JOptionPane.showMessageDialog(mainDialog, e.getMessage(),
"Formatfehler", JOptionPane.WARNING_MESSAGE);
} catch (IOException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(mainDialog,
e.getMessage() + System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.", "Fehler",
JOptionPane.WARNING_MESSAGE);
System.exit(1);
}
}
}
});
delete.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
delete();
}
});
cancel.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if (!neu.isEnabled() && !bearb.isEnabled()
&& !delete.isEnabled() && pers.getPersID() != 0) {
if (JOptionPane
.showOptionDialog(
mainDialog,
"<html>Achtung, alle �nderungen werden verworfen. :<br>"
+ "M�chten Sie wirklich fortfahren?</html>",
"Abbrechen", JOptionPane.YES_NO_OPTION,
JOptionPane.QUESTION_MESSAGE, null, null,
null) == 0) {
if(status == Status.BEARBEITEN){
kbf.removeKeyEventDispatcher(EventDispatcher);
mainDialog.dispose();
}
cancel.setText("Schlie�en");
cbAnrede.setEnabled(false);
tfNachname.setEnabled(false);
tfVorname.setEnabled(false);
tfStrasse.setEnabled(false);
tfPostleitzahl.setEnabled(false);
tfTele.setEnabled(false);
dpGebDat.setEditable(false);
dpGebDat.setEnabled(false);
spKinder.setEnabled(false);
spGehBrutto.setEnabled(false);
spSonstBezug.setEnabled(false);
spSonstAbzug.setEnabled(false);
spLSt.setEnabled(false);
cbReligion.setEnabled(false);
cbKrKasse.setEnabled(false);
spKiSt.setEnabled(false);
spSoli.setEnabled(false);
save.setEnabled(false);
btnVor.setEnabled(true);
btnZurueck.setEnabled(true);
tfAktID.setEnabled(true);
if (!neu.isEnabled()) {
neu.setEnabled(true);
}
if (!bearb.isEnabled()) {
bearb.setEnabled(true);
}
if (!delete.isEnabled()) {
delete.setEnabled(true);
}
try {
initialNeu = true;
pers = new Person(pers.getPersID());
cbAnrede.setSelectedItem(pers.getAnrede());
tfNachname.setText(pers.getNachname());
tfVorname.setText(pers.getVorname());
tfStrasse.setText(pers.getStrasse());
plzID = pers.getPlzID();
tfTele.setText(pers.getTele());
dpGebDat.setDate(pers.getGebDat());
foto = pers.getFoto();
spKinder.setValue(pers.getKinder());
religionID = pers.getReligionID();
spGehBrutto.setValue(pers.getGehBrutto());
spLSt.setValue(pers.getLst());
spKiSt.setValue(pers.getKiSt());
spSoli.setValue(pers.getSoli());
krKasseID = pers.getKrKasseID();
spSonstBezug.setValue(pers.getSonstBezug());
spSonstAbzug.setValue(pers.getSonstAbzug());
setReligionenChange();
setKrankenkasseChange();
setPlzOrtBdl();
tfAktID.setText("" + pers.getPersID());
initialNeu = false;
} catch (InstantiationException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
mainDialog,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
} catch (IllegalAccessException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
mainDialog,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
} catch (ClassNotFoundException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
mainDialog,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
} catch (SQLException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
mainDialog,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
} catch (IOException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
mainDialog,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
} catch (FormatException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
mainDialog,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
}
spKiSt.setEnabled(false);
}
} else if (!neu.isEnabled() && !bearb.isEnabled()
&& !delete.isEnabled() && pers.getPersID() == 0) {
if (JOptionPane
.showOptionDialog(
mainDialog,
"<html>Achtung, alle �nderungen werden verworfen. :<br>"
+ "M�chten Sie wirklich fortfahren?</html>",
"Abbrechen", JOptionPane.YES_NO_OPTION,
JOptionPane.QUESTION_MESSAGE, null, null,
null) == 0) {
if(status == Status.NEU){
kbf.removeKeyEventDispatcher(EventDispatcher);
mainDialog.dispose();
}
cancel.setText("Schlie�en");
cbAnrede.setEnabled(false);
tfNachname.setEnabled(false);
tfVorname.setEnabled(false);
tfStrasse.setEnabled(false);
tfPostleitzahl.setEnabled(false);
tfTele.setEnabled(false);
dpGebDat.setEditable(false);
dpGebDat.setEnabled(false);
spKinder.setEnabled(false);
spGehBrutto.setEnabled(false);
spSonstBezug.setEnabled(false);
spSonstAbzug.setEnabled(false);
spLSt.setEnabled(false);
cbReligion.setEnabled(false);
cbKrKasse.setEnabled(false);
spKiSt.setEnabled(false);
spSoli.setEnabled(false);
save.setEnabled(false);
btnVor.setEnabled(true);
btnZurueck.setEnabled(true);
tfAktID.setEnabled(true);
if (!neu.isEnabled()) {
neu.setEnabled(true);
}
if (!bearb.isEnabled()) {
bearb.setEnabled(true);
}
if (!delete.isEnabled()) {
delete.setEnabled(true);
}
try {
initialNeu = true;
pers = new Person(lastPersID);
cbAnrede.setSelectedItem(pers.getAnrede());
tfNachname.setText(pers.getNachname());
tfVorname.setText(pers.getVorname());
tfStrasse.setText(pers.getStrasse());
plzID = pers.getPlzID();
tfTele.setText(pers.getTele());
dpGebDat.setDate(pers.getGebDat());
foto = pers.getFoto();
labFoto.setIcon(new ImageIcon(foto));
spKinder.setValue(pers.getKinder());
religionID = pers.getReligionID();
spGehBrutto.setValue(pers.getGehBrutto());
spLSt.setValue(pers.getLst());
spKiSt.setValue(pers.getKiSt());
spSoli.setValue(pers.getSoli());
krKasseID = pers.getKrKasseID();
spSonstBezug.setValue(pers.getSonstBezug());
spSonstAbzug.setValue(pers.getSonstAbzug());
setReligionenChange();
setKrankenkasseChange();
setPlzOrtBdl();
if (pers.getLoeschDat() != null) {
upload.setEnabled(false);
bearb.setEnabled(false);
delete.setEnabled(false);
geloeschterMitarbeiter.setVisible(true);
labStatus.setText("gel�schter Mitarbeiter");
}
spKiSt.setEnabled(false);
tfAktID.setText("" + pers.getPersID());
initialNeu = false;
} catch (InstantiationException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
mainDialog,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
} catch (IllegalAccessException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
mainDialog,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
} catch (ClassNotFoundException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
mainDialog,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
} catch (SQLException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
mainDialog,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
} catch (IOException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
mainDialog,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
} catch (FormatException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
mainDialog,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler", JOptionPane.WARNING_MESSAGE);
System.exit(1);
}
spKiSt.setEnabled(false);
}
} else {
kbf.removeKeyEventDispatcher(EventDispatcher);
mainDialog.dispose();
}
mainDialog.pack();
mainDialog.repaint();
}
});
btnVor.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
if (!aktIDFormfehler) {
boolean changed = false;
int aktID = Integer.parseInt(tfAktID.getText());
int i = -1;
do {
i++;
if (persList.get(i).getPersID() == aktID) {
do {
i++;
if (i >= persList.size()) {
i = 0;
}
if (persList.get(i).getLoeschDat() == null) {
try {
setAktID(persList.get(i).getPersID());
tfAktID.setText("" + pers.getPersID());
changed = true;
} catch (InstantiationException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(
mainDialog,
e.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler",
JOptionPane.WARNING_MESSAGE);
System.exit(1);
} catch (IllegalAccessException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(
mainDialog,
e.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler",
JOptionPane.WARNING_MESSAGE);
System.exit(1);
} catch (ClassNotFoundException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(
mainDialog,
e.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler",
JOptionPane.WARNING_MESSAGE);
System.exit(1);
} catch (SQLException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(
mainDialog,
e.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler",
JOptionPane.WARNING_MESSAGE);
System.exit(1);
} catch (IOException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(
mainDialog,
e.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler",
JOptionPane.WARNING_MESSAGE);
System.exit(1);
} catch (FormatException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(
mainDialog,
e.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler",
JOptionPane.WARNING_MESSAGE);
System.exit(1);
}
}
} while (!changed);
}
} while (!changed);
} else {
aktIDFormfehler = false;
}
}
});
btnZurueck.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if (!aktIDFormfehler) {
boolean changed = false;
int aktID = Integer.parseInt(tfAktID.getText());
int i = persList.size();
do {
i--;
if (persList.get(i).getPersID() == aktID) {
do {
i--;
if (i < 0) {
i = persList.size() - 1;
}
if (persList.get(i).getLoeschDat() == null) {
try {
setAktID(persList.get(i).getPersID());
tfAktID.setText("" + pers.getPersID());
changed = true;
} catch (InstantiationException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
mainDialog,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler",
JOptionPane.WARNING_MESSAGE);
System.exit(1);
} catch (IllegalAccessException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
mainDialog,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler",
JOptionPane.WARNING_MESSAGE);
System.exit(1);
} catch (ClassNotFoundException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
mainDialog,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler",
JOptionPane.WARNING_MESSAGE);
System.exit(1);
} catch (SQLException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
mainDialog,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler",
JOptionPane.WARNING_MESSAGE);
System.exit(1);
} catch (IOException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
mainDialog,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler",
JOptionPane.WARNING_MESSAGE);
System.exit(1);
} catch (FormatException e1) {
JOptionPane.showMessageDialog(
mainDialog,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.",
"Fehler",
JOptionPane.WARNING_MESSAGE);
System.exit(1);
}
}
} while (!changed);
}
} while (!changed);
} else {
aktIDFormfehler = false;
}
}
});
tfAktID.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
try {
aktIDFehler = false;
if (tfAktID.getText().matches("[1-9][0-9]*")) {
setAktID(Integer.parseInt(tfAktID.getText()));
} else {
JOptionPane
.showMessageDialog(
mainDialog,
"<html>Eingabefehler, keine g�ltige Zahl.</html>",
"Fehler", JOptionPane.WARNING_MESSAGE);
tfAktID.setText("" + pers.getPersID());
aktIDFormfehler = true;
}
} catch (NumberFormatException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
mainDialog,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.", "Fehler",
JOptionPane.WARNING_MESSAGE);
System.exit(1);
} catch (InstantiationException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
mainDialog,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.", "Fehler",
JOptionPane.WARNING_MESSAGE);
System.exit(1);
} catch (IllegalAccessException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
mainDialog,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.", "Fehler",
JOptionPane.WARNING_MESSAGE);
System.exit(1);
} catch (ClassNotFoundException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
mainDialog,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.", "Fehler",
JOptionPane.WARNING_MESSAGE);
System.exit(1);
} catch (SQLException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
mainDialog,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.", "Fehler",
JOptionPane.WARNING_MESSAGE);
System.exit(1);
} catch (IOException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
mainDialog,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.", "Fehler",
JOptionPane.WARNING_MESSAGE);
System.exit(1);
} catch (FormatException e1) {
JOptionPane.showMessageDialog(
mainDialog,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.", "Fehler",
JOptionPane.WARNING_MESSAGE);
System.exit(1);
}
}
});
tfAktID.addFocusListener(new FocusAdapter() {
@Override
public void focusLost(FocusEvent arg0) {
try {
if (!aktIDFehler) {
if (tfAktID.getText().matches("[1-9][0-9]*")) {
setAktID(Integer.parseInt(tfAktID.getText()));
} else {
tfAktID.setText("" + pers.getPersID());
JOptionPane
.showMessageDialog(
mainDialog,
"<html>Eingabefehler, keine g�ltige Zahl.</html>",
"Fehler",
JOptionPane.WARNING_MESSAGE);
tfAktID.setText("" + pers.getPersID());
aktIDFormfehler = true;
}
} else {
aktIDFehler = false;
}
} catch (NumberFormatException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(
mainDialog,
e.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.", "Fehler",
JOptionPane.WARNING_MESSAGE);
System.exit(1);
} catch (InstantiationException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(
mainDialog,
e.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.", "Fehler",
JOptionPane.WARNING_MESSAGE);
System.exit(1);
} catch (IllegalAccessException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(
mainDialog,
e.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.", "Fehler",
JOptionPane.WARNING_MESSAGE);
System.exit(1);
} catch (ClassNotFoundException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(
mainDialog,
e.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.", "Fehler",
JOptionPane.WARNING_MESSAGE);
System.exit(1);
} catch (SQLException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(
mainDialog,
e.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.", "Fehler",
JOptionPane.WARNING_MESSAGE);
System.exit(1);
} catch (IOException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(
mainDialog,
e.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.", "Fehler",
JOptionPane.WARNING_MESSAGE);
System.exit(1);
} catch (FormatException e) {
JOptionPane.showMessageDialog(
mainDialog,
e.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.", "Fehler",
JOptionPane.WARNING_MESSAGE);
System.exit(1);
}
}
});
mainDialog.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
if (!neu.isEnabled() && !bearb.isEnabled()
&& !delete.isEnabled() && pers.getPersID() != 0) {
if (JOptionPane
.showOptionDialog(
mainDialog,
"<html>Achtung, alle �nderungen werden verworfen. :<br>"
+ "M�chten Sie wirklich fortfahren?</html>",
"Abbrechen", JOptionPane.YES_NO_OPTION,
JOptionPane.QUESTION_MESSAGE, null, null,
null) == 0) {
kbf.removeKeyEventDispatcher(EventDispatcher);
mainDialog.dispose();
}
} else if (!neu.isEnabled() && !bearb.isEnabled()
&& !delete.isEnabled() && pers.getPersID() == 0) {
if (JOptionPane
.showOptionDialog(
mainDialog,
"<html>Achtung, alle �nderungen werden verworfen. :<br>"
+ "M�chten Sie wirklich fortfahren?</html>",
"Abbrechen", JOptionPane.YES_NO_OPTION,
JOptionPane.QUESTION_MESSAGE, null, null,
null) == 0) {
kbf.removeKeyEventDispatcher(EventDispatcher);
mainDialog.dispose();
}
} else {
kbf.removeKeyEventDispatcher(EventDispatcher);
mainDialog.dispose();
}
}
@Override
public void windowClosed(WindowEvent e) {
GehaltTreeTable.tableUpdate();
}
});
mainDialog.pack();
mainDialog.setAlwaysOnTop(true);
Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
int x = (int) dim.getWidth() - 506;
int y = (int) dim.getHeight() - 513;
x = x / 2;
y = y / 2;
mainDialog.setLocation(x, y);
if(status != Status.LOESCHEN){
mainDialog.setVisible(true);
}else{
kbf.removeKeyEventDispatcher(EventDispatcher);
mainDialog.dispose();
}
}
public static void setTfUhrzeit(String zeit) {
labUhrzeit.setText(zeit);
}
private void setReligionenInitial() {
try {
Statement stmt = DataMgr.getInstance().getStatement();
String statement = "SELECT * FROM religion";
ResultSet rs = stmt.executeQuery(statement);
Religion relStart = new Religion(-1, "Bitte Konfession w�hlen", 0);
int religionID = 0;
cbReligion.addItem(relStart);
while (rs.next()) {
Religion rel = new Religion(rs.getInt(1), rs.getString(2),
rs.getInt(3));
cbReligion.addItem(rel);
if (this.religionID != 0 && this.religionID == rs.getInt(1)) {
religionID = cbReligion.getItemCount() - 1;
cbReligion.setSelectedIndex(religionID);
}
}
} catch (InstantiationException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(
mainDialog,
e.getMessage() + System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.", "Fehler",
JOptionPane.WARNING_MESSAGE);
System.exit(1);
} catch (IllegalAccessException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(
mainDialog,
e.getMessage() + System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.", "Fehler",
JOptionPane.WARNING_MESSAGE);
System.exit(1);
} catch (ClassNotFoundException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(
mainDialog,
e.getMessage() + System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.", "Fehler",
JOptionPane.WARNING_MESSAGE);
System.exit(1);
} catch (SQLException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(
mainDialog,
e.getMessage() + System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.", "Fehler",
JOptionPane.WARNING_MESSAGE);
System.exit(1);
}
}
private void setReligionenChange() {
initialNeu = true;
cbReligion.setSelectedIndex(0);
Religion rel = null;
int i;
for (i = 0; i < cbReligion.getItemCount(); i++) {
rel = (Religion) cbReligion.getItemAt(i);
if (rel.getReligionID() == pers.getReligionID()) {
cbReligion.setSelectedIndex(i);
}
}
initialNeu = false;
}
private void setKrankenkasseInitial() {
try {
Statement stmt = DataMgr.getInstance().getStatement();
String statement = "SELECT * FROM krankenkasse";
ResultSet rs = stmt.executeQuery(statement);
Krankenkasse krStart = new Krankenkasse(-1,
"Bitte Krankenkasse w�hlen", 0.0);
cbKrKasse.addItem(krStart);
int krKasseID = 0;
while (rs.next()) {
Krankenkasse krKasse = new Krankenkasse(rs.getInt(1),
rs.getString(2), rs.getDouble(3));
cbKrKasse.addItem(krKasse);
if (this.krKasseID != 0 && this.krKasseID == rs.getInt(1)) {
krKasseID = cbKrKasse.getItemCount() - 1;
cbKrKasse.setSelectedIndex(krKasseID);
}
}
} catch (InstantiationException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(
mainDialog,
e.getMessage() + System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.", "Fehler",
JOptionPane.WARNING_MESSAGE);
System.exit(1);
} catch (IllegalAccessException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(
mainDialog,
e.getMessage() + System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.", "Fehler",
JOptionPane.WARNING_MESSAGE);
System.exit(1);
} catch (ClassNotFoundException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(
mainDialog,
e.getMessage() + System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.", "Fehler",
JOptionPane.WARNING_MESSAGE);
System.exit(1);
} catch (SQLException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(
mainDialog,
e.getMessage() + System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.", "Fehler",
JOptionPane.WARNING_MESSAGE);
System.exit(1);
}
}
private void setKrankenkasseChange() {
initialNeu = true;
cbKrKasse.setSelectedIndex(0);
Krankenkasse krKasse = null;
int i;
for (i = 0; i < cbKrKasse.getItemCount(); i++) {
krKasse = (Krankenkasse) cbKrKasse.getItemAt(i);
if (krKasse.getKrKasseID() == pers.getKrKasseID()) {
cbKrKasse.setSelectedIndex(i);
}
}
initialNeu = false;
}
public int getPlzID() {
return plzID;
}
private void setGebDatLimits() {
// Kalenderbegrenzung
Calendar now = Calendar.getInstance(), calB = Calendar.getInstance(), calE = Calendar
.getInstance();
DefaultDateSelectionModel dsm = new DefaultDateSelectionModel();
calB.add(Calendar.MONTH, -1200);
dsm.setLowerBound(calB.getTime());
dsm.setUpperBound(calE.getTime());
JXMonthView mv = new JXMonthView(new Date(), dsm, null);
// mv.setPreferredRows(1);
// mv.setPreferredCols(2);
mv.setTraversable(true);
dpGebDat.setDate(now.getTime());
dpGebDat.setMonthView(mv);
}
private void setPlzOrtBdl() throws InstantiationException,
IllegalAccessException, ClassNotFoundException, SQLException {
ResultSet rs = DataMgr
.getInstance()
.getResultSet(
"SELECT `plz_ort_vorwahl`.`Ort`, `plz_ort_vorwahl`.`Zusatz`," +
"`plz_ort_vorwahl`.`Plz`, `bundeslaender`.`Name`, `bundeslaender`.`Soli` "
+ "FROM `plz_ort_vorwahl` INNER JOIN `bundeslaender` " +
"ON (`plz_ort_vorwahl`.`BLID` = `bundeslaender`.`BLID`)"
+ "WHERE PlzID LIKE '" + plzID + "'");
if (rs.next()) {
tfOrt.setText(rs.getString(1) + " " + rs.getString(2));
tfPostleitzahl.setText(rs.getString(3));
plzLength = tfPostleitzahl.getText().length();
tfBDL.setText(rs.getString(4));
soli = rs.getInt(5);
}
}
private void setIdList() throws InstantiationException,
IllegalAccessException, ClassNotFoundException, SQLException,
IOException, FormatException {
persList = new ArrayList<Person>();
ResultSet rs = DataMgr.getInstance().getResultSet(
"SELECT `PersID` FROM `Personen` ORDER BY `PersID` ASC");
while (rs.next()) {
persList.add(new Person(rs.getInt(1)));
}
}
private void setAktID(int id) throws InstantiationException,
IllegalAccessException, ClassNotFoundException, SQLException,
IOException, FormatException {
int i = -1;
boolean changed = false;
do {
i++;
if (persList.get(i).getPersID() == id) {
initialNeu = true;
changed = true;
lastPersID = id;
pers = new Person(lastPersID);
cbAnrede.setSelectedItem(pers.getAnrede());
tfNachname.setText(pers.getNachname());
tfVorname.setText(pers.getVorname());
tfStrasse.setText(pers.getStrasse());
plzID = pers.getPlzID();
tfTele.setText(pers.getTele());
dpGebDat.setDate(pers.getGebDat());
foto = pers.getFoto();
labFoto.setIcon(new ImageIcon(foto));
spKinder.setValue(pers.getKinder());
religionID = pers.getReligionID();
spGehBrutto.setValue(pers.getGehBrutto());
spLSt.setValue(pers.getLst());
spKiSt.setValue(pers.getKiSt());
spSoli.setValue(pers.getSoli());
krKasseID = pers.getKrKasseID();
spSonstBezug.setValue(pers.getSonstBezug());
spSonstAbzug.setValue(pers.getSonstAbzug());
setReligionenChange();
setKrankenkasseChange();
setPlzOrtBdl();
if (pers.getLoeschDat() != null) {
upload.setEnabled(false);
bearb.setEnabled(false);
delete.setEnabled(false);
geloeschterMitarbeiter.setVisible(true);
labStatus.setText("gel�schter Mitarbeiter");
} else {
upload.setEnabled(true);
bearb.setEnabled(true);
delete.setEnabled(true);
geloeschterMitarbeiter.setVisible(false);
labStatus.setText(" ");
}
spKiSt.setEnabled(false);
initialNeu = false;
}
} while (persList.get(i).getPersID() != id && i < persList.size() - 1);
if (!changed) {
aktIDFehler = true;
JOptionPane.showMessageDialog(mainDialog,
"<html>Mitarbeiternummer existiert nicht.</html>",
"Fehler", JOptionPane.WARNING_MESSAGE);
tfAktID.setText("" + lastPersID);
}
}
public enum Status{
ANZEIGEN, NEU, BEARBEITEN, LOESCHEN
}
private void bearb(){
cancel.setText("Abbrechen");
cbAnrede.setEnabled(true);
tfNachname.setEnabled(true);
tfVorname.setEnabled(true);
tfStrasse.setEnabled(true);
tfPostleitzahl.setEnabled(true);
tfTele.setEnabled(true);
dpGebDat.setEditable(true);
dpGebDat.setEnabled(true);
spKinder.setEnabled(true);
spGehBrutto.setEnabled(true);
spSonstBezug.setEnabled(true);
spSonstAbzug.setEnabled(true);
spLSt.setEnabled(true);
cbReligion.setEnabled(true);
cbKrKasse.setEnabled(true);
save.setEnabled(true);
bearb.setEnabled(false);
neu.setEnabled(false);
delete.setEnabled(false);
btnVor.setEnabled(false);
btnZurueck.setEnabled(false);
tfAktID.setEnabled(false);
Religion rel = (Religion) cbReligion.getSelectedItem();
if (rel.getKiSt() == 1) {
spKiSt.setEnabled(true);
}
if (soli == 1) {
spSoli.setEnabled(true);
}
mainDialog.pack();
mainDialog.repaint();
tfNachname.requestFocus();
}
private void neu(){
cancel.setText("Abbrechen");
initialNeu = true;
setGebDatLimits();
pers = new Person();
cbAnrede.setSelectedIndex(0);
tfNachname.setText("");
tfVorname.setText("");
tfStrasse.setText("");
plzID = 0;
tfTele.setText("");
dpGebDat.setDate(null);
try {
foto = pers.getFoto();
labFoto.setIcon(new ImageIcon(foto));
} catch (InstantiationException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
mainDialog,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.", "Fehler",
JOptionPane.WARNING_MESSAGE);
System.exit(1);
} catch (IllegalAccessException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
mainDialog,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.", "Fehler",
JOptionPane.WARNING_MESSAGE);
System.exit(1);
} catch (ClassNotFoundException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
mainDialog,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.", "Fehler",
JOptionPane.WARNING_MESSAGE);
System.exit(1);
} catch (SQLException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
mainDialog,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.", "Fehler",
JOptionPane.WARNING_MESSAGE);
System.exit(1);
} catch (IOException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(
mainDialog,
e1.getMessage()
+ System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.", "Fehler",
JOptionPane.WARNING_MESSAGE);
System.exit(1);
} catch (FormatException e1) {
JOptionPane.showMessageDialog(mainDialog, e1.getMessage(),
"Fehler", JOptionPane.WARNING_MESSAGE);
}
spKinder.setValue(0.0);
cbReligion.setSelectedIndex(0);
spGehBrutto.setValue(0.0);
spLSt.setValue(0.0);
spKiSt.setValue(0.0);
spSoli.setValue(0.0);
cbKrKasse.setSelectedIndex(0);
spSonstBezug.setValue(0.0);
spSonstAbzug.setValue(0.0);
tfPostleitzahl.setText("");
tfOrt.setText("");
tfBDL.setText("");
soli = 0;
cbAnrede.setEnabled(true);
tfNachname.setEnabled(true);
tfVorname.setEnabled(true);
tfStrasse.setEnabled(true);
tfPostleitzahl.setEnabled(true);
tfTele.setEnabled(true);
dpGebDat.setEnabled(true);
dpGebDat.setEditable(true);
spKinder.setEnabled(true);
spGehBrutto.setEnabled(true);
spSonstBezug.setEnabled(true);
spSonstAbzug.setEnabled(true);
spLSt.setEnabled(true);
cbReligion.setEnabled(true);
cbKrKasse.setEnabled(true);
save.setEnabled(true);
neu.setEnabled(false);
bearb.setEnabled(false);
delete.setEnabled(false);
tfAktID.setText("");
btnVor.setEnabled(false);
btnZurueck.setEnabled(false);
tfAktID.setEnabled(false);
if (geloeschterMitarbeiter.isVisible()) {
upload.setEnabled(true);
geloeschterMitarbeiter.setVisible(false);
labStatus.setText(" ");
}
mainDialog.pack();
mainDialog.repaint();
initialNeu = false;
cbAnrede.requestFocus();
}
private void delete(){
if (bearb.isEnabled()
&& JOptionPane.showOptionDialog(mainDialog,
"<html>M�chten Sie den Mitarbeiter l�schen?"
+ "</html>", "Auto-Vervollst�ndigung",
JOptionPane.YES_NO_CANCEL_OPTION,
JOptionPane.QUESTION_MESSAGE, null, null, null) == 0) {
try {
ResultSet rs = DataMgr.getInstance().getResultSet(
"SELECT `Ort`, `Zusatz`, `Plz`"
+ "FROM `plz_ort_vorwahl`"
+ "WHERE PlzID LIKE '"
+ pers.getPlzID() + "'");
if (rs.next()
&& JOptionPane
.showOptionDialog(
mainDialog,
"<html>Sind Sie ganz sicher, dass Sie den Mitarbeiter:<br>"
+ " "
+ pers.getVorname()
+ " "
+ pers.getNachname()
+ "<br>"
+ " "
+ pers.getStrasse()
+ "<br>"
+ " "
+ rs.getString(3)
+ " "
+ rs.getString(1)
+ " "
+ rs.getString(2)
+ "<br>"
+ " Geburtsdatum: "
+ gebDate.format(pers
.getGebDat())
+ "<br>"
+ "wirklich l�schen m�chten?"
+ "</html>",
"Auto-Vervollst�ndigung",
JOptionPane.YES_NO_CANCEL_OPTION,
JOptionPane.QUESTION_MESSAGE,
null, null, null) == 0) {
pers.setLoeschDat(new Date());
pers.storeToDB();
geloeschterMitarbeiter.setVisible(true);
labStatus.setText("gel�schter Mitarbeiter");
upload.setEnabled(false);
bearb.setEnabled(false);
delete.setEnabled(false);
setIdList();
} else {
JOptionPane
.showMessageDialog(
mainDialog,
"<html>Person wurde nicht gel�scht.</html>",
"Fehler",
JOptionPane.WARNING_MESSAGE);
}
} catch (InstantiationException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(mainDialog,
e1.getMessage() + System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.", "Fehler",
JOptionPane.WARNING_MESSAGE);
System.exit(1);
} catch (IllegalAccessException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(mainDialog,
e1.getMessage() + System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.", "Fehler",
JOptionPane.WARNING_MESSAGE);
System.exit(1);
} catch (ClassNotFoundException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(mainDialog,
e1.getMessage() + System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.", "Fehler",
JOptionPane.WARNING_MESSAGE);
System.exit(1);
} catch (SQLException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(mainDialog,
e1.getMessage() + System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.", "Fehler",
JOptionPane.WARNING_MESSAGE);
System.exit(1);
} catch (FormatException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(mainDialog,
e1.getMessage() + System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.", "Fehler",
JOptionPane.WARNING_MESSAGE);
System.exit(1);
} catch (IOException e1) {
e1.printStackTrace();
JOptionPane.showMessageDialog(mainDialog,
e1.getMessage() + System.getProperty("line.separator")
+ "Dies ist ein schwerwiegender Fehler."
+ System.getProperty("line.separator")
+ "Das Programm wird beendet.", "Fehler",
JOptionPane.WARNING_MESSAGE);
System.exit(1);
}
}
}
}