课设要求:
烂完了,真的烂完了。
先明确所有用户的角色类型:
之后是数据库设计:
上述设计对应数据库语句如下:
sqlcreate database WebCourseDesign character set utf8 collate utf8_general_ci;
use WebCourseDesign;
create table user (
id int primary key auto_increment,
userName varchar(30) not null ,
userPassword varchar(200) not null
);
create table position (
id int primary key auto_increment,
positionName varchar(30) not null,
positionBaseSalary int not null
);
create table department (
id int primary key auto_increment,
departmentName varchar(50) not null
);
create table employee (
id int primary key auto_increment,
userID int not null ,
employeeID varchar(50) not null ,
positionID int,
joiningDate date not null ,
departmentID int,
leaderID int not null,
socialInsurance int not null,
providentFund int not null,
foreign key (userID) references user(id) on delete cascade on update cascade
);
create table salary (
id int primary key auto_increment,
employeeID int not null,
month date not null ,
basicSalary int not null,
performance int not null,
attendance int not null,
socialInsurance int not null,
providentFund int not null,
personalIncomeTax int not null,
workOvertime int not null,
result int
);
create table personalIncomeTax (
id int primary key auto_increment,
gap int,
taxRate float
);
CREATE TRIGGER calculateResultTrigger
BEFORE INSERT ON salary
FOR EACH ROW
BEGIN
SET NEW.result = NEW.basicSalary + NEW.performance + NEW.attendance + NEW.workOvertime - NEW.socialInsurance - NEW.providentFund - NEW.personalIncomeTax;
END;
CREATE TRIGGER calculateResultUpdateTrigger
BEFORE UPDATE ON salary
FOR EACH ROW
BEGIN
SET NEW.result = NEW.basicSalary + NEW.performance + NEW.attendance + NEW.workOvertime - NEW.socialInsurance - NEW.providentFund - NEW.personalIncomeTax;
END;
AdminEmployeeController
,该接口作用是为管理员提供编辑员工信息的入口,get为获取操作者范围下的所有员工信息(经理,两种管理员),post为编辑员工信息。DepartmentAdminController
,该接口作用是为管理员提供编辑部门信息的入口,get为获取所有部门信息,post为编辑部门信息。DepartmentAdminMessageController
,DepartmentManagerSalaryController
,该接口作用是为部门经理提供对部门内员工的绩效,出勤,加班情况进行查询和管理的入口,get为获取操作者范围下所有员工的薪水的绩效,出勤和加班信息,post就是对这些信息进行编辑。EmployeePageController
,该接口作用为返回普通员工页面。FinancialAdminMessageController
,FinancialAdminSalaryController
,该接口作用是为财务部门管理员对所有员工的社保,公积金和个人所得税进行管理,作用同DepartmentManagerSalaryController
。GenerateNewSalaryController
,该接口作用是为所有员工自动生成一个月的薪资基本情况,不计算别的杂项,只有基本工资,财务部门管理员有权限调用,只有post。GetSalaryInfoController
,该接口作用是获取员工个人的所有工资情况,只有get。LoginController
,该接口作用是登录,get获取登录页面,post进行登录,登录成功会自动定向到/route。PositionAdminController
,RouteController
,该接口作用是为通过登录的不同角色路由到不同页面。UserInfoController
,该接口作用是为所有员工提供修改个人用户信息的入口,只有post。员工所需要的:
部门经理所需要的:
财务部门管理员所需要的:
本文作者:御坂19327号
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!