最近负责WMS系统 盘点 移库 两个功能模块的功能及数据库设计。

物流仓储系统的搭建,要基于仓库的实际情况,整理内部员工需求,再参考其他WMS系统,经过长时间的讨论和研究,最终转化为产品需求。

这里先简单讲一下库存,但是要讲明白库存,首先要知道出库和入库的流程。

库存表是WMS的核心表,商品的入库 -》 进入库存 =》出库 及盘点、移库、拆分等重要功能都是围绕库存表为核心进行操作的。

下图为网上WMS系统的实际模板,一个入库单含有多个入库明细信息,出库单同理。

他们之间的关系如下:

入库表 : 入库明细表                   出库表 : 出库明细表          入库明细 : 库存  : 出库明细

1     :       n                                1       :        n                          1      :    1     :    n

一、库存

必须的属性如下,很多其他属性、比如体积毛重、备案序号、商品料号等,这里进行省略。

库存表(ID、仓库ID、仓位ID、商品ID、库存数量、数量单位、入库ID、入库明细ID、入库时间)

ps. 1 数量单位 和 入库ID是冗余字段,方便盘点和移库获取。

ps. 2 库存表的 入库明细ID 用于查询入库记录

ps. 3 出库明细有一个 库存ID 用于查询出库记录

二、盘点

盘点表(ID、仓库ID、状态、库存数量、盘点数量、盘盈数量、盘亏数量、备注、盘点人、盘点日期)

盘点明细表(ID、盘点表ID、仓位ID、商品ID、入库单号、库存数量、盘点数量、盘盈数量、盘亏数量、数量单位、备注)

ps 状态:1未确认           2已确认             3无差异            4有差异

在仓库管理过程中,每隔一段时间需要盘点一下仓库的货物是否准确。

仓管员创建盘点单,选择库存(一般是当前仓库所有库存,或者是A区、B区等等区域划分)。

仓管员根据盘点单信息,进行手动/扫描盘点,对应清点数量是否一致。如果一致则盘点完成无差异;如不一致,需要向上级汇报。

盘点明细表中的信息只有盘点数量和备注可填、其他都由库存表带出,盘盈盘亏自动计算。确认盘点后除盘点表-备注外所有信息无法修改。

具体功能流程如下:

三、移库

移库表(ID、仓库ID、已移库、备注、移库人、移库日期)

移库明细表(ID、移库单ID、商品ID、入库单号、原仓位ID、移入仓位ID、数量单位、库存表ID、备注)

库存表ID:关联库存表,确认拆库库后,方便移动库存。

在仓库管理过程中,有可能客户有要求,或者自己需要把商品分库分门别类堆放,需要移库操作。

仓管员创建移库单,选择库存(一般是当前仓库所有库存,或者是A区、B区等等区域划分)。

仓管员根据移库单信息,进行移库,移库明细表中的信息只有移入仓位和备注可填、其他都由库存表带出,确认移库后除移库表-备注外所有信息无法修改。

具体功能流程如下:

四、拆库

必须的属性如下,很多其他属性、比如体积毛重等,这里进行省略。

拆库表(ID、仓库ID、已拆库、库存数量、备注、拆库人、拆库日期)

拆库明细表(ID、拆库单ID、目标仓位ID、拆分数量、备注)

仓管员创建拆库单,查询库存表,选择原库位,添加1-N个目标库位,填写拆分数量、体积、毛重等。

仓管员根据移库单信息,进行移库,操作后确认无误就确认拆库完成。

库存表修改为拆分后的数量、体积,并根据拆库明细生成新的库存。

确认拆库后除拆库表-备注外所有信息无法修改。

具体功能流程如下:

五、库存历史记录表

表字段如下

出入库明细(变更类型)为: 入库 上架 出库

库内明细(变更类型)为: 移库 拆库

在每次对库存有改变的操作时 就写入记录表

【系统设计】WMS系统中 库存、盘点、移库、拆库功能的设计(库内管理)的更多相关文章

  1. 《Java中的自动装箱和拆箱功能.》

    //Java中的自动装箱和拆箱功能. class AutoboxingUnboxing { public static void main(String[] args) { //直接把一个基本类型变量 ...

  2. 吉特仓储管理系统-ERP或WMS系统中常见术语

    MPS---主生产计划(Master Production schedules) MTO---订货生产(Make-to-Order) BOM---物料清单或产品结构表(Bill of material ...

  3. 如何安装整个linux系统中所需要的mp3播放库插件? 可以在安装rpmfusion仓库后直接通过dnf install进行按照就可以了

    在vi的界面中, 前面的数字, 表示一行. 而对于中文而言, 并不一定是"一个文本行"就是一行, 而是以 回车(硬回车)为标志, 来判定一行的. 而dd, yy等也是以" ...

  4. windows系统中给qt工程添加第三方库

    · TEMPLATE = app CONFIG += console c++11 CONFIG -= app_bundle CONFIG -= qt SOURCES += main.cpp LIBS ...

  5. 31. Ubuntu15.04系统中如何启用、禁用客人会话

    https://jingyan.baidu.com/article/046a7b3edf9639f9c27fa995.html 31. Ubuntu15.04系统中如何启用.禁用客人会话 听语音 | ...

  6. Linux系统中的wc

    Linux系统中的wc(Word Count)命令的功能为统计指定文件中的字节数.字数.行数,并将统计结果显示输出. 1.命令格式: wc [选项]文件... 2.命令功能: 统计指定文件中的字节数. ...

  7. Odoo 的库存管理与OpenERP之前的版本有了很大的不同,解读Odoo新的WMS模块中的新特性

    原文来自:http://shine-it.net/index.php/topic,16409.0.html 库存移动(Stock Move)新玩法Odoo的库存移动不仅仅是存货在两个“存货地点”之间的 ...

  8. 金蝶盘点机PDA条码数据采集器WMS系统具体有哪些功能

    1.  使用汉码盘点机PDA实现仓库条码管理的好处 (1)  传统电脑管理软件出入库需要来回电脑跑人工手工电脑录单效率低,通过人眼识别商品品种和清点商品数量,容易造成录单错误.从而造成电脑管理软件库存 ...

  9. Java生鲜电商平台-生鲜系统中商品订单系统售后系统设计

    Java生鲜电商平台-生鲜系统中商品订单系统售后系统设计(服务订单履约系统) 说明: 电商之下,我们几乎能从电商平台上买到任何我们日常需要的商品,但是对于很多商品来说,用户购买发货后,只是整个交易流程 ...

随机推荐

  1. day89:luffy:使用Celery完成我的订单超时取消&Polyv视频加密播放

    目录 1.我的订单超时取消 2.PoliV视频播放 1.我的订单超时取消 使用Celery完成超时取消功能 mycelery/order/tasks.py from mycelery.main imp ...

  2. Git项目管理出现 .gitignore文件不起作用的解决

    在git管理项目的代码过程中总会有需要忽略的目录或者文件,比如编译过程中产生的目录和文件,这时候就需要 .gitignore来进行目录或文件的忽略了. 如果没有 .gitignore文件,可以自己手工 ...

  3. 当Prometheus遇到混沌工程

    一.背景 最近容器组在开发云平台的监控.报警功能. 大致的实现策略是: 1.云平台页面上配置告警规则 2.Prometheus完成监控数据的聚合 3.当Prometheus聚合后的监控数据满足告警规则 ...

  4. CSS3之animation属性

    CSS中的animation属性可用于为许多其他CSS属性设置动画,例如颜色,背景色,高度或宽度. 每个动画都需要使用@keyframes这种at-rule语句定义,然后使用animation属性来调 ...

  5. linux之DHCP服务

    1.DHCP介绍(动态主机配置协议)  DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议, 主要用途:给内部网络或网络服务供应 ...

  6. spring的原理

    一.pring的原理 1.1 IOC控制反转 ==> 扫描机制通过代理方式动态创建对象 扫描注解,通过反射获取类路径,动态创建对应类的对象,放置在对象池中(多线程做法,防止短时间内创建对象过多, ...

  7. 2w+长文带你剖析ConcurrentHashMap~!

    并发编程实践中,ConcurrentHashMap是一个经常被使用的数据结构,相比于Hashtable以及Collections.synchronizedMap(),ConcurrentHashMap ...

  8. rbd的数据在哪里

    创建一个rbd [root@mytest ~]# rbd create test1 --size 4000 查看rbd信息 [root@mytest ~]# rbd info test1 rbd im ...

  9. 网站实现微信扫码登录 php

    微信开放平台账号一个,必须是商户,不然你也开不了 1.在开放平台创建应用,并设置回调地址(域名即可) 2.生成二维码,前端代码,用户扫码后会给你的回调地址发送code <span id=&quo ...

  10. xctf攻防世界——crackme writeup

    感谢xctf提供学习平台 https://adworld.xctf.org.cn crackme有壳,脱壳部分见文章: https://www.cnblogs.com/hongren/p/126332 ...