仓库管理模型

文章首发于个人博客

前言

最近,给同事讲解了一下仓库管理系统的基本模型,然后又花了几天时间深度思考总结了一番,梳理出了一套个人理解的仓管模型的演化。

模型演化

核心版

核心中的核心就是进/入销/出,以及对应的退货

关系模型

graph o[本仓库] s[供货方] c[使用方] s -->|入库| o -->|出库| c -->|出库退| o -->|入库退| s

单据/表模型

mindmap 核心版 进/入 入库单 入库明细 入库退货单 入库退货明细 销/出 出库单 出库明细 出库退货单 出库退货明细 存 库存明细

盘点版

核心版加上盘点功能,有盘点就有可能出现物品多了(溢)少了(损)的情况。

盘点流程

graph LR s1([封账]) s2[盘点数量] s3[盘点汇总] s4[报损/报溢] s5([解封]) s1 --> s2 --> s3 --> s4 --> s5

单据/表模型

mindmap 盘点版 核心版 盘点 盘点记录 盘点明细 损溢单 损溢明细

多级版

当仓库有上下级之分时,每个仓库都有自己的一套子系统,同级仓库之间还会出现平调的情况。

关系模型

graph o[一级仓库] o1[二级仓库1] o2[二级仓库2] o <--> o1 <-->|平调| o2 <--> o

单据/表模型

mindmap 多级版 盘点版 平调 调货单 调货明细

审批版

当管理上要求标准化、规范化,需要走审批流程时,每个环节都开始之前都要加个申请单(如:采购申请单使用申请单退货申请单调货申请单报废申请单等),审批通过之后再进行具体业务。

物品玩出花

其实,上面所讲的基本上都是通用/固定的,没什么太多的花样。但是,一旦涉及到物品的属性,就会有非常繁多的花样。

库位/货架

  1. 当物品分类规模较小且仓库规模也不大时,一般管理员人工即可完成物品的分类及摆放位置的确定,使用系统进行管理反倒低效;但是,当物品分类很细且规模量级很大,或是仓库规模很大时,就不得不依赖系统进行管理了,而系统管理的手段就是库位/货架

  2. 当物品的数量很大时,又会使用到分捡等。

  3. 当物品的重量很大时,又会涉及到相应的运输工具的使用,而运输工具又会衍生出一堆相关的管理。当使用的运输工具具有一定的自动化功能,如AGV等,又要进行对接、调度等。

  4. 当库位/货架具有特殊功能时,如温度控制等,又是一套对接及流程。

物品自身属性

当物品自身有一些特殊属性时,还需要针对该属性进行特殊处理,例如:

  1. 物品有时效性,就要增加时效管理报废流程,以及制订诸如先进先出效期优先出库策略

  2. 物品需要定制,就要增加对应的申请单

  3. 物品价值比较高,或者使用不当会有一定的危险性,就要增加追溯功能。

  4. 物品是可以循环使用的,就要走借用-->归还流程。

  5. 物品是一次性易耗品,就要增加使用计划备货计划等功能。

总结

总之,涉及到物品本身或库位,就会有各种各样的需求诞生,这些需求往小了去就只是个小功能,往大了去就完全是另外一套系统了,甚至会远超仓库管理系统本身,但万变不离其踪,核心的东西还是脱离不了上面提到的模型。

相关推荐
葫芦和十三2 小时前
图解 MongoDB 23|两地三中心:跨可用区部署怎么扛机房故障
后端·mongodb·agent
勇哥java实战分享4 小时前
PaddleOCR 太慢?我换成 RapidOCR 后,速度直接起飞
后端
苏三说技术8 小时前
LangChain4j 和 LangGraph4j,哪个更好?
后端
小白鼠幻想家9 小时前
Agent 上下文爆炸:200 万退款事故复盘
架构
ServBay10 小时前
7 个AI开发中真正用得上的 MCP Server,配合Claude Code食用效果更佳
后端·claude·mcp
妙码生花10 小时前
从 PHP 到 AI + Golang,程序员自救转型手记(十五):优化细节、网络请求封装
前端·后端·ai编程
用户67570498850210 小时前
Go 语言里判断字符串为空,90% 的人都写错了!
后端·go
用户67570498850211 小时前
Go 进阶必修:90% 的人都没用对的“表驱动法”
后端·go
小兔崽子去哪了11 小时前
Java 生成二维码解决方案
java·后端