Newer
Older
Rafi Zereselasie (raz070)
committed
import java.sql.*;
Rafi Zereselasie (raz070)
committed
private final Connection dbConnection;
Rafi Zereselasie (raz070)
committed
protected Schedule(Connection c) {
this.dbConnection = c;
Rafi Zereselasie (raz070)
committed
}
/*
Name: addShift
Parameters:
int ID: The employees unique ID.
Date: The date as a string in the form of "yyyy-mm-dd".
start: The employees shift start time.
end: The employees shift end time.
Description: Adds a new shift to the database, referencing the employees ID, and assigning a unique shift number.
Return: none
*/
Date newDate = Date.valueOf(date);
try {
Statement myStatement = dbConnection.createStatement();
myStatement.executeUpdate("INSERT INTO shifts (employee_id, full_date, start_time, end_time) " +
"VALUES ('" + ID +"', '"+ newDate +"', '"+ start +"', '"+ end +"')");
} catch (SQLException e) {
e.printStackTrace();
}
}
/*
Name: removeShift
Parameters:
int ID: The employees unique ID.
Date: The date as a string in the form of "yyyy-mm-dd".
start: The employees shift start time.
end: The employees shift end time.
Description: Removes the employees shift matching the date, and shift duration.
Return: none
*/
protected void removeShift(String ID, String date, int start, int end){
Date newDate = Date.valueOf(date);
try {
Statement myStatement = dbConnection.createStatement();
myStatement.executeUpdate("DELETE FROM shifts WHERE (employee_id =" + ID + ") " +
"AND WHERE (date = " + newDate +") AND WHERE (start_time = " + start + " ) " +
"AND WHERE (end_time = " + end +")");
} catch (SQLException e) {
e.printStackTrace();
}
}
/*
Name: getShifts
Parameters:
Date: The date as a string in the form of "yyyy-mm-dd".
Description: Returns info for all shifts on a given date.
Return: String
*/
Date newDate = Date.valueOf(date);
String response = "getShifts";
try {
Statement myStatement = dbConnection.createStatement();
ResultSet myRs = myStatement.executeQuery("SELECT FROM shifts WHERE (full_date = " + newDate +")");
while (myRs.next()) {
response = response + "/" + myRs.getString("full_date") + "." +
myRs.getString("employee_id") + "." + myRs.getString("start_time") +
"." + myRs.getString("end_time");
}
} catch (SQLException e) {
e.printStackTrace();
}
return response;
}
Date newStart = Date.valueOf(startDate);
Date newEnd = Date.valueOf(endDate);
String response = "getShiftsByWeek";
try {
Statement myStatement = dbConnection.createStatement();
ResultSet myRs = myStatement.executeQuery("SELECT FROM shifts WHERE (full_date >= " + newStart +")" +
while (myRs.next()) {
response = response + "/" + myRs.getString("full_date") + "." +
myRs.getString("employee_id") + "." + myRs.getString("start_time") +
"." + myRs.getString("end_time");
}
} catch (SQLException e) {
e.printStackTrace();
}
return response;
}
protected String getEmployeeShiftsByWeek(int ID, String startDate, String endDate){
Date newStart = Date.valueOf(startDate);
Date newEnd = Date.valueOf(endDate);
String response = "getEmployeeShiftsByWeek";
try {
Statement myStatement = dbConnection.createStatement();
ResultSet myRs = myStatement.executeQuery("SELECT FROM shifts WHERE (full_date >= " + newStart +")" +
"AND WHERE (full_date <= " + newEnd +") AND WHERE (employee_id = "+ ID + ")");
while (myRs.next()) {
response = response + "/" + myRs.getString("full_date") + "." +
myRs.getString("employee_id") + "." + myRs.getString("start_time") +
"." + myRs.getString("end_time");
}
} catch (SQLException e) {
e.printStackTrace();
}
return response;
}
protected String allShifts(){
String response = "allShifts";
try {
Statement myStatement = dbConnection.createStatement();
ResultSet myRs = myStatement.executeQuery("SELECT * FROM shifts");
while (myRs.next()) {
response = response + "/" + myRs.getString("employee_id" ) + "." +
myRs.getString("full_date") + "." + myRs.getString("start_time") +
"." + myRs.getString("end_time");
}
} catch (SQLException e) {
e.printStackTrace();
}
return response;