Laravel + Dcat admin 开发一个健壮的 erp 项目

原文地址 : Laravel + Dcat admin 开发一个健壮的 erp 项目

背景

4个月前我写过一篇文章 dcat-admin 开源框架在 erp 项目中的应用 在几个月前我只是用其完成一些功能开发。但是在项目健壮,以及代码如 dcat 一些深度结合上做的还是不够完善。这个几个月我重新在已有的经验上,对其进行了一些深入的整合。包括在 sass 方面的结合。已经代码健壮性方面的加强。

常用的初始化

Laravel + Dcat admin 开发一个健壮的 erp 项目

ERP 常用的单据实现

  • 在这几个月我把 erp 常用的单据做成了一个abstract class,只要继承 OrderController 并实现其中的几个抽象方法。便可以得到一张单据的编辑创建。里面会自动包含单据常用的审核,删除,批量增加等。
  • 抽象方法(我们业务逻辑只要展现数据,至于审核删除批量新增,我们封装好的进行统一管理比如审核的时候检测明细的业务数量是否为0,单据是否包含明细)

Laravel + Dcat admin 开发一个健壮的 erp 项目

Laravel + Dcat admin 开发一个健壮的 erp 项目

  • 页面效果
    • 新增
      Laravel + Dcat admin 开发一个健壮的 erp 项目
    • 编辑
      Laravel + Dcat admin 开发一个健壮的 erp 项目

业务逻辑的梳理

  • 在进销存以及 erp 软件中,比如出入库的时候会扣减批次库存,产品库存,以及插入一条库存往来的记录。有的老程序员可能会用到数据库的触发器,存储过程等等。在这里我可以介绍下在 laravel 中如何拆分这些业务
  • 图示库存往来

Laravel + Dcat admin 开发一个健壮的 erp 项目

  • 分析:
    我们入库的时候,首先明细在批次库存进行加减,然后产品库存也会加减,涉及加减的都会插入一条库存往来账。而库存往来账的表,包含了批次库存以及产品库存发生变化所需要的字段,我们可以通过监听出入库订单审核状态的变化,比如审核通过,然后插入库存往来帐。再通过监听库存往来帐。进行批次库存的加减。在进行监听批次库存的加减进行产品库存的加减。

    • 采购入库单监听(PurchaseInOrderObserver)只要订单审核通过就插入一条库存往来账
      Laravel + Dcat admin 开发一个健壮的 erp 项目

    • 库存往来账监听 (StockHistoryObserver) 根据单据类型进行批次库存扣减
      Laravel + Dcat admin 开发一个健壮的 erp 项目

    • 批次库存监听 (SkuStockBatchObserver)当批次库存进行扣减的时候对产品库存进行扣减
      Laravel + Dcat admin 开发一个健壮的 erp 项目

  • 好处

    • 当我们有其他的业务要扣减库存的时候,比如客户销售单。我们只需要监听客户销售单的审核。无需在写一份库存扣减的业务逻辑。提升我们的业务健壮性。
    • 客户销售单
      Laravel + Dcat admin 开发一个健壮的 erp 项目
      Laravel + Dcat admin 开发一个健壮的 erp 项目
      Laravel + Dcat admin 开发一个健壮的 erp 项目
      Laravel + Dcat admin 开发一个健壮的 erp 项目
      Laravel + Dcat admin 开发一个健壮的 erp 项目
      Laravel + Dcat admin 开发一个健壮的 erp 项目

审核图标实现

  • 代码
    Laravel + Dcat admin 开发一个健壮的 erp 项目
    Laravel + Dcat admin 开发一个健壮的 erp 项目

  • 使用

    $form->reviewicon('字段', '审核状态');

    Laravel + Dcat admin 开发一个健壮的 erp 项目

    结尾

    传统的 erp 软件以 java c# 为主。但是结合我自己这几个月的摸索, 如果对 laravel,以及 Dcat,laravel-admin 底层有一定熟悉。我们可以依靠这些开源的项目快速构建起我们的 crud。同时合理规划好 laravel 的项目架构,业务层架构。代码维护起来还是蛮舒服的。如果大家有需要项目开发也可以联系我

本作品采用《CC 协议》,转载必须注明作者和本文链接
附言 1  ·  1个月前

对 ERP 有兴趣的朋友可以加 qq 群
image
有教学视频我会通知大家,群里面会分享最新 demo 地址

本帖由系统于 10个月前 自动加精
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 8

可以免费商用吗?

10个月前 评论
喝卵形 (楼主) 10个月前
sethhu 4个月前

:speak_no_evil: 请求开源

8个月前 评论

期待lz分享下经验或者踩坑的地方。 :+1:

6个月前 评论
aruisi

请求开源

5个月前 评论

请求开源

3个月前 评论

大佬,自定义的前端view能分享下吗

1个月前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!