The STP Payroll Management System (or STP) will consist of two main components, an administrative component, and
Question:
The STP Payroll Management System (or STP) will consist of two main components, an administrative component, and an STP component.
The administrative section will allow, through text-based menus, the login and log out of employers, the addition and removal of employees in the system, the display of employees' records, the display of a certain employee with name, and the update of employees’ accounts. The STP component will store a list of all the payroll information of the employees and a list of the summary of the payrolls. The STP component will also allow the creation and display of the payroll information report based on date. Finally, the STP component will also handle the display of certain employee payroll information. Each employee record will include the employee’s name, email, phone, address, TFN, type, paid hours, and hourly rate. Each payroll record will include the employee’s name, wages, its tax, its net, and its super.
Requirements
The following classes...
In.java
public class Session {
private Employers employers;
}
STPLog.java
import java.util.ArrayList;
public class STPLog {
private ArrayList stpLog;
}
Report.java
public class Report {
private String name;
private double wages;
private double tax;
private double net;
private double superannuation;
}
STP.java
import java.util.ArrayList;
import java.util.Date;
public class STP {
private double totalWages;
private double totalTax;
private double totalNet;
private double totalSuper;
private double bas;
private Date date;
private Employees employees;
private ArrayList reports;
private STPLog stpLog;
private Employer employer;
}
Utils.java
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Utils {
public static final String stpFormat = "| %-15s | %-11.2f | %-11.2f | %-11.2f | %-11.2f |%n";
public static final String employeeFormat = "| %-20s | %-25s | %-10s | %-10s |%n";
public static final SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
public static String string(String prompt){
System.out.print(prompt+": ");
return In.nextLine();
}
public static char choice(String prompt){
System.out.print(prompt+": ");
return In.nextChar();
}
public static double amount(String prompt){
System.out.print(prompt+": ");
return In.nextDouble();
}
public static int number(String prompt){
System.out.print(prompt+": ");
return In.nextInt();
}
public static String formattedValue(String symbol, double value){
return String.format(symbol+"%.2f", value);
}
public static String formattedDate(Date date){
return dateFormat.format(date);
}
public static Date parseDate(String date) throws ParseException{
return dateFormat.parse(date);
}
}
Employer.java
public class Employer {
private String name;
private String email;
private String password;
private Employees employees;
private STP stp;
}
Session.java
public class Session {
private Employers employers;
}
Employee.java
public class Employee {
private String name;
private String email;
private String phone;
private String address;
private String TFN;
private String type;
private int hours;
private double pay per hour;
private double income;
private double rate;
private double net;
private double deduction;
private double superannuation;
private double superRate;
private Employer employer;
}
Employers.java
import java.util.ArrayList;
public class Employers {
private ArrayList employers;
}
Employees.java
import java.util.ArrayList;
public class Employees {
private ArrayList employees;
}
Accounting for Decision Making and Control
ISBN: 978-1259564550
9th edition
Authors: Jerold Zimmerman