【产品】产品信息、分类、单位

友情提示:

不同 ERP 系统,产品可能也会叫做物料、商品等,我们项目统一都叫产品。

产品模块,由 yudao-module-erp 后端模块的 product 包实现,主要有产品信息、产品分类、产品单位等功能。如下图所示:

产品模块

1. 产品分类

产品分类,由 ErpProductCategoryController 提供接口。

1.1 表结构

省略 creator/create_time/updater/update_time/deleted/tenant_id 等通用字段

CREATE TABLE `erp_product_category` (
  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '分类编号',
  `parent_id` bigint NOT NULL COMMENT '父分类编号',
  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '分类名称',
  `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '分类编码',
  `sort` int DEFAULT '0' COMMENT '分类排序',
  `status` tinyint NOT NULL COMMENT '开启状态',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=87 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='ERP 产品分类';

分类目前支持无限层级,其中 parent_id 为 0 的是一级分类。

1.2 管理后台

对应 [ERP 系统 -> 产品管理 -> 产品分类] 菜单,对应 yudao-ui-admin-vue3 项目的 @/views/erp/product/category 目录。

管理后台 - 产品分类

2. 产品单位

产品单位,由 ErpProductUnitController 提供接口。

2.1 表结构

省略 creator/create_time/updater/update_time/deleted/tenant_id 等通用字段

CREATE TABLE `erp_product_unit` (
  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '单位编号',
  `name` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '单位名字',
  `status` tinyint NOT NULL COMMENT '单位状态',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='ERP 产品单位表';

2.2 管理后台

对应 [ERP 系统 -> 产品管理 -> 产品单位] 菜单,对应 yudao-ui-admin-vue3 项目的 @/views/erp/product/unit 目录。

管理后台 - 产品单位

3. 产品(物料)

产品信息,由 ErpProductCategoryController 提供接口。

3.1 表结构

CREATE TABLE `erp_product` (
  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '产品编号',
  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '产品名称',
  `bar_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '产品条码',
  `category_id` bigint NOT NULL COMMENT '产品分类编号',
  `unit_id` int NOT NULL COMMENT '单位编号',
  `status` tinyint NOT NULL COMMENT '产品状态',
  `standard` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '产品规格',
  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '产品备注',
  `expiry_day` int DEFAULT NULL COMMENT '保质期天数',
  `weight` decimal(24,6) DEFAULT NULL COMMENT '基础重量(kg)',
  `purchase_price` decimal(24,6) DEFAULT NULL COMMENT '采购价格,单位:元',
  `sale_price` decimal(24,6) DEFAULT NULL COMMENT '销售价格,单位:元',
  `min_price` decimal(24,6) DEFAULT NULL COMMENT '最低价格,单位:元',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='ERP 产品表';

bar_code 为产品条码,可用于 MALL 商城系统 的商品 SKU 的打通。

category_id 为产品分类编号,关联 erp_product_category 表的 id 字段。

unit_id 为单位编号,关联 erp_product_unit 表的 id 字段。

status 为产品状态,0 开启、1 禁用。

purchase_price 为采购价格,单位:元,默认只有 2 位小数。目前它可用于采购订单的价格计算,稍后可以看到。

sale_price 为销售价格,单位:元,默认只有 2 位小数。目前它可用于销售订单的价格计算,稍后可以看到。

standardexpiry_dayweight 只是一些信息字段,仅仅用于展示,没有什么特殊逻辑。

3.2 管理后台

对应 [ERP 系统 -> 产品管理 -> 产品信息] 菜单,对应 yudao-ui-admin-vue3 项目的 @/views/erp/product/product 目录。

管理后台 - 产品信息

📄 来源: https://doc.iocoder.cn/erp/product/🕒 爬取时间: 2025-09-26 15:01:25