FLEET MANAGEMENT SOFTWARE Wirtschaftsinformatik Projekt | WS 2012-13 Benny Brand Paul Fuchs Gui Ro...

Post on 06-Apr-2016

215 views 1 download

Transcript of FLEET MANAGEMENT SOFTWARE Wirtschaftsinformatik Projekt | WS 2012-13 Benny Brand Paul Fuchs Gui Ro...

FLEET MANAGEMENT SOFTWAREWirtschaftsinformatik Projekt | WS 2012-13

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

17.01.2013

Wintersemester 2012/2013 | Projekt zur Wirtschaftsinformatik | 17.01.2013

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

Wintersemester 2012/2013 | Projekt zur Wirtschaftsinformatik | 17.01.2013

Fleet Management Tool

Einfach Möglichkeit den firmeninternenFuhrpark zu verwalten

Reservierung Werkstatt Fahrzeuge Statistiken Online Reservierungssystem

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

Wintersemester 2012/2013 | Projekt zur Wirtschaftsinformatik | 17.01.2013

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

Wintersemester 2012/2013 | Projekt zur Wirtschaftsinformatik | 17.01.2013

User Stories

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

Wintersemester 2012/2013 | Projekt zur Wirtschaftsinformatik | 17.01.2013

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

Entity-Relationship-Modell

Wintersemester 2012/2013 | Projekt zur Wirtschaftsinformatik | 17.01.2013

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

Wintersemester 2012/2013 | Projekt zur Wirtschaftsinformatik | 17.01.2013

MySQL: Stored Procedures

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

Wintersemester 2012/2013 | Projekt zur Wirtschaftsinformatik | 17.01.2013

MySQL: Stored Procedures

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

Wintersemester 2012/2013 | Projekt zur Wirtschaftsinformatik | 17.01.2013

MySQL: Stored Procedures

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

Wintersemester 2012/2013 | Projekt zur Wirtschaftsinformatik | 17.01.2013

MySQL: Function

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

Wintersemester 2012/2013 | Projekt zur Wirtschaftsinformatik | 17.01.2013

MySQL: Function

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

Wintersemester 2012/2013 | Projekt zur Wirtschaftsinformatik | 17.01.2013

MySQL: Function

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

Wintersemester 2012/2013 | Projekt zur Wirtschaftsinformatik | 17.01.2013

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

14

Aufbau Java

• MVC und Singleton Pattern

Wintersemester 2012/2013 | Projekt zur Wirtschaftsinformatik | 17.01.2013

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

Wintersemester 2012/2013 | Projekt zur Wirtschaftsinformatik | 17.01.2013

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

Wintersemester 2012/2013 | Projekt zur Wirtschaftsinformatik | 17.01.2013

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

Wintersemester 2012/2013 | Projekt zur Wirtschaftsinformatik | 17.01.2013

Fahrzeuge

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

Wintersemester 2012/2013 | Projekt zur Wirtschaftsinformatik | 17.01.2013

Fahrzeuge

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

Wintersemester 2012/2013 | Projekt zur Wirtschaftsinformatik | 17.01.2013

Fahrzeuge

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

Fahrzeuge anlegen und bearbeiten

Wintersemester 2012/2013 | Projekt zur Wirtschaftsinformatik | 17.01.2013

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

Wintersemester 2012/2013 | Projekt zur Wirtschaftsinformatik | 17.01.2013

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

// fahrzeug updaten fahrzeug.objektUpdaten(fahrzeug); }

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

Wintersemester 2012/2013 | Projekt zur Wirtschaftsinformatik | 17.01.2013

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

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

Wintersemester 2012/2013 | Projekt zur Wirtschaftsinformatik | 17.01.2013

Suchfunktion

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

Wintersemester 2012/2013 | Projekt zur Wirtschaftsinformatik | 17.01.2013

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

Wintersemester 2012/2013 | Projekt zur Wirtschaftsinformatik | 17.01.2013

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

Wintersemester 2012/2013 | Projekt zur Wirtschaftsinformatik | 17.01.2013

Reservierungen

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

Wintersemester 2012/2013 | Projekt zur Wirtschaftsinformatik | 17.01.2013

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

28

ReservierungenWintersemester 2012/2013 | Projekt zur Wirtschaftsinformatik | 17.01.2013

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

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

Wintersemester 2012/2013 | Projekt zur Wirtschaftsinformatik | 17.01.2013

Werkstattübersicht

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

Wintersemester 2012/2013 | Projekt zur Wirtschaftsinformatik | 17.01.2013

Werkstattübersicht

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

Wintersemester 2012/2013 | Projekt zur Wirtschaftsinformatik | 17.01.2013

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

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

Wintersemester 2012/2013 | Projekt zur Wirtschaftsinformatik | 17.01.2013

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

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

Wintersemester 2012/2013 | Projekt zur Wirtschaftsinformatik | 17.01.2013

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

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

Wintersemester 2012/2013 | Projekt zur Wirtschaftsinformatik | 17.01.2013

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

Wintersemester 2012/2013 | Projekt zur Wirtschaftsinformatik | 17.01.2013

Statistiken

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

Wintersemester 2012/2013 | Projekt zur Wirtschaftsinformatik | 17.01.2013

package com.hsulm.wf5.fleetmanagement.view.MainGui.javaActionListener 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

Wintersemester 2012/2013 | Projekt zur Wirtschaftsinformatik | 17.01.2013

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

Wintersemester 2012/2013 | Projekt zur Wirtschaftsinformatik | 17.01.2013

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

Wintersemester 2012/2013 | Projekt zur Wirtschaftsinformatik | 17.01.2013

FahrzeugAmMeistenReserviert()

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

Wintersemester 2012/2013 | Projekt zur Wirtschaftsinformatik | 17.01.2013

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

Wintersemester 2012/2013 | Projekt zur Wirtschaftsinformatik | 17.01.2013

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

Wintersemester 2012/2013 | Projekt zur Wirtschaftsinformatik | 17.01.2013

PDF-Generator

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

Wintersemester 2012/2013 | Projekt zur Wirtschaftsinformatik | 17.01.2013

PDF-Generator

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

Wintersemester 2012/2013 | Projekt zur Wirtschaftsinformatik | 17.01.2013

PDF-Generator

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

Wintersemester 2012/2013 | Projekt zur Wirtschaftsinformatik | 17.01.2013

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

Wintersemester 2012/2013 | Projekt zur Wirtschaftsinformatik | 17.01.2013

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

Wintersemester 2012/2013 | Projekt zur Wirtschaftsinformatik | 17.01.2013

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

Wintersemester 2012/2013 | Projekt zur Wirtschaftsinformatik | 17.01.2013

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

Wintersemester 2012/2013 | Projekt zur Wirtschaftsinformatik | 17.01.2013

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

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

Wintersemester 2012/2013 | Projekt zur Wirtschaftsinformatik | 17.01.2013

PHP

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

Wintersemester 2012/2013 | Projekt zur Wirtschaftsinformatik | 17.01.2013