FLEET MANAGEMENT Wirtschaftsinformatik Projekt WS 2012-13 1 Benny Brand | Paul Fuchs | Gui Rong Ko |...
-
Upload
clara-reuter -
Category
Documents
-
view
213 -
download
0
Transcript of FLEET MANAGEMENT Wirtschaftsinformatik Projekt WS 2012-13 1 Benny Brand | Paul Fuchs | Gui Rong Ko |...
1
FLEET MANAGEMENT
Wirtschaftsinformatik ProjektWS 2012-13
Benny Brand | Paul Fuchs | Gui Rong Ko | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld
Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld
2
Gliederung
• Fleet Management• Xtreme Programming • Aufbau Java
• MVC, Singleton- Patterns• Funktionen
• Fahrzeuge• Reservierungen• Werkstatt• Statistiken• PDF-Generator• Testfälle (J-Unit-Tests)
• Web-Applikation (PHP)
Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld
3
Fleet Management Tool
• Einfach Möglichkeit den firmeninternen Fuhrpark zu verwalten– Ausleihe– Reservierung–Mitarbeiterverwaltung– Statistiken– Zusätzliche Weboberfläche
Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld
4
ER-Model
Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld
5
Xtreme ProgrammingRollen Aufgaben BeispielProduktbesitzer Hat Verantwortung, setzt
Prioritäten, Entscheider für bestes ROI
Produktmanagement, Marketing, ein Benutzer, Kunde, Manager des Benutzers, Analyst, Sponsor
Kunde Entscheidet, was gemacht wird, gibt Rückmeldung, Auftraggeber
Auftraggeber, kann auch Produktbesitzer sein
Entwickler Entwickelt das Produkt Programmierer, Tester, DB-Experte, Architekt, Designer
Projektmanager Führung des Teams Normalerweise Produktbesitzer, kann auch Entwickler sein
Benutzer Wird das zu erstellende Produkt nutzen
Nutzer des Produkts
Quelle: http://de.wikipedia.org/wiki/Extreme_Programming
Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld
6
User Stories
Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld
7
Pair-Programming
• Wechselnde Paare• Höherer Wissenstransfer• Anfänger kommen schneller rein• Ständiger Codereview• Ziel: Bessere Codequalität
Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld
8
MySQL: Stored Procedures
Termin für Reparatur vereinbaren Status
Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld
9
MySQL: Stored Procedures
Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld
10
MySQL: Stored Procedures
Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld
11
MySQL: Stored Procedures
Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld
12
MySQL: Function
Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld
13
MySQL: Function
Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld
14
MySQL: Function
Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld
15
Aufbau Java
• MVC und Singleton Pattern
Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld
MVC
• MVC Pattern– Flexible Programmierung
View Controller Model DAO
Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld
17
Singleton
• Singleton Pattern– Nur ein Objekt der Klasse darf existieren
Singleton-instance: Singleton
-Singleton()+ getInstance(): Singleton
Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld
18
Singleton
Beispiel:package com.hsulm.wf5.fleetmanagement.model;
public class FahrzeugDAO implements InterfaceDAO<Fahrzeug> {
private Ausstattung ausstattung;
// Singleton // nur ein Objekt der Klasse kann erzeugt werdenprivate static FahrzeugDAO instance = new FahrzeugDAO();
Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld
19
Fahrzeuge
Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld
20
Fahrzeuge
Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld
21
Fahrzeuge
Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld
22
package com.hsulm.wf5.fleetmanagement.view.FahrzeugBearbeiten.java
JButton btnHinzufgen = new JButton("Hinzuf\u00FCgen"); btnHinzufgen.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { String kennzeichen = kennzeichenTextField.getText(); String standort = standortTextField.getText(); String farbe = farbeTextField.getText(); String erstzulassung = erstzulassungTextField.getText(); String kraftstoffart = kraftstoffartTextField.getText(); int sitzplaetze = Integer.parseInt(sitzplaetzeTextField.getText()); DateFormat formater = new SimpleDateFormat(); Date vertragsbeginn = null; String tuev = null; try { vertragsbeginn = (Date) formater.parse(vertragsbeginnTextField.getText()); } catch (ParseException e) { e.printStackTrace(); return; } tuev = tuevTextField.getText(); int serviceintervall = Integer.parseInt(serviceintervallTextField.getText()); String getriebe = getriebeTextField.getText(); int vertragslaufzeit = Integer.parseInt(vertragslaufzeitTextField.getText()); int herstellerId = Integer.parseInt(herstellerIdTextField.getText()); int werkstattId = Integer.parseInt(werkstattIdTextField.getText()); int kilometerstand = Integer.parseInt(kilometerstandTextField.getText()); String vertragsart = vertragsartTextField.getText(); String model = modelTextField.getText(); FahrzeugController fc = FahrzeugController.getInstance();
} });
Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld
23
package com.hsulm.wf5.fleetmanagement.controller.FahrzeugController.java
public void fahrzeugUpdaten(int arrayID, String vertragsart, int serviceintervall, String kennzeichen, String standort, String tuev, String vertragsbeginn, int vertragslaufzeit, int werkstattId, int kilometerstand) throws ClassNotFoundException, InstantiationException, IllegalAccessException, UnsupportedLookAndFeelException {
Fahrzeug fahrzeug = fahrzeuge.get(arrayID);
fahrzeug.setKennzeichen(kennzeichen); fahrzeug.setKilometerstand(kilometerstand); fahrzeug.setStandort(standort); fahrzeug.setTuev(tuev); fahrzeug.setVertragsBeginn(vertragsbeginn); fahrzeug.setVertragsLaufzeitMonate(vertragslaufzeit); fahrzeug.setWerkstattId(werkstattId); fahrzeug.setVertragsart(vertragsart); fahrzeug.setServiceIntervall_KM(serviceintervall);
System.out.println("controller" + fahrzeug.getKilometerstand());
// fahrzeug updaten fahrzeug.objektUpdaten(fahrzeug); }
Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld
24
package com.hsulm.wf5.fleetmanagement.model.Fahrzeug.java
public void objektUpdaten(Fahrzeug fahrzeug) { dao.objektUpdaten(fahrzeug);
}
Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld
25
package com.hsulm.wf5.fleetmanagement.model.FahrzeugDao.java
public void objektUpdaten(Fahrzeug object) {
try { java.sql.Connection conn = Connection.connect(); PreparedStatement preStmt = conn.prepareStatement("CALL updateFahrzeug(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
java.sql.Date vertragsbeginn=null; if(!object.getVertragsBeginn().equals("null")){vertragsbeginn = java.sql.Date.valueOf(object.getVertragsBeginn());}
preStmt.setString(1, object.getKennzeichen()); preStmt.setString(2, object.getStandort()); preStmt.setString(3, object.getFarbe()); preStmt.setString(4, object.getErstzulassung()); preStmt.setString(5, object.getKraftstoffart()); preStmt.setInt(6, object.getSitzplaetze()); preStmt.setString(7, object.getTuev()); preStmt.setInt(8, object.getServiceIntervall_KM()); preStmt.setString(9, object.getGetriebe()); preStmt.setString(10, object.getVertragsart()); preStmt.setDate(11, vertragsbeginn); preStmt.setInt(12, object.getVertragsLaufzeitMonate()); preStmt.setInt(13, object.getWerkstattId()); preStmt.setInt(14, object.getHerstellerId()); preStmt.setString(15, object.getModell()); preStmt.setInt(16, object.getKilometerstand());
preStmt.executeUpdate(); preStmt.close(); conn.close();
} catch (SQLException sqle) {
sqle.printStackTrace(); }}
Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld
26
Suchfunktion
Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld
27
package com.hsulm.wf5.fleetmanagement.view.MainGui.java
public JTextField sucheFahrzeug; this.sucheFahrzeug = new JTextField(); public void set_fahrzeugsucheListener(KeyListener l){ sucheFahrzeug.addKeyListener(l); }
Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld
28
package com.hsulm.wf5.fleetmanagement.controller.FahrzeugController.java
public void Fahrzeuginit() { MainGUI.getInstance().getTable_2().setRowSorter(null); MainGUI.getInstance().sucheFahrzeug.setText(""); MainGUI.getInstance().set_fahrzeugsucheListener(new fahrzeug_sucheListener()); }
class fahrzeug_sucheListener implements KeyListener{ public void keyReleased(KeyEvent e) { TableRowSorter<TableModel> sorter = new TableRowSorter<TableModel>(MainGUI.getInstance().getTable_2().getModel()); MainGUI.getInstance().getTable_2().setRowSorter(sorter); filter(MainGUI.getInstance().sucheFahrzeug.getText(),sorter); } public void filter (String text,TableRowSorter sorter) { if (text.length() == 0) { sorter.setRowFilter(null); } else { try { sorter.setRowFilter(RowFilter.regexFilter("(?i)"+text)); } catch (PatternSyntaxException e) { System.out.println(e.getPattern()); } } }
Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld
29
Reservierungen
Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld
30
Reservierungen
Controller Werkstatt updaten
Werkstatt ws = werkstattarray.get(werkstattId); ws.setName(name); ws.setAnsprechpartner(ansprechpartner); ws.setTelefonnummer(telefonnummer); ws.seteMail(email); ws.setStrasse(strasse); ws.setPlz(plz); ws.setOrt(ort); ws.setLand(land); ws.objektUpdaten(ws);}
Controller Werkstatt anlegen
//neue Werkstatt anlegen boolean flag = false; for (int i = 0; i < werkstattarray.size()-1; i++) { if (plz ==(werkstattarray.get(i).getPlz())) { ws.setOrt(werkstattarray.get(i).getOrt()); ws.setLand(werkstattarray.get(i).getLand()); flag = true; } } if (flag == true) { ws.objektAnlegen(ws);} else { ws.werkstattcityanlegen(ws); ws.objektAnlegen(ws);
Controller WerkstattBearbeiten Felder
//Werkstattbearbeitenframe befüllen public void WerkstattBearbeiten(int row) { Werkstatt werkstatt = werkstattarray.get(row); WerkstattBearbeiten wb = WerkstattBearbeiten.getInstance();
wb.get_namef().setText(werkstatt.getName()); wb.get_plzf().setText(""+werkstatt.getPlz()); wb.get_telef().setText(werkstatt.getTelefonnummer()); wb.get_strasf().setText(werkstatt.getStrasse()); wb.get_anspf().setText(werkstatt.getAnsprechpartner()); wb.get_emaif().setText(werkstatt.getEmail()); wb.get_ortf().setText(werkstatt.getOrt()); wb.get_landf().setText(werkstatt.getLand()); wb.setArrayID(row); }
Controller befüllen
//Werkstatt Combobox in Bearbeitenframe befüllen public void fahrzeugBearbeiten() { FahrzeugBearbeiten fb = FahrzeugBearbeiten.getInstance(); fb.get_Werk().removeAllItems(); for(int i =0;i<werkstattarray.size();i++){ fb.get_Werk().addItem(werkstattarray.get(i).getName()); } }
Controller löschen
// Siherheitsabfrage if(table5.getModel().removeRow(werkstattID)){ // Werkstatt aus Datenbank löschen Werkstatt werkstatt = werkstattarray.get(werkstattID); werkstatt.objektLoesche(werkstatt); // Lösche aus ArrayList von werkstattController werkstattarray.remove(werkstattID); table5.getModel().fuelleModelmitDaten(werkstattarray); table5.setRowSelectionInterval(0, 0);
Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld
36
Werkstattübersicht
Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld
37
Werkstattübersicht
Controller Werkstatt updaten
Werkstatt ws = werkstattarray.get(werkstattId); ws.setName(name); ws.setAnsprechpartner(ansprechpartner); ws.setTelefonnummer(telefonnummer); ws.seteMail(email); ws.setStrasse(strasse); ws.setPlz(plz); ws.setOrt(ort); ws.setLand(land); ws.objektUpdaten(ws);}
Controller Werkstatt anlegen
//neue Werkstatt anlegen boolean flag = false; for (int i = 0; i < werkstattarray.size()-1; i++) { if (plz ==(werkstattarray.get(i).getPlz())) { ws.setOrt(werkstattarray.get(i).getOrt()); ws.setLand(werkstattarray.get(i).getLand()); flag = true; } } if (flag == true) { ws.objektAnlegen(ws);} else { ws.werkstattcityanlegen(ws); ws.objektAnlegen(ws);
Controller WerkstattBearbeiten Felder
//Werkstattbearbeitenframe befüllen public void WerkstattBearbeiten(int row) { Werkstatt werkstatt = werkstattarray.get(row); WerkstattBearbeiten wb = WerkstattBearbeiten.getInstance();
wb.get_namef().setText(werkstatt.getName()); wb.get_plzf().setText(""+werkstatt.getPlz()); wb.get_telef().setText(werkstatt.getTelefonnummer()); wb.get_strasf().setText(werkstatt.getStrasse()); wb.get_anspf().setText(werkstatt.getAnsprechpartner()); wb.get_emaif().setText(werkstatt.getEmail()); wb.get_ortf().setText(werkstatt.getOrt()); wb.get_landf().setText(werkstatt.getLand()); wb.setArrayID(row); }
Controller befüllen
//Werkstatt Combobox in Bearbeitenframe befüllen public void fahrzeugBearbeiten() { FahrzeugBearbeiten fb = FahrzeugBearbeiten.getInstance(); fb.get_Werk().removeAllItems(); for(int i =0;i<werkstattarray.size();i++){ fb.get_Werk().addItem(werkstattarray.get(i).getName()); } }
Controller löschen
// Siherheitsabfrage if(table5.getModel().removeRow(werkstattID)){ // Werkstatt aus Datenbank löschen Werkstatt werkstatt = werkstattarray.get(werkstattID); werkstatt.objektLoesche(werkstatt); // Lösche aus ArrayList von werkstattController werkstattarray.remove(werkstattID); table5.getModel().fuelleModelmitDaten(werkstattarray); table5.setRowSelectionInterval(0, 0);
Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld
43
Statistiken
Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld
44
package com.hsulm.wf5.fleetmanagement.view.MainGui.java
ActionListener al7 = new ActionListener() { public void actionPerformed(ActionEvent e) { FahrzeugReserviert demo = new FahrzeugReserviert("Vergleich„, "Fahrzeuge, die am meisten reserviert wurden"); demo.FahrzeugReserviertStart(); demo.pack(); demo.setVisible(true); } };
Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld
45
package com.hsulm.wf5.fleetmanagement.statisticview.FahrzeugReserviert.java
ArrayList<Fahrzeug> fz;
public FahrzeugReserviert(String applicationTitle, String chartTitle) { super(applicationTitle);
fz = new ArrayList<Fahrzeug>(); fz = FahrzeugDAO.getInstance().fahrzeugeAmMeistenReserviert();
// This will create the dataset PieDataset dataset = createDataset(); // based on the dataset we create the chart chart = createChart(dataset, chartTitle); // we put the chart into a panel ChartPanel chartPanel = new ChartPanel(chart); // default size chartPanel.setPreferredSize(new java.awt.Dimension(600, 400)); // add it to our application this.FahrzeugReserviert = chartPanel; }
Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld
46
package com.hsulm.wf5.fleetmanagement.model.FahrzeugDao.java
public ArrayList<Fahrzeug> fahrzeugeAmMeistenReserviert() {
ArrayList<Fahrzeug> fahrzeugstat = new ArrayList<Fahrzeug>(); Fahrzeug fahrzeug;
try { java.sql.Connection con = Connection.connect(); CallableStatement cst; cst = con.prepareCall("Call FahrzeugAmMeistenReserviert()"); ResultSet rs = cst.executeQuery();
while (rs.next()) {
fahrzeug = new Fahrzeug(rs.getInt("AnzahlReservierungen"), rs.getString("Kennzeichen"), rs.getString("Name"), rs.getString("Modell")); fahrzeugstat.add(fahrzeug);
}
cst.close(); rs.close(); con.close(); } catch (SQLException e) { System.out.println(e.getMessage()); e.printStackTrace(); } return fahrzeugstat;
}
Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld
47
FahrzeugAmMeistenReserviert()
Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld
48
Chart: Fahrzeuge, die am meisten reserviert wurden
Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld
49
PDF-Generator
• Generation von PDFs– Tabellen• Fahrzeug• Reservierungen• Mitarbeiter
– Statistiken• Top 5 gefahrene Kilometer• Reservierte Fahrzeuge
Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld
50
PDF-Generator
Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld
51
PDF-Generator
Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld
52
PDF-Generator
Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld
53
PDF-Generator
• Programmierung– PDFGenerator.java• Erstellt PDF
– ExportPDFFrame.java (GUI)• Ruft Jtables auf
– Jtables-Klassen und Statistik-Klassen • Rufen PDFGenerator auf
Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld
54
package com.hsulm.wf5.fleetmanagement.view.ExportPDFFrame.java
ActionListener exp = new ActionListener() { @Override public void actionPerformed( ActionEvent e ) { if(FahrzeugeIsActive()) { MainGUI.getInstance().getTable_2().createPDF(); }
if(ReservierungenIsActive()){ MainGUI.getInstance().getTable_3().createPDF(); } if(MitarbeiterIsActive()) { MainGUI.getInstance().getTable_4().createPDF(); }
if(TopFuenfIsActive()) { erstelleMitarbeiterKMPDF(); }
if(ReservierteFahrzeugeIsActive()) { erstelleFahrzeugeReserviertPDF(); }
if(AlleIsActive()) { MainGUI.getInstance().getTable_2().createPDF(); MainGUI.getInstance().getTable_3().createPDF(); erstelleMitarbeiterKMPDF(); erstelleFahrzeugeReserviertPDF();
} }};
Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld
55
package com.hsulm.wf5.fleetmanagement.view.ExportPDFFrame.java
public void erstelleFahrzeugeReserviertPDF() { FahrzeugReserviert reservierteFahrzeuge; reservierteFahrzeuge = new FahrzeugReserviert("Vergleich", "Fahrzeuge, die am meisten reserviert wurden"); reservierteFahrzeuge.pack(); RefineryUtilities.centerFrameOnScreen(reservierteFahrzeuge); reservierteFahrzeuge.setVisible(false); reservierteFahrzeuge.createPDF(); }
Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld
56
package com.hsulm.wf5.fleetmanagement.statisticview.FahrzeugReserviert.java
public void createPDF() { PDFGenerator gen = new PDFGenerator(); PDFGenerator.writeChartToPDF(getChart(), 585, 312,
"Reservierte Fahrzeuge.pdf"); }
Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld
57
package com.hsulm.wf5.fleetmanagement.pdfgeneration.PDFGenerator.java
public static void writeChartToPDF(JFreeChart chart, int width, int height, String fileName) { PdfWriter writer = null; Document document = new Document(PageSize.A4.rotate(), 20, 15, 15, 15); try {
writer = PdfWriter.getInstance(document, new FileOutputStream(fileName)); document.open(); BufferedImage bufferedImage = chart.createBufferedImage(width, height); Image image = Image.getInstance(writer, bufferedImage, 1.0f); document.add(image);
document.close(); writer.close(); Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + fileName); } catch (Exception e) { e.printStackTrace(); } } }