系统简介
随着互联网大趋势的到来,社会的方方面面,各行各业都在考虑利用互联网作为媒介将自己的信息更及时有效地推广出去,而其中最好的方式就是建立网络管理系统,并对其进行信息管理。由于现在网络的发达,员工管理系统的信息通过网络进行信息管理掀起了热潮,所以针对员工管理系统的用户需求开发出一套员工管理系统。
整个开发过程首先对软件系统进行需求分析,得出系统的主要功能。接着对系统进行总体设计和详细设计。总体设计主要包括系统功能设计、系统总体结构设计、系统数据结构设计和系统安全设计等;详细设计主要包括系统数据库访问的实现,主要功能模块的具体实现,模块实现关键代码等。最后对系统进行功能测试,并对测试结果进行分析总结,得出系统中存在的不足及需要改进的地方,为以后的系统维护提供了方便,同时也为今后开发类似系统提供了借鉴和帮助。
本系统开发利用现有的成熟技术参考,以源代码为模板,分析功能调整与员工管理系统的实际需求相结合,确定了Python开发员工管理系统的使用。
关键字:员工管理系统 Python语言,MySQL数据库、Django框架
第1章 系统总体设计
4.1系统功能模块
该系统的基本功能包括管理员、员工三个权限角色功能模块。
(1)员工需求如图4-1所示:
图4-1员工用例图
(2)管理员功能需求如图4-2所示:
图4-2管理员功能用例图
4.2数据库设计
4.2.1数据库简介
数据库是信息系统的基础和核心。数据库设计的好坏直接影响到信息系统开发的成败。创建数据库表首先确定实体的属性和实体之间的关系。根据关系创建一个数据表。
4.2.2数据库设计
(1)系统的E-R图
概念模型是数据库设计的强大工具。数据库概念模型设计可以通过E-R图描述现实世界的概念模型。系统的E-R图显示了系统中实体之间的链接。
(2)实体属性图
系统结构如图4-4。
图4-4系统结构图
员工信息实体图如图4-5。
图4-5员工信息实体图
员工请假信息实体图如图4-7。
图4-7员工请假信息实体图
(3)数据库设计表
config
表注释: 配置文件
字段 类型 空 默认 注释
id (主键) bigint(20) 否
name varchar(100) 否 配置参数名称
value varchar(100) 是 NULL 配置参数值
daka
表注释: 打卡
字段 类型 空 默认 注释
id (主键) bigint(20) 否
addtime timestamp 否 CURRENT_TIMESTAMP
gonghao varchar(200) 是 NULL 工号
qiandaoleixing varchar(200) 是 NULL 签到类型
qiandaoshijian datetime 是 NULL 签到时间
beizhu varchar(200) 是 NULL 备注
django_admin_log
字段 类型 空 默认 注释
id (主键) int(11) 否
action_time datetime(6) 否
object_id longtext 是 NULL
object_repr varchar(200) 否
action_flag smallint(5) 否
change_message longtext 否
content_type_id int(11) 是 NULL
user_id int(11) 否
django_content_type
字段 类型 空 默认 注释
id (主键) int(11) 否
app_label varchar(100) 否
model varchar(100) 否
django_migrations
字段 类型 空 默认 注释
id (主键) int(11) 否
app varchar(255) 否
name varchar(255) 否
applied datetime(6) 否
django_session
字段 类型 空 默认 注释
session_key (主键) varchar(40) 否
session_data longtext 否
expire_date datetime(6) 否
forum
表注释: 论坛表
字段 类型 空 默认 注释
id (主键) bigint(20) 否
addtime timestamp 否 CURRENT_TIMESTAMP
title varchar(200) 是 NULL 帖子标题
content longtext 否 帖子内容
parentid bigint(20) 是 NULL 父节点id
userid bigint(20) 否 用户id
username varchar(200) 是 NULL 用户名
isdone varchar(200) 是 NULL 是否关闭[关闭/开放]
gongzixinxi
表注释: 工资信息
字段 类型 空 默认 注释
id (主键) bigint(20) 否
addtime timestamp 否 CURRENT_TIMESTAMP
biaoti varchar(200) 是 NULL 标题
gonghao varchar(200) 是 NULL 工号
jibengongzi int(11) 是 NULL 基本工资
jiabanxinzi int(11) 是 NULL 加班薪资
chuchabutie int(11) 是 NULL 出差补贴
gaowenbutie int(11) 是 NULL 高温补贴
queqinxinzi int(11) 是 NULL 缺勤薪资
qita int(11) 是 NULL 其他
shifagongzi int(11) 是 NULL 实发工资
dengjishijian date 是 NULL 登记时间
kaoqinxinxi
表注释: 考勤信息
字段 类型 空 默认 注释
id (主键) bigint(20) 否
addtime timestamp 否 CURRENT_TIMESTAMP
biaoti varchar(200) 是 NULL 标题
gonghao varchar(200) 是 NULL 工号
kuanggongcishu varchar(200) 是 NULL 旷工次数
jiabanshizhang varchar(200) 是 NULL 加班时长
zaotuicishu varchar(200) 是 NULL 早退次数
chidaocishu varchar(200) 是 NULL 迟到次数
qiandaoshijian date 是 NULL 签到时间
news
表注释: 新闻资讯
字段 类型 空 默认 注释
id (主键) bigint(20) 否
addtime timestamp 否 CURRENT_TIMESTAMP
title varchar(200) 否 标题
picture varchar(200) 否 图片
content longtext 否 内容
qingjiaxinxi
表注释: 请假信息
字段 类型 空 默认 注释
id (主键) bigint(20) 否
addtime timestamp 否 CURRENT_TIMESTAMP
biaoti varchar(200) 是 NULL 标题
gonghao varchar(200) 是 NULL 工号
shenqingshijian date 是 NULL 申请时间
bumen varchar(200) 是 NULL 部门
kaishishijian date 是 NULL 开始时间
jiezhishijian date 是 NULL 截至时间
qingjialeixing varchar(200) 是 NULL 请假类型
cailiaozhengming longtext 是 NULL 材料证明
sfsh varchar(200) 是 否 是否审核
shhf longtext 是 NULL 审核回复
users
表注释: 用户表
字段 类型 空 默认 注释
id (主键) bigint(20) 否
username varchar(100) 否 用户名
password varchar(100) 否 密码
role varchar(100) 是 管理员 角色
addtime timestamp 否 CURRENT_TIMESTAMP 新增时间
yuangongxinxi
表注释: 员工信息
字段 类型 空 默认 注释
id (主键) bigint(20) 否
addtime timestamp 否 CURRENT_TIMESTAMP
gonghao varchar(200) 是 NULL 工号
xingming varchar(200) 是 NULL 姓名
mima varchar(200) 是 NULL 密码
nianling varchar(200) 是 NULL 年龄
bumen varchar(200) 是 NULL 部门
ruzhishijian date 是 NULL 入职时间
ruzhishizhang varchar(200) 是 NULL 入职时长
touxiang varchar(200) 是 NULL 头像
xingbie varchar(200) 是 NULL 性别
第2章 系统实现
5.1.1管理员工信息功能模块
管理员登录系统之后,查看后端管理界面,可以选择员工管理信息,点击之后,网站会获取数据库查询的所有的员工信息,选择某个员工信息并将此的信息返回给详情界面的HTML,展示和渲染出来。然后开源对员工信息进行增删改查等操作。实现效果如图5.1所示。
图5.1 员工信息实现效果图
员工信息流程图,图5.2如下:
图5.2 员工信息流程图
5.1.2 打卡管理功能模块
管理员登录系统之后,查看后端管理界面,可以选择打卡管理,点击之后,网站会获取数据库查询的所有的打卡管理的信息,选择某个打卡管理信息并将此的信息返回给详情界面的html,展示和渲染出来。然后对打卡管理的信息进行增删改查等操作。实现效果如图5.3所示。
图5.3 打卡管理信息功能实现效果图
打卡管理信息流程图,图5.4如下:
图5.4 打卡管理信息流程图