【系统设计】WMS系统中 库存、盘点、移库、拆库功能的设计(库内管理)
最近负责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系统中 库存、盘点、移库、拆库功能的设计(库内管理)的更多相关文章
- 《Java中的自动装箱和拆箱功能.》
//Java中的自动装箱和拆箱功能. class AutoboxingUnboxing { public static void main(String[] args) { //直接把一个基本类型变量 ...
- 吉特仓储管理系统-ERP或WMS系统中常见术语
MPS---主生产计划(Master Production schedules) MTO---订货生产(Make-to-Order) BOM---物料清单或产品结构表(Bill of material ...
- 如何安装整个linux系统中所需要的mp3播放库插件? 可以在安装rpmfusion仓库后直接通过dnf install进行按照就可以了
在vi的界面中, 前面的数字, 表示一行. 而对于中文而言, 并不一定是"一个文本行"就是一行, 而是以 回车(硬回车)为标志, 来判定一行的. 而dd, yy等也是以" ...
- windows系统中给qt工程添加第三方库
· TEMPLATE = app CONFIG += console c++11 CONFIG -= app_bundle CONFIG -= qt SOURCES += main.cpp LIBS ...
- 31. Ubuntu15.04系统中如何启用、禁用客人会话
https://jingyan.baidu.com/article/046a7b3edf9639f9c27fa995.html 31. Ubuntu15.04系统中如何启用.禁用客人会话 听语音 | ...
- Linux系统中的wc
Linux系统中的wc(Word Count)命令的功能为统计指定文件中的字节数.字数.行数,并将统计结果显示输出. 1.命令格式: wc [选项]文件... 2.命令功能: 统计指定文件中的字节数. ...
- Odoo 的库存管理与OpenERP之前的版本有了很大的不同,解读Odoo新的WMS模块中的新特性
原文来自:http://shine-it.net/index.php/topic,16409.0.html 库存移动(Stock Move)新玩法Odoo的库存移动不仅仅是存货在两个“存货地点”之间的 ...
- 金蝶盘点机PDA条码数据采集器WMS系统具体有哪些功能
1. 使用汉码盘点机PDA实现仓库条码管理的好处 (1) 传统电脑管理软件出入库需要来回电脑跑人工手工电脑录单效率低,通过人眼识别商品品种和清点商品数量,容易造成录单错误.从而造成电脑管理软件库存 ...
- Java生鲜电商平台-生鲜系统中商品订单系统售后系统设计
Java生鲜电商平台-生鲜系统中商品订单系统售后系统设计(服务订单履约系统) 说明: 电商之下,我们几乎能从电商平台上买到任何我们日常需要的商品,但是对于很多商品来说,用户购买发货后,只是整个交易流程 ...
随机推荐
- mybatis拦截器 修改mybatis返回结果集中的字段的值
项目中使用了shardingJDBC,业务库做了分库,公共库没在一起,所以导致做码值转换的时候,需要在实现类里面做转码,重复的代码量大,故考虑用mybatis拦截器,将码值转换后再做返回给实现类. ...
- python 之路 《三》列表与元组
我也试着把我写的东西给我的一些同学看,其实这只是我的经验还是比较建议先看书,或者在网上找相关的教学视频有了一定的基础之后再来看我写的文章,将我的经验与自己所学的知识相结合这样才会有所提高.有的同学建议 ...
- 使用XSL解析XML输出HTML(XSL学习笔记一)
最近项目用到 XSL + XML,XML大家应该很熟悉,XSL暂且不解释,先看效果,如果想学习XSL的内容,可以先访问: https://www.w3school.com.cn/xsl/xsl_lan ...
- HTML5大纲算法
什么是HTML大纲算法? 大纲算法允许用户代理(user agent)从一个web页面生成一个信息结构目录,让用户对页面有一个快速的概览.类似书籍.PDF.帮助文档等,都有一个清晰的目录结构,用户能方 ...
- [COCI2016-2017#1] Mag
[COCI2016-2017#1] Mag 题解 题目TP门 题目描述 你将获得一棵由无向边连接的树.树上每个节点都有一个魔力值. 我们定义,一条路径的魔力值为路径上所有节点魔力值的乘积除以路径上的节 ...
- pdfFactory全景手柄使用方法介绍
当文档中存在一些照片,或使用的字体过小时,大家可能会使用放大的功能,将文档的页面进行放大处理.此时,页面就会仅显示局部,为了查看页面的其他内容,就要使用到全景手柄来移动页面. pdfFactory的全 ...
- 「CF578F」 Mirror Box
description CF578F solution 考虑转化题目的要求 1.对于任意一条边,都存在一条从界垂直射入的光线,经过反射穿过这条边. 当图中有环时,环内的边一定不满足条件,而在不存在环时 ...
- IntelliJ IDEA 行注释的缩进设置(不自动添加注释到行首)
目录 现状 修改对比 最后 现状 想注释一行或一个方法,//注释总是生成在行首: 修改对比 要修改的配置在这: 我们可以在注释后添加一个空格,就变成了: 最后 设置完了看下注释效果: 这看起来才舒服.
- 配置jdb
目录 注:1)查看当前Linux系统是否已经安装java 1.把jdk文件的压缩包拖入虚拟机 2.找到刚刚拖拽的文件 3.在usr/local下创建jdk的文件夹 4.解压jdk的文件,并存放在刚刚创 ...
- Pypi项目包发布
前言 用过python的人肯定对pip安装不陌生,pip安装的包的来源都是在Pypi上.为了能随时能使用自己的包,所以尝试一下将自己的包发布到Pypi上. 步骤 一.准备项目 一.创建目录结构 二.准 ...