测试模块:员工管理系统案例实战.py
步骤一:实例化Admin对象,实现开机、身份信息验证、功能界面的展示
步骤二:实例化Manager对象,实现功能(crud)的操作、最后按"t"操作实现序列化列表对象到文件中
from admin import Admin
from manager import Manager
import time,pickle
'''
测试模块:...
'''
def main():
#实例化管理员对象
admin = Admin()
# 管理员开机
admin.printAdminView()
#管理身份信息验证
res = admin.adminOption()
if res:
return
'''
反序列化数据到程序,还原成allEmps列表对象
'''
try:
with open('emps.txt','rb') as fr:
allEmps = pickle.load(fr)
m = Manager(allEmps)
except:
allEmps = []
m = Manager(allEmps)
#循环显示系统功能界面、执行操作
while 1:
admin.printSysFuncView()
num = input('请选择您需要的操作:')
# if num == '1':
# m.createEmp()
# elif num == '2':
# m.selectAllEmps()
# elif num == '3':
# m.selectEmpsByName()
# elif num == '4':
# m.selectEmpById()
# elif num == '5':
# m.delEmp()
# elif num == '6':
# m.updateSalaryByEmp()
# elif num == 't':
# return
dic = {'1':m.createEmp,'2':m.selectAllEmps,'3':m.selectEmpsByName,
'4':m.selectEmpById,'5':m.delEmp,'6':m.updateSalaryByEmp}
if num == 't':
#序列化对象到文件中(持久存储)
with open('emps.txt','wb') as fw:
pickle.dump(allEmps,fw)
break
try:
dic[num]()
except:
print('没有此操作...')
time.sleep(2)
main()
管理者类:Manager
属性:列表对象(allEmps)
函数:
CRUD操作:
create:新增、创建
read: 查询
update: 修改
delete: 删除
1).添加员工:createEmp
2).查询所有员工:selectEmps
3).根据Name查询员工:selectEmpsByName
4).根据Id查询员工:selectEmpById
5).删除员工:delEmp
6).修改员工薪资:updateSalaryByEmp
from employee import Employee
'''
管理者类:Manager
属性:列表对象(allEmps)
函数:
CRUD操作:
create: 新增、创建
read: 查询
update: 修改
delete: 删除
1).添加员工:createEmp
2).查询所有员工:selectAllEmps
3).根据Name查询员工:selectEmpsByName
4).根据Id查询员工:selectEmpById
5).删除员工:delEmp
6).修改员工薪资:updateSalaryByEmp
'''
class Manager:
#属性:
def __init__(self,allEmps):
self.allEmps = allEmps
#函数:
#添加员工:
def createEmp(self):
#注意:员工编号不用从键盘得到的,模拟mysql数据库中的主键自增长
ename = input('请输入员工的姓名:')
age = int(input('请输入员工年龄:'))
sex = input('请输入员工性别:')
address = input('请输入员工籍贯:')
salary = float(input('请输入员工薪资:'))
deptName = input('请输入员工所在的部门:')
#判断allEmps列表中如果没有内容,id就为1
#如果中有内容,取出列表的最后一个employee对象的id,然后+1就可以了
if len(self.allEmps) == 0:
#给对象动态添加id属性
self.id = 1
else:
self.id = self.allEmps[-1].empId + 1
#封装employee对象
e = Employee(self.id,ename,age,sex,address,salary,deptName)
#将e对象存入到allEmps列表中
self.allEmps.append(e)
print('成功添加一名新员工...')