Emp_ms
1.0.0
專案起草時間: 2022年4月3日
專案開始時間: 2022年5月7日
專案結束時間: 2022年5月14日
專案使用者: 系統管理員, 部門主管, 普通員工
系统管理员: 更改部门主管
部门主管: 管理员工信息, 管理职位信息, 管理薪资信息
普通员工: 查看工资信息, 查看修改个人信息
Java
B/S
MySQL
Vue
, Mybatis
, ElementUI
, Servlet
人事薪資管理系統,旨在實現薪資的集中管理。 可供財務人員對本單位的人員以及工資進行增加、刪除、修改、查詢, 對人事的管理及工資發放中的應發工資合計等項目由系統自動進行計算; 同時系統還可對人事及工資管理情況進行多角度查詢。員工可透過系統對自己的薪資詳情進行查詢。
與人事薪資管理相關的組織機構有:管理員,部門,員工,職位。 系統主要有兩種用戶,管理員和普通用戶。系統使用者可以使用系統管理密碼實現對管理者使用者的增加、刪除。管理員使用者可以進行員工管理、部門管理、職位管理和薪資管理操作。一般使用者可以個人資訊查詢以及修改、薪資查詢等操作。 一個部門下有多個員工,一個員工只屬於一個部門。 一個員工有且只有一個職位,多個員工職位可以相同。 一個職位屬於一個部門,一個部門下可以有多個職位。
1.員工功能:
1)员工登录:实现普通员工登录。
2)信息查询:员工可以查看自己的基本信息。
3)信息维护:员工可以维护自己的基本信息,如地址、电话等。
2.管理員功能:
1)部门管理:实现对部门进行管理,管理员通过这个功能实现对部门信息的查询,部门员工的查询,对部门信息的更新,
对部门下职位的查询,对部门的增加、修改、删除以及查看所有部门信息等功能。
2)员工管理:实现对员工进行管理,管理员通过这个功能实现对员工信息的更新,对员工所在部门的修改,
对员工的删除、增加等一系列操作。
3)职位管理:实现对员工职位进行管理,包括对职位所在部门的调动,对职位的增加、删除。
4)薪资管理:实现对员工薪资进行管理,管理员通过这个功能实现对员工薪资进行修改。
3.資訊要求:
1)管理员信息:管理员的编号,管理员账户,管理员密码。
2)员工信息:员工编号,员工姓名,员工密码,性别,出生日期,身份证号码,
民族,籍贯,联系电话,住址,部门编号,职位编号。
3)部门信息:部门编号,部门名称,部门负责人。
4)职位信息:职位编号,职位名称,部门编号。
4.安全性要求:
1)系统设置访问用户的标识以鉴别是否是合法用户,并要求合法用户设置其密码,保证用户身份不被盗用;
2)系统应对不同的数据设置不同的访问级别,限制访问用户可查询和处理数据的类别和内容;
3)系统应对不同用户设置不同的权限,区分不同的用户,如普通职工和管理员。
普通职工(只能查询个人、薪资信息和更新个人信息);
管理员(可以管理部门、员工、职位、薪资等信息);
系统管理密码拥有者(可以增加和删除管理员)。
5.完整性要求:
1)各种信息记录的完整性,信息记录内容不能为空;
2)各种数据间相互的联系的正确性;
3)相同的数据在不同记录中的一致性。
-- auto-generated definition
create table employee
(
id int ,
name varchar ( 255 ) not null ,
passwd varchar ( 255 ) not null ,
sex char ( 2 ) not null ,
rate float default 0 null ,
birth date not null ,
address varchar ( 255 ) not null ,
cardId varchar ( 20 ) not null ,
tel varchar ( 20 ) not null ,
dep_id int not null ,
job_id int not null ,
constraint employee_ibfk_1
foreign key (dep_id) references department (id),
constraint employee_ibfk_3
foreign key (job_id) references job (id),
constraint employee_ibfk_4
foreign key (dep_id) references department (id)
)
engine = InnoDB;
create index dep_id
on employee (dep_id);
create index idx_emp_id
on employee (id);
create index idx_name
on employee (name);
create index job_id
on employee (job_id);
alter table employee
add primary key (id);
alter table employee
modify id int auto_increment;
-- auto-generated definition
create table department
(
id int auto_increment primary key ,
dep_name varchar ( 255 ) not null ,
manager_id int not null ,
constraint department_ibfk_1
foreign key (manager_id) references employee (id),
constraint department_ibfk_2
foreign key (manager_id) references employee (id)
)
engine = InnoDB;
create index idx_name
on department (dep_name);
create index manager_id
on department (manager_id);
grant select on table department to leo;
-- auto-generated definition
create table job
(
id int auto_increment
primary key ,
job_name varchar ( 255 ) not null ,
dep_id int not null ,
salary int not null ,
constraint job_ibfk_1
foreign key (dep_id) references department (id)
on update cascade on delete cascade
)
engine = InnoDB;
create index dep_id
on job (dep_id);
create index name_idx
on job (job_name);
-- auto-generated definition
create table manager
(
id int auto_increment
primary key ,
name varchar ( 20 ) not null ,
passwd varchar ( 20 ) not null
)
engine = InnoDB;