【wms平台化】一个简单的wms九表架构

news2024/11/28 1:31:40

仓库管理软件的未来有几个方向:平台化、行业化、一体化、精简化。
然而其中行业化跟精简化,其实都离不开平台化。
也就是说,不论wms软件如何发展,唯有平台化一择。

在本人从事的传统型wms项目中,对于库存的定义是【在库位上面的货】,而如果货被拣选,就存在于各种板表、箱表、甚至于任务表里面。而任务更加复杂,每次产品提出一个新的任务类型,都要加任务表和一整套逻辑代码。面对涉及多种任务的报表需求,往往采用新建空表后在流程中写入报表。难以给出历史的统计数据。
对此我想到,wms系统本质就是货【在哪儿,到哪去】的问题。若是规范了系统的架构。整个业务演变成【任务】和【库存】的简单交互。那该有多轻松。
而且随着信息技术的发展,任务表【数据量大】的特点,和库存【对一致性要求高】的特点,随时可以用更高效的数据库,和区块链技术代替。未来只会更简单。.
在这里插入图片描述

最关键的两个概念:

库存

商品最细致的维度(这里是商品批次)对应物理位置的最具体的维度(库位或者板号、箱号、rfid)。这个物理位置不仅是仓内,到仓未接收的,装车了的,是不是都可以作为库存呢?
这是一对一的对应关系,库存唯一的自属性就是数量。
虽然字段很少,但是对于正确性要求非常高。

任务

仓库的一切库存操作都可以算作任务。
这里的任务很简单:把库存从某个位置移动到另一个位置。所以需要库存、从位置、至位置、数量。
盘点相当于把库存从当前位置移动到当前的位置(拿出来再放回去,很形象)
调整相当于把库存的一部分移动到【调走】的特殊位置,或是在某个特殊位置创建库存,在调过来。

只有当库存和任务搞好了,根据库存调整订单量、多种任务竞争库存的问题,都可以迎刃而解。而且可以应对不同行业的客制化需求。对于报表需求,也可以以任务表为主轴来构建。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/49670.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ch1_系统启动_setup.S

1 功能分析 大写的.s 后缀名, 是为了说明是一个16位, 实模式下的汇编语言, 小写的 s 是保护模式下的汇编语言; 1.1 使用中断,读取机器参数 setup.S 是一个操作系统的加载程序, 主要作用使用 ROM BIOS 中…

我为什么拒绝了一个5年测开经验的候选人

某互联网大厂的测试开发岗位招聘时,收到一位 5 年测试开发经验的候选人,是南京大学软件学院的硕士,毕业后一直在国内的互联网巨头公司从事测试框架和工具平台的开发工作。 他简历中参与开发过的测试框架和工具和当时该公司在做的项目很匹配&…

一. 编程规则

命名风格 1.不能以下划线或美元符号开头或结尾,不许使用中英文混合的模式命名. 2.必须使用驼峰命名,DO/BO/DTP/Vo/AO例外 3.常量名全部大写,单词用下划线隔开 4.抽象命名使用Abstract或Base开头,异常命名使用Exception结尾,测试类以Test结尾,枚举类名带上Enum后缀,枚举成员…

认真学习MySQL的事务日志-Redo日志

事务有4种特性:原子性、一致性、隔离性和持久性。那么事务的四种特性到底是基于什么机制实现呢? 事务的隔离性由锁机制执行。事务的原子性、一致性和持久性由事务的redo日志和undo日志来保证。 redo log称为重做日志,提供再写入操作&#x…

考研数据结构大题整合_组一(ZYL组)_做题版

考研数据结构大题整合 目录考研数据结构大题整合一、ZYL组ZYL组一ZYL组二ZYL组三ZYL组四ZYL组五ZYL组六ZYL组七ZYL组八一、ZYL组 ZYL组一 1.一棵树有度为i的结点ni 个(i1,2,3,…m), 求叶结点的个数.(10分) ∑i1m(ni∗i)1−∑i1m(ni)\sum_{i1}^m(n_i *i…

C++单例模板:使用宏函数实现

C单例模板:使用宏函数实现 在我们日常开发中,无可避免需要使用单例模式进行设计类对象,那么实际上我们写单例格式基本都是一样的,那么每次都要写几乎一模一样的代码来实现我们需要的单例对象是不是会觉得很累?下面博主…

新体验经济@2022: 世界杯、啤酒与供应链

【潮汐商业评论/原创】 四年后,世界杯再一次刷屏,绿茵场上挥洒着汗水与泪水,而绿茵场下的观众们也在对诸如“馄饨皮”、“卡塔尔小王子”和球队输赢等话题展开着热烈地讨论。 这其中当然也包括Hans,Hans是一名忠实的足球球迷&am…

mapper-reducer编程搭建

一.虚拟机安装CentOS7并配置共享文件夹 二.CentOS 7 上hadoop伪分布式搭建全流程完整教程 三.本机使用python操作hdfs搭建及常见问题 四.mapreduce搭建 五.mapper-reducer编程搭建 mapper-reducer编程搭建一、打开hadoop二、创建mapper.py、reducer.py及参数文件1.创建 mapper.…

Android Framework 如何学习,如何从应用深入到Framework?

1、为什么要学Android Framework呢? 一方面,面试考察相关内容的可能性高。随着Android开发者越来越多,企业对Android程序员的筛选也有了更高的要求, 考察对Android底层逻辑的理解和思考就是很重要的一个方面,尤其是An…

遥感测深方法综述(一)遥感测深方兴未艾

众所周知,当前世界上许多沿海近岸区域的海图数据更新滞后,甚至直接空白,大约有50%的沿海国家不具备国家级海图制图能力,特别是发展中国家常缺乏足够的水深数据或海图,总体上的浅海测深和制图能力处于从“贫乏”到“具备…

智慧社区管理系统08(维修和柱状图显现)

目录 后端代码 实体类 mapper层 mappers sql语句 Service层 接口 实现类 Controller层 前端部分 列表显示 后端代码 实体类 package com.woniu.community.entity;import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor;Data…

跨境电商:圣诞前的狂欢,超级星期六营销白皮书

“黑五”和“网一”的促销大戏终于告一段落了。Nox聚星获悉,Adobe Analytics的初步统计显示,美国购物者在今年黑色星期五的线上支出达到创纪录的91.2亿美元,增长2.3%。今年的市场表现比预期的要好,对跨境卖家而言,是个…

01-Maven高级

回顾 知识目标 第一单元、父子工程 1、为什么使用父子工程? 1.1、痛点1:提高了代码的重用性 父控制器的存在就是为了去除重复,一个项目存在多个模块,可能由多个人开发,比如abc3个模块,3个模块都是基于…

如何设计分布式系统-分布式事务-XA?

以下为个人观点,如有纰漏敬请指正。 如何设计分布式系统-CAP和BASE理论?_技术分子的博客-CSDN博客​​​​​​ 什么是事务? 处理问题整个过程中同时具有原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)&am…

Fucoidan-PLGA 岩藻多糖-聚乳酸-羟基乙酸共聚物 PLGA-PEG-Fucoidan

Fucoidan-PLGA 岩藻多糖-聚乳酸-羟基乙酸共聚物 PLGA-PEG-Fucoidan 中文名称:岩藻多糖-聚乳酸-羟基乙酸共聚物 英文名称:Fucoidan-PLGA 别称:PLGA修饰岩藻多糖,PLGA-岩藻多糖 岩藻多糖修饰的壳聚糖聚乳酸-羟基乙酸共聚物[poly…

软件测试面试技巧:如何提高面试通过率?这3点一定要做到

对于想要进入到软件测试岗的新手人员来说,面试这一关是非常重要的,它直接关系着你的去留,也关系后续的期待遇问题,那么,有没有什么技巧可以帮忙提高面试通过率呢? 关于这一问题答案,我从这几个方…

云计算模式的优势

PaaS是一种云计算形式,它提供了一个平台,允许开发人员和程序员开发、运行和管理自己的应用,而无需构建和维护相关的基础架构或平台。它就像是一个地基,由专门的平台服务提供商进行搭建和运营,并将该平台以服务的方式提…

D-022 SD/TF卡硬件电路设计

SD/TF卡硬件电路设计1 简介2 SD卡和Micro接口定义3 硬件设计要点4 硬件电路实战1 简介 SD卡按尺寸可以分为:标准SD卡、MiniSD卡、MicroSD卡。SD存储卡是一种基于半导体快闪记忆器的忆器设备。它具有体积小、传输速度快、支持热插拔等优点,在便携式装置领…

无延时直播/超低延时直播画面同步性测试(实测组图)

阿酷TONY / 原创 2022-11-30 / 长沙 / 超多组图 无延时直播/超低延时直播,主要只测试延时情况,没有涉及直播产品的功能、使用操作界面,有兴趣的朋友可以加联系我实际测试哦~~~ 1.无延时直播应用场景 无延时直播/超低延时常见应用场景&a…

用字典统计序列中键和值的数量collections.Counter()

【小白从小学Python、C、Java】 【计算机等级考试500强双证书】 【Python-数据分析】 用字典统计序列中键和值的数量 collections.Counter() 选择题 以下python代码结果错误的一项是? from collections import Counter myList[a,b,a] print(【显示】myList,myList) myDictCoun…