The Work Order Generator is a Java-based application designed to automate the creation of work orders based on employee and ticket data. This project demonstrates the application of object-oriented programming principles, including class creation, inheritance, interface implementation, and basic file handling.
- Create class files from UML diagrams.
- Implement inheritance and interfaces.
- Manage data through file input/output operations.
To run the Work Order Generator, follow these steps:
- Clone the repository:
- git clone
- Compile the Java files (ensure all 9 required .java files are present):
- javac*.java
- Execute the main class (replace
MainClassName
with the actual main class name): *java MainClassName
- Employee Data Loading: Loads employee data from a CSV file and logs the process.
- Ticket Data Loading: Imports ticket data and associates them with respective customer details.
- Work Order Creation: Generates work orders based on the available tickets and assigns them to the appropriate employees.
- Data Output: Outputs the newly created work orders to a CSV file and logs each step.
The application expects the following CSV files in the project's working directory you can find the files in the CSV File Folder:
employee_data.csv
tier1_ticket_data.csv
tier2_ticket_data.csv
The output and logs are written to:
workorder_data.csv
log.txt
We have introduced a new version of the Work Order Generator that utilizes multithreading to improve performance. Below are benchmark comparisons showing the performance improvements:
Feature | Single-threaded Time | Multi-threaded Time |
---|---|---|
Load Employee Data | 15s | 5s |
Load Ticket Data | 20s | 17s |
Create Work Orders | 30s | 10s |
Write Work Order Data | 10s | 7s |
Multithreading has reduced the processing time by approximatly 48%, enhancing the efficiency of the application especially in environments with large datasets. Work Order Generator V2
🚨 Important Notice:
Run times depend on the system. A faster processor may execute the application more quickly.
Project 3 Work Order Generator
- Loading Employee Data
- Loading Ticket Data
- Creating Work Orders
- Writing Work Order Data to File
- Work Orders Created. Program Exiting
Contributions are welcome. Please adhere to the provided coding styles and naming conventions.
This project is licensed under the MIT License - see the LICENSE.md file for details.