我是一名大学生计算机专业请关于企业管理系统的论文用python编程语言和MySQL数据库实现
企业管理系统是指一套可以帮助企业进行管理、协调和决策的软件系统。该系统可以帮助企业高效地处理各种业务流程,比如人力资源管理、财务管理、生产管理等。本文将介绍一种基于Python编程语言和MySQL数据库实现的企业管理系统。
一、系统需求分析
对于一款企业管理系统,需求分析是非常重要的一步。我们需要明确系统的功能需求、性能需求、安全需求等,以确保系统能够满足企业的实际需求。
本系统的主要功能包括:
1.员工管理:可以对员工进行基本信息的录入、修改、查询和删除操作;
2.部门管理:可以对部门进行基本信息的录入、修改、查询和删除操作;
3.职位管理:可以对职位进行基本信息的录入、修改、查询和删除操作;
4.工资管理:可以对员工工资进行基本信息的录入、修改、查询和删除操作;
5.考勤管理:可以对员工考勤情况进行基本信息的录入、修改、查询和删除操作;
6.权限管理:可以对不同用户设置不同的权限,确保系统安全性。
二、系统设计
在需求分析的基础上,我们需要进行系统的设计。本系统采用Python编程语言和MySQL数据库进行开发。
1.数据库设计
本系统采用MySQL数据库进行数据存储,需要设计合适的数据表结构。以下是本系统的数据库表结构设计:
员工表(employee):
字段名 类型 描述 id int 员工编号 name varchar(50) 员工姓名 gender varchar(10) 员工性别 birthday date 员工出生日期 phone varchar(20) 员工电话 email varchar(50) 员工邮箱 address varchar(100) 员工地址 department_id int 所属部门编号 position_id int 所属职位编号
部门表(department):
字段名 类型 描述 id int 部门编号 name varchar(50) 部门名称 description varchar(100) 部门描述
职位表(position):
字段名 类型 描述 id int 职位编号 name varchar(50) 职位名称 description varchar(100) 职位描述
工资表(salary):
字段名 类型 描述 id int 工资编号 employee_id int 员工编号 basic_salary float 基本工资 bonus float 奖金 deduction float 扣款
考勤表(attendance):
字段名 类型 描述 id int 考勤编号 employee_id int 员工编号 date date 考勤日期 status varchar(10) 考勤状态(正常/迟到/早退/缺勤)
用户表(user):
字段名 类型 描述 id int 用户编号 username varchar(50) 用户名 password varchar(50) 密码 role varchar(20) 用户角色(管理员/普通用户)
2.界面设计
本系统采用Python Tkinter库进行界面设计。以下是本系统的主界面设计:
三、系统实现
在进行系统实现前,我们需要安装Python和MySQL数据库。本系统采用Python 3.7和MySQL 5.7。
1.数据库连接
我们需要先进行数据库连接,使用Python MySQL Connector库实现。以下是数据库连接代码:
import mysql.connector
连接MySQL数据库
mydb = mysql.connector.connect( host="localhost", user="root", password="123456", database="company" )
获取游标
mycursor = mydb.cursor()
2.员工管理
本系统可以对员工进行基本信息的录入、修改、查询和删除操作。以下是员工管理代码:
员工信息录入
def add_employee(): # 获取员工信息 name = name_entry.get() gender = gender_entry.get() birthday = birthday_entry.get() phone = phone_entry.get() email = email_entry.get() address = address_entry.get() department_id = department_id_entry.get() position_id = position_id_entry.get()
# 执行SQL语句
sql = "INSERT INTO employee (name, gender, birthday, phone, email, address, department_id, position_id) VALUES (%s, %s, %s, %s, %s, %s, %s, %s)"
val = (name, gender, birthday, phone, email, address, department_id, position_id)
mycursor.execute(sql, val)
mydb.commit()
# 提示信息
messagebox.showinfo("提示", "员工信息录入成功!")
员工信息修改
def update_employee(): # 获取员工信息 id = id_entry.get() name = name_entry.get() gender = gender_entry.get() birthday = birthday_entry.get() phone = phone_entry.get() email = email_entry.get() address = address_entry.get() department_id = department_id_entry.get() position_id = position_id_entry.get()
# 执行SQL语句
sql = "UPDATE employee SET name = %s, gender = %s, birthday = %s, phone = %s, email = %s, address = %s, department_id = %s, position_id = %s WHERE id = %s"
val = (name, gender, birthday, phone, email, address, department_id, position_id, id)
mycursor.execute(sql, val)
mydb.commit()
# 提示信息
messagebox.showinfo("提示", "员工信息修改成功!")
员工信息查询
def search_employee(): # 获取员工编号 id = id_entry.get()
# 执行SQL语句
sql = "SELECT * FROM employee WHERE id = %s"
val = (id,)
mycursor.execute(sql, val)
result = mycursor.fetchone()
# 显示员工信息
if result:
name_entry.delete(0, END)
gender_entry.delete(0, END)
birthday_entry.delete(0, END)
phone_entry.delete(0, END)
email_entry.delete(0, END)
address_entry.delete(0, END)
department_id_entry.delete(0, END)
position_id_entry.delete(0, END)
name_entry.insert(0, result[1])
gender_entry.insert(0, result[2])
birthday_entry.insert(0, result[3])
phone_entry.insert(0, result[4])
email_entry.insert(0, result[5])
address_entry.insert(0, result[6])
department_id_entry.insert(0, result[7])
position_id_entry.insert(0, result[8])
else:
messagebox.showinfo("提示", "员工编号不存在!")
员工信息删除
def delete_employee(): # 获取员工编号 id = id_entry.get()
# 执行SQL语句
sql = "DELETE FROM employee WHERE id = %s"
val = (id,)
mycursor.execute(sql, val)
mydb.commit()
# 提示信息
messagebox.showinfo("提示", "员工信息删除成功!")
3.部门管理
本系统可以对部门进行基本信息的录入、修改、查询和删除操作。以下是部门管理代码:
部门信息录入
def add_department(): # 获取部门信息 name = name_entry.get() description = description_entry.get()
# 执行SQL语句
sql = "INSERT INTO department (name, description) VALUES (%s, %s)"
val = (name, description)
mycursor.execute(sql, val)
mydb.commit()
# 提示信息
messagebox.showinfo("提示", "部门信息录入成功!")
部门信息修改
def update_department(): # 获取部门信息 id = id_entry.get() name = name_entry.get() description = description_entry.get()
# 执行SQL语句
sql = "UPDATE department SET name = %s, description = %s WHERE id = %s"
val = (name, description, id)
mycursor.execute(sql, val)
mydb.commit()
# 提示信息
messagebox.showinfo("提示", "部门信息修改成功!")
部门信息查询
def search_department(): # 获取部门编号 id = id_entry.get()
# 执行SQL语句
sql = "SELECT * FROM department WHERE id = %s"
val = (id,)
mycursor.execute(sql, val)
result = mycursor.fetchone()
# 显示部门信息
if result:
name_entry.delete(0, END)
description_entry.delete(0, END)
name_entry.insert(0, result[1])
description_entry.insert(0, result[2])
else:
messagebox.showinfo("提示", "部门编号不存在!")
部门信息删除
def delete_department(): # 获取部门编号 id = id_entry.get()
# 执行SQL语句
sql = "DELETE FROM department WHERE id = %s"
val = (id,)
mycursor.execute(sql, val)
mydb.commit()
# 提示信息
messagebox.showinfo("提示", "部门信息删除成功!")
4.职位管理
本系统可以对职位进行基本信息的录入、修改、查询和删除操作。以下是职位管理代码:
职位信息录入
def add_position(): # 获取职位信息 name = name_entry.get() description = description_entry.get()
# 执行SQL语句
sql = "INSERT INTO position (name, description) VALUES (%s, %s)"
val = (name, description)
mycursor.execute(sql, val)
mydb.commit()
# 提示信息
messagebox.showinfo("提示", "职位信息录入成功!")
职位信息修改
def update_position(): # 获取职位信息 id = id_entry.get() name = name_entry.get() description = description_entry.get()
# 执行SQL语句
sql = "UPDATE position SET name = %s, description = %s WHERE id = %s"
val = (name, description, id)
mycursor.execute(sql, val)
mydb.commit()
# 提示信息
messagebox.showinfo("提示", "职位信息修改成功!")
职位信息查询
def search_position(): # 获取职位编号 id = id_entry.get()
# 执行SQL语句
sql = "SELECT * FROM position WHERE id = %s"
val = (id,)
mycursor.execute(sql, val)
result = mycursor.fetchone()
# 显示职位信息
if result:
name_entry.delete(0, END)
description_entry.delete(0, END)
name_entry.insert(0, result[1])
description_entry.insert(0, result[2])
else:
messagebox.showinfo("提示", "职位编号不存在!")
职位信息删除
def delete_position(): # 获取职位编号 id = id_entry.get()
# 执行SQL语句
sql = "DELETE FROM position WHERE id = %s"
val = (id,)
mycursor.execute(sql, val)
mydb.commit()
# 提示信息
messagebox.showinfo("提示", "职位信息删除成功!")
5.工资管理
本系统可以对员工工资进行基本信息的录入、修改、查询和删除操作。以下是工资管理代码:
工资信息录入
def add_salary(): # 获取工资信息 employee_id = employee_id_entry.get() basic_salary = basic_salary_entry.get() bonus = bonus_entry.get() deduction = deduction_entry.get()
# 执行SQL语句
sql = "INSERT INTO salary (employee_id, basic_salary, bonus, deduction) VALUES (%s, %s, %s, %s)"
val = (employee_id, basic_salary, bonus, deduction)
mycursor.execute(sql, val)
mydb.commit()
# 提示信息
messagebox.showinfo("提示", "工资信息录入成功!")
工资信息修改
def update_salary(): # 获取工资信息 id = id_entry.get() employee_id = employee_id_entry.get() basic_salary = basic_salary_entry.get() bonus = bonus_entry.get() deduction = deduction_entry.get()
# 执行SQL语句
sql = "UPDATE salary SET employee_id = %s, basic_salary = %s, bonus = %s, deduction = %s WHERE id = %s"
val = (employee_id, basic_salary, bonus, deduction, id)
mycursor.execute(sql, val)
mydb.commit()
# 提示信息
messagebox.showinfo("提示", "工资信息修改成功!")
工资信息查询
def search_salary(): # 获取工资编号 id = id_entry.get()
# 执行SQL语句
sql = "SELECT * FROM salary WHERE id = %s"
val = (id,)
mycursor.execute(sql, val)
result = mycursor.fetchone()
# 显示工资信息
if result:
employee_id_entry.delete(0, END)
basic_salary_entry.delete(0, END)
bonus_entry.delete(0, END)
deduction_entry.delete(0, END)
employee_id_entry.insert(0, result[1])
basic_salary_entry.insert(0, result[2])
bonus_entry.insert(0, result[3])
deduction_entry.insert(0, result[4])
else:
messagebox.showinfo("提示", "工资编号不存在!")
工资信息删除
def delete_salary(): # 获取工资编号 id = id_entry.get()
# 执行SQL语句
sql = "DELETE FROM salary WHERE id = %s"
val = (id,)
mycursor.execute(sql, val)
mydb.commit()
# 提示信息
messagebox.showinfo("提示", "工资信息删除成功!")
6.考勤管理
本系统可以对员工考勤情况进行基本信息的录入、修改、查询和删除操作。以下是考勤管理代码:
考勤信息录入
def add_attendance(): # 获取考勤信息 employee_id = employee_id_entry.get() date = date_entry.get() status = status_entry.get()
# 执行SQL语句
sql = "INSERT INTO attendance (employee_id, date, status) VALUES (%s, %s, %s)"
val = (employee_id, date, status)
mycursor.execute(sql, val)
mydb.commit()
# 提示信息
messagebox.showinfo("提示", "考勤信息录入成功!")
考勤信息修改
def update_attendance(): # 获取考勤信息 id = id_entry.get() employee_id = employee_id_entry.get() date = date_entry.get() status = status_entry.get()
# 执行SQL语句
sql = "UPDATE attendance SET employee_id = %s, date = %s, status = %s WHERE id = %s"
val = (employee_id, date, status, id)
mycursor.execute(sql, val)
mydb.commit()
# 提示信息
messagebox.showinfo("提示", "考勤信息修改成功!")
考勤信息查询
def search_attendance(): # 获取考勤编号 id = id_entry.get()
# 执行SQL语句
sql = "SELECT * FROM attendance WHERE id = %s"
val = (id,)
mycursor.execute(sql, val)
result = mycursor.fetchone()
# 显示考勤信息
if result:
employee_id_entry.delete(0, END)
date_entry.delete(0, END)
status_entry.delete(0, END)
employee_id_entry.insert(0, result[1])
date_entry.insert(0, result[2])
status_entry.insert(0, result[3])
else:
messagebox.showinfo("提示", "考勤编号不存在!")
考勤信息删除
def delete_attendance(): # 获取考勤编号 id = id_entry.get()
# 执行SQL语句
sql = "DELETE FROM attendance WHERE id = %s"
val = (id,)
mycursor.execute(sql, val)
mydb.commit()
# 提示信息
messagebox.showinfo("提示", "考勤信息删除成功!")
7.权限管理
本系统可以对不同用户设置不同的权限,确保系统安全性。以下是权限管理代码:
用户登录
def login(): # 获取用户名和密码 username = username_entry.get() password = password_entry.get()
# 执行SQL语句
sql = "SELECT * FROM user WHERE username = %s AND password = %s"
val = (username, password)
mycursor.execute(sql, val)
result = mycursor.fetchone()
# 登录成功
if result:
# 设置权限
role = result[3]
if role == "管理员":
原文地址: https://www.cveoy.top/t/topic/bE73 著作权归作者所有。请勿转载和采集!