用Python 编写一个固定资产登记系统,系统包括资产名称,登记时间,登记数量,增加资产,减少资产,资产余额,
时间: 2024-03-25 21:41:39 浏览: 19
好的,我可以给你一个简单的 Python 代码段,实现一个基本的固定资产登记系统,包括资产名称,登记时间,登记数量,增加资产,减少资产,资产余额等功能。这里我使用了 Tkinter 模块来创建 GUI 界面,SQLite3 模块来创建本地数据库。
```python
import tkinter as tk
import sqlite3
from datetime import datetime
# 连接本地数据库
conn = sqlite3.connect('assets.db')
c = conn.cursor()
# 创建资产表
c.execute('''CREATE TABLE IF NOT EXISTS assets
(id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
register_time TEXT NOT NULL,
quantity INTEGER NOT NULL,
increase INTEGER NOT NULL,
decrease INTEGER NOT NULL,
balance INTEGER NOT NULL,
remark TEXT);''')
conn.commit()
# 定义增加资产函数
def add_asset():
name = name_entry.get()
quantity = int(quantity_entry.get())
increase = int(increase_entry.get())
remark = remark_entry.get()
balance = quantity + increase
# 获取当前时间
now = datetime.now()
register_time = now.strftime("%Y-%m-%d %H:%M:%S")
# 将资产信息插入数据库
c.execute("INSERT INTO assets(name, register_time, quantity, increase, decrease, balance, remark) VALUES (?, ?, ?, ?, ?, ?, ?)", (name, register_time, quantity, increase, 0, balance, remark))
conn.commit()
# 更新界面资产余额
balance_label.config(text=str(balance))
# 定义减少资产函数
def reduce_asset():
name = name_entry.get()
quantity = int(quantity_entry.get())
decrease = int(decrease_entry.get())
remark = remark_entry.get()
balance = quantity - decrease
# 获取当前时间
now = datetime.now()
register_time = now.strftime("%Y-%m-%d %H:%M:%S")
# 将资产信息插入数据库
c.execute("INSERT INTO assets(name, register_time, quantity, increase, decrease, balance, remark) VALUES (?, ?, ?, ?, ?, ?, ?)", (name, register_time, quantity, 0, decrease, balance, remark))
conn.commit()
# 更新界面资产余额
balance_label.config(text=str(balance))
# 创建主窗口
root = tk.Tk()
root.title("固定资产登记系统")
# 创建标签和输入框
name_label = tk.Label(root, text="资产名称")
name_label.grid(column=0, row=0)
name_entry = tk.Entry(root)
name_entry.grid(column=1, row=0)
quantity_label = tk.Label(root, text="登记数量")
quantity_label.grid(column=0, row=1)
quantity_entry = tk.Entry(root)
quantity_entry.grid(column=1, row=1)
increase_label = tk.Label(root, text="增加数量")
increase_label.grid(column=0, row=2)
increase_entry = tk.Entry(root)
increase_entry.grid(column=1, row=2)
decrease_label = tk.Label(root, text="减少数量")
decrease_label.grid(column=0, row=3)
decrease_entry = tk.Entry(root)
decrease_entry.grid(column=1, row=3)
remark_label = tk.Label(root, text="备注")
remark_label.grid(column=0, row=4)
remark_entry = tk.Entry(root)
remark_entry.grid(column=1, row=4)
balance_label = tk.Label(root, text="0")
balance_label.grid(column=1, row=5)
# 创建按钮
add_button = tk.Button(root, text="增加", command=add_asset)
add_button.grid(column=0, row=6)
reduce_button = tk.Button(root, text="减少", command=reduce_asset)
reduce_button.grid(column=1, row=6)
# 运行主程序
root.mainloop()
# 关闭数据库连接
conn.close()
```
这个代码段中,当你运行它时,将会创建一个包含资产名称,登记时间,登记数量,增加资产,减少资产,资产余额等字段的数据库表。你可以在界面上增加或减少资产数量,并将这些信息插入到数据库中。同时,你可以看到资产余额会自动更新。
请注意,这个代码段只是一个基本的示例,你可以根据你的实际需求进行修改和扩展。如果你有任何问题,请随时在评论中留言,我会尽力帮助你。