開發 erp 管理系統盤點功能分享

喝卵形發表於2020-07-07

背景

一個多月前我分享了一篇如何用 dcat 開發 erp 的文章,有人希望我分享下盤點功能的開發。我們開發前可以看下百度是如何定義盤點的:盤點是指定期或臨時對庫存商品實際數量進行清查、清點的一種作業。我的理解就是修改庫存。

開發思路

開發 erp 管理系統盤點功能分享

程式流程

  • 1 選擇盤點倉庫,生產盤點批次,並把當前倉庫狀態改為正在盤點,出入庫稽核的時候,判斷為不能稽核。
    開發 erp 管理系統盤點功能分享
  • 2 盤點錄入單:選擇盤點批次帶出盤點倉庫。
    開發 erp 管理系統盤點功能分享
    開發 erp 管理系統盤點功能分享
    開發 erp 管理系統盤點功能分享
  • 3 盤點稽核單:選擇盤點錄入單,稽核以後發生庫存變化
    開發 erp 管理系統盤點功能分享
  • 4 檢查庫存往來賬
    開發 erp 管理系統盤點功能分享
  • 5 檢查庫存(包括批次庫存詳細)
    開發 erp 管理系統盤點功能分享
    開發 erp 管理系統盤點功能分享

總結

我覺得光碟點功能開發是不難的,我這個可能是比較基礎的,也是和客戶對接溝通以及參考市面一些成熟的系統借鑑來的。而且基於 dcat 開發速度還是比較快的。

補充

erp 開發中可能涉及大量連表查詢,我開始也是使用的 leftjoin 連表查詢,但是我開發過程中開發效率低下,我後面換成子查詢 whereHas 效率有了提升,在換位 whereHasIn 效率進一步提升,大家可以參考下這兩篇文章 給 Eloquent 的 whereHas 加個 where in 的優化 以及 [擴充套件包] Laravel-wherehasin 提升 ORM 關聯關係查詢效能 (優化 whereHas 效能)。同時開發過程中建議使用 Telescope 除錯工具,這樣程式跑的過程中心理有底,可以快速定位問題原因。在開發過程中我大部分是發現哪個請求慢,然後點進去找原因,然後如果發現是 sql 慢,改加索引的加索引,欄位該冗餘的冗餘,改加快取的加快取。
開發 erp 管理系統盤點功能分享

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章