Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 02026633ed |
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
target/
|
||||
7
.vscode/extensions.json
vendored
Normal file
7
.vscode/extensions.json
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
{
|
||||
"recommendations": [
|
||||
"vscjava.vscode-java-pack",
|
||||
"vscjava.vscode-maven",
|
||||
"redhat.java"
|
||||
]
|
||||
}
|
||||
20
.vscode/launch.json
vendored
Normal file
20
.vscode/launch.json
vendored
Normal file
@ -0,0 +1,20 @@
|
||||
{
|
||||
"version": "0.2.0",
|
||||
"configurations": [
|
||||
{
|
||||
"type": "java",
|
||||
"name": "Run jFxKasse",
|
||||
"request": "launch",
|
||||
"mainClass": "com.jFxKasse.application.JavaFX11Main",
|
||||
"projectName": "jFxKasse",
|
||||
"vmArgs": "--module-path ${env:PATH_TO_FX} --add-modules javafx.controls,javafx.fxml --add-opens javafx.graphics/com.sun.javafx.scene=ALL-UNNAMED"
|
||||
},
|
||||
{
|
||||
"type": "java",
|
||||
"name": "Run jFxKasse (Maven)",
|
||||
"request": "launch",
|
||||
"mainClass": "com.jFxKasse.application.JavaFX11Main",
|
||||
"projectName": "jFxKasse"
|
||||
}
|
||||
]
|
||||
}
|
||||
11
.vscode/settings.json
vendored
Normal file
11
.vscode/settings.json
vendored
Normal file
@ -0,0 +1,11 @@
|
||||
{
|
||||
"java.project.sourcePaths": [
|
||||
"src/main/java"
|
||||
],
|
||||
"java.project.outputPath": "target/classes",
|
||||
"java.project.referencedLibraries": [],
|
||||
"java.configuration.updateBuildConfiguration": "automatic",
|
||||
"java.compile.nullAnalysis.mode": "automatic",
|
||||
"editor.formatOnSave": true,
|
||||
"files.encoding": "utf8"
|
||||
}
|
||||
51
.vscode/tasks.json
vendored
Normal file
51
.vscode/tasks.json
vendored
Normal file
@ -0,0 +1,51 @@
|
||||
{
|
||||
"version": "2.0.0",
|
||||
"tasks": [
|
||||
{
|
||||
"label": "mvn compile",
|
||||
"type": "shell",
|
||||
"command": "mvn compile",
|
||||
"group": "build",
|
||||
"problemMatcher": [
|
||||
"$javac"
|
||||
]
|
||||
},
|
||||
{
|
||||
"label": "mvn package",
|
||||
"type": "shell",
|
||||
"command": "mvn package -DskipTests",
|
||||
"group": {
|
||||
"kind": "build",
|
||||
"isDefault": true
|
||||
},
|
||||
"problemMatcher": [
|
||||
"$javac"
|
||||
]
|
||||
},
|
||||
{
|
||||
"label": "mvn clean",
|
||||
"type": "shell",
|
||||
"command": "mvn clean",
|
||||
"group": "build",
|
||||
"problemMatcher": []
|
||||
},
|
||||
{
|
||||
"label": "mvn javafx:run",
|
||||
"type": "shell",
|
||||
"command": "mvn javafx:run",
|
||||
"group": "build",
|
||||
"problemMatcher": [
|
||||
"$javac"
|
||||
]
|
||||
},
|
||||
{
|
||||
"label": "mvn test",
|
||||
"type": "shell",
|
||||
"command": "mvn test",
|
||||
"group": "test",
|
||||
"problemMatcher": [
|
||||
"$javac"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
70
README.md
70
README.md
@ -1,38 +1,60 @@
|
||||
# jFxKasse
|
||||
easy payment system for small to middel sized events with a sales slip printer
|
||||
|
||||
Simples Kassensystem für kleine bis mittlere Veranstaltungen mit Bon-Drucker
|
||||
Simple POS (Point of Sale) system for small to medium-sized events with receipt printer support.
|
||||
|
||||
## Requirements
|
||||
|
||||
- Java JDK 17+
|
||||
- Maven 3.6+
|
||||
- Display >= 1366x768
|
||||
|
||||
## Video Tutorials (German | Deutsch)
|
||||
[YouTube Video: jFxKasse - Kassensystem - Kurzanleitung](https://www.youtube.com/watch?v=DV9DDESw40I)
|
||||
|
||||
[YouTube Video: jFxKasse - Kassensystem - Installieren](https://www.youtube.com/watch?v=IY1bqRjwh0Q)
|
||||
|
||||
## Setup (VSCode on openSUSE Tumbleweed)
|
||||
|
||||
### 1. Install dependencies
|
||||
|
||||
```bash
|
||||
sudo zypper install java-17-openjdk-devel maven
|
||||
```
|
||||
|
||||
### 2. Install VSCode extensions
|
||||
|
||||
Open the project in VSCode. You will be prompted to install the recommended extensions:
|
||||
|
||||
- **Extension Pack for Java** (`vscjava.vscode-java-pack`)
|
||||
- **Maven for Java** (`vscjava.vscode-maven`)
|
||||
- **Language Support for Java** (`redhat.java`)
|
||||
|
||||
### 3. Build & Run
|
||||
|
||||
```bash
|
||||
# Compile
|
||||
mvn compile
|
||||
|
||||
# Run via Maven
|
||||
mvn javafx:run
|
||||
|
||||
# Package as fat JAR
|
||||
mvn package
|
||||
java -jar target/jFxKasse-shaded.jar
|
||||
```
|
||||
|
||||
Or use the preconfigured VSCode tasks (`Ctrl+Shift+B`) and launch configurations (`F5`).
|
||||
|
||||
## Screenshots
|
||||
|
||||
### Main View | Hauptansicht
|
||||

|
||||
| Main View | Jobs | Positions | Settings |
|
||||
|-----------|------|-----------|----------|
|
||||
|  |  |  |  |
|
||||
|
||||
### Jobs | Auftäge
|
||||

|
||||
## Hardware
|
||||
|
||||
### Positions | Positionen
|
||||

|
||||
Tested with: [Epson TM T20II](https://www.epson.de/products/sd/pos-printer/epson-tm-t20ii). Other receipt printers should work as well.
|
||||
|
||||
### Settings | Einstellungen
|
||||

|
||||
## License
|
||||
|
||||
|
||||
## Requirements | Anforderungen
|
||||
|
||||
### Software
|
||||
|
||||
* Java JRE 11
|
||||
* Display/Bildschirm > 1366px X 768px
|
||||
* Windoofs, Mac, GNU/Linux (openSuse tested)
|
||||
|
||||
### Hardware
|
||||
|
||||
I used this printer: [Epson TM T20II](https://www.epson.de/products/sd/pos-printer/epson-tm-t20ii)
|
||||
|
||||
Other sales slip printer are possible.
|
||||
GPL-3.0
|
||||
49
pom.xml
49
pom.xml
@ -1,42 +1,48 @@
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>com</groupId>
|
||||
<artifactId>jFxKasse</artifactId>
|
||||
<version>0.3.2</version>
|
||||
<version>0.4.0</version>
|
||||
<name>jFxKasse</name>
|
||||
|
||||
<properties>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
<maven.compiler.source>17</maven.compiler.source>
|
||||
<maven.compiler.target>17</maven.compiler.target>
|
||||
<javafx.version>21.0.5</javafx.version>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>junit</groupId>
|
||||
<artifactId>junit</artifactId>
|
||||
<version>4.12</version>
|
||||
<groupId>org.junit.jupiter</groupId>
|
||||
<artifactId>junit-jupiter</artifactId>
|
||||
<version>5.11.4</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.openjfx</groupId>
|
||||
<artifactId>javafx-controls</artifactId>
|
||||
<version>11</version>
|
||||
<version>${javafx.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.openjfx</groupId>
|
||||
<artifactId>javafx-fxml</artifactId>
|
||||
<version>11</version>
|
||||
<version>${javafx.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.jfoenix</groupId>
|
||||
<artifactId>jfoenix</artifactId>
|
||||
<version>9.0.8</version>
|
||||
<version>9.0.10</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.xerial</groupId>
|
||||
<artifactId>sqlite-jdbc</artifactId>
|
||||
<version>3.23.1</version>
|
||||
<version>3.47.1.0</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
@ -46,11 +52,10 @@
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<version>3.8.0</version>
|
||||
<version>3.13.0</version>
|
||||
<configuration>
|
||||
<source>11</source>
|
||||
<target>11</target>
|
||||
<!--<release>11</release> -->
|
||||
<source>17</source>
|
||||
<target>17</target>
|
||||
<showWarnings>true</showWarnings>
|
||||
<showDeprecation>true</showDeprecation>
|
||||
</configuration>
|
||||
@ -59,7 +64,7 @@
|
||||
<plugin>
|
||||
<groupId>org.codehaus.mojo</groupId>
|
||||
<artifactId>exec-maven-plugin</artifactId>
|
||||
<version>1.6.0</version>
|
||||
<version>3.5.0</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
@ -75,13 +80,12 @@
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-shade-plugin</artifactId>
|
||||
<version>3.2.1</version>
|
||||
<version>3.6.0</version>
|
||||
<configuration>
|
||||
<finalName>jFxKasse</finalName>
|
||||
<shadedArtifactAttached>true</shadedArtifactAttached>
|
||||
<transformers>
|
||||
<transformer
|
||||
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
|
||||
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
|
||||
<mainClass>com.jFxKasse.application.JavaFX11Main</mainClass>
|
||||
</transformer>
|
||||
</transformers>
|
||||
@ -96,6 +100,15 @@
|
||||
</executions>
|
||||
</plugin>
|
||||
|
||||
<plugin>
|
||||
<groupId>org.openjfx</groupId>
|
||||
<artifactId>javafx-maven-plugin</artifactId>
|
||||
<version>0.0.8</version>
|
||||
<configuration>
|
||||
<mainClass>com.jFxKasse.application.JavaFX11Main</mainClass>
|
||||
</configuration>
|
||||
</plugin>
|
||||
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
||||
|
||||
@ -20,9 +20,8 @@ import javafx.scene.Scene;
|
||||
import javafx.scene.input.KeyEvent;
|
||||
import javafx.scene.layout.AnchorPane;
|
||||
|
||||
public class Main extends Application
|
||||
{
|
||||
// path to config.xml and the database
|
||||
public class Main extends Application {
|
||||
// Path to config.xml and the database
|
||||
public static String filepath;
|
||||
|
||||
private static String osName = System.getProperty("os.name");
|
||||
@ -42,42 +41,38 @@ public class Main extends Application
|
||||
private Stage primaryStage;
|
||||
|
||||
@Override
|
||||
public void start(Stage primaryStage)
|
||||
{
|
||||
public void start(Stage primaryStage) {
|
||||
this.primaryStage = primaryStage;
|
||||
System.out.println("\nstarting jFxKasse\n");
|
||||
mainWindow();
|
||||
}
|
||||
|
||||
private void mainWindow()
|
||||
{
|
||||
private void mainWindow() {
|
||||
try {
|
||||
FXMLLoader loader = new FXMLLoader(
|
||||
getClass().getResource("/fxml/MainWindow.fxml"));
|
||||
|
||||
AnchorPane pane = loader.load();
|
||||
primaryStage.setTitle("jFxKasse"); // Title of window
|
||||
primaryStage.setTitle("jFxKasse"); // Window title
|
||||
|
||||
mwc = loader.getController(); // set the mwc as the JavaFx
|
||||
// MainWindowController
|
||||
pc.searchPrinters(); // search for available printers
|
||||
mwc.setMain(this, dbc, xmlc, pc); // set the created instances to the
|
||||
// mwc
|
||||
mwc = loader.getController(); // Set the MainWindowController
|
||||
pc.searchPrinters(); // Search for available printers
|
||||
mwc.setMain(this, dbc, xmlc, pc); // Pass instances to the controller
|
||||
|
||||
firstStart(); // test if this is the first run
|
||||
firstStart(); // Check if this is the first run
|
||||
|
||||
Scene scene = new Scene(pane);
|
||||
scene.getStylesheets().add(
|
||||
Main.class.getResource("/css/application.css").toExternalForm());
|
||||
primaryStage.setScene(scene);
|
||||
primaryStage.show(); // shows the stage
|
||||
primaryStage.show(); // Show the stage
|
||||
|
||||
//attach the KeyController
|
||||
// Attach the KeyController
|
||||
kc = new KeyController(scene, mwc);
|
||||
|
||||
Timeline timeline = new Timeline(
|
||||
new KeyFrame(Duration.seconds(1), ev -> {
|
||||
mwc.updateTimeLabel(); // update time label on UI
|
||||
mwc.updateTimeLabel(); // Update time label on UI
|
||||
}));
|
||||
timeline.setCycleCount(Animation.INDEFINITE);
|
||||
timeline.play();
|
||||
@ -86,8 +81,7 @@ public class Main extends Application
|
||||
}
|
||||
}
|
||||
|
||||
public static void main(String[] args)
|
||||
{
|
||||
public static void main(String[] args) {
|
||||
if (osName.contains("Windows")) {
|
||||
System.out.println("FCK Windows");
|
||||
filepath = userHome + "/Documents/jFxKasse/";
|
||||
@ -100,30 +94,29 @@ public class Main extends Application
|
||||
/**
|
||||
* Checks if the config.xml is preset.
|
||||
*/
|
||||
private void firstStart() throws Exception
|
||||
{
|
||||
private void firstStart() throws Exception {
|
||||
if (xmlc.loadSettings()) {
|
||||
// config.xml found, app starting normal
|
||||
System.out.println("XML found!");
|
||||
mwc.initUI(); // Starting the UI elements
|
||||
mwc.initUI(); // Initialize the UI elements
|
||||
mwc.setDBLabel(); // Set database labels
|
||||
dbc.setDbname(xmlc.getDatabaseName()); // handover database name
|
||||
dbc.connectDatabase(); // estabishing DB conection
|
||||
mwc.fillTablePositionen(); // fill TreeTable 'Positionen'
|
||||
dbc.setDbname(xmlc.getDatabaseName()); // Pass database name
|
||||
dbc.connectDatabase(); // Establish DB connection
|
||||
mwc.fillTablePositionen(); // Fill TreeTable 'Positions'
|
||||
mwc.fillCategory();
|
||||
mwc.fillPrinterSettings();
|
||||
mwc.fillTableJobs();
|
||||
mwc.loadGridButtons();
|
||||
mwc.getSelectedCat(); // Load DB entries in Chois Box
|
||||
mwc.getSelectedCat(); // Load DB entries in ChoiceBox
|
||||
mwc.createNewJob();
|
||||
} else {
|
||||
// config.xml NOT found, first start of app
|
||||
System.out.println("no XML found!");
|
||||
xmlc.initXML(); // set default values
|
||||
mwc.blockUI(true); // disable UI elements that need DB
|
||||
xmlc.initXML(); // Set default values
|
||||
mwc.blockUI(true); // Disable UI elements that need DB
|
||||
mwc.blockUnlock();
|
||||
File dir = new File(filepath);
|
||||
dir.mkdir(); // Create new Subfolder
|
||||
dir.mkdir(); // Create new subfolder
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -16,19 +16,17 @@ import javafx.scene.control.Label;
|
||||
import javafx.scene.layout.GridPane;
|
||||
import javafx.util.Pair;
|
||||
|
||||
public class PrintJob
|
||||
{
|
||||
public class PrintJob {
|
||||
|
||||
private TimeDate timedate = new TimeDate();
|
||||
|
||||
public void printJob(int jobID, XMLController xmlc, DBController dbc,
|
||||
PrinterController pc)
|
||||
{
|
||||
PrinterController pc) {
|
||||
|
||||
if ((xmlc.getPrintername().equals("Drucker auswählen")
|
||||
|| xmlc.getPrintername() == null)) {
|
||||
// no printer selected
|
||||
System.out.println("Kein Drucker eingestellt!!!");
|
||||
// No printer selected
|
||||
System.out.println("No printer configured!");
|
||||
|
||||
// creates a dialog
|
||||
Dialog<Pair<String, String>> dialog = new Dialog<>();
|
||||
@ -52,11 +50,11 @@ public class PrintJob
|
||||
dialog.showAndWait();
|
||||
|
||||
} else {
|
||||
// printer selected
|
||||
// Printer selected
|
||||
pc.selectPrinter(xmlc.getPrintername());
|
||||
/* Single bill or splitted */
|
||||
/* Single bill or split by category */
|
||||
if (xmlc.getCategorySplitted()) {
|
||||
// split the bills
|
||||
// Split the bills
|
||||
|
||||
PrintDataSplitted pdsplitted = new PrintDataSplitted(
|
||||
xmlc.getLinebreak(), xmlc.getOffsetHeader(),
|
||||
@ -78,7 +76,7 @@ public class PrintJob
|
||||
}
|
||||
|
||||
} else {
|
||||
// one single bills
|
||||
// Single bill
|
||||
PrintDataSimple pds = new PrintDataSimple(xmlc.getLinebreak(),
|
||||
xmlc.getOffsetHeader(), xmlc.getOffsetFooter(),
|
||||
timedate.getSystemTime() + " " + timedate.getSystemDate(),
|
||||
|
||||
@ -11,16 +11,14 @@ import com.jFxKasse.datatypes.tableDataJob;
|
||||
import com.jFxKasse.datatypes.tableDataPositionen;
|
||||
import java.io.File;
|
||||
|
||||
public class DBController
|
||||
{
|
||||
public class DBController {
|
||||
private Connection connection;
|
||||
|
||||
private String DB_PATH;
|
||||
|
||||
private String dbname;
|
||||
|
||||
public void main()
|
||||
{
|
||||
public void main() {
|
||||
try {
|
||||
connection = DriverManager
|
||||
.getConnection("jdbc:sqlite:" + DB_PATH + dbname + ".db");
|
||||
@ -30,18 +28,15 @@ public class DBController
|
||||
}
|
||||
}
|
||||
|
||||
public DBController(String path)
|
||||
{
|
||||
public DBController(String path) {
|
||||
this.DB_PATH = path;
|
||||
}
|
||||
|
||||
public void setDbname(String dbname)
|
||||
{
|
||||
public void setDbname(String dbname) {
|
||||
this.dbname = dbname;
|
||||
}
|
||||
|
||||
public void connectDatabase()
|
||||
{ // connect to database
|
||||
public void connectDatabase() { // Connect to database
|
||||
System.out.println("Connecting... DB name: " + dbname);
|
||||
try {
|
||||
if (connection != null)
|
||||
@ -54,8 +49,7 @@ public class DBController
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
Runtime.getRuntime().addShutdownHook(new Thread() {
|
||||
public void run()
|
||||
{
|
||||
public void run() {
|
||||
try {
|
||||
if (!connection.isClosed() && connection != null) {
|
||||
connection.close();
|
||||
@ -69,8 +63,7 @@ public class DBController
|
||||
});
|
||||
}
|
||||
|
||||
public boolean existDB(String pPfad)
|
||||
{ // does the DB exists?
|
||||
public boolean existDB(String pPfad) { // Check if the DB exists
|
||||
File varTmpDir = new File(pPfad);
|
||||
if (!varTmpDir.exists()) {
|
||||
return false;
|
||||
@ -79,8 +72,7 @@ public class DBController
|
||||
}
|
||||
}
|
||||
|
||||
public String getCategoryNameFromPositionen(int pID)
|
||||
{
|
||||
public String getCategoryNameFromPositionen(int pID) {
|
||||
int catInPos = 0;
|
||||
try {
|
||||
Statement stmt = connection.createStatement();
|
||||
@ -108,9 +100,8 @@ public class DBController
|
||||
|
||||
}
|
||||
|
||||
// table Position section //
|
||||
public void createTablePositionen()
|
||||
{ // create table position
|
||||
// Table 'Positionen' section //
|
||||
public void createTablePositionen() { // Create table 'positionen'
|
||||
System.out.println("Creating table Positionen");
|
||||
try {
|
||||
Statement stmt = connection.createStatement();
|
||||
@ -122,7 +113,7 @@ public class DBController
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
// create 25 demo/default data entries
|
||||
// Create 25 demo/default data entries
|
||||
for (int i = 0; i < 25; i++) {
|
||||
fillPositionen_Positionen(i + 1, "Noch frei", (float) 0.00, 6,
|
||||
"#ad0000");
|
||||
@ -130,8 +121,7 @@ public class DBController
|
||||
}
|
||||
|
||||
public void fillPositionen_Positionen(int pID, String pName, float pValue,
|
||||
int pCat, String pColor)
|
||||
{ // create new data in table
|
||||
int pCat, String pColor) { // Create new entry in table
|
||||
System.out.println("Creating new positionen entry");
|
||||
try {
|
||||
PreparedStatement ps = connection.prepareStatement(
|
||||
@ -152,8 +142,7 @@ public class DBController
|
||||
}
|
||||
}
|
||||
|
||||
public String getName_Positionen(int pID)
|
||||
{
|
||||
public String getName_Positionen(int pID) {
|
||||
try {
|
||||
Statement stmt = connection.createStatement();
|
||||
ResultSet rs = stmt.executeQuery(
|
||||
@ -166,8 +155,7 @@ public class DBController
|
||||
}
|
||||
}
|
||||
|
||||
public String getValue_Positionen(int pID)
|
||||
{
|
||||
public String getValue_Positionen(int pID) {
|
||||
try {
|
||||
Statement stmt = connection.createStatement();
|
||||
ResultSet rs = stmt.executeQuery(
|
||||
@ -181,8 +169,7 @@ public class DBController
|
||||
}
|
||||
}
|
||||
|
||||
public int getCat_Positionen(int pID)
|
||||
{
|
||||
public int getCat_Positionen(int pID) {
|
||||
try {
|
||||
Statement stmt = connection.createStatement();
|
||||
ResultSet rs = stmt.executeQuery(
|
||||
@ -196,8 +183,7 @@ public class DBController
|
||||
}
|
||||
}
|
||||
|
||||
public String getColor_Positionen(int pID)
|
||||
{
|
||||
public String getColor_Positionen(int pID) {
|
||||
try {
|
||||
Statement stmt = connection.createStatement();
|
||||
ResultSet rs = stmt.executeQuery(
|
||||
@ -211,8 +197,7 @@ public class DBController
|
||||
}
|
||||
}
|
||||
|
||||
public void setName_Positionen(int pID, String pName)
|
||||
{
|
||||
public void setName_Positionen(int pID, String pName) {
|
||||
try {
|
||||
Statement stmt = connection.createStatement();
|
||||
stmt.executeUpdate("UPDATE positionen SET name = '" + pName
|
||||
@ -223,8 +208,7 @@ public class DBController
|
||||
}
|
||||
}
|
||||
|
||||
public void setValue_Positionen(int pID, String pValue)
|
||||
{
|
||||
public void setValue_Positionen(int pID, String pValue) {
|
||||
try {
|
||||
Statement stmt = connection.createStatement();
|
||||
stmt.executeUpdate("UPDATE positionen SET value = '" + pValue
|
||||
@ -235,8 +219,7 @@ public class DBController
|
||||
}
|
||||
}
|
||||
|
||||
public void setCat_Positionen(int pID, int pCat)
|
||||
{
|
||||
public void setCat_Positionen(int pID, int pCat) {
|
||||
try {
|
||||
Statement stmt = connection.createStatement();
|
||||
stmt.executeUpdate("UPDATE positionen SET cat = '" + pCat
|
||||
@ -247,8 +230,7 @@ public class DBController
|
||||
}
|
||||
}
|
||||
|
||||
public void setColor_Positionen(int pID, String pColor)
|
||||
{
|
||||
public void setColor_Positionen(int pID, String pColor) {
|
||||
try {
|
||||
Statement stmt = connection.createStatement();
|
||||
stmt.executeUpdate("UPDATE positionen SET color = '" + pColor
|
||||
@ -259,8 +241,7 @@ public class DBController
|
||||
}
|
||||
}
|
||||
|
||||
public ArrayList<tableDataPositionen> ladeTabellePositionen()
|
||||
{
|
||||
public ArrayList<tableDataPositionen> ladeTabellePositionen() {
|
||||
ArrayList<tableDataPositionen> daten = new ArrayList<>();
|
||||
try {
|
||||
Statement stmt = connection.createStatement();
|
||||
@ -282,8 +263,7 @@ public class DBController
|
||||
return daten;
|
||||
}
|
||||
|
||||
public void ausgebenSysoPositionen()
|
||||
{
|
||||
public void ausgebenSysoPositionen() {
|
||||
System.out.println("Print positionen");
|
||||
try {
|
||||
Statement stmt = connection.createStatement();
|
||||
@ -302,10 +282,9 @@ public class DBController
|
||||
}
|
||||
}
|
||||
|
||||
// table Category section //
|
||||
public void createTableCategory()
|
||||
{ // create table position
|
||||
System.out.println("Erstelle Tabelle Kategorie");
|
||||
// Table 'Category' section //
|
||||
public void createTableCategory() { // Create table 'category'
|
||||
System.out.println("Creating table Category");
|
||||
try {
|
||||
Statement stmt = connection.createStatement();
|
||||
stmt.executeUpdate("DROP TABLE IF EXISTS category;");
|
||||
@ -323,8 +302,7 @@ public class DBController
|
||||
|
||||
}
|
||||
|
||||
public void setName_Category(int pID, String pName)
|
||||
{
|
||||
public void setName_Category(int pID, String pName) {
|
||||
try {
|
||||
Statement stmt = connection.createStatement();
|
||||
stmt.executeUpdate("UPDATE category SET catname = '" + pName
|
||||
@ -335,10 +313,9 @@ public class DBController
|
||||
}
|
||||
}
|
||||
|
||||
public void fillCategory_Category(int pID, String pName)
|
||||
{
|
||||
public void fillCategory_Category(int pID, String pName) {
|
||||
|
||||
System.out.println("Erstelle neuen Kategorie Eintrag");
|
||||
System.out.println("Creating new category entry");
|
||||
try {
|
||||
PreparedStatement ps = connection
|
||||
.prepareStatement("INSERT INTO category VALUES (?, ?);");
|
||||
@ -355,8 +332,7 @@ public class DBController
|
||||
|
||||
}
|
||||
|
||||
public String getName_Category(int pID)
|
||||
{
|
||||
public String getName_Category(int pID) {
|
||||
try {
|
||||
Statement stmt = connection.createStatement();
|
||||
ResultSet rs = stmt.executeQuery(
|
||||
@ -370,9 +346,8 @@ public class DBController
|
||||
}
|
||||
}
|
||||
|
||||
// table Jobs section //
|
||||
public void erstelleTabelleJobs()
|
||||
{ // create table jobs
|
||||
// Table 'Jobs' section //
|
||||
public void erstelleTabelleJobs() { // Create table 'jobs'
|
||||
System.out.println("Creating table Jobs");
|
||||
try {
|
||||
Statement stmt = connection.createStatement();
|
||||
@ -385,8 +360,7 @@ public class DBController
|
||||
}
|
||||
}
|
||||
|
||||
public int getLatestJobNumber_Job()
|
||||
{
|
||||
public int getLatestJobNumber_Job() {
|
||||
try {
|
||||
Statement stmt = connection.createStatement();
|
||||
ResultSet rs = stmt.executeQuery(
|
||||
@ -400,8 +374,7 @@ public class DBController
|
||||
return 0;
|
||||
}
|
||||
|
||||
public String getTime_Job(int pID)
|
||||
{
|
||||
public String getTime_Job(int pID) {
|
||||
try {
|
||||
Statement stmt = connection.createStatement();
|
||||
ResultSet rs = stmt.executeQuery(
|
||||
@ -414,8 +387,7 @@ public class DBController
|
||||
}
|
||||
}
|
||||
|
||||
public String getQuantity_Job(int pID)
|
||||
{
|
||||
public String getQuantity_Job(int pID) {
|
||||
try {
|
||||
Statement stmt = connection.createStatement();
|
||||
ResultSet rs = stmt.executeQuery(
|
||||
@ -429,8 +401,7 @@ public class DBController
|
||||
}
|
||||
}
|
||||
|
||||
public String getName_Job(int pID)
|
||||
{
|
||||
public String getName_Job(int pID) {
|
||||
try {
|
||||
Statement stmt = connection.createStatement();
|
||||
ResultSet rs = stmt.executeQuery(
|
||||
@ -444,8 +415,7 @@ public class DBController
|
||||
}
|
||||
}
|
||||
|
||||
public String getValue_Job(int pID)
|
||||
{
|
||||
public String getValue_Job(int pID) {
|
||||
try {
|
||||
Statement stmt = connection.createStatement();
|
||||
ResultSet rs = stmt.executeQuery(
|
||||
@ -459,8 +429,7 @@ public class DBController
|
||||
}
|
||||
}
|
||||
|
||||
public String getCategory_Job(int pID)
|
||||
{
|
||||
public String getCategory_Job(int pID) {
|
||||
try {
|
||||
Statement stmt = connection.createStatement();
|
||||
ResultSet rs = stmt.executeQuery(
|
||||
@ -474,8 +443,7 @@ public class DBController
|
||||
}
|
||||
}
|
||||
|
||||
public String getState_Job(int pID)
|
||||
{
|
||||
public String getState_Job(int pID) {
|
||||
try {
|
||||
Statement stmt = connection.createStatement();
|
||||
ResultSet rs = stmt.executeQuery(
|
||||
@ -488,8 +456,7 @@ public class DBController
|
||||
}
|
||||
}
|
||||
|
||||
public String getJobValue_Job(int pID)
|
||||
{
|
||||
public String getJobValue_Job(int pID) {
|
||||
try {
|
||||
Statement stmt = connection.createStatement();
|
||||
ResultSet rs = stmt.executeQuery(
|
||||
@ -502,8 +469,7 @@ public class DBController
|
||||
}
|
||||
}
|
||||
|
||||
public String getAllJobValue_Job()
|
||||
{
|
||||
public String getAllJobValue_Job() {
|
||||
try {
|
||||
Statement stmt = connection.createStatement();
|
||||
ResultSet rs = stmt.executeQuery(
|
||||
@ -517,8 +483,7 @@ public class DBController
|
||||
}
|
||||
}
|
||||
|
||||
public String getJobCount()
|
||||
{
|
||||
public String getJobCount() {
|
||||
try {
|
||||
Statement stmt = connection.createStatement();
|
||||
ResultSet rs = stmt.executeQuery(
|
||||
@ -532,8 +497,7 @@ public class DBController
|
||||
}
|
||||
}
|
||||
|
||||
public void setStatus_Jobs(int pID, String pStatus)
|
||||
{
|
||||
public void setStatus_Jobs(int pID, String pStatus) {
|
||||
try {
|
||||
Statement stmt = connection.createStatement();
|
||||
stmt.executeUpdate("UPDATE jobs SET state = '" + pStatus
|
||||
@ -544,8 +508,7 @@ public class DBController
|
||||
}
|
||||
}
|
||||
|
||||
public ArrayList<tableDataJob> loadTableJobs_Job()
|
||||
{
|
||||
public ArrayList<tableDataJob> loadTableJobs_Job() {
|
||||
|
||||
ArrayList<tableDataJob> tmp = new ArrayList<tableDataJob>();
|
||||
try {
|
||||
@ -576,9 +539,8 @@ public class DBController
|
||||
|
||||
public void fillJobs_Jobs(int pID, String pTime, String pPositionen_quantity,
|
||||
String pPositionen_name, String pPositionen_value,
|
||||
String pPositionen_cat, String pState, String pJobvalue)
|
||||
{
|
||||
System.out.println("Create new Job Entry");
|
||||
String pPositionen_cat, String pState, String pJobvalue) {
|
||||
System.out.println("Creating new job entry");
|
||||
try {
|
||||
PreparedStatement ps = connection.prepareStatement(
|
||||
"INSERT INTO jobs VALUES (?, ?, ?, ?, ?, ?, ?, ?);");
|
||||
|
||||
@ -38,8 +38,7 @@ import com.jFxKasse.datatypes.tableDataCurrentOrder;
|
||||
import com.jFxKasse.datatypes.tableDataJob;
|
||||
import com.jFxKasse.datatypes.tableDataPositionen;
|
||||
|
||||
public class MainWindowController
|
||||
{
|
||||
public class MainWindowController {
|
||||
@FXML
|
||||
private AnchorPane mainAnchorpane;
|
||||
|
||||
@ -381,8 +380,7 @@ public class MainWindowController
|
||||
new tableDataPositionen(0, "0", "0", "0", "0"));
|
||||
|
||||
@FXML
|
||||
public void ueberbtnAction(ActionEvent event)
|
||||
{ // opens the 'Über' dialog
|
||||
public void ueberbtnAction(ActionEvent event) { // Opens the 'About' dialog
|
||||
|
||||
// creates a dialog
|
||||
Dialog<Pair<String, String>> dialog = new Dialog<>();
|
||||
@ -413,8 +411,7 @@ public class MainWindowController
|
||||
}
|
||||
|
||||
@FXML
|
||||
public void btnOpenFolderAction(ActionEvent event) throws IOException
|
||||
{
|
||||
public void btnOpenFolderAction(ActionEvent event) throws IOException {
|
||||
|
||||
if (System.getProperty("os.name").contains("Windows")) {
|
||||
System.out.println("FCK Windows");
|
||||
@ -427,15 +424,14 @@ public class MainWindowController
|
||||
}
|
||||
|
||||
@FXML
|
||||
public void btnCreateNewDatabaseAction(ActionEvent event) throws Exception
|
||||
{
|
||||
public void btnCreateNewDatabaseAction(ActionEvent event) throws Exception {
|
||||
|
||||
if (!(tftNewDBName.getText().equals(""))) {
|
||||
|
||||
xmlc.setDatabaseName(tftNewDBName.getText());
|
||||
|
||||
dbc.setDbname(xmlc.getDatabaseName());
|
||||
dbc.connectDatabase(); // establish DB connection
|
||||
dbc.connectDatabase(); // Establish DB connection
|
||||
dbc.createTablePositionen(); // Create new table
|
||||
dbc.erstelleTabelleJobs(); // Create new table
|
||||
dbc.createTableCategory(); // Create new table
|
||||
@ -446,12 +442,12 @@ public class MainWindowController
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
setDBLabel(); // Set new databese labels
|
||||
blockUI(false); // unlock UI elements that need DB
|
||||
fillTablePositionen(); // fill TreeTable 'Positionen'
|
||||
setDBLabel(); // Set new database labels
|
||||
blockUI(false); // Unlock UI elements that need DB
|
||||
fillTablePositionen(); // Fill TreeTable 'Positions'
|
||||
fillCategory();
|
||||
fillPrinterSettings();
|
||||
initUI(); // Starting the UI elements
|
||||
initUI(); // Initialize the UI elements
|
||||
getSelectedCat();
|
||||
createNewJob();
|
||||
|
||||
@ -460,42 +456,39 @@ public class MainWindowController
|
||||
}
|
||||
|
||||
@FXML
|
||||
public void btnSaveEntryAction(ActionEvent event)
|
||||
{
|
||||
public void btnSaveEntryAction(ActionEvent event) {
|
||||
dbc.setName_Positionen(idPositionen, tftNewPosition.getText());
|
||||
dbc.setValue_Positionen(idPositionen, tftNewValue.getText());
|
||||
dbc.setColor_Positionen(idPositionen, getColorCodes(selectedColorName));
|
||||
|
||||
dbc.setCat_Positionen(idPositionen, getSelectedCat());
|
||||
|
||||
fillTablePositionen(); // fill TreeTable 'Positionen'
|
||||
fillTablePositionen(); // Fill TreeTable 'Positions'
|
||||
loadGridButtons();
|
||||
|
||||
}
|
||||
|
||||
@FXML
|
||||
public void btnClearEntryAction(ActionEvent event)
|
||||
{
|
||||
// set default values
|
||||
public void btnClearEntryAction(ActionEvent event) {
|
||||
// Set default values
|
||||
dbc.setName_Positionen(idPositionen, "Noch frei");
|
||||
dbc.setValue_Positionen(idPositionen, "0.00");
|
||||
dbc.setColor_Positionen(idPositionen, "#FAF0E6");
|
||||
dbc.setCat_Positionen(idPositionen, 6);
|
||||
|
||||
fillTablePositionen(); // fill TreeTable 'Positionen'
|
||||
fillTablePositionen(); // Fill TreeTable 'Positions'
|
||||
}
|
||||
|
||||
@FXML
|
||||
public void btnCalcStatsAction(ActionEvent event)
|
||||
{
|
||||
public void btnCalcStatsAction(ActionEvent event) {
|
||||
int allActiveJobs = Integer.valueOf(dbc.getJobCount());
|
||||
|
||||
if (dbc.getAllJobValue_Job() != null) {
|
||||
|
||||
// summed up values of all jobs that are active
|
||||
// Summed up values of all active jobs
|
||||
float allValue = Float.valueOf(dbc.getAllJobValue_Job());
|
||||
|
||||
// count of all jobs that are active
|
||||
// Count of all active jobs
|
||||
|
||||
float avgJobValue = ((float) allValue / allActiveJobs);
|
||||
|
||||
@ -507,8 +500,7 @@ public class MainWindowController
|
||||
}
|
||||
|
||||
@FXML
|
||||
public void btnSavePrinterAction(ActionEvent event)
|
||||
{
|
||||
public void btnSavePrinterAction(ActionEvent event) {
|
||||
System.out.println("btnSavePrinterAction");
|
||||
|
||||
xmlc.setPrintername(
|
||||
@ -530,8 +522,7 @@ public class MainWindowController
|
||||
}
|
||||
|
||||
@FXML
|
||||
public void btnCancelJobAction(ActionEvent event)
|
||||
{
|
||||
public void btnCancelJobAction(ActionEvent event) {
|
||||
dbc.setStatus_Jobs(selectedJobId + 1, "storniert");
|
||||
fillTableJobs();
|
||||
btnCancelJob.setDisable(true);
|
||||
@ -539,8 +530,7 @@ public class MainWindowController
|
||||
}
|
||||
|
||||
@FXML
|
||||
public void btnLockAction(ActionEvent event)
|
||||
{
|
||||
public void btnLockAction(ActionEvent event) {
|
||||
lockState = !lockState;
|
||||
blockUI(lockState);
|
||||
|
||||
@ -552,8 +542,7 @@ public class MainWindowController
|
||||
}
|
||||
|
||||
@FXML
|
||||
public void btnSaveCatAction(ActionEvent event)
|
||||
{
|
||||
public void btnSaveCatAction(ActionEvent event) {
|
||||
dbc.setName_Category(1, tftKat01.getText());
|
||||
dbc.setName_Category(2, tftKat02.getText());
|
||||
dbc.setName_Category(3, tftKat03.getText());
|
||||
@ -566,8 +555,7 @@ public class MainWindowController
|
||||
}
|
||||
|
||||
@FXML
|
||||
public void btnDeleteSelectedPositionAction(ActionEvent event)
|
||||
{
|
||||
public void btnDeleteSelectedPositionAction(ActionEvent event) {
|
||||
currentJob.deletePosName(currentOrderPosName);
|
||||
rootCurrentJob.getChildren().remove(0,
|
||||
rootCurrentJob.getChildren().size());
|
||||
@ -592,8 +580,7 @@ public class MainWindowController
|
||||
}
|
||||
|
||||
@FXML
|
||||
public void btnPrintBillAction(ActionEvent event)
|
||||
{
|
||||
public void btnPrintBillAction(ActionEvent event) {
|
||||
btnPrintBill.setDisable(true);
|
||||
tapPosEdit.setDisable(false);
|
||||
btnDeleteSelectedPosition.setDisable(true);
|
||||
@ -626,165 +613,138 @@ public class MainWindowController
|
||||
}
|
||||
|
||||
@FXML
|
||||
public void btnReprintJobAction(ActionEvent event)
|
||||
{
|
||||
public void btnReprintJobAction(ActionEvent event) {
|
||||
System.out.println("reprint job");
|
||||
pj.printJob((selectedJobId + 1), xmlc, dbc, pc);
|
||||
}
|
||||
|
||||
@FXML
|
||||
public void gridButton01Action(ActionEvent event)
|
||||
{
|
||||
public void gridButton01Action(ActionEvent event) {
|
||||
handleGridButtons(1);
|
||||
}
|
||||
|
||||
@FXML
|
||||
public void gridButton02Action(ActionEvent event)
|
||||
{
|
||||
public void gridButton02Action(ActionEvent event) {
|
||||
handleGridButtons(2);
|
||||
}
|
||||
|
||||
@FXML
|
||||
public void gridButton03Action(ActionEvent event)
|
||||
{
|
||||
public void gridButton03Action(ActionEvent event) {
|
||||
handleGridButtons(3);
|
||||
}
|
||||
|
||||
@FXML
|
||||
public void gridButton04Action(ActionEvent event)
|
||||
{
|
||||
public void gridButton04Action(ActionEvent event) {
|
||||
handleGridButtons(4);
|
||||
}
|
||||
|
||||
@FXML
|
||||
public void gridButton05Action(ActionEvent event)
|
||||
{
|
||||
public void gridButton05Action(ActionEvent event) {
|
||||
handleGridButtons(5);
|
||||
}
|
||||
|
||||
@FXML
|
||||
public void gridButton06Action(ActionEvent event)
|
||||
{
|
||||
public void gridButton06Action(ActionEvent event) {
|
||||
handleGridButtons(6);
|
||||
}
|
||||
|
||||
@FXML
|
||||
public void gridButton07Action(ActionEvent event)
|
||||
{
|
||||
public void gridButton07Action(ActionEvent event) {
|
||||
handleGridButtons(7);
|
||||
}
|
||||
|
||||
@FXML
|
||||
public void gridButton08Action(ActionEvent event)
|
||||
{
|
||||
public void gridButton08Action(ActionEvent event) {
|
||||
handleGridButtons(8);
|
||||
}
|
||||
|
||||
@FXML
|
||||
public void gridButton09Action(ActionEvent event)
|
||||
{
|
||||
public void gridButton09Action(ActionEvent event) {
|
||||
handleGridButtons(9);
|
||||
}
|
||||
|
||||
@FXML
|
||||
public void gridButton10Action(ActionEvent event)
|
||||
{
|
||||
public void gridButton10Action(ActionEvent event) {
|
||||
handleGridButtons(10);
|
||||
}
|
||||
|
||||
@FXML
|
||||
public void gridButton11Action(ActionEvent event)
|
||||
{
|
||||
public void gridButton11Action(ActionEvent event) {
|
||||
handleGridButtons(11);
|
||||
}
|
||||
|
||||
@FXML
|
||||
public void gridButton12Action(ActionEvent event)
|
||||
{
|
||||
public void gridButton12Action(ActionEvent event) {
|
||||
handleGridButtons(12);
|
||||
}
|
||||
|
||||
@FXML
|
||||
public void gridButton13Action(ActionEvent event)
|
||||
{
|
||||
public void gridButton13Action(ActionEvent event) {
|
||||
handleGridButtons(13);
|
||||
}
|
||||
|
||||
@FXML
|
||||
public void gridButton14Action(ActionEvent event)
|
||||
{
|
||||
public void gridButton14Action(ActionEvent event) {
|
||||
handleGridButtons(14);
|
||||
}
|
||||
|
||||
@FXML
|
||||
public void gridButton15Action(ActionEvent event)
|
||||
{
|
||||
public void gridButton15Action(ActionEvent event) {
|
||||
handleGridButtons(15);
|
||||
}
|
||||
|
||||
@FXML
|
||||
public void gridButton16Action(ActionEvent event)
|
||||
{
|
||||
public void gridButton16Action(ActionEvent event) {
|
||||
handleGridButtons(16);
|
||||
}
|
||||
|
||||
@FXML
|
||||
public void gridButton17Action(ActionEvent event)
|
||||
{
|
||||
public void gridButton17Action(ActionEvent event) {
|
||||
handleGridButtons(17);
|
||||
}
|
||||
|
||||
@FXML
|
||||
public void gridButton18Action(ActionEvent event)
|
||||
{
|
||||
public void gridButton18Action(ActionEvent event) {
|
||||
handleGridButtons(18);
|
||||
}
|
||||
|
||||
@FXML
|
||||
public void gridButton19Action(ActionEvent event)
|
||||
{
|
||||
public void gridButton19Action(ActionEvent event) {
|
||||
handleGridButtons(19);
|
||||
}
|
||||
|
||||
@FXML
|
||||
public void gridButton20Action(ActionEvent event)
|
||||
{
|
||||
public void gridButton20Action(ActionEvent event) {
|
||||
handleGridButtons(20);
|
||||
}
|
||||
|
||||
@FXML
|
||||
public void gridButton21Action(ActionEvent event)
|
||||
{
|
||||
public void gridButton21Action(ActionEvent event) {
|
||||
handleGridButtons(21);
|
||||
}
|
||||
|
||||
@FXML
|
||||
public void gridButton22Action(ActionEvent event)
|
||||
{
|
||||
public void gridButton22Action(ActionEvent event) {
|
||||
handleGridButtons(22);
|
||||
}
|
||||
|
||||
@FXML
|
||||
public void gridButton23Action(ActionEvent event)
|
||||
{
|
||||
public void gridButton23Action(ActionEvent event) {
|
||||
handleGridButtons(23);
|
||||
}
|
||||
|
||||
@FXML
|
||||
public void gridButton24Action(ActionEvent event)
|
||||
{
|
||||
public void gridButton24Action(ActionEvent event) {
|
||||
handleGridButtons(24);
|
||||
}
|
||||
|
||||
@FXML
|
||||
public void gridButton25Action(ActionEvent event)
|
||||
{
|
||||
public void gridButton25Action(ActionEvent event) {
|
||||
handleGridButtons(25);
|
||||
}
|
||||
|
||||
@FXML
|
||||
public void fillTablePositionen()
|
||||
{ // loads the table in the TreeTableView
|
||||
public void fillTablePositionen() { // Load positions into the TreeTableView
|
||||
|
||||
rootPositionen.getChildren().remove(0,
|
||||
rootPositionen.getChildren().size());
|
||||
@ -808,8 +768,7 @@ public class MainWindowController
|
||||
}
|
||||
}
|
||||
|
||||
public void initUI()
|
||||
{
|
||||
public void initUI() {
|
||||
System.out.println("initUI");
|
||||
for (int i = 0; i < 25; i++) {
|
||||
getButtonByID(i).setVisible(false);
|
||||
@ -835,8 +794,7 @@ public class MainWindowController
|
||||
|
||||
}
|
||||
|
||||
public int getSelectedCat()
|
||||
{
|
||||
public int getSelectedCat() {
|
||||
ObservableList<String> cats = FXCollections.observableArrayList();
|
||||
|
||||
for (int i = 1; i < 5; i++) {
|
||||
@ -853,8 +811,7 @@ public class MainWindowController
|
||||
.addListener(new ChangeListener<Number>() {
|
||||
@Override
|
||||
public void changed(ObservableValue<? extends Number> ov,
|
||||
Number value, Number new_value)
|
||||
{
|
||||
Number value, Number new_value) {
|
||||
try {
|
||||
selectedCatName = catChoise.getItems().get((int) new_value)
|
||||
.toString();
|
||||
@ -871,8 +828,7 @@ public class MainWindowController
|
||||
return 5;
|
||||
}
|
||||
|
||||
public void fillPrinterSettings()
|
||||
{
|
||||
public void fillPrinterSettings() {
|
||||
System.out.println("Fill printer Settings");
|
||||
|
||||
ObservableList<String> printers = FXCollections
|
||||
@ -884,16 +840,16 @@ public class MainWindowController
|
||||
int index = 0;
|
||||
for (String currentPrinter : printers) {
|
||||
if (xmlc.getPrintername().equals(currentPrinter)) {
|
||||
// saved printer is available
|
||||
// Saved printer is available
|
||||
printerFound = true;
|
||||
// select saved printer in UI
|
||||
// Select saved printer in UI
|
||||
printerChoise.getSelectionModel().select(index);
|
||||
}
|
||||
index++;
|
||||
}
|
||||
|
||||
if (!printerFound) {
|
||||
// saved printer is not available
|
||||
// Saved printer is not available
|
||||
printerChoise.getSelectionModel().select(printers.size() - 1);
|
||||
System.out.println("no printer found");
|
||||
}
|
||||
@ -924,8 +880,7 @@ public class MainWindowController
|
||||
|
||||
}
|
||||
|
||||
public void fillCategory()
|
||||
{
|
||||
public void fillCategory() {
|
||||
tftKat01.setText(dbc.getName_Category(1));
|
||||
tftKat02.setText(dbc.getName_Category(2));
|
||||
tftKat03.setText(dbc.getName_Category(3));
|
||||
@ -933,8 +888,7 @@ public class MainWindowController
|
||||
tftKat05.setText(dbc.getName_Category(5));
|
||||
}
|
||||
|
||||
private void initPositionen()
|
||||
{
|
||||
private void initPositionen() {
|
||||
entryTreeTable.setRoot(rootPositionen);
|
||||
entryTreeTable.setShowRoot(false);
|
||||
entryTreeTable.setEditable(false);
|
||||
@ -954,8 +908,7 @@ public class MainWindowController
|
||||
.addListener(new ChangeListener<Number>() {
|
||||
@Override
|
||||
public void changed(ObservableValue<? extends Number> ov,
|
||||
Number value, Number new_value)
|
||||
{
|
||||
Number value, Number new_value) {
|
||||
selectedColorName = colorChoise.getItems()
|
||||
.get((int) new_value).toString();
|
||||
}
|
||||
@ -980,10 +933,9 @@ public class MainWindowController
|
||||
.addListener(new ChangeListener<Object>() {
|
||||
@Override
|
||||
public void changed(ObservableValue<?> observable, Object oldVal,
|
||||
Object newVal)
|
||||
{
|
||||
Object newVal) {
|
||||
int selected = entryTreeTable.getSelectionModel()
|
||||
.getSelectedIndex(); // get selected item
|
||||
.getSelectedIndex(); // Get selected item
|
||||
|
||||
try {
|
||||
idPositionen = columnPosnumber.getCellData(selected);
|
||||
@ -1006,8 +958,7 @@ public class MainWindowController
|
||||
tftNewValue.textProperty().addListener(new ChangeListener<String>() {
|
||||
@Override
|
||||
public void changed(ObservableValue<? extends String> observable,
|
||||
String oldValue, String newValue)
|
||||
{
|
||||
String oldValue, String newValue) {
|
||||
if (!newValue.matches("\\d{0,4}([\\.]\\d{0,2})?")) {
|
||||
tftNewValue.setText(oldValue);
|
||||
}
|
||||
@ -1031,16 +982,14 @@ public class MainWindowController
|
||||
}
|
||||
|
||||
public void setMain(Main main, DBController dbc, XMLController xmlc,
|
||||
PrinterController pc)
|
||||
{
|
||||
PrinterController pc) {
|
||||
this.main = main;
|
||||
this.dbc = dbc;
|
||||
this.xmlc = xmlc;
|
||||
this.pc = pc;
|
||||
}
|
||||
|
||||
public void setDBLabel() throws Exception
|
||||
{
|
||||
public void setDBLabel() throws Exception {
|
||||
if (xmlc.loadSettings() == true) {
|
||||
labelDBStatus.setText(
|
||||
"Geladene Datenbank: " + xmlc.getDatabaseName() + ".db");
|
||||
@ -1059,8 +1008,7 @@ public class MainWindowController
|
||||
}
|
||||
}
|
||||
|
||||
private String getColorCodes(String pColorName)
|
||||
{
|
||||
private String getColorCodes(String pColorName) {
|
||||
switch (pColorName) {
|
||||
case "Rot":
|
||||
return "#ad0000";
|
||||
@ -1084,8 +1032,7 @@ public class MainWindowController
|
||||
}
|
||||
}
|
||||
|
||||
private String getColorNames(String pColorCode)
|
||||
{
|
||||
private String getColorNames(String pColorCode) {
|
||||
switch (pColorCode) {
|
||||
case "#ad0000":
|
||||
return "Rot";
|
||||
@ -1109,8 +1056,7 @@ public class MainWindowController
|
||||
}
|
||||
}
|
||||
|
||||
private Integer getColorID(String pColorCode)
|
||||
{
|
||||
private Integer getColorID(String pColorCode) {
|
||||
switch (pColorCode) {
|
||||
case "#ad0000":
|
||||
return 0;
|
||||
@ -1134,19 +1080,18 @@ public class MainWindowController
|
||||
}
|
||||
}
|
||||
|
||||
public void blockUI(boolean pState)
|
||||
{
|
||||
public void blockUI(boolean pState) {
|
||||
btnCalcStats.setDisable(pState);
|
||||
btnClearEntry.setDisable(pState);
|
||||
|
||||
if ((!isPrintBtnDisabled) && (!pState)) {
|
||||
// print was not disabled and will be enabled again
|
||||
// Print was not disabled and will be enabled again
|
||||
btnPrintBill.setDisable(pState);
|
||||
btnDeleteSelectedPosition.setDisable(pState);
|
||||
}
|
||||
|
||||
if (pState) {
|
||||
// disable allways
|
||||
// Always disable
|
||||
btnPrintBill.setDisable(pState);
|
||||
btnDeleteSelectedPosition.setDisable(pState);
|
||||
}
|
||||
@ -1181,8 +1126,7 @@ public class MainWindowController
|
||||
|
||||
}
|
||||
|
||||
public void loadGridButtons()
|
||||
{
|
||||
public void loadGridButtons() {
|
||||
for (int i = 0; i < 25; i++) {
|
||||
getButtonByID(i).setText(dbc.getName_Positionen(i + 1));
|
||||
getButtonByID(i).setFocusTraversable(false);
|
||||
@ -1204,8 +1148,7 @@ public class MainWindowController
|
||||
}
|
||||
}
|
||||
|
||||
public Button getButtonByID(int pID)
|
||||
{
|
||||
public Button getButtonByID(int pID) {
|
||||
switch (pID) {
|
||||
case 0:
|
||||
return gridButton01;
|
||||
@ -1262,8 +1205,7 @@ public class MainWindowController
|
||||
}
|
||||
}
|
||||
|
||||
private void handleGridButtons(int pID)
|
||||
{
|
||||
private void handleGridButtons(int pID) {
|
||||
|
||||
if (!getButtonByID(pID - 1).isVisible()) {
|
||||
// Button is not visible, no action
|
||||
@ -1292,8 +1234,7 @@ public class MainWindowController
|
||||
|
||||
}
|
||||
|
||||
private void initCurrentOrderTreeTableView()
|
||||
{
|
||||
private void initCurrentOrderTreeTableView() {
|
||||
columnQuantity
|
||||
.setStyle("-fx-alignment: CENTER; -fx-font: 17px Cantarell;");
|
||||
columnPosition
|
||||
@ -1313,13 +1254,12 @@ public class MainWindowController
|
||||
.addListener(new ChangeListener<Object>() {
|
||||
@Override
|
||||
public void changed(ObservableValue<?> observable, Object oldVal,
|
||||
Object newVal)
|
||||
{
|
||||
Object newVal) {
|
||||
int selected = tableCurrentOrder.getSelectionModel()
|
||||
.getSelectedIndex(); // get selected item
|
||||
.getSelectedIndex(); // Get selected item
|
||||
|
||||
if (columnPosition.getCellData(selected) != null) {
|
||||
currentOrderPosName = columnPosition.getCellData(selected); // Ausgewählte
|
||||
currentOrderPosName = columnPosition.getCellData(selected); // Selected position
|
||||
btnDeleteSelectedPosition.setDisable(false);
|
||||
}
|
||||
}
|
||||
@ -1327,8 +1267,7 @@ public class MainWindowController
|
||||
|
||||
}
|
||||
|
||||
private void initJobTreeTableView()
|
||||
{
|
||||
private void initJobTreeTableView() {
|
||||
columnJobNumber
|
||||
.setStyle("-fx-alignment: CENTER; -fx-font: 17px Cantarell;");
|
||||
|
||||
@ -1365,10 +1304,9 @@ public class MainWindowController
|
||||
.addListener(new ChangeListener<Object>() {
|
||||
@Override
|
||||
public void changed(ObservableValue<?> observable, Object oldVal,
|
||||
Object newVal)
|
||||
{
|
||||
Object newVal) {
|
||||
selectedJobId = jobsTreeTable.getSelectionModel()
|
||||
.getSelectedIndex(); // get selected item
|
||||
.getSelectedIndex(); // Get selected item
|
||||
|
||||
if (dbc.getState_Job(selectedJobId + 1).equals("storniert")) {
|
||||
btnCancelJob.setDisable(true);
|
||||
@ -1382,8 +1320,7 @@ public class MainWindowController
|
||||
}
|
||||
|
||||
@FXML
|
||||
public void fillTableJobs()
|
||||
{ // loads the table in the TreeTableView
|
||||
public void fillTableJobs() { // Load jobs into the TreeTableView
|
||||
rootJobs.getChildren().remove(0, rootJobs.getChildren().size());
|
||||
|
||||
for (int i = 0; i < dbc.loadTableJobs_Job().size(); i++) {
|
||||
@ -1415,15 +1352,13 @@ public class MainWindowController
|
||||
|
||||
}
|
||||
|
||||
public void createNewJob()
|
||||
{
|
||||
public void createNewJob() {
|
||||
currentJob = new Job(dbc.getLatestJobNumber_Job() + 1);
|
||||
labelJobCounter.setText("Auftragsnummer: "
|
||||
+ String.valueOf(dbc.getLatestJobNumber_Job() + 1));
|
||||
}
|
||||
|
||||
private static String createJobDescription(String pNames, String pQuantities)
|
||||
{
|
||||
private static String createJobDescription(String pNames, String pQuantities) {
|
||||
String line = pQuantities;
|
||||
int size = line.length() - line.replace(";", "").length() + 1;
|
||||
|
||||
@ -1441,15 +1376,13 @@ public class MainWindowController
|
||||
return tmp;
|
||||
}
|
||||
|
||||
private void setJobPrizeLabel(float pPrize)
|
||||
{
|
||||
private void setJobPrizeLabel(float pPrize) {
|
||||
String str = String.format("%.02f", pPrize);
|
||||
str.replace('.', ',');
|
||||
labelAllPrize.setText(str + "€");
|
||||
}
|
||||
|
||||
private void setJobStatLabel(int pCounter, float pAvgValue, float pAllValue)
|
||||
{
|
||||
private void setJobStatLabel(int pCounter, float pAvgValue, float pAllValue) {
|
||||
labelJobCount.setText("Anzahl Aufträge: " + pCounter);
|
||||
|
||||
String str = String.format("%.02f", pAvgValue);
|
||||
@ -1468,19 +1401,16 @@ public class MainWindowController
|
||||
+ timedate.getSystemDate());
|
||||
}
|
||||
|
||||
public void updateTimeLabel()
|
||||
{
|
||||
public void updateTimeLabel() {
|
||||
labelTime.setText("Uhrzeit: " + timedate.getSystemTime());
|
||||
|
||||
}
|
||||
|
||||
public void blockUnlock()
|
||||
{
|
||||
public void blockUnlock() {
|
||||
btnLock.setDisable(true);
|
||||
}
|
||||
|
||||
public int getActiveTab()
|
||||
{
|
||||
public int getActiveTab() {
|
||||
|
||||
if (tapNewJob.isSelected()) {
|
||||
return 0;
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/**
|
||||
* some parts are from http://www.mets-blog.com/java-pos-thermal-printer-example/
|
||||
* Some parts are from http://www.mets-blog.com/java-pos-thermal-printer-example/
|
||||
*/
|
||||
|
||||
package com.jFxKasse.controller;
|
||||
@ -21,26 +21,23 @@ import javax.print.SimpleDoc;
|
||||
import javax.print.attribute.HashPrintRequestAttributeSet;
|
||||
import javax.print.attribute.PrintRequestAttributeSet;
|
||||
|
||||
public class PrinterController implements Printable
|
||||
{
|
||||
// All available Printers on this system
|
||||
public class PrinterController implements Printable {
|
||||
// All available printers on this system
|
||||
private PrintService[] printService;
|
||||
|
||||
// selected printer
|
||||
// Selected printer
|
||||
private PrintService selectedPrinter;
|
||||
|
||||
private DocFlavor flavor;
|
||||
|
||||
public PrinterController()
|
||||
{
|
||||
public PrinterController() {
|
||||
flavor = DocFlavor.BYTE_ARRAY.AUTOSENSE;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return A String array with all available printers
|
||||
*/
|
||||
public String[] getAvailablePrinters()
|
||||
{
|
||||
public String[] getAvailablePrinters() {
|
||||
int printerSize = PrinterJob.lookupPrintServices().length;
|
||||
String printers[] = new String[printerSize];
|
||||
|
||||
@ -51,10 +48,9 @@ public class PrinterController implements Printable
|
||||
}
|
||||
|
||||
/**
|
||||
* searchs connected printers on the system
|
||||
* Searches for connected printers on the system
|
||||
*/
|
||||
public void searchPrinters()
|
||||
{
|
||||
public void searchPrinters() {
|
||||
PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();
|
||||
this.printService = PrintServiceLookup.lookupPrintServices(flavor, pras);
|
||||
String printers[] = getAvailablePrinters();
|
||||
@ -67,11 +63,11 @@ public class PrinterController implements Printable
|
||||
}
|
||||
|
||||
/**
|
||||
* Selects the printer via its name
|
||||
* Selects the printer by its name
|
||||
*
|
||||
* @param printerName
|
||||
*/
|
||||
public void selectPrinter(String printerName)
|
||||
{
|
||||
public void selectPrinter(String printerName) {
|
||||
String printers[] = getAvailablePrinters();
|
||||
|
||||
for (int i = 0; i < printers.length; i++) {
|
||||
@ -84,11 +80,11 @@ public class PrinterController implements Printable
|
||||
}
|
||||
|
||||
/**
|
||||
* Prints a string to the selected printer
|
||||
*
|
||||
* @param input data as String
|
||||
* @param text data as String
|
||||
*/
|
||||
public void printString(String text)
|
||||
{
|
||||
public void printString(String text) {
|
||||
PrintService service = selectedPrinter;
|
||||
DocPrintJob job = service.createPrintJob();
|
||||
|
||||
@ -103,8 +99,7 @@ public class PrinterController implements Printable
|
||||
}
|
||||
}
|
||||
|
||||
public int print(Graphics g, PageFormat pf, int page) throws PrinterException
|
||||
{
|
||||
public int print(Graphics g, PageFormat pf, int page) throws PrinterException {
|
||||
if (page > 0) { /* We have only one page, and 'page' is zero-based */
|
||||
return NO_SUCH_PAGE;
|
||||
}
|
||||
@ -119,8 +114,7 @@ public class PrinterController implements Printable
|
||||
return PAGE_EXISTS;
|
||||
}
|
||||
|
||||
public void printBytes(byte[] bytes)
|
||||
{
|
||||
public void printBytes(byte[] bytes) {
|
||||
PrintService service = selectedPrinter;
|
||||
DocPrintJob job = service.createPrintJob();
|
||||
|
||||
@ -132,8 +126,7 @@ public class PrinterController implements Printable
|
||||
}
|
||||
}
|
||||
|
||||
public void cutPaper()
|
||||
{
|
||||
public void cutPaper() {
|
||||
byte[] cutP = new byte[] { 0x1d, 'V', 1 };
|
||||
printBytes(cutP);
|
||||
}
|
||||
|
||||
@ -7,8 +7,7 @@ import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
import java.util.Properties;
|
||||
|
||||
public class XMLController
|
||||
{
|
||||
public class XMLController {
|
||||
private String databaseName = null;
|
||||
|
||||
private String printername = null;
|
||||
@ -29,14 +28,12 @@ public class XMLController
|
||||
|
||||
private Properties props = null;
|
||||
|
||||
public XMLController(String filePath)
|
||||
{
|
||||
public XMLController(String filePath) {
|
||||
this.filePath = filePath + "config.xml";
|
||||
props = new Properties();
|
||||
}
|
||||
|
||||
public void saveSettings() throws Exception
|
||||
{ // Save settings to config.xml
|
||||
public void saveSettings() throws Exception { // Save settings to config.xml
|
||||
|
||||
System.out.println("Saving XML");
|
||||
|
||||
@ -71,8 +68,7 @@ public class XMLController
|
||||
}
|
||||
}
|
||||
|
||||
public boolean loadSettings() throws Exception
|
||||
{ // reads the settings from config.xml
|
||||
public boolean loadSettings() throws Exception { // Read settings from config.xml
|
||||
InputStream inputStream;
|
||||
try {
|
||||
inputStream = new FileInputStream(filePath);
|
||||
@ -121,8 +117,7 @@ public class XMLController
|
||||
}
|
||||
}
|
||||
|
||||
public void initXML()
|
||||
{
|
||||
public void initXML() {
|
||||
this.printername = "Drucker auswählen";
|
||||
|
||||
this.offsetHeader = 1;
|
||||
@ -136,83 +131,67 @@ public class XMLController
|
||||
this.footer = "Vielen Dank für den Einkauf";
|
||||
}
|
||||
|
||||
public String getDatabaseName()
|
||||
{
|
||||
public String getDatabaseName() {
|
||||
return databaseName;
|
||||
}
|
||||
|
||||
public void setDatabaseName(String databaseName)
|
||||
{
|
||||
public void setDatabaseName(String databaseName) {
|
||||
this.databaseName = databaseName;
|
||||
}
|
||||
|
||||
public String getPrintername()
|
||||
{
|
||||
public String getPrintername() {
|
||||
return printername;
|
||||
}
|
||||
|
||||
public void setPrintername(String printername)
|
||||
{
|
||||
public void setPrintername(String printername) {
|
||||
this.printername = printername;
|
||||
}
|
||||
|
||||
public int getLinebreak()
|
||||
{
|
||||
public int getLinebreak() {
|
||||
return linebreak;
|
||||
}
|
||||
|
||||
public void setLinebreak(int linebreak)
|
||||
{
|
||||
public void setLinebreak(int linebreak) {
|
||||
this.linebreak = linebreak;
|
||||
}
|
||||
|
||||
public int getOffsetHeader()
|
||||
{
|
||||
public int getOffsetHeader() {
|
||||
return offsetHeader;
|
||||
}
|
||||
|
||||
public void setOffsetHeader(int offsetHeader)
|
||||
{
|
||||
public void setOffsetHeader(int offsetHeader) {
|
||||
this.offsetHeader = offsetHeader;
|
||||
}
|
||||
|
||||
public int getOffsetFooter()
|
||||
{
|
||||
public int getOffsetFooter() {
|
||||
return offsetFooter;
|
||||
}
|
||||
|
||||
public void setOffsetFooter(int offsetFooter)
|
||||
{
|
||||
public void setOffsetFooter(int offsetFooter) {
|
||||
this.offsetFooter = offsetFooter;
|
||||
}
|
||||
|
||||
public String getHeader()
|
||||
{
|
||||
public String getHeader() {
|
||||
return header;
|
||||
}
|
||||
|
||||
public void setHeader(String header)
|
||||
{
|
||||
public void setHeader(String header) {
|
||||
this.header = header;
|
||||
}
|
||||
|
||||
public String getFooter()
|
||||
{
|
||||
public String getFooter() {
|
||||
return footer;
|
||||
}
|
||||
|
||||
public void setFooter(String footer)
|
||||
{
|
||||
public void setFooter(String footer) {
|
||||
this.footer = footer;
|
||||
}
|
||||
|
||||
public boolean getCategorySplitted()
|
||||
{
|
||||
public boolean getCategorySplitted() {
|
||||
return categorySplitted;
|
||||
}
|
||||
|
||||
public void setCategorySplitted(boolean categorySplitted)
|
||||
{
|
||||
public void setCategorySplitted(boolean categorySplitted) {
|
||||
this.categorySplitted = categorySplitted;
|
||||
}
|
||||
|
||||
|
||||
@ -3,8 +3,7 @@ package com.jFxKasse.datatypes;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
|
||||
public class Job
|
||||
{
|
||||
public class Job {
|
||||
private int jobnumber;
|
||||
|
||||
private float jobvalue;
|
||||
@ -19,8 +18,7 @@ public class Job
|
||||
|
||||
private ArrayList<String> positionenCat;
|
||||
|
||||
public Job(int pJobnumber)
|
||||
{
|
||||
public Job(int pJobnumber) {
|
||||
this.jobnumber = pJobnumber;
|
||||
positionenQuantity = new ArrayList<Integer>();
|
||||
positionenName = new ArrayList<String>();
|
||||
@ -29,23 +27,19 @@ public class Job
|
||||
|
||||
}
|
||||
|
||||
public void setJobtime(String jobtime)
|
||||
{
|
||||
public void setJobtime(String jobtime) {
|
||||
this.jobtime = jobtime;
|
||||
}
|
||||
|
||||
public int getJobnumber()
|
||||
{
|
||||
public int getJobnumber() {
|
||||
return this.jobnumber;
|
||||
}
|
||||
|
||||
public String getJobtime()
|
||||
{
|
||||
public String getJobtime() {
|
||||
return this.jobtime;
|
||||
}
|
||||
|
||||
public float getJobValue()
|
||||
{
|
||||
public float getJobValue() {
|
||||
|
||||
calcJobValue();
|
||||
|
||||
@ -53,8 +47,7 @@ public class Job
|
||||
}
|
||||
|
||||
public void addPosition(String pPositionenName, float pPositionenValue,
|
||||
String pPositionenCat)
|
||||
{
|
||||
String pPositionenCat) {
|
||||
for (int i = 0; i < positionenName.size(); i++) {
|
||||
if (positionenName.get(i).equals(pPositionenName)) {
|
||||
// Item is already in list, increase quantity
|
||||
@ -71,8 +64,7 @@ public class Job
|
||||
calcJobValue();
|
||||
}
|
||||
|
||||
public void printJobOnConsole()
|
||||
{
|
||||
public void printJobOnConsole() {
|
||||
System.out.println("---------------------------------------------");
|
||||
System.out.println("JobNummer: " + jobnumber);
|
||||
System.out.println("---------------------------------------------");
|
||||
@ -88,8 +80,7 @@ public class Job
|
||||
|
||||
}
|
||||
|
||||
public ArrayList<tableDataCurrentOrder> getCurrentJobPositionen()
|
||||
{
|
||||
public ArrayList<tableDataCurrentOrder> getCurrentJobPositionen() {
|
||||
ArrayList<tableDataCurrentOrder> jobitems = new ArrayList<tableDataCurrentOrder>();
|
||||
|
||||
for (int i = 0; i < positionenName.size(); i++) {
|
||||
@ -102,20 +93,18 @@ public class Job
|
||||
return jobitems;
|
||||
}
|
||||
|
||||
private void calcJobValue()
|
||||
{
|
||||
private void calcJobValue() {
|
||||
jobvalue = 0;
|
||||
|
||||
for (int i = 0; i < positionenValue.size(); i++) {
|
||||
jobvalue = jobvalue
|
||||
+ (positionenQuantity.get(i) * positionenValue.get(i));
|
||||
}
|
||||
//Round to two decimals
|
||||
// Round to two decimal places
|
||||
jobvalue = BigDecimal.valueOf(jobvalue).setScale(2, BigDecimal.ROUND_HALF_UP).floatValue();
|
||||
}
|
||||
|
||||
public String createPosQuantityDBString()
|
||||
{
|
||||
public String createPosQuantityDBString() {
|
||||
String tmp = String.valueOf(positionenQuantity.get(0));
|
||||
for (int i = 1; i < positionenName.size(); i++) {
|
||||
|
||||
@ -124,8 +113,7 @@ public class Job
|
||||
return tmp;
|
||||
}
|
||||
|
||||
public String createPosNameDBString()
|
||||
{
|
||||
public String createPosNameDBString() {
|
||||
String tmp = positionenName.get(0);
|
||||
for (int i = 1; i < positionenName.size(); i++) {
|
||||
|
||||
@ -134,8 +122,7 @@ public class Job
|
||||
return tmp;
|
||||
}
|
||||
|
||||
public String createPosValueDBString()
|
||||
{
|
||||
public String createPosValueDBString() {
|
||||
String tmp = String.valueOf(positionenValue.get(0));
|
||||
for (int i = 1; i < positionenName.size(); i++) {
|
||||
|
||||
@ -144,8 +131,7 @@ public class Job
|
||||
return tmp;
|
||||
}
|
||||
|
||||
public String createPosCatDBString()
|
||||
{
|
||||
public String createPosCatDBString() {
|
||||
String tmp = positionenCat.get(0);
|
||||
for (int i = 1; i < positionenName.size(); i++) {
|
||||
|
||||
@ -154,8 +140,7 @@ public class Job
|
||||
return tmp;
|
||||
}
|
||||
|
||||
public void deletePosName(String pPosName)
|
||||
{
|
||||
public void deletePosName(String pPosName) {
|
||||
|
||||
for (int i = 0; i < positionenName.size(); i++) {
|
||||
|
||||
@ -178,8 +163,7 @@ public class Job
|
||||
|
||||
}
|
||||
|
||||
public boolean existsPosName(String pPosName)
|
||||
{
|
||||
public boolean existsPosName(String pPosName) {
|
||||
for (int i = 0; i < positionenName.size(); i++) {
|
||||
if (positionenName.get(i).equals(pPosName)) {
|
||||
return true;
|
||||
|
||||
@ -1,7 +1,6 @@
|
||||
package com.jFxKasse.datatypes;
|
||||
|
||||
public abstract class PrintData
|
||||
{
|
||||
public abstract class PrintData {
|
||||
|
||||
protected int headerSpace;
|
||||
|
||||
@ -30,7 +29,8 @@ public abstract class PrintData
|
||||
protected String jobValue;
|
||||
|
||||
/**
|
||||
* Constructor with all data that is not in the DB
|
||||
* Constructor with all data that is not stored in the DB
|
||||
*
|
||||
* @param lineBreak
|
||||
* @param headerSpace
|
||||
* @param footerSpace
|
||||
@ -39,8 +39,7 @@ public abstract class PrintData
|
||||
* @param footer
|
||||
*/
|
||||
public PrintData(int lineBreak, int headerSpace, int footerSpace,
|
||||
String timeAndDatePrint, String header, String footer)
|
||||
{
|
||||
String timeAndDatePrint, String header, String footer) {
|
||||
this.lineBreak = lineBreak;
|
||||
this.headerSpace = headerSpace;
|
||||
this.footerSpace = footerSpace;
|
||||
@ -50,7 +49,8 @@ public abstract class PrintData
|
||||
}
|
||||
|
||||
/**
|
||||
* set all Data that is in the DB
|
||||
* Set all data that is stored in the DB
|
||||
*
|
||||
* @param jobID
|
||||
* @param timeAndDateOrder
|
||||
* @param positionenQuantity
|
||||
@ -61,8 +61,7 @@ public abstract class PrintData
|
||||
*/
|
||||
public void setData(String jobID, String timeAndDateOrder,
|
||||
String positionsQuantity, String positionsName,
|
||||
String positionsValue, String positionsCategory, String jobValue)
|
||||
{
|
||||
String positionsValue, String positionsCategory, String jobValue) {
|
||||
this.jobID = jobID;
|
||||
this.timeAndDateOrder = timeAndDateOrder;
|
||||
this.positionsQuantity = positionsQuantity;
|
||||
@ -73,25 +72,25 @@ public abstract class PrintData
|
||||
}
|
||||
|
||||
/**
|
||||
* Breaks a string with newlines after the max line length
|
||||
*
|
||||
* @param data String
|
||||
* @return same String splitted with \n after the max. line lenght
|
||||
* @return the same String split with \n after max line length
|
||||
*/
|
||||
protected String breakLines(String data)
|
||||
{
|
||||
protected String breakLines(String data) {
|
||||
boolean next = false;
|
||||
|
||||
int count = lineBreak;
|
||||
|
||||
if (data.length() > lineBreak) {
|
||||
// Needs to be splitted
|
||||
// Needs to be split
|
||||
next = true;
|
||||
} else {
|
||||
// No need to be splitted
|
||||
// No need to split
|
||||
return data;
|
||||
}
|
||||
|
||||
// first part
|
||||
// First part
|
||||
String tmp = data.substring(0, lineBreak);
|
||||
|
||||
while (next) {
|
||||
@ -100,20 +99,20 @@ public abstract class PrintData
|
||||
tmp = tmp + "\n" + data.substring(count, lineBreak + count);
|
||||
count = count + lineBreak;
|
||||
} catch (Exception e) {
|
||||
// data string not long enough
|
||||
// Data string not long enough
|
||||
next = false;
|
||||
}
|
||||
}
|
||||
// add the last part
|
||||
// Add the last part
|
||||
return tmp + "\n" + data.substring(count);
|
||||
}
|
||||
|
||||
/**
|
||||
* prints a line of '--------'
|
||||
* @return
|
||||
* Prints a line of dashes '--------'
|
||||
*
|
||||
* @return separator line
|
||||
*/
|
||||
protected String getSeparator()
|
||||
{
|
||||
protected String getSeparator() {
|
||||
String tmp = "-";
|
||||
|
||||
for (int i = 1; i < lineBreak; i++) {
|
||||
@ -123,12 +122,12 @@ public abstract class PrintData
|
||||
}
|
||||
|
||||
/**
|
||||
* sets a String into the center
|
||||
* Centers a string within the line width
|
||||
*
|
||||
* @param data
|
||||
* @return the centered String
|
||||
* @return the centered string
|
||||
*/
|
||||
protected String setCenter(String data)
|
||||
{
|
||||
protected String setCenter(String data) {
|
||||
int dataLenght = data.length();
|
||||
int prefix = ((lineBreak - dataLenght) / 2);
|
||||
String tmp = " ";
|
||||
@ -142,13 +141,13 @@ public abstract class PrintData
|
||||
}
|
||||
|
||||
/**
|
||||
* sets a String right-justified after an prefix
|
||||
* Right-justifies a string after a prefix
|
||||
*
|
||||
* @param prefix
|
||||
* @param data
|
||||
* @return the right-justified String
|
||||
* @return the right-justified string
|
||||
*/
|
||||
protected String setRight(String prefix, String data)
|
||||
{
|
||||
protected String setRight(String prefix, String data) {
|
||||
|
||||
int prefixLenght = prefix.length();
|
||||
|
||||
@ -173,7 +172,7 @@ public abstract class PrintData
|
||||
}
|
||||
|
||||
/**
|
||||
* How the print String or Strings are made
|
||||
* Defines how the print string(s) are generated
|
||||
*/
|
||||
abstract protected void generatePrintString();
|
||||
|
||||
|
||||
@ -1,12 +1,12 @@
|
||||
package com.jFxKasse.datatypes;
|
||||
|
||||
public class PrintDataSimple extends PrintData
|
||||
{
|
||||
public class PrintDataSimple extends PrintData {
|
||||
|
||||
private String printString;
|
||||
|
||||
/**
|
||||
* Constructor with all data that is not in the DB
|
||||
* Constructor with all data that is not stored in the DB
|
||||
*
|
||||
* @param lineBreak
|
||||
* @param headerSpace
|
||||
* @param footerSpace
|
||||
@ -15,25 +15,23 @@ public class PrintDataSimple extends PrintData
|
||||
* @param footer
|
||||
*/
|
||||
public PrintDataSimple(int lineBreak, int headerSpace, int footerSpace,
|
||||
String timeAndDatePrint, String header, String footer)
|
||||
{
|
||||
String timeAndDatePrint, String header, String footer) {
|
||||
super(lineBreak, headerSpace, footerSpace, timeAndDatePrint, header,
|
||||
footer);
|
||||
}
|
||||
|
||||
/**
|
||||
* Generates the String
|
||||
* @return the final Print String
|
||||
* Generates the print string
|
||||
*
|
||||
* @return the final print string
|
||||
*/
|
||||
public String getPrintString()
|
||||
{
|
||||
public String getPrintString() {
|
||||
generatePrintString();
|
||||
return this.printString;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void generatePrintString()
|
||||
{
|
||||
protected void generatePrintString() {
|
||||
/* Header */
|
||||
String header = " ";
|
||||
for (int i = 1; i < headerSpace; i++) {
|
||||
|
||||
@ -2,8 +2,7 @@ package com.jFxKasse.datatypes;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
public class PrintDataSplitted extends PrintData
|
||||
{
|
||||
public class PrintDataSplitted extends PrintData {
|
||||
private ArrayList<String> printString = new ArrayList<String>();
|
||||
|
||||
private ArrayList<Category> categories = new ArrayList<Category>();
|
||||
@ -11,7 +10,8 @@ public class PrintDataSplitted extends PrintData
|
||||
private int categoryCount = 0;
|
||||
|
||||
/**
|
||||
* Constructor with all data that is not in the DB
|
||||
* Constructor with all data that is not stored in the DB
|
||||
*
|
||||
* @param lineBreak
|
||||
* @param headerSpace
|
||||
* @param footerSpace
|
||||
@ -20,25 +20,23 @@ public class PrintDataSplitted extends PrintData
|
||||
* @param footer
|
||||
*/
|
||||
public PrintDataSplitted(int lineBreak, int headerSpace, int footerSpace,
|
||||
String timeAndDatePrint, String header, String footer)
|
||||
{
|
||||
String timeAndDatePrint, String header, String footer) {
|
||||
super(lineBreak, headerSpace, footerSpace, timeAndDatePrint, header,
|
||||
footer);
|
||||
}
|
||||
|
||||
/**
|
||||
* Generates the String
|
||||
* @return the final Array with the Print Strings
|
||||
* Generates the print strings
|
||||
*
|
||||
* @return the final array of print strings
|
||||
*/
|
||||
public ArrayList<String> getPrintStrings()
|
||||
{
|
||||
public ArrayList<String> getPrintStrings() {
|
||||
generatePrintString();
|
||||
return printString;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void generatePrintString()
|
||||
{
|
||||
protected void generatePrintString() {
|
||||
|
||||
String firstBill;
|
||||
|
||||
@ -57,7 +55,7 @@ public class PrintDataSplitted extends PrintData
|
||||
+ setRight("Druck: ", timeAndDatePrint) + "\n"
|
||||
+ setRight("Bestellnummer: ", jobID);
|
||||
|
||||
/* Splitted Bills */
|
||||
/* Splitted Bills by Category */
|
||||
|
||||
/* Price */
|
||||
|
||||
@ -81,9 +79,9 @@ public class PrintDataSplitted extends PrintData
|
||||
|
||||
printString.add(firstBill);
|
||||
|
||||
/* first bill ends here */
|
||||
/* First bill ends here */
|
||||
|
||||
/* Categories in extra bills */
|
||||
/* Category-specific extra bills */
|
||||
|
||||
String positions = null;
|
||||
|
||||
@ -101,7 +99,7 @@ public class PrintDataSplitted extends PrintData
|
||||
positionCategory[i]);
|
||||
}
|
||||
|
||||
// loops through all categories
|
||||
// Loops through all categories
|
||||
for (int i = 0; i < categories.size(); i++) {
|
||||
|
||||
String thisBill;
|
||||
@ -147,8 +145,7 @@ public class PrintDataSplitted extends PrintData
|
||||
}
|
||||
|
||||
private void insertToCategory(int quantity, String name, String value,
|
||||
String category)
|
||||
{
|
||||
String category) {
|
||||
boolean createNewCategorie = true;
|
||||
for (int i = 0; i < categoryCount; i++) {
|
||||
if (category.equals(categories.get(i).getCategoryName())) {
|
||||
@ -158,7 +155,7 @@ public class PrintDataSplitted extends PrintData
|
||||
}
|
||||
|
||||
if (createNewCategorie) {
|
||||
// position has a new category
|
||||
// Position has a new category
|
||||
categories.add(new Category(category));
|
||||
categories.get(categoryCount).addPosition(quantity, name, value, this);
|
||||
categoryCount++;
|
||||
|
||||
@ -5,8 +5,7 @@ import javafx.beans.property.SimpleIntegerProperty;
|
||||
import javafx.beans.property.SimpleStringProperty;
|
||||
import javafx.beans.property.StringProperty;
|
||||
|
||||
public class tableDataPositionen
|
||||
{ // data-object with id, name, value, color
|
||||
public class tableDataPositionen { // Data object with id, name, value, color
|
||||
|
||||
private final IntegerProperty id = new SimpleIntegerProperty();
|
||||
|
||||
@ -18,8 +17,8 @@ public class tableDataPositionen
|
||||
|
||||
private final StringProperty color = new SimpleStringProperty();
|
||||
|
||||
public tableDataPositionen(final int id, final String name, final String value, final String cat, final String color)
|
||||
{
|
||||
public tableDataPositionen(final int id, final String name, final String value, final String cat,
|
||||
final String color) {
|
||||
this.id.set(id);
|
||||
this.name.set(name);
|
||||
this.value.set(value);
|
||||
@ -27,18 +26,15 @@ public class tableDataPositionen
|
||||
this.color.set(color);
|
||||
}
|
||||
|
||||
public IntegerProperty idProperty()
|
||||
{
|
||||
public IntegerProperty idProperty() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public StringProperty nameProperty()
|
||||
{
|
||||
public StringProperty nameProperty() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public StringProperty valueProperty()
|
||||
{
|
||||
public StringProperty valueProperty() {
|
||||
return value;
|
||||
}
|
||||
|
||||
@ -46,23 +42,19 @@ public class tableDataPositionen
|
||||
return cat;
|
||||
}
|
||||
|
||||
public StringProperty colorProperty()
|
||||
{
|
||||
public StringProperty colorProperty() {
|
||||
return color;
|
||||
}
|
||||
|
||||
public int getID()
|
||||
{
|
||||
public int getID() {
|
||||
return idProperty().get();
|
||||
}
|
||||
|
||||
public String getName()
|
||||
{
|
||||
public String getName() {
|
||||
return nameProperty().get();
|
||||
}
|
||||
|
||||
public String getValue()
|
||||
{
|
||||
public String getValue() {
|
||||
return valueProperty().get();
|
||||
}
|
||||
|
||||
@ -70,23 +62,19 @@ public class tableDataPositionen
|
||||
return catProperty().get();
|
||||
}
|
||||
|
||||
public String getColor()
|
||||
{
|
||||
public String getColor() {
|
||||
return colorProperty().get();
|
||||
}
|
||||
|
||||
public final void setID(int id)
|
||||
{
|
||||
public final void setID(int id) {
|
||||
idProperty().set(id);
|
||||
}
|
||||
|
||||
public final void setName(String name)
|
||||
{
|
||||
public final void setName(String name) {
|
||||
nameProperty().set(name);
|
||||
}
|
||||
|
||||
public final void setValue(String value)
|
||||
{
|
||||
public final void setValue(String value) {
|
||||
valueProperty().set(value);
|
||||
}
|
||||
|
||||
@ -94,8 +82,7 @@ public class tableDataPositionen
|
||||
catProperty().set(cat);
|
||||
}
|
||||
|
||||
public final void setColor(String color)
|
||||
{
|
||||
public final void setColor(String color) {
|
||||
colorProperty().set(color);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1 +1 @@
|
||||
/* JavaFX CSS - Leave this comment until you have at least create one rule which uses -fx-Property */
|
||||
/* JavaFX CSS - Leave this comment until you have at least one rule which uses -fx-Property */
|
||||
Reference in New Issue
Block a user