模拟一个单位的人事管理,人事信息主要包括:员工编号、所在部门、职务、薪资等级、薪资、联系方式等内容;部门信息主要包括:部门编号、部门名称等内容。完成以下操作:实现员工信息、部门信息的添加、修改、删除和查询
时间: 2023-07-10 19:35:52 浏览: 46
好的,我们可以采用面向对象的思想,设计一个人事管理系统。以下是一个示例的数据模型和代码实现,仅供参考。
数据模型:
```
class Department:
def __init__(self, dept_id, dept_name):
self.dept_id = dept_id
self.dept_name = dept_name
self.employee_list = []
class Employee:
def __init__(self, emp_id, dept_id, position, salary_level, salary, contact):
self.emp_id = emp_id
self.dept_id = dept_id
self.position = position
self.salary_level = salary_level
self.salary = salary
self.contact = contact
class HRSystem:
def __init__(self):
self.departments = {}
self.employees = {}
def add_department(self, dept_id, dept_name):
if dept_id in self.departments:
print("Department already exists!")
return
self.departments[dept_id] = Department(dept_id, dept_name)
def update_department(self, dept_id, dept_name):
if dept_id not in self.departments:
print("Department does not exist!")
return
self.departments[dept_id].dept_name = dept_name
def delete_department(self, dept_id):
if dept_id not in self.departments:
print("Department does not exist!")
return
del self.departments[dept_id]
def search_department(self, dept_id):
if dept_id not in self.departments:
print("Department does not exist!")
return None
return self.departments[dept_id]
def add_employee(self, emp_id, dept_id, position, salary_level, salary, contact):
if emp_id in self.employees:
print("Employee already exists!")
return
if dept_id not in self.departments:
print("Department does not exist!")
return
employee = Employee(emp_id, dept_id, position, salary_level, salary, contact)
self.employees[emp_id] = employee
self.departments[dept_id].employee_list.append(employee)
def update_employee(self, emp_id, dept_id, position, salary_level, salary, contact):
if emp_id not in self.employees:
print("Employee does not exist!")
return
if dept_id not in self.departments:
print("Department does not exist!")
return
employee = self.employees[emp_id]
employee.dept_id = dept_id
employee.position = position
employee.salary_level = salary_level
employee.salary = salary
employee.contact = contact
def delete_employee(self, emp_id):
if emp_id not in self.employees:
print("Employee does not exist!")
return
employee = self.employees[emp_id]
self.departments[employee.dept_id].employee_list.remove(employee)
del self.employees[emp_id]
def search_employee(self, emp_id):
if emp_id not in self.employees:
print("Employee does not exist!")
return None
return self.employees[emp_id]
```
以上代码仅供参考,具体实现可以根据实际需求进行修改。