用python写一个仓库管理系统,用面向对象来写,用tkinter实现,要有三个类,分别是仓库 管理员 商家。要求:1.根据订单需求制定不同的配送计划,方便商家和管理员 2.商家可用该系统向仓库管理者发送自己的订单 3.仓库管理员收到商家的订单后,通过使用仓储管理系统,可查看仓库剩余货物数量、价格、保质期等等,出库之后商品信息随之更改 4.仓储管理系统会根据订单规划出合适的货物出库地点,使货物集中起来方便工作人员进行出库工作 基本功能:1.仓库:储存商品信息 2.商家:提供订单需求 3.管理员:根据商家需求调查仓库货物基本需求
时间: 2024-03-16 11:43:45 浏览: 175
好的,根据您的要求,我可以提供一个基本的仓库管理系统的框架。具体实现细节可以根据实际需求进行修改和完善。以下是一个基本的实现过程:
1. 定义三个类:仓库、管理员、商家。每个类都有自己的属性和方法,分别代表不同的角色和功能。
```python
class Warehouse:
def __init__(self):
self.goods = []
self.stock = {}
self.price = {}
self.expiry_date = {}
def add_goods(self, name, stock, price, expiry_date):
self.goods.append(name)
self.stock[name] = stock
self.price[name] = price
self.expiry_date[name] = expiry_date
def remove_goods(self, name):
self.goods.remove(name)
del self.stock[name]
del self.price[name]
del self.expiry_date[name]
def update_goods(self, name, stock, price, expiry_date):
self.stock[name] = stock
self.price[name] = price
self.expiry_date[name] = expiry_date
def get_stock(self, name):
return self.stock[name]
def get_price(self, name):
return self.price[name]
def get_expiry_date(self, name):
return self.expiry_date[name]
class Admin:
def __init__(self, warehouse):
self.warehouse = warehouse
def get_stock(self, name):
return self.warehouse.get_stock(name)
def get_price(self, name):
return self.warehouse.get_price(name)
def get_expiry_date(self, name):
return self.warehouse.get_expiry_date(name)
class Merchant:
def __init__(self, warehouse, admin):
self.warehouse = warehouse
self.admin = admin
def add_order(self, order):
# 将订单发送给管理员,进行配送计划
pass
def get_stock(self, name):
return self.admin.get_stock(name)
def get_price(self, name):
return self.admin.get_price(name)
def get_expiry_date(self, name):
return self.admin.get_expiry_date(name)
```
2. 使用 tkinter 实现用户界面,包括登录界面、主界面和各种管理界面。在主界面中,可以选择进入仓库管理、管理员管理和商家管理界面。
```python
import tkinter as tk
class LoginWindow:
def __init__(self, root):
self.root = root
self.root.title("登录")
self.username = tk.StringVar()
self.password = tk.StringVar()
tk.Label(self.root, text="用户名:").grid(row=0, column=0)
tk.Entry(self.root, textvariable=self.username).grid(row=0, column=1)
tk.Label(self.root, text="密码:").grid(row=1, column=0)
tk.Entry(self.root, textvariable=self.password, show="*").grid(row=1, column=1)
tk.Button(self.root, text="登录", command=self.login).grid(row=2, column=0, columnspan=2)
def login(self):
# 验证用户名和密码是否正确
pass
class MainWindow:
def __init__(self, root):
self.root = root
self.root.title("仓库管理系统")
tk.Button(self.root, text="仓库管理", command=self.warehouse_management).pack()
tk.Button(self.root, text="管理员管理", command=self.admin_management).pack()
tk.Button(self.root, text="商家管理", command=self.merchant_management).pack()
def warehouse_management(self):
# 进入仓库管理界面
pass
def admin_management(self):
# 进入管理员管理界面
pass
def merchant_management(self):
# 进入商家管理界面
pass
```
3. 在各个管理界面中,实现相应的功能。比如,在仓库管理界面中,可以添加、删除和修改商品信息;在管理员管理界面中,可以查看仓库的货物信息;在商家管理界面中,可以添加订单,并将订单发送给管理员进行配送计划。
```python
class WarehouseManagementWindow:
def __init__(self, root, warehouse):
self.root = root
self.root.title("仓库管理")
self.warehouse = warehouse
tk.Label(self.root, text="商品名:").grid(row=0, column=0)
self.name_entry = tk.Entry(self.root)
self.name_entry.grid(row=0, column=1)
tk.Label(self.root, text="库存:").grid(row=1, column=0)
self.stock_entry = tk.Entry(self.root)
self.stock_entry.grid(row=1, column=1)
tk.Label(self.root, text="价格:").grid(row=2, column=0)
self.price_entry = tk.Entry(self.root)
self.price_entry.grid(row=2, column=1)
tk.Label(self.root, text="保质期:").grid(row=3, column=0)
self.expiry_date_entry = tk.Entry(self.root)
self.expiry_date_entry.grid(row=3, column=1)
tk.Button(self.root, text="添加", command=self.add_goods).grid(row=4, column=0)
tk.Button(self.root, text="删除", command=self.remove_goods).grid(row=4, column=1)
tk.Button(self.root, text="修改", command=self.update_goods).grid(row=4, column=2)
def add_goods(self):
name = self.name_entry.get()
stock = int(self.stock_entry.get())
price = float(self.price_entry.get())
expiry_date = self.expiry_date_entry.get()
self.warehouse.add_goods(name, stock, price, expiry_date)
def remove_goods(self):
name = self.name_entry.get()
self.warehouse.remove_goods(name)
def update_goods(self):
name = self.name_entry.get()
stock = int(self.stock_entry.get())
price = float(self.price_entry.get())
expiry_date = self.expiry_date_entry.get()
self.warehouse.update_goods(name, stock, price, expiry_date)
class AdminManagementWindow:
def __init__(self, root, admin):
self.root = root
self.root.title("管理员管理")
self.admin = admin
tk.Label(self.root, text="商品名:").grid(row=0, column=0)
self.name_entry = tk.Entry(self.root)
self.name_entry.grid(row=0, column=1)
tk.Button(self.root, text="查询库存", command=self.get_stock).grid(row=1, column=0)
tk.Button(self.root, text="查询价格", command=self.get_price).grid(row=1, column=1)
tk.Button(self.root, text="查询保质期", command=self.get_expiry_date).grid(row=1, column=2)
def get_stock(self):
name = self.name_entry.get()
stock = self.admin.get_stock(name)
tk.messagebox.showinfo(title="库存", message=f"{name} 的库存为 {stock}")
def get_price(self):
name = self.name_entry.get()
price = self.admin.get_price(name)
tk.messagebox.showinfo(title="价格", message=f"{name} 的价格为 {price}")
def get_expiry_date(self):
name = self.name_entry.get()
expiry_date = self.admin.get_expiry_date(name)
tk.messagebox.showinfo(title="保质期", message=f"{name} 的保质期为 {expiry_date}")
class MerchantManagementWindow:
def __init__(self, root, warehouse, admin):
self.root = root
self.root.title("商家管理")
self.warehouse = warehouse
self.admin = admin
tk.Label(self.root, text="商品名:").grid(row=0, column=0)
self.name_entry = tk.Entry(self.root)
self.name_entry.grid(row=0, column=1)
tk.Label(self.root, text="数量:").grid(row=1, column=0)
self.quantity_entry = tk.Entry(self.root)
self.quantity_entry.grid(row=1, column=1)
tk.Button(self.root, text="添加订单", command=self.add_order).grid(row=2, column=0)
def add_order(self):
name = self.name_entry.get()
quantity = int(self.quantity_entry.get())
order = {"name": name, "quantity": quantity}
# 将订单发送给管理员,进行配送计划
pass
```
以上是一个基本的仓库管理系统的框架,可以根据实际需求进行修改和完善。如果需要进行更复杂的功能实现,可以考虑使用数据库或者其他框架来实现。
阅读全文