56 lines
1.9 KiB
SQL
56 lines
1.9 KiB
SQL
-- Add user_id to employees to link with login
|
|
ALTER TABLE employees ADD COLUMN IF NOT EXISTS user_id INT NULL;
|
|
ALTER TABLE employees ADD COLUMN IF NOT EXISTS join_date DATE NULL;
|
|
|
|
-- Attendance
|
|
CREATE TABLE IF NOT EXISTS attendance_logs (
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
employee_id INT NOT NULL,
|
|
date DATE NOT NULL,
|
|
check_in DATETIME NULL,
|
|
check_out DATETIME NULL,
|
|
status ENUM('Present', 'Late', 'Absent', 'On Leave') DEFAULT 'Present',
|
|
source VARCHAR(50) DEFAULT 'Web',
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
FOREIGN KEY (employee_id) REFERENCES employees(id) ON DELETE CASCADE
|
|
);
|
|
|
|
-- Leaves
|
|
CREATE TABLE IF NOT EXISTS leave_requests (
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
employee_id INT NOT NULL,
|
|
leave_type VARCHAR(50) NOT NULL,
|
|
start_date DATE NOT NULL,
|
|
end_date DATE NOT NULL,
|
|
days INT NOT NULL,
|
|
reason TEXT,
|
|
status ENUM('Pending', 'Approved', 'Rejected') DEFAULT 'Pending',
|
|
approved_by INT NULL,
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
FOREIGN KEY (employee_id) REFERENCES employees(id) ON DELETE CASCADE
|
|
);
|
|
|
|
-- Salaries / Payroll Info
|
|
CREATE TABLE IF NOT EXISTS employee_salaries (
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
employee_id INT NOT NULL,
|
|
basic_salary DECIMAL(10, 2) DEFAULT 0.00,
|
|
housing_allowance DECIMAL(10, 2) DEFAULT 0.00,
|
|
transport_allowance DECIMAL(10, 2) DEFAULT 0.00,
|
|
other_allowance DECIMAL(10, 2) DEFAULT 0.00,
|
|
currency VARCHAR(10) DEFAULT 'USD',
|
|
effective_date DATE NOT NULL,
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
FOREIGN KEY (employee_id) REFERENCES employees(id) ON DELETE CASCADE
|
|
);
|
|
|
|
-- Biometric Devices (for API auth)
|
|
CREATE TABLE IF NOT EXISTS biometric_devices (
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
device_name VARCHAR(100) NOT NULL,
|
|
ip_address VARCHAR(50),
|
|
api_key VARCHAR(255) NOT NULL,
|
|
status TINYINT(1) DEFAULT 1,
|
|
last_seen DATETIME NULL
|
|
);
|