19 小时以前 eccad5a129106377a275be4f7cdc58e99e9b95d4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
-- =====================================================
-- MDM 主数据模块 - 数据库表结构
-- 执行顺序:先执行此脚本创建表,再执行数据迁移脚本
-- =====================================================
 
-- =====================================================
-- 01. 物料分类表
-- =====================================================
DROP TABLE IF EXISTS `mdm_item_category`;
CREATE TABLE `mdm_item_category` (
    `id` bigint NOT NULL AUTO_INCREMENT COMMENT '分类编号',
    `parent_id` bigint NOT NULL DEFAULT 0 COMMENT '父分类编号(根节点=0)',
    `code` varchar(50) DEFAULT NULL COMMENT '分类编码',
    `name` varchar(100) NOT NULL COMMENT '分类名称',
    `item_type` tinyint DEFAULT NULL COMMENT '适用物料类型(1:物料 2:产品 3:半成品 NULL:全部)',
    `sort` int NOT NULL DEFAULT 0 COMMENT '排序',
    `status` tinyint NOT NULL DEFAULT 0 COMMENT '状态(0正常 1停用)',
    `remark` varchar(500) DEFAULT NULL COMMENT '备注',
    `creator` varchar(64) DEFAULT '' COMMENT '创建者',
    `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `updater` varchar(64) DEFAULT '' COMMENT '更新者',
    `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
    PRIMARY KEY (`id`),
    KEY `idx_parent_id` (`parent_id`),
    KEY `idx_code` (`code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MDM 物料分类表';
 
-- =====================================================
-- 02. 计量单位表
-- =====================================================
DROP TABLE IF EXISTS `mdm_unit_measure`;
CREATE TABLE `mdm_unit_measure` (
    `id` bigint NOT NULL AUTO_INCREMENT COMMENT '单位编号',
    `code` varchar(50) NOT NULL COMMENT '单位编码',
    `name` varchar(50) NOT NULL COMMENT '单位名称',
    `primary_flag` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否主单位',
    `primary_id` bigint DEFAULT NULL COMMENT '主单位编号',
    `change_rate` decimal(24,6) DEFAULT 1.000000 COMMENT '与主单位换算比例',
    `status` tinyint NOT NULL DEFAULT 0 COMMENT '状态(0正常 1停用)',
    `remark` varchar(500) DEFAULT NULL COMMENT '备注',
    `creator` varchar(64) DEFAULT '' COMMENT '创建者',
    `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `updater` varchar(64) DEFAULT '' COMMENT '更新者',
    `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
    PRIMARY KEY (`id`),
    UNIQUE KEY `uk_code` (`code`, `deleted`),
    KEY `idx_name` (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MDM 计量单位表';
 
-- =====================================================
-- 03. 品牌表
-- =====================================================
DROP TABLE IF EXISTS `mdm_brand`;
CREATE TABLE `mdm_brand` (
    `id` bigint NOT NULL AUTO_INCREMENT COMMENT '品牌编号',
    `code` varchar(50) NOT NULL COMMENT '品牌编码',
    `name` varchar(100) NOT NULL COMMENT '品牌名称',
    `status` tinyint NOT NULL DEFAULT 0 COMMENT '状态(0正常 1停用)',
    `remark` varchar(500) DEFAULT NULL COMMENT '备注',
    `creator` varchar(64) DEFAULT '' COMMENT '创建者',
    `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `updater` varchar(64) DEFAULT '' COMMENT '更新者',
    `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
    PRIMARY KEY (`id`),
    UNIQUE KEY `uk_code` (`code`, `deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MDM 品牌表';
 
-- =====================================================
-- 04. 物料主数据表
-- =====================================================
DROP TABLE IF EXISTS `mdm_item`;
CREATE TABLE `mdm_item` (
    `id` bigint NOT NULL AUTO_INCREMENT COMMENT '物料编号',
    `code` varchar(50) NOT NULL COMMENT '物料编码',
    `name` varchar(200) NOT NULL COMMENT '物料名称',
    `bar_code` varchar(100) DEFAULT NULL COMMENT '物料条码',
    `specification` varchar(200) DEFAULT NULL COMMENT '规格型号',
    `category_id` bigint DEFAULT NULL COMMENT '物料分类编号',
    `unit_measure_id` bigint DEFAULT NULL COMMENT '计量单位编号',
    `unit_measure_id2` bigint DEFAULT NULL COMMENT '辅单位1编号',
    `unit_measure_rate1` decimal(24,6) DEFAULT NULL COMMENT '辅单位1换算比率',
    `unit_measure_id3` bigint DEFAULT NULL COMMENT '辅单位2编号',
    `unit_measure_rate2` decimal(24,6) DEFAULT NULL COMMENT '辅单位2换算比率',
    `warehouse_id` bigint DEFAULT NULL COMMENT '默认仓库编号',
    `warehouse_code` varchar(50) DEFAULT NULL COMMENT '默认仓库编码',
    `item_type` tinyint NOT NULL DEFAULT 1 COMMENT '物料类型(1:物料 2:产品 3:半成品)',
    `status` tinyint NOT NULL DEFAULT 0 COMMENT '状态(0正常 1停用)',
    `purchase_price` decimal(24,2) DEFAULT NULL COMMENT '采购价',
    `sales_price` decimal(24,2) DEFAULT NULL COMMENT '销售价',
    `cost_price` decimal(24,2) DEFAULT NULL COMMENT '成本价',
    `min_price` decimal(24,2) DEFAULT NULL COMMENT '最低价',
    `safety_stock` decimal(24,6) DEFAULT NULL COMMENT '安全库存',
    `min_stock` decimal(24,6) DEFAULT NULL COMMENT '最低库存量',
    `max_stock` decimal(24,6) DEFAULT NULL COMMENT '最高库存量',
    `min_order_qty` decimal(24,6) DEFAULT NULL COMMENT '最小订货量',
    `lead_time` int DEFAULT NULL COMMENT '采购提前期(天)',
    `is_batch_managed` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否批次管理',
    `is_serial_managed` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否序列号管理',
    `barcode_rule_id` bigint DEFAULT NULL COMMENT '条码规则ID',
    `expiry_day` int DEFAULT NULL COMMENT '保质期天数',
    `high_value` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否高值物料',
    `weight` decimal(24,6) DEFAULT NULL COMMENT '重量(kg)',
    `remark` varchar(500) DEFAULT NULL COMMENT '备注',
    `creator` varchar(64) DEFAULT '' COMMENT '创建者',
    `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `updater` varchar(64) DEFAULT '' COMMENT '更新者',
    `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
    PRIMARY KEY (`id`),
    UNIQUE KEY `uk_code` (`code`, `deleted`),
    KEY `idx_name` (`name`),
    KEY `idx_category_id` (`category_id`),
    KEY `idx_item_type` (`item_type`),
    KEY `idx_status` (`status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MDM 物料主数据表';
 
-- =====================================================
-- 05. 物料SKU表
-- =====================================================
DROP TABLE IF EXISTS `mdm_item_sku`;
CREATE TABLE `mdm_item_sku` (
    `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'SKU编号',
    `item_id` bigint NOT NULL COMMENT '物料编号',
    `code` varchar(50) NOT NULL COMMENT 'SKU编码',
    `name` varchar(200) NOT NULL COMMENT 'SKU名称',
    `bar_code` varchar(100) DEFAULT NULL COMMENT 'SKU条码',
    `length` decimal(24,6) DEFAULT NULL COMMENT '长度(cm)',
    `width` decimal(24,6) DEFAULT NULL COMMENT '宽度(cm)',
    `height` decimal(24,6) DEFAULT NULL COMMENT '高度(cm)',
    `gross_weight` decimal(24,6) DEFAULT NULL COMMENT '毛重(kg)',
    `net_weight` decimal(24,6) DEFAULT NULL COMMENT '净重(kg)',
    `cost_price` decimal(24,2) DEFAULT NULL COMMENT '成本价',
    `sale_price` decimal(24,2) DEFAULT NULL COMMENT '销售价',
    `status` tinyint NOT NULL DEFAULT 0 COMMENT '状态(0正常 1停用)',
    `remark` varchar(500) DEFAULT NULL COMMENT '备注',
    `creator` varchar(64) DEFAULT '' COMMENT '创建者',
    `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `updater` varchar(64) DEFAULT '' COMMENT '更新者',
    `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
    PRIMARY KEY (`id`),
    UNIQUE KEY `uk_code` (`code`, `deleted`),
    KEY `idx_item_id` (`item_id`),
    KEY `idx_bar_code` (`bar_code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MDM 物料SKU表';
 
-- =====================================================
-- 06. 物料批次属性配置表
-- =====================================================
DROP TABLE IF EXISTS `mdm_item_batch_config`;
CREATE TABLE `mdm_item_batch_config` (
    `id` bigint NOT NULL AUTO_INCREMENT COMMENT '配置编号',
    `item_id` bigint NOT NULL COMMENT '物料编号',
    `produce_date_flag` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否启用生产日期',
    `expire_date_flag` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否启用失效日期',
    `receipt_date_flag` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否启用入库日期',
    `vendor_flag` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否启用供应商',
    `client_flag` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否启用客户',
    `sales_order_code_flag` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否启用销售订单号',
    `purchase_order_code_flag` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否启用采购订单号',
    `work_order_flag` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否启用生产工单',
    `task_flag` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否启用生产任务',
    `workstation_flag` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否启用工位',
    `tool_flag` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否启用工装夹具',
    `mold_flag` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否启用模具',
    `lot_number_flag` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否启用批次号',
    `quality_status_flag` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否启用质量状态',
    `creator` varchar(64) DEFAULT '' COMMENT '创建者',
    `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `updater` varchar(64) DEFAULT '' COMMENT '更新者',
    `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
    PRIMARY KEY (`id`),
    UNIQUE KEY `uk_item_id` (`item_id`, `deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MDM 物料批次属性配置表';
 
-- =====================================================
-- 07. 仓库表
-- =====================================================
DROP TABLE IF EXISTS `mdm_warehouse`;
CREATE TABLE `mdm_warehouse` (
    `id` bigint NOT NULL AUTO_INCREMENT COMMENT '仓库编号',
    `code` varchar(50) NOT NULL COMMENT '仓库编码',
    `name` varchar(100) NOT NULL COMMENT '仓库名称',
    `type` tinyint DEFAULT NULL COMMENT '仓库类型',
    `address` varchar(500) DEFAULT NULL COMMENT '仓库地址',
    `principal` varchar(64) DEFAULT NULL COMMENT '负责人',
    `status` tinyint NOT NULL DEFAULT 0 COMMENT '状态(0正常 1停用)',
    `remark` varchar(500) DEFAULT NULL COMMENT '备注',
    `creator` varchar(64) DEFAULT '' COMMENT '创建者',
    `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `updater` varchar(64) DEFAULT '' COMMENT '更新者',
    `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
    PRIMARY KEY (`id`),
    UNIQUE KEY `uk_code` (`code`, `deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='MDM 仓库表';