在 laravel 中寻求 advice/suggestion 的 TABLE POS 和库存系统结构

Seeking advice/suggestion for TABLE strcutures for POS and inventory system in laravel

您好,关于如何为我当前的 Laravel 项目设计有效的 table 结构,我想征求您的意见和建议。该项目是带库存的 POS。在您的帮助下,我已经完成了其他次要部分,例如角色、用户管理等。我现在处于项目的核心,即创建采购订单和发票系统。我是 creating/designing 数据库 tables 的新手,因为我的大部分作品只是 wordpress 开发。

我担心的是,如果我弄乱了 table 结构,我可能会浪费很多时间,所以我决定征求您的建议。

这是物品的流向,

Stocks/items 将仅通过采购订单由仓库 1 接收。然后 WAREHOUSE 1 将库存转移到 WAREHOUSE 2 进行销售。因此发票将仅在仓库 2 中显示 stocks/items。

我老板的预期报告是:

每个仓库的剩余产品喜欢

产品 |仓库 1 |仓库 2
瓶子 | 300 | 200
标签 | 150 | 0


剩余库存产品列表

产品代码|产品名称|供应商名称|类别|剩余库存|操作

单击历史记录(将在操作中定位)后,将出现产品跟踪记录。

产品尾随报告如

供应商 |客户 |进货|出货| P.O/Inv个

For purchasing and invoicing I am planning to put them in single table;
po_invc_num (P.O or invoice #)</br>
rcv_by_warehouse (either 1 or 2)</br>
rcv_by_user</br>
prod_code</br>
sup_cust_id (supplier and customer’s ID. I already have table and I already have CRUD for this)</br>
quantity</br>
tot_amnt</br>
notes</br>

我已经有了我的产品 table 并且正在为此工作 CRUD:

id</br>
product_code</br>
name</br>
categories_id</br>
wh1_limit_warning</br>
wh2_limit_warning</br>
price</br>
selling_price</br>
user_id</br>
created_at</br>

我很困惑如何才能实现这一部分

Products | warehouse 1 | warehouse 2
Bottles | 300 | 200
Labels | 150 | 0

和其他报告只收到 P.O。

任何建议和意见将不胜感激。提前致谢!

设计数据库可能是主观的。但是您可以遵循的规则很少:

  1. 标准化您的 table,以便每个实体代表一个特定的领域模型。例如,对于订单,您有产品详细信息、数量和订单地址等。将这些完全集中在一个 table 中并不是一个好的做法。你可以拥有:
  2. 产品 table 包含所有产品详细信息
  3. 具有客户详细信息的客户table
  4. 地址 table 具有 customer_id 参考以了解哪个地址属于哪个客户
  5. 订单 table,包含订单详细信息和客户参考,使用 customer_id,billing/shipping 地址使用 address_id
  6. Order_Items table 显示特定订单的产品。所以可以用product_id来引用产品,order_id来引用订单,数量价格

请注意,这只是关于如何为简单订单设计可扩展且有效的规范化结构的想法。然后它还取决于您如何有效地查询数据以及您如何建立索引来确定优化级别。

同样,如果您想避免对此集思广益,可以使用 laravel 电子商务包。

您可以在 packagist 或 github

上找到更多内容