一、項目背景
隨著企業的規模不斷擴大,企業人事管理的日趨復雜和企業人員的增多,迫切需要開發基于網絡的員工考勤管理系統來提高管理工作的效率。
二、研究目的
以中小型企業的考勤管理業務為依托,結合科學管理的理論,設計并開發一個員工考勤管理系統, 提供一個科學合理的考勤管理解決方案。
系統目標如下:
1. 提供更加便捷、簡單的操作。
2. 優化企業原有的考勤管理制度,為不同管理層次提供對應的功能。
3. 節省考勤管理的成本、提高企業考勤管理的透明度和效率。
4. 對系統提供必要的權限管理。
5. 為企業實現整體信息化的其他相關系統提供必要的數據支持。
本設計利用Mysql建立數據庫,表格化存儲,利用表的增,刪,改,查功能來管理員工信息,對數據庫設定必要的權限,只有具有權限的人才能進行查看,修改數據。
三、需求分析
1、用戶管理模塊
每增加一名新員工,需要設置權限和密碼。當該員工需要更改密碼時,可以在密碼模塊進行更改。當某位員工離職后,從系統中刪除該用戶信息。修改用戶權限,使某些員工只能有某些權限。
2、基本資料管理模塊
增加,刪除,修改,查詢員工的基本信息,考勤信息,統計其出差,加班,請假等信息。
四、數據流程圖和E-R圖
1、數據流程圖
2、功能模塊圖
3、E-R 圖
(1)員工E-R圖
(2)出勤E-R圖
(3)加班E-R圖
(4)出差E-R圖
(5)請假E-R圖
(6)部門E-R圖
(7)工種E-R圖
五、數據表建立
(1)創建員工表
CREATE TABLE IF NOT EXISTS employees(
employee_id INT PRIMARY KEY UNIQUE NOT NULL,
eName VARCHAR(20) NOT NULL,
sex ENUM('男','女') NOT NULL,
age INT NOT NULL,
phone CHAR(20) NOT NULL,
email CHAR(20) NOT NULL,
department_id INT NOT NULL,
manager_id INT NOT NULL,
job_id INT NOT NULL,
eAttend TINYINT DEFAULT 0 NOT NULL
);
DESC employees;
(2)創建考勤表
CREATE TABLE IF NOT EXISTS attendance(
attendID INT PRIMARY KEY UNIQUE NOT NULL,
employee_id INT NOT NULL,
eName VARCHAR(20) NOT NULL,
onWork_am DATETIME NOT NULL,
offWork_am DATETIME NOT NULL,
onWork_pm DATETIME NOT NULL,
offWork_pm DATETIME NOT NULL,
recordTime DATETIME NOT NULL
);
DESC attendance;
(3)創建加班表
REATE TABLE IF NOT EXISTS overtime(
otID INT PRIMARY KEY UNIQUE NOT NULL,
employee_id INT NOT NULL,
eName VARCHAR(20) NOT NULL,
otStyle VARCHAR(20) NOT NULL,
otStartTime DATETIME NOT NULL,
otEndTime DATETIME NOT NULL
);
DESC overtime;
(4)創建出差表
CREATE TABLE IF NOT EXISTS businessTrip(
btID INT PRIMARY KEY UNIQUE NOT NULL,
employee_id INT NOT NULL,
eName VARCHAR(20) NOT NULL,
btStyle VARCHAR(20) NOT NULL,
btStartTime DATETIME NOT NULL,
btEndTime DATETIME NOT NULL
);
DESC businessTrip;
(5) 創建請假表
CREATE TABLE IF NOT EXISTS absence(
abID INT PRIMARY KEY UNIQUE NOT NULL,
employee_id INT NOT NULL,
eName VARCHAR(20) NOT NULL,
abStyel VARCHAR(20) NOT NULL,
abStartTime DATETIME NOT NULL,
abEndTime DATETIME NOT NULL
);
DESC absence;
(6)建立部門表
CREATE TABLE IF NOT EXISTS department(
department_id INT PRIMARY KEY UNIQUE NOT NULL,
department_name VARCHAR(20) NOT NULL,
manager_id INT NOT NULL
);
DESC department;
(7)建立工種表
CREATE TABLE IF NOT EXISTS jobs(
job_id INT PRIMARY KEY UNIQUE NOT NULL,
job_name VARCHAR(20) NOT NULL,
minSalary INT NOT NULL,
maxSalary INT NOT NULL
);
DESC jobs;