Skip to content

Commit 22749c1

Browse files
committed
fertig
termine, bugfix
1 parent 8835725 commit 22749c1

6 files changed

Lines changed: 269 additions & 31 deletions

File tree

src/gui/AnmeldungGui.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,9 @@ public void keyPressed(KeyEvent e) {
135135
txtHost.addKeyListener(new KeyAdapter() {
136136
@Override
137137
public void keyPressed(KeyEvent e) {
138-
loginAktion();
138+
if (e.getKeyCode()==KeyEvent.VK_ENTER){
139+
loginAktion();
140+
}
139141
}
140142
});
141143
txtHost.setText("localhost");
@@ -206,7 +208,7 @@ private void loginAktion() {
206208
try {
207209
//DB Erstellung mit sql script
208210
ScriptRunner runner = new ScriptRunner(dbm.getConnection(), false, true);
209-
runner.runScript(new BufferedReader(new FileReader("src/init.sql")));
211+
runner.runScript(new BufferedReader(new FileReader("init.sql")));
210212
System.out.println("DB eingefügt");
211213
//Schließt fenster und öffnet MainView falls DB nichht besteht
212214
dispose();

src/gui/AuftraegeBearbeiten.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,11 +94,12 @@ public void actionPerformed(ActionEvent e) {
9494
dbm.getStatement().executeUpdate("UPDATE crm.auftraege SET name = '"+
9595
textFieldAuftragsname.getText()+"', start = '"+startDatum+"', ende = '"+endDatum+"', notiz = '"+textAreaNotiz.getText()+"', status = '"+
9696
comboBox.getSelectedItem().toString()+"', kundenNr = "+kundenNrIndex+" where auftraegeNr = '"+auftragsNr+"';");
97-
JOptionPane.showMessageDialog(null, "Termin erfolgreich erstellt!");
97+
JOptionPane.showMessageDialog(null, "Auftrag erfolgreich geändert!");
9898
} catch (SQLException e1) {
9999
JOptionPane.showMessageDialog(null, e1, "Fehler", JOptionPane.ERROR_MESSAGE);
100100
e1.printStackTrace();
101101
}
102+
dbm.closeConnection();
102103
}
103104
});
104105

@@ -108,7 +109,7 @@ public void actionPerformed(ActionEvent e) {
108109
textFieldAuftragsnummer.setEditable(false);
109110
textFieldAuftragsnummer.setColumns(10);
110111

111-
JButton btnLoeschen = new JButton("Termin Löschen");
112+
JButton btnLoeschen = new JButton("Auftrag Löschen");
112113
btnLoeschen.addActionListener(new ActionListener() {
113114
public void actionPerformed(ActionEvent e) {
114115
int dialogButton = JOptionPane.YES_NO_OPTION;

src/gui/Kunden.java

Lines changed: 38 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -333,15 +333,21 @@ public void actionPerformed(ActionEvent e) {
333333
new Object[][] {
334334
},
335335
new String[] {
336-
"Uhrzeit", "Datum", "Bemerkung"
336+
"TerminNr", "Uhrzeit", "Datum", "Bemerkung"
337337
}
338338
) {
339339
Class[] columnTypes = new Class[] {
340-
String.class, String.class, String.class
340+
String.class, String.class, String.class, String.class
341341
};
342342
public Class getColumnClass(int columnIndex) {
343343
return columnTypes[columnIndex];
344344
}
345+
boolean[] columnEditables = new boolean[] {
346+
false, false, false, false
347+
};
348+
public boolean isCellEditable(int row, int column) {
349+
return columnEditables[column];
350+
}
345351
});
346352
scrollPane_3.setViewportView(tableTermin);
347353

@@ -425,11 +431,14 @@ public void actionPerformed(ActionEvent e) {
425431

426432
dbm.startConnect("crm");
427433
try {
428-
ResultSet rs = dbm.getStatement().executeQuery("SELECT auftraege.name, status, auftraegeNr FROM crm.auftraege where auftraege.kundenNr = '"+textFieldKundenNr.getText()+"';");
429-
while(rs.next()){
430-
String data[] = {rs.getString(3), rs.getString(1), rs.getString(2)};
431-
DefaultTableModel tbm = (DefaultTableModel) tableAuftrag.getModel();
432-
tbm.addRow(data);
434+
435+
436+
437+
ResultSet rsA = dbm.getStatement().executeQuery("SELECT auftraege.name, status, auftraegeNr FROM crm.auftraege where auftraege.kundenNr = '"+textFieldKundenNr.getText()+"';");
438+
while(rsA.next()){
439+
String data[] = {rsA.getString(3), rsA.getString(1), rsA.getString(2)};
440+
DefaultTableModel tbmA = (DefaultTableModel) tableAuftrag.getModel();
441+
tbmA.addRow(data);
433442
}
434443

435444
} catch (SQLException e) {
@@ -450,12 +459,34 @@ public void mouseClicked(MouseEvent me) {
450459
}
451460
});
452461

462+
tableTermin.addMouseListener((MouseListener) new MouseAdapter() {
463+
public void mouseClicked(MouseEvent me) {
464+
if (me.getClickCount() == 2) { // to detect doble click events
465+
JTable target = (JTable)me.getSource();
466+
int row = target.getSelectedRow(); // select a row
467+
String tableRow = (String) tableTermin.getValueAt(row, 0); // get the value of a row and column.
468+
System.out.println(tableRow);
469+
new TerminBearbeiten(dbm, tableRow).setVisible(true);
470+
471+
}
472+
}
473+
});
474+
475+
453476
addWindowFocusListener(new WindowFocusListener() {
454477
public void windowGainedFocus(WindowEvent e) {
455478
DefaultTableModel tbm = (DefaultTableModel) tableAuftrag.getModel();
456479
tbm.setRowCount(0);
457480
dbm.startConnect("crm");
481+
DefaultTableModel tbmT = (DefaultTableModel) tableTermin.getModel();
482+
tbmT.setRowCount(0);
483+
458484
try {
485+
ResultSet rsT = dbm.getStatement().executeQuery("SELECT * FROM crm.termine where termine.kundenNr = "+kundenNr+";");
486+
while(rsT.next()){
487+
String data[] = {rsT.getString(1), rsT.getString(3), rsT.getString(2),rsT.getString(4)};
488+
tbmT.addRow(data);
489+
}
459490
ResultSet rs = dbm.getStatement().executeQuery("SELECT auftraege.name, status, auftraegeNr FROM crm.auftraege where auftraege.kundenNr = '"+textFieldKundenNr.getText()+"';");
460491
while(rs.next()){
461492
String data[] = {rs.getString(3), rs.getString(1), rs.getString(2)};

src/gui/NeuerKunde.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -251,7 +251,7 @@ public void actionPerformed(ActionEvent e) {
251251
"', '"+textFieldStrasse.getText()+"', '"+textAreaBemerkung.getText()+"','"+textAreaInteresse.getText()+"','"+gebTag+"','"+comboBox.getSelectedItem()+"', '"+rs.getString(1)+"');");
252252
rs.close();
253253
dbm.closeConnection();
254-
254+
JOptionPane.showMessageDialog(null, "Kunde erfolgreich erstellt!");
255255
} catch (SQLException e1) {
256256
JOptionPane.showMessageDialog(null, e1, "Fehler", JOptionPane.ERROR_MESSAGE);
257257
e1.printStackTrace();

src/gui/TerminBearbeiten.java

Lines changed: 179 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,179 @@
1+
package gui;
2+
3+
import java.awt.EventQueue;
4+
import java.awt.Toolkit;
5+
6+
import javax.swing.JDialog;
7+
import javax.swing.GroupLayout;
8+
import javax.swing.GroupLayout.Alignment;
9+
import javax.swing.JLabel;
10+
import javax.swing.JOptionPane;
11+
import javax.swing.JTextField;
12+
import javax.swing.LayoutStyle.ComponentPlacement;
13+
14+
import fachklasse.DBManager;
15+
16+
import javax.swing.JScrollPane;
17+
import javax.swing.JTextArea;
18+
import javax.swing.JComboBox;
19+
import javax.swing.JButton;
20+
import java.awt.event.ActionListener;
21+
import java.sql.ResultSet;
22+
import java.sql.SQLException;
23+
import java.util.ArrayList;
24+
import java.awt.event.ActionEvent;
25+
import java.awt.Color;
26+
27+
public class TerminBearbeiten extends JDialog {
28+
private JTextField textFieldDatum;
29+
private JTextField textFieldUhrzeit;
30+
31+
public TerminBearbeiten(DBManager dbm, String terminNr) {
32+
setTitle("Termin bearbeiten");
33+
setBounds(100, 100, 216, 357);
34+
setModal(true);
35+
setIconImage(Toolkit.getDefaultToolkit().getImage(AnmeldungGui.class.getResource("/img/icon.png")));
36+
37+
JLabel lblNewLabel = new JLabel("Datum");
38+
39+
textFieldDatum = new JTextField();
40+
textFieldDatum.setColumns(10);
41+
42+
JLabel lblUhrzeit = new JLabel("Uhrzeit");
43+
44+
textFieldUhrzeit = new JTextField();
45+
textFieldUhrzeit.setColumns(10);
46+
47+
JLabel lblBemerkung = new JLabel("Bemerkung");
48+
49+
JScrollPane scrollPane = new JScrollPane();
50+
51+
JLabel lblKunde = new JLabel("Kunde");
52+
53+
JComboBox comboBox = new JComboBox();
54+
55+
JButton btnErstellen = new JButton("Termin aktualisieren");
56+
57+
JButton btnLoeschen = new JButton("Termin Löschen");
58+
btnLoeschen.addActionListener(new ActionListener() {
59+
public void actionPerformed(ActionEvent e) {
60+
int dialogButton = JOptionPane.YES_NO_OPTION;
61+
int dialogResult = JOptionPane.showConfirmDialog (null, "Sind Sie sicher, dass Sie diesen Termin Löschen möchten?", "Warnung" , dialogButton, JOptionPane.WARNING_MESSAGE);
62+
if(dialogResult == JOptionPane.YES_OPTION){
63+
dbm.startConnect("crm");
64+
try {
65+
dbm.getStatement().executeUpdate("delete FROM crm.termine where termineNr = "+terminNr+";" );
66+
67+
JOptionPane.showMessageDialog(null, "Löschung war erfolgreich", "Info", JOptionPane.INFORMATION_MESSAGE);
68+
dispose();
69+
} catch (SQLException e1) {
70+
JOptionPane.showMessageDialog(null, e1, "Fehler", JOptionPane.ERROR_MESSAGE);
71+
e1.printStackTrace();
72+
}
73+
74+
}
75+
dbm.closeConnection();
76+
}
77+
});
78+
btnLoeschen.setBackground(new Color(204, 51, 51));
79+
btnLoeschen.setForeground(new Color(204, 51, 51));
80+
81+
GroupLayout groupLayout = new GroupLayout(getContentPane());
82+
groupLayout.setHorizontalGroup(
83+
groupLayout.createParallelGroup(Alignment.LEADING)
84+
.addGroup(groupLayout.createSequentialGroup()
85+
.addContainerGap()
86+
.addGroup(groupLayout.createParallelGroup(Alignment.LEADING)
87+
.addComponent(scrollPane, GroupLayout.DEFAULT_SIZE, 180, Short.MAX_VALUE)
88+
.addComponent(textFieldDatum, GroupLayout.DEFAULT_SIZE, 180, Short.MAX_VALUE)
89+
.addComponent(lblNewLabel)
90+
.addComponent(lblUhrzeit)
91+
.addComponent(textFieldUhrzeit, GroupLayout.DEFAULT_SIZE, 180, Short.MAX_VALUE)
92+
.addComponent(lblBemerkung)
93+
.addComponent(lblKunde)
94+
.addComponent(comboBox, 0, 180, Short.MAX_VALUE)
95+
.addComponent(btnErstellen, GroupLayout.DEFAULT_SIZE, 180, Short.MAX_VALUE)
96+
.addComponent(btnLoeschen, GroupLayout.DEFAULT_SIZE, 180, Short.MAX_VALUE))
97+
.addContainerGap())
98+
);
99+
groupLayout.setVerticalGroup(
100+
groupLayout.createParallelGroup(Alignment.LEADING)
101+
.addGroup(groupLayout.createSequentialGroup()
102+
.addContainerGap()
103+
.addComponent(lblNewLabel)
104+
.addPreferredGap(ComponentPlacement.RELATED)
105+
.addComponent(textFieldDatum, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
106+
.addPreferredGap(ComponentPlacement.RELATED)
107+
.addComponent(lblUhrzeit)
108+
.addPreferredGap(ComponentPlacement.RELATED)
109+
.addComponent(textFieldUhrzeit, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
110+
.addPreferredGap(ComponentPlacement.RELATED)
111+
.addComponent(lblBemerkung)
112+
.addPreferredGap(ComponentPlacement.RELATED)
113+
.addComponent(scrollPane, GroupLayout.PREFERRED_SIZE, 70, GroupLayout.PREFERRED_SIZE)
114+
.addPreferredGap(ComponentPlacement.RELATED)
115+
.addComponent(lblKunde)
116+
.addPreferredGap(ComponentPlacement.UNRELATED)
117+
.addComponent(comboBox, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
118+
.addPreferredGap(ComponentPlacement.UNRELATED)
119+
.addComponent(btnErstellen)
120+
.addPreferredGap(ComponentPlacement.RELATED)
121+
.addComponent(btnLoeschen)
122+
.addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
123+
);
124+
125+
JTextArea textArea = new JTextArea();
126+
scrollPane.setViewportView(textArea);
127+
getContentPane().setLayout(groupLayout);
128+
129+
130+
ArrayList<String> kundenNr = new ArrayList<>();
131+
dbm.startConnect("crm");
132+
try {
133+
ResultSet rs = dbm.getStatement().executeQuery("SELECT kundenNr, vorname, name FROM crm.kunden;");
134+
while (rs.next()) {
135+
String val = rs.getString(2)+ " " +rs.getString(3);
136+
kundenNr.add(rs.getString(1));
137+
comboBox.addItem(val);
138+
}
139+
140+
141+
} catch (SQLException e) {
142+
e.printStackTrace();
143+
}
144+
dbm.closeConnection();
145+
146+
btnErstellen.addActionListener(new ActionListener() {
147+
public void actionPerformed(ActionEvent e) {
148+
dbm.startConnect("crm");
149+
try {
150+
String kundenNrIndex = kundenNr.get(comboBox.getSelectedIndex()).toString();
151+
String datum = textFieldDatum.getText().isEmpty()? "0000-00-00":textFieldDatum.getText();
152+
String uhrzeit = textFieldUhrzeit.getText().isEmpty()? "00:00":textFieldUhrzeit.getText();
153+
154+
dbm.getStatement().executeUpdate("update crm.termine set datum ='"+datum+"', uhrzeit ='"+uhrzeit+"', bemerkung ='"+textArea.getText()+"', kundenNr ="+kundenNrIndex+" where termineNr = "+terminNr+";");
155+
JOptionPane.showMessageDialog(null, "Termin erfolgreich geändert!");
156+
} catch (SQLException e1) {
157+
JOptionPane.showMessageDialog(null, e1, "Fehler", JOptionPane.ERROR_MESSAGE);
158+
e1.printStackTrace();
159+
}
160+
dbm.closeConnection();
161+
}
162+
});
163+
164+
165+
dbm.startConnect("crm");
166+
try {
167+
ResultSet rs = dbm.getStatement().executeQuery("SELECT termine.*, kunden.vorname, kunden.name FROM crm.termine, crm.kunden where termine.kundenNr = kunden.kundenNr and termineNr = '"+terminNr+"';");
168+
while(rs.next()){
169+
textFieldDatum.setText(rs.getString(2));
170+
textFieldUhrzeit.setText(rs.getString(3));
171+
textArea.setText(rs.getString(4));
172+
comboBox.setSelectedItem(rs.getString(6) + " " + rs.getString(7));
173+
}
174+
} catch (SQLException e1) {
175+
e1.printStackTrace();
176+
}
177+
dbm.closeConnection();
178+
}
179+
}

0 commit comments

Comments
 (0)