企业管理系统是指一套可以帮助企业进行管理、协调和决策的软件系统。该系统可以帮助企业高效地处理各种业务流程,比如人力资源管理、财务管理、生产管理等。本文将介绍一种基于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 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录