Python开发的进销存系统入门指南

在这个指南中,我们将逐步教会你如何用Python开发一个简单的进销存系统。进销存系统用于管理商品的入库、销售和库存。我们将分阶段实施,每个阶段都有不同的任务和代码实现。

项目流程

首先,我们要了解整个开发流程。以下是项目开发的主要步骤:

步骤 描述 预估时间
1 需求分析 1天
2 数据库设计 2天
3 项目准备(环境搭建等) 1天
4 代码实现 5天
5 测试与调试 2天
6 部署与维护 1天

项目里程碑 -- 甘特图

gantt
    title 进销存系统开发计划
    dateFormat  YYYY-MM-DD
    section 需求分析
    分析需求       :done,    des1, 2023-10-01, 1d
    section 数据库设计
    数据库设计    :done,    des2, after des1, 2d
    section 项目准备
    环境搭建      :done,    des3, after des2, 1d
    section 代码实现
    实现系统功能  :active,  des4, after des3, 5d
    section 测试与调试
    完成测试      :         des5, after des4, 2d
    section 部署与维护
    部署系统      :         des6, after des5, 1d

逐步实现细节

1. 需求分析

在第一步,你需要明确系统的功能需求。可能包括:

  • 商品入库
  • 商品售出
  • 查看库存
  • 数据统计报告

2. 数据库设计

我们将使用SQLite作为数据库。数据库设计将包括一个"products"表来存储商品信息。

import sqlite3

# 连接到数据库(如果没有,则创建数据库文件)
conn = sqlite3.connect('inventory.db')

# 创建游标对象
cursor = conn.cursor()

# 创建products表
cursor.execute('''
CREATE TABLE IF NOT EXISTS products (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    name TEXT NOT NULL,
    quantity INTEGER NOT NULL,
    price REAL NOT NULL
)
''')

# 提交更改并关闭连接
conn.commit()
conn.close()
代码解释:
  • sqlite3.connect('inventory.db'):连接到名为inventory.db的数据库文件。
  • CREATE TABLE:创建一个表用来存储商品的信息,包括名称、数量和价格。

3. 项目准备

你需要安装 Flask,一个Python的Web框架,来处理用户请求。

使用 pip 安装 Flask:

pip install Flask

4. 代码实现

实现各个功能模块,我们使用 Flask 作为后端。

4.1 入库功能
from flask import Flask, request, jsonify

app = Flask(__name__)

@app.route('/add_product', methods=['POST'])
def add_product():
    data = request.json
    name = data['name']
    quantity = data['quantity']
    price = data['price']

    conn = sqlite3.connect('inventory.db')
    cursor = conn.cursor()
    cursor.execute("INSERT INTO products (name, quantity, price) VALUES (?, ?, ?)",
                   (name, quantity, price))
    conn.commit()
    conn.close()

    return jsonify({'status': 'Product added successfully'})
代码解释:
  • @app.route('/add_product', methods=['POST']):定义一个API端点,接收POST请求以添加新产品。
  • jsonify({'status': 'Product added successfully'}):发送回执消息,确认操作成功。
4.2 售出功能
@app.route('/sell_product', methods=['POST'])
def sell_product():
    data = request.json
    product_id = data['id']
    sell_quantity = data['quantity']

    conn = sqlite3.connect('inventory.db')
    cursor = conn.cursor()
    cursor.execute("UPDATE products SET quantity = quantity - ? WHERE id = ?", (sell_quantity, product_id))
    conn.commit()
    conn.close()

    return jsonify({'status': 'Product sold successfully'})

4.3 查询库存

@app.route('/check_inventory', methods=['GET'])
def check_inventory():
    conn = sqlite3.connect('inventory.db')
    cursor = conn.cursor()
    cursor.execute("SELECT * FROM products")
    products = cursor.fetchall()
    conn.close()

    return jsonify(products)

5. 测试与调试

使用 Postman 或 curl 测试上述 API,确保一切功能正常。

项目协作 -- 序列图

sequenceDiagram
    participant User
    participant Flask API
    participant Database

    User->>Flask API: POST /add_product
    Flask API->>Database: INSERT product
    Database-->>Flask API: Confirmation
    Flask API-->>User: Success message

    User->>Flask API: POST /sell_product
    Flask API->>Database: UPDATE product
    Database-->>Flask API: Confirmation
    Flask API-->>User: Success message

结尾

通过上述步骤和示例代码,你应该能对如何实现一个简单的Python进销存系统有了基本了解。开发过程涉及需求分析、数据库设计、功能实现及测试,这些都是开发的基础环节。你可以在此基础上不断扩展和完善系统功能,例如增加用户管理、数据统计等。

希望这篇文章能帮助到你,迈出Python开发进销存系统的第一步。如果你在实现的过程中遇到问题,请随时询问或查阅相关文档。祝你编程愉快!