From dd9ff0d41090c5154b794f51a9037dda3a39f53a Mon Sep 17 00:00:00 2001 From: localhorst Date: Thu, 6 Dec 2018 14:11:26 +0100 Subject: [PATCH] reprint job --- pom.xml | 2 +- .../com/jFxKasse/application/PrintJob.java | 77 +++++++++++++++++ .../com/jFxKasse/application/TimeDate.java | 26 ++++++ .../controller/MainWindowController.java | 86 ++++++------------- .../controller/PrinterController.java | 2 +- 5 files changed, 131 insertions(+), 62 deletions(-) create mode 100644 src/main/java/com/jFxKasse/application/PrintJob.java create mode 100644 src/main/java/com/jFxKasse/application/TimeDate.java diff --git a/pom.xml b/pom.xml index 816091d..50fb24b 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 com jFxKasse - 0.1.0 - without Printer + 0.2.0 jFxKasse diff --git a/src/main/java/com/jFxKasse/application/PrintJob.java b/src/main/java/com/jFxKasse/application/PrintJob.java new file mode 100644 index 0000000..499188e --- /dev/null +++ b/src/main/java/com/jFxKasse/application/PrintJob.java @@ -0,0 +1,77 @@ +package com.jFxKasse.application; + +import com.jFxKasse.controller.DBController; +import com.jFxKasse.controller.PrinterController; +import com.jFxKasse.controller.XMLController; + +import com.jFxKasse.datatypes.PrintDataSimple; + +import javafx.geometry.Insets; +import javafx.scene.control.ButtonType; +import javafx.scene.control.Dialog; +import javafx.scene.control.Label; +import javafx.scene.layout.GridPane; +import javafx.util.Pair; + +public class PrintJob +{ + + private TimeDate timedate = new TimeDate(); + + public void printJob(int jobID, XMLController xmlc, DBController dbc, + PrinterController pc) + { + + if ((xmlc.getPrintername().equals("Drucker auswählen") + || xmlc.getPrintername() == null)) { + // no printer selected + System.out.println("Kein Drucker eingestellt!!!"); + + // creates a dialog + Dialog> dialog = new Dialog<>(); + dialog.setTitle("Kein Drucker"); + dialog.setHeaderText("Es ist kein Drucker einestellt.\n" + + "In den Einstellungen einen Drucker auswählen."); + + dialog.getDialogPane().getButtonTypes().addAll(ButtonType.OK); + + GridPane grid = new GridPane(); + grid.setHgap(10); + grid.setVgap(10); + grid.setPadding(new Insets(20, 150, 10, 10)); + + grid.add(new Label("Tipp:\n" + + "Es kann ein virtueller Drucker installiert werden: \n\n" + + "www.cups-pdf.de"), 0, 0); + + dialog.getDialogPane().setContent(grid); + dialog.setResizable(true); + dialog.showAndWait(); + + } else { + // printer selected + pc.selectPrinter(xmlc.getPrintername()); + if (xmlc.getCategorySplitted()) { + // split the bills + + // TODO + + } else { + // one single bills + PrintDataSimple pds = new PrintDataSimple(xmlc.getLinebreak(), + xmlc.getOffsetHeader(), xmlc.getOffsetFooter(), + timedate.getSystemTime() + " " + timedate.getSystemDate(), + xmlc.getHeader(), xmlc.getFooter()); + + pds.setData(Integer.toString(jobID), dbc.getTime_Job(jobID), + dbc.getQuantity_Job(jobID), dbc.getName_Job(jobID), + dbc.getValue_Job(jobID), dbc.getCategory_Job(jobID), + dbc.getJobValue_Job(jobID)); + System.out.println("Printing job ..."); + pc.printString(pds.getPrintString()); + } + } + + } + +} diff --git a/src/main/java/com/jFxKasse/application/TimeDate.java b/src/main/java/com/jFxKasse/application/TimeDate.java new file mode 100644 index 0000000..cb2a0dc --- /dev/null +++ b/src/main/java/com/jFxKasse/application/TimeDate.java @@ -0,0 +1,26 @@ +package com.jFxKasse.application; + +import java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.util.Date; + +public class TimeDate +{ + + public String getSystemTime() + { + DateFormat dateFormat = new SimpleDateFormat("HH:mm"); + Date date = new Date(); + String time = dateFormat.format(date); + return time; + } + + public String getSystemDate() + { + DateFormat dateFormat = new SimpleDateFormat("dd.MM.yyyy"); + Date date = new Date(); + String dateStr = dateFormat.format(date); + return dateStr; + } + +} diff --git a/src/main/java/com/jFxKasse/controller/MainWindowController.java b/src/main/java/com/jFxKasse/controller/MainWindowController.java index 697dff4..ace08e6 100644 --- a/src/main/java/com/jFxKasse/controller/MainWindowController.java +++ b/src/main/java/com/jFxKasse/controller/MainWindowController.java @@ -2,6 +2,8 @@ package com.jFxKasse.controller; import javafx.fxml.FXML; import javafx.geometry.Insets; +import javafx.scene.control.Alert; +import javafx.scene.control.Alert.AlertType; import javafx.scene.control.Button; import javafx.scene.control.ButtonType; import javafx.scene.control.Dialog; @@ -42,6 +44,8 @@ import javafx.scene.layout.AnchorPane; import javafx.scene.layout.GridPane; import javafx.util.Pair; import com.jFxKasse.application.Main; +import com.jFxKasse.application.PrintJob; +import com.jFxKasse.application.TimeDate; import com.jFxKasse.datatypes.Job; import com.jFxKasse.datatypes.tableDataCurrentOrder; import com.jFxKasse.datatypes.tableDataJob; @@ -354,6 +358,10 @@ public class MainWindowController private PrinterController pc; + private TimeDate timedate = new TimeDate(); + + private PrintJob pj = new PrintJob(); + private int idPositionen = 0; private String selectedColorName; @@ -389,8 +397,7 @@ public class MainWindowController // creates a dialog Dialog> dialog = new Dialog<>(); dialog.setTitle("Über jFxKasse"); - dialog.setHeaderText( - "Informationen und Lizenzen - Version 0.1 - Without Printer"); + dialog.setHeaderText("Informationen und Lizenzen - Version 0.2"); dialog.getDialogPane().getButtonTypes().addAll(ButtonType.OK); @@ -505,7 +512,6 @@ public class MainWindowController titlePaneStats.setVisible(true); } - @FXML public void btnSavePrinterAction(ActionEvent event) { @@ -596,13 +602,6 @@ public class MainWindowController } - @FXML - public void btnReprintJobAction(ActionEvent event) - { - - } - - @FXML public void btnPrintBillAction(ActionEvent event) { @@ -627,26 +626,7 @@ public class MainWindowController System.out.println(currentJob.getJobnumber()); - /* TODO */ - - // pc.searchPrinters(); - - // pc.selectPrinter("CUPS-PDF"); - /* TODO */ - - PrintDataSimple pds = new PrintDataSimple(28, 1, 2, - getSystemTime() + " " + getSystemDate(), "Firma GmbH", - "Vielen Dank für den Einkauf"); - - pds.setData(Integer.toString(currentJob.getJobnumber()), - dbc.getTime_Job(currentJob.getJobnumber()), - dbc.getQuantity_Job(currentJob.getJobnumber()), - dbc.getName_Job(currentJob.getJobnumber()), - dbc.getValue_Job(currentJob.getJobnumber()), - dbc.getCategory_Job(currentJob.getJobnumber()), - dbc.getJobValue_Job(currentJob.getJobnumber())); - - pc.printString(pds.getPrintString()); + pj.printJob(currentJob.getJobnumber(), xmlc, dbc, pc); fillTableJobs(); @@ -656,11 +636,18 @@ public class MainWindowController } + @FXML + public void btnReprintJobAction(ActionEvent event) + { + System.out.println("reprint job"); + pj.printJob((selectedJobId + 1), xmlc, dbc, pc); + } + + @FXML public void gridButton01Action(ActionEvent event) { handelGridButtons(1); - } @FXML @@ -871,12 +858,6 @@ public class MainWindowController } - /* - * cats.add(dbc.getName_Category(1)); - * - * cats.add(dbc.getName_Category(2)); cats.add(dbc.getName_Category(3)); - * cats.add(dbc.getName_Category(4)); - */ cats.add(dbc.getName_Category(5)); catChoise.setItems(cats); @@ -938,13 +919,13 @@ public class MainWindowController linesSpinner.setValueFactory(valueFactoryLines); SpinnerValueFactory valueFactoryHeader = // - new SpinnerValueFactory.IntegerSpinnerValueFactory(1, 99, + new SpinnerValueFactory.IntegerSpinnerValueFactory(0, 99, xmlc.getOffsetHeader()); offsetHeaderSpinner.setValueFactory(valueFactoryHeader); SpinnerValueFactory valueFactoryFooter = // - new SpinnerValueFactory.IntegerSpinnerValueFactory(1, 99, + new SpinnerValueFactory.IntegerSpinnerValueFactory(0, 99, xmlc.getOffsetFooter()); offsetFooterSpinner.setValueFactory(valueFactoryFooter); @@ -1076,22 +1057,6 @@ public class MainWindowController this.pc = pc; } - public String getSystemTime() - { - DateFormat dateFormat = new SimpleDateFormat("HH:mm"); - Date date = new Date(); - String time = dateFormat.format(date); - return time; - } - - public String getSystemDate() - { - DateFormat dateFormat = new SimpleDateFormat("dd.MM.yyyy"); - Date date = new Date(); - String dateStr = dateFormat.format(date); - return dateStr; - } - public void setDBLabel() throws Exception { if (xmlc.loadSettings() == true) { @@ -1429,10 +1394,11 @@ public class MainWindowController if (dbc.getState_Job(selectedJobId + 1).equals("storniert")) { btnCancelJob.setDisable(true); + btnReprintJob.setDisable(true); } else { btnCancelJob.setDisable(false); + btnReprintJob.setDisable(false); } - } }); @@ -1471,7 +1437,7 @@ public class MainWindowController public void createNewJob() { currentJob = new Job(dbc.getLatestJobNumber_Job() + 1, - getSystemTime() + " " + getSystemDate()); + timedate.getSystemTime() + " " + timedate.getSystemDate()); labelJobCounter.setText("Auftragsnummer: " + String.valueOf(dbc.getLatestJobNumber_Job() + 1)); } @@ -1520,14 +1486,14 @@ public class MainWindowController labelAllValue.setText("Gesamt: " + str + "€"); - titlePaneStats - .setText("Statistik - " + getSystemTime() + " " + getSystemDate()); + titlePaneStats.setText("Statistik - " + timedate.getSystemTime() + " " + + timedate.getSystemDate()); } public void updateTimeLabel() { - labelTime.setText("Uhrzeit: " + getSystemTime()); + labelTime.setText("Uhrzeit: " + timedate.getSystemTime()); } diff --git a/src/main/java/com/jFxKasse/controller/PrinterController.java b/src/main/java/com/jFxKasse/controller/PrinterController.java index e416870..7f872d2 100644 --- a/src/main/java/com/jFxKasse/controller/PrinterController.java +++ b/src/main/java/com/jFxKasse/controller/PrinterController.java @@ -83,13 +83,13 @@ public class PrinterController implements Printable } } + /** * * @param input data as String */ public void printString(String text) { - PrintService service = selectedPrinter; DocPrintJob job = service.createPrintJob();