企业随着生产经营的延续,其产品、产品SKU也会越来越多,当然同个产品的计量单位也可能越来越多。比如企业规模小,采购可能是按KG采购(价格可能比较贵),当企业采购量大时,采购可能就按吨来采购啦(比如白糖、粒子等)。因此企业信息化软件在解决企业产、供、销核心业务时,必须考虑到产品多单位问题。
  企业通常在采购、销售环节可能部分产品可能会涉及多单位问题。特殊行业,比如快消品行业,在报损、集卡或奖盖兑现等环节部分产品也可能会涉及多单位问题。多单位通常处理流程如下:

  • 维护产品多个单位,指定产品默认单位;
  • 按产品实际单位采购、销售;
  • 单位换算,比如:统一换算成默认单位进行出入库、盘点等仓储操作;

本文将探讨一种比较简单的多单位系统实现方案。

1、数据表设计

1)产品表,base_goods
CREATE TABLE `base_goods` (`sid` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',`goods_id` varchar(32) NOT NULL,`goods_no` varchar(20) NOT NULL COMMENT '商品编码',`goods_name` varchar(100) NOT NULL COMMENT '商品名称',`spec` varchar(64) DEFAULT NULL COMMENT '规格',`unit_id` varchar(32) DEFAULT NULL COMMENT '计量单位',`unit_scale` decimal(20,4) DEFAULT NULL COMMENT '规格系数',`unit_weight` decimal(20,6) DEFAULT NULL,`barcode` varchar(32) DEFAULT NULL COMMENT '箱条码',...PRIMARY KEY (`sid`),UNIQUE KEY `NewIndex2` (`goods_id`,`goods_no`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='商品表'
2)单位表 base_goods_unit
CREATE TABLE `base_goods_unit` (`sid` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',`unit_id` varchar(32) DEFAULT NULL,`unit_name` varchar(32) DEFAULT NULL COMMENT '计量单位',...PRIMARY KEY (`sid`),UNIQUE KEY `NewIndex1` (`unit_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='单位表'
3)产品多单位,sku表 base_goods_sku
CREATE TABLE `base_goods_sku` (`sid` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',`goods_id` varchar(32) NOT NULL COMMENT '产品ID',`unit_id` varchar(32) NOT NULL COMMENT '单位',`spec` varchar(64) DEFAULT NULL,`unit_scale` decimal(20,4) DEFAULT NULL COMMENT '规格系数',`unit_weight` decimal(20,6) DEFAULT NULL,`barcode` varchar(32) DEFAULT NULL COMMENT '箱条码',`is_default` char(1) DEFAULT 'N',...PRIMARY KEY (`sid`),UNIQUE KEY `idx_base_goods_unit` (`goods_id`,`unit_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='商品多单位、sku表'

2、3张表 数据关系

1)先维护表base_goods_unit,基本单位
  • 维护两个基本单位:unit_id = 1, unit_name = 箱;unit_id = 2, unit_name = 瓶
2)产品查询、维护:base_goods

新增一个产品,产品单位下拉选择数据源为base_goods_unit基本单位表;

goods_id goods_no goods_name unit_id spec unit_scale unit_weight bar_code
1 1001 596ml纯净水 1(箱) 4*6 40 0.0001 012039988455

新增产品时,同时会往base_goods_sku插入一条记录,内容如下:

goods_id unit_id spec unit_scale unit_weight bar_code is_default
1 1(箱) 4*6 24 0.0024 012039988455 Y
3)给产品再添加一个单位:瓶
goods_id unit_id spec unit_scale unit_weight bar_code is_default
1 1(箱) 4*6 24 0.0001 012039988455 Y
1 2(瓶) 1*1 1 0.0001 012039988456 N

说明:

  • 产品规格系数,unit_scale=24,表示 1箱 = 24最小单位,最小单位可以不维护;
  • 案例维护了最小单位:瓶,因为其unit_scale = 1,则596ml水 1箱=24瓶;
  • 假设596ml水,再维护一个单位:提,规格系数=12,则1箱=2提=24瓶

3、多单位如何使用

1)采购、销售

根据base_goods, base_goods_sku表,可以列出产品单位组合表,如下表:

goods_id unit_id spec unit_scale unit_weight bar_code is_default
1 1(箱) 4*6 24 0.0001 012039988455 Y
1 2(瓶) 1*1 1 0.0001 012039988456 N

只要对列表行项目进行采购、销售即可,菜单行项目、销售订单行项目必须包含goods_id,unit_id信息。

2)仓储操作

为了便于盘点、财务记账,仓库通常按物料默认单位进行出入库,如本例的596ml水,你默认单位为箱,假设销售了960瓶,则出库时(假设原库存为100箱):
库存减少 960/24 = 40 箱,当前库存 = 100 - 40 = 60箱。

3)经销商报损、奖盖兑现

奖盖兑现
类似“再来一瓶”,“加1元再来一瓶”促销活动,顾客向门店兑奖后,门店会向经销商兑奖,经销商则会把奖盖、集卡等交给企业业务员,并录入系统,类似xx产品,申请奖盖兑现xx只。企业销售内勤核实情况后,会根据维护的兑奖规则,根据产品多单位规格系数,折算出兑现数量(默认单位),通过:

  • 订单 配送的方式,发放给经销商;
  • 折算成金额,进入客户奖盖台账或其它台账(客户可以用台账进行自行下单)

产品报损
操作方式同”奖盖兑现“,经销商对有暇疵的产品(包装不好,沉淀等)提交报损申请,经业务员核实后,企业销售内勤根据报损产品数量单位计算最终报损数量或金额:

  • 订单 配送的方式,补给经销商;
  • 折算成金额,进入客户报损台账(客户可以自行下单)

基本思路
不管客户上报的是瓶,还是箱,都统一换算成产品基本单位进行数量、金额计算。计算方式:

  • 假设 基本单位,规格系数 = 40
  • 假设第二单位,规格系数 = 20,则基本单位 = 2个 第二单位
  • 此处40对应的为最小单位,最小单位可以不维护,如饮料企业通常就是箱,瓶,提;
    对于产品来说一般只维护“箱”即可,假设规格系数5*6,公司员工一看就知道,该箱产品有6排,每排5瓶。

4、本文不足

本文只讨论了多单位简单实现方案,并未讨论口味等多SKU如何简单实现。

谈谈企业信息化 一种比较简单、灵活的产品物料多单位实现方案相关推荐

  1. mysql是逻辑库吗_mycat是一种比较简单的中间件产品,可以帮助mysql进行分库,同时统一在一个逻辑库。硬件环境:系统:centos 7.6数据库版本:5.7.19mycat:...

    mycat是一种比较简单的中间件产品,可以帮助mysql进行分库,同时统一在一个逻辑库. 硬件环境: 系统:centos 7.6 数据库版本:5.7.19 mycat:1.6..6.1 github上 ...

  2. SAP License:制造企业信息化新动向

    从信息化价值来看,电算化阶段的主要价值是办公自动化;企业信息化阶段的主要价值是提升企业效率.降低成本;而企业互联网化阶段的核心价值则是商业创新和产业融合,是企业运营模式的变革.下面介绍一下:制造企业信 ...

  3. 一 企业信息化战略和实施

    目录 一.信息与信息化概念 一星⭐ 1.信息定义 2.信息 3.信息化的概念 二.信息系统生命周期 一星⭐ 三 .信息系统战略规划 三星⭐⭐⭐ 四.政府信息化与电子政务 一星⭐ 五.企业信息化与电子商 ...

  4. 企业信息化快速开发平台JeeSite

    为什么80%的码农都做不了架构师?>>>    平台简介 JeeSite是基于多个优秀的开源项目,高度整合封装而成的高效,高性能,强安全性的开源Java EE快速开发平台. JeeS ...

  5. 企业信息化常见缩略词汇总

    ABC(Activity Based Classification,ABC分类法):即帕雷托规则(Pareto's Law),平常我们也称之为"80对20"规则.此规则通过对同一类 ...

  6. 企业信息化改革怎么做?

    前几天遇到一位朋友提问,他说他们公司目前需要进行信息化改革,问我有哪些好用的信息化管理系统推荐?并附上了几点要求: 扩展性强(公司管理结构变化很快,套装软件扩展升级太麻烦,并不适合). 功能全(要能满 ...

  7. IT新技术发展与企业信息化创新特征分析

    我国企业信息化已走过三四十年的发展历程,虽然已取得了巨大成就,但与发达国家还存在较大差距.以云计算,物联网,社交网络,大数据等为代表IT新技术的发展,为提高我国企业信息化整体发展水平和建设效果,实现企 ...

  8. 企业信息化战略与实施(练习题)

    1:商业智能是指利用数据挖掘.知识发现等技术分析和挖掘结构化的.面向特定领域的存储与数据仓库的信息.它可以帮助用户认清发展趋势.获取决策支持并得出结论.以下 (1 )活动,并不属于商业智能范畴. A. ...

  9. 企业信息化战略与实施-练习题

    企业信息化战略与实施-练习题 1:商业智能是指利用数据挖掘.知识发现等技术分析和挖掘结构化的.面向特定领域的存储与数据仓库的信息.它可以帮助用户认清发展趋势.获取决策支持并得出结论.以下 (1 )活动 ...

最新文章

  1. 01 多线程概念及其实现方式
  2. 关注CIO 3.0:企业CIO的最佳时代到来
  3. Binder源码分析之驱动层(原)
  4. Android 安全专项-Xposed 劫持用户名密码实践
  5. linux usb声卡 submit urb,linux usb urb详解
  6. XML读取信息并显示
  7. phpcms的增删改查操作整理
  8. 相机模型与标定(二)--相机模型
  9. shell基础之编译安装nginx
  10. JAVA安装详细教程
  11. a标签的href属性 download属性
  12. Raul的新机器学习书!
  13. Java Emitter Template
  14. mapbox-gl开发教程(二):地图主要配置参数说明
  15. android自定义插值器_自定义缓动插值器,可在Android中实现有意义的动作
  16. 人类第一张黑洞照片背后的功臣,竟然是她!
  17. AHB-SRAM简单设计之 顶层模块sram_top.v
  18. BUUCTF:被劫持的神秘礼物
  19. 【论文阅读】——Spons Shields: Practical Isolation for Trusted Execution
  20. 用力和应变片计算弹性模量_材料弹性模量及泊松比测试实验教案.

热门文章

  1. bim综合软件:一次性快速解锁所有轴网,生成轴网
  2. JQuery 添加元素(jquery对象),删除元素( .remove())
  3. 单片机c语言交通信号灯设计,基于51单片机的交通信号灯设计毕业设计.pdf
  4. 国产磁力架的规格:1.5ml,2ml,15ml,50ml,0.2ml离心管,PCR单管,8连排管,12连排管,96孔PCR板磁力架
  5. JAVA生成二维码链接
  6. RHEL4-ASU2-i386上安装oracle9204
  7. python3代码编程规范(命名、空格、注释、代码布局、编程建议等)
  8. 网站制作系列教程--前端代码
  9. 基于web的在线视频编辑的设计
  10. ubuntu lotus testnet-staging