52
FLEET MANAGEMENT Wirtschaftsinformatik Projekt WS 2012-13 Benny Brand | Paul Fuchs | Gui Rong Ko | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld 1

FLEET MANAGEMENT Wirtschaftsinformatik Projekt WS 2012-13 Benny Brand | Paul Fuchs | Gui Rong Ko | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias

Embed Size (px)

Citation preview

Page 1: FLEET MANAGEMENT Wirtschaftsinformatik Projekt WS 2012-13 Benny Brand | Paul Fuchs | Gui Rong Ko | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias

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

Page 2: FLEET MANAGEMENT Wirtschaftsinformatik Projekt WS 2012-13 Benny Brand | Paul Fuchs | Gui Rong Ko | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias

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)

Page 3: FLEET MANAGEMENT Wirtschaftsinformatik Projekt WS 2012-13 Benny Brand | Paul Fuchs | Gui Rong Ko | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias

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

Page 4: FLEET MANAGEMENT Wirtschaftsinformatik Projekt WS 2012-13 Benny Brand | Paul Fuchs | Gui Rong Ko | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias

Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld

4

ER-Model

Page 5: FLEET MANAGEMENT Wirtschaftsinformatik Projekt WS 2012-13 Benny Brand | Paul Fuchs | Gui Rong Ko | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias

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

Page 6: FLEET MANAGEMENT Wirtschaftsinformatik Projekt WS 2012-13 Benny Brand | Paul Fuchs | Gui Rong Ko | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias

Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld

6

User Stories

Page 7: FLEET MANAGEMENT Wirtschaftsinformatik Projekt WS 2012-13 Benny Brand | Paul Fuchs | Gui Rong Ko | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias

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

Page 8: FLEET MANAGEMENT Wirtschaftsinformatik Projekt WS 2012-13 Benny Brand | Paul Fuchs | Gui Rong Ko | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias

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

Page 9: FLEET MANAGEMENT Wirtschaftsinformatik Projekt WS 2012-13 Benny Brand | Paul Fuchs | Gui Rong Ko | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias

Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld

9

MySQL: Stored Procedures

Page 10: FLEET MANAGEMENT Wirtschaftsinformatik Projekt WS 2012-13 Benny Brand | Paul Fuchs | Gui Rong Ko | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias

Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld

10

MySQL: Stored Procedures

Page 11: FLEET MANAGEMENT Wirtschaftsinformatik Projekt WS 2012-13 Benny Brand | Paul Fuchs | Gui Rong Ko | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias

Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld

11

MySQL: Stored Procedures

Page 12: FLEET MANAGEMENT Wirtschaftsinformatik Projekt WS 2012-13 Benny Brand | Paul Fuchs | Gui Rong Ko | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias

Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld

12

MySQL: Function

Page 13: FLEET MANAGEMENT Wirtschaftsinformatik Projekt WS 2012-13 Benny Brand | Paul Fuchs | Gui Rong Ko | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias

Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld

13

MySQL: Function

Page 14: FLEET MANAGEMENT Wirtschaftsinformatik Projekt WS 2012-13 Benny Brand | Paul Fuchs | Gui Rong Ko | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias

Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld

14

MySQL: Function

Page 15: FLEET MANAGEMENT Wirtschaftsinformatik Projekt WS 2012-13 Benny Brand | Paul Fuchs | Gui Rong Ko | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias

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

Page 16: FLEET MANAGEMENT Wirtschaftsinformatik Projekt WS 2012-13 Benny Brand | Paul Fuchs | Gui Rong Ko | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias

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

Page 17: FLEET MANAGEMENT Wirtschaftsinformatik Projekt WS 2012-13 Benny Brand | Paul Fuchs | Gui Rong Ko | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias

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

Page 18: FLEET MANAGEMENT Wirtschaftsinformatik Projekt WS 2012-13 Benny Brand | Paul Fuchs | Gui Rong Ko | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias

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();

Page 19: FLEET MANAGEMENT Wirtschaftsinformatik Projekt WS 2012-13 Benny Brand | Paul Fuchs | Gui Rong Ko | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias

Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld

19

Fahrzeuge

Page 20: FLEET MANAGEMENT Wirtschaftsinformatik Projekt WS 2012-13 Benny Brand | Paul Fuchs | Gui Rong Ko | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias

Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld

20

Fahrzeuge

Page 21: FLEET MANAGEMENT Wirtschaftsinformatik Projekt WS 2012-13 Benny Brand | Paul Fuchs | Gui Rong Ko | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias

Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld

21

Fahrzeuge

Page 22: FLEET MANAGEMENT Wirtschaftsinformatik Projekt WS 2012-13 Benny Brand | Paul Fuchs | Gui Rong Ko | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias

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();

} });

Page 23: FLEET MANAGEMENT Wirtschaftsinformatik Projekt WS 2012-13 Benny Brand | Paul Fuchs | Gui Rong Ko | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias

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); }

Page 24: FLEET MANAGEMENT Wirtschaftsinformatik Projekt WS 2012-13 Benny Brand | Paul Fuchs | Gui Rong Ko | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias

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);

}

Page 25: FLEET MANAGEMENT Wirtschaftsinformatik Projekt WS 2012-13 Benny Brand | Paul Fuchs | Gui Rong Ko | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias

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(); }}

Page 26: FLEET MANAGEMENT Wirtschaftsinformatik Projekt WS 2012-13 Benny Brand | Paul Fuchs | Gui Rong Ko | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias

Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld

26

Suchfunktion

Page 27: FLEET MANAGEMENT Wirtschaftsinformatik Projekt WS 2012-13 Benny Brand | Paul Fuchs | Gui Rong Ko | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias

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); }

Page 28: FLEET MANAGEMENT Wirtschaftsinformatik Projekt WS 2012-13 Benny Brand | Paul Fuchs | Gui Rong Ko | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias

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()); } } }

Page 29: FLEET MANAGEMENT Wirtschaftsinformatik Projekt WS 2012-13 Benny Brand | Paul Fuchs | Gui Rong Ko | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias

Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld

29

Reservierungen

Page 30: FLEET MANAGEMENT Wirtschaftsinformatik Projekt WS 2012-13 Benny Brand | Paul Fuchs | Gui Rong Ko | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias

Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld

30

Reservierungen

Page 31: FLEET MANAGEMENT Wirtschaftsinformatik Projekt WS 2012-13 Benny Brand | Paul Fuchs | Gui Rong Ko | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias

Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld

31

Mitarbeiterübersicht

Page 32: FLEET MANAGEMENT Wirtschaftsinformatik Projekt WS 2012-13 Benny Brand | Paul Fuchs | Gui Rong Ko | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias

Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld

32

Mitarbeiterübersicht

Page 33: FLEET MANAGEMENT Wirtschaftsinformatik Projekt WS 2012-13 Benny Brand | Paul Fuchs | Gui Rong Ko | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias

Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld

33

Werkstattübersicht

Page 34: FLEET MANAGEMENT Wirtschaftsinformatik Projekt WS 2012-13 Benny Brand | Paul Fuchs | Gui Rong Ko | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias

Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld

34

Werkstattübersicht

Page 35: FLEET MANAGEMENT Wirtschaftsinformatik Projekt WS 2012-13 Benny Brand | Paul Fuchs | Gui Rong Ko | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias

Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld

35

Page 36: FLEET MANAGEMENT Wirtschaftsinformatik Projekt WS 2012-13 Benny Brand | Paul Fuchs | Gui Rong Ko | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias

Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld

36

Page 37: FLEET MANAGEMENT Wirtschaftsinformatik Projekt WS 2012-13 Benny Brand | Paul Fuchs | Gui Rong Ko | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias

Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld

37

Statistiken

Page 38: FLEET MANAGEMENT Wirtschaftsinformatik Projekt WS 2012-13 Benny Brand | Paul Fuchs | Gui Rong Ko | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias

Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld

38

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); } };

Page 39: FLEET MANAGEMENT Wirtschaftsinformatik Projekt WS 2012-13 Benny Brand | Paul Fuchs | Gui Rong Ko | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias

Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld

39

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; }

Page 40: FLEET MANAGEMENT Wirtschaftsinformatik Projekt WS 2012-13 Benny Brand | Paul Fuchs | Gui Rong Ko | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias

Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld

40

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;

}

Page 41: FLEET MANAGEMENT Wirtschaftsinformatik Projekt WS 2012-13 Benny Brand | Paul Fuchs | Gui Rong Ko | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias

Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld

41

FahrzeugAmMeistenReserviert()delimiter $$

CREATE DEFINER=`wfprj_wf5_09`@`%` PROCEDURE `FahrzeugAmMeistenReserviert`()

begin select count(f.Kennzeichen) AS "AnzahlReservierungen", h.Name, ft.Modell,

f.kennzeichen from hersteller h join fahrzeugtyp ft join fahrzeug f join reservierungspos rp where f.Kennzeichen = rp.Kennzeichen and ft.Modell = f.Modell and

h.HerstellerID = ft.HerstellerID group by f.Kennzeichen order by count(f.Kennzeichen) desc;

end$$

Page 42: FLEET MANAGEMENT Wirtschaftsinformatik Projekt WS 2012-13 Benny Brand | Paul Fuchs | Gui Rong Ko | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias

Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld

42

Chart: Fahrzeuge, die am meisten reserviert wurden

Page 43: FLEET MANAGEMENT Wirtschaftsinformatik Projekt WS 2012-13 Benny Brand | Paul Fuchs | Gui Rong Ko | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias

Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld

43

PDF-Generator

• Generation von PDFs– Tabellen• Fahrzeug• Reservierungen• Mitarbeiter

– Statistiken• Top 5 gefahrene Kilometer• Reservierte Fahrzeuge

Page 44: FLEET MANAGEMENT Wirtschaftsinformatik Projekt WS 2012-13 Benny Brand | Paul Fuchs | Gui Rong Ko | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias

Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld

44

PDF-Generator

Page 45: FLEET MANAGEMENT Wirtschaftsinformatik Projekt WS 2012-13 Benny Brand | Paul Fuchs | Gui Rong Ko | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias

Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld

45

PDF-Generator

Page 46: FLEET MANAGEMENT Wirtschaftsinformatik Projekt WS 2012-13 Benny Brand | Paul Fuchs | Gui Rong Ko | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias

Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld

46

PDF-Generator

Page 47: FLEET MANAGEMENT Wirtschaftsinformatik Projekt WS 2012-13 Benny Brand | Paul Fuchs | Gui Rong Ko | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias

Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld

47

PDF-Generator

• Programmierung– PDFGenerator.java• Erstellt PDF

– ExportPDFFrame.java (GUI)• Ruft Jtables auf

– Jtables-Klassen und Statistik-Klassen • Rufen PDFGenerator auf

Page 48: FLEET MANAGEMENT Wirtschaftsinformatik Projekt WS 2012-13 Benny Brand | Paul Fuchs | Gui Rong Ko | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias

Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld

48

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();

} }};

Page 49: FLEET MANAGEMENT Wirtschaftsinformatik Projekt WS 2012-13 Benny Brand | Paul Fuchs | Gui Rong Ko | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias

Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld

49

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(); }

Page 50: FLEET MANAGEMENT Wirtschaftsinformatik Projekt WS 2012-13 Benny Brand | Paul Fuchs | Gui Rong Ko | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias

Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld

50

package com.hsulm.wf5.fleetmanagement.statisticview.FahrzeugReserviert.java

public void createPDF() { PDFGenerator gen = new PDFGenerator(); PDFGenerator.writeChartToPDF(getChart(), 585, 312,

"Reservierte Fahrzeuge.pdf"); }

Page 51: FLEET MANAGEMENT Wirtschaftsinformatik Projekt WS 2012-13 Benny Brand | Paul Fuchs | Gui Rong Ko | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias

Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld

51

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(); } } }

Page 52: FLEET MANAGEMENT Wirtschaftsinformatik Projekt WS 2012-13 Benny Brand | Paul Fuchs | Gui Rong Ko | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias

Benny Brand | Paul Fuchs | Gui Ro Kong | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld

52