From a274b897e58c958903c3e00da6c1ccb16646a979 Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期四, 12 三月 2026 11:54:13 +0800
Subject: [PATCH] feat: 物料规格和物料的新增、修改和删除
---
doc/宁夏-中盛建材.sql | 69 +++++++++++++++++-----------------
1 files changed, 34 insertions(+), 35 deletions(-)
diff --git "a/doc/\345\256\201\345\244\217-\344\270\255\347\233\233\345\273\272\346\235\220.sql" "b/doc/\345\256\201\345\244\217-\344\270\255\347\233\233\345\273\272\346\235\220.sql"
index 9c16abe..4b84c86 100644
--- "a/doc/\345\256\201\345\244\217-\344\270\255\347\233\233\345\273\272\346\235\220.sql"
+++ "b/doc/\345\256\201\345\244\217-\344\270\255\347\233\233\345\273\272\346\235\220.sql"
@@ -111,42 +111,41 @@
CREATE TABLE `product_material`
(
- `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT '涓婚敭ID',
- `tenant_id` BIGINT DEFAULT NULL COMMENT '绉熸埛ID',
- `material_type_id` INT DEFAULT NULL COMMENT '鍏宠仈鐗╂枡绫诲瀷ID',
- `inventory_category_id` INT DEFAULT NULL COMMENT '鍏宠仈瀛樿揣绫诲埆ID',
- `identifier_code` VARCHAR(100) DEFAULT NULL COMMENT '鏍囪瘑缂栫爜',
- `material_code` VARCHAR(100) DEFAULT NULL COMMENT '鐗╂枡浠g爜',
- `product_name` VARCHAR(255) DEFAULT NULL COMMENT '浜у搧鍚嶇О',
- `material_name` VARCHAR(255) DEFAULT NULL COMMENT '鐗╂枡鍝佸悕',
- `specification` VARCHAR(255) DEFAULT NULL COMMENT '瑙勬牸鍨嬪彿',
- `base_unit` VARCHAR(50) DEFAULT NULL COMMENT '鍩烘湰鍗曚綅',
- `material_attribute` VARCHAR(100) DEFAULT NULL COMMENT '鐗╂枡灞炴��',
- `finished_product_name` VARCHAR(100) DEFAULT NULL COMMENT '鎴愬搧鍝佸悕',
- `originator_name` VARCHAR(100) DEFAULT NULL COMMENT '鎻愪氦浜哄鍚�',
- `originator_org` VARCHAR(255) DEFAULT '瀹佸涓垱缁胯兘瀹炰笟闆嗗洟鏈夐檺鍏徃',
+ `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '涓婚敭ID',
+ `tenant_id` BIGINT DEFAULT NULL COMMENT '绉熸埛ID',
+ `material_type_id` INT DEFAULT NULL COMMENT '鐗╂枡绫诲瀷ID',
+ `inventory_category_id` INT DEFAULT NULL COMMENT '瀛樿揣绫诲埆ID',
+ `material_name` VARCHAR(255) NOT NULL COMMENT '鐗╂枡鍚嶇О',
+ `base_unit` VARCHAR(50) DEFAULT NULL COMMENT '鍩烘湰鍗曚綅',
`remark` TEXT COMMENT '澶囨敞',
- `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP,
- `update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
- INDEX `idx_type_id` (`material_type_id`),
- INDEX `idx_cat_id` (`inventory_category_id`)
+ `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP,
+ `update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ PRIMARY KEY (`id`),
+ KEY `idx_type_id` (`material_type_id`),
+ KEY `idx_cat_id` (`inventory_category_id`),
+ UNIQUE KEY `uk_material_name` (`material_name`)
) ENGINE = INNODB
- DEFAULT CHARSET = utf8mb4 COMMENT = '鐗╂枡淇℃伅琛�';
-
-ALTER TABLE product_material
- ADD COLUMN form_instance_id VARCHAR(100) DEFAULT NULL COMMENT '瀹滄惌琛ㄥ崟瀹炰緥ID',
- ADD COLUMN form_modified_time DATETIME DEFAULT NULL COMMENT '瀹滄惌淇敼鏃堕棿';
-
-CREATE TABLE `product_material_config`
+ DEFAULT CHARSET = utf8mb4 COMMENT = '鐗╂枡涓昏〃';
+CREATE TABLE `product_material_sku`
(
- `id` int NOT NULL AUTO_INCREMENT PRIMARY KEY,
- `config_type` varchar(50) NOT NULL COMMENT '鍖哄垎绫诲瀷: MATERIAL_TYPE 鎴� INVENTORY_CAT',
- `config_name` varchar(100) NOT NULL COMMENT '鏄剧ず鐨勫悕绉�'
-) ENGINE = InnoDB COMMENT ='鐗╂枡淇℃伅琛ㄩ厤缃〃';
+ `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '涓婚敭ID',
+ `material_id` BIGINT NOT NULL COMMENT '鐗╂枡ID',
+ `identifier_code` VARCHAR(100) DEFAULT NULL COMMENT '鏍囪瘑缂栫爜',
+ `material_code` VARCHAR(100) DEFAULT NULL COMMENT '鐗╂枡缂栫爜',
+ `specification` VARCHAR(255) DEFAULT NULL COMMENT '瑙勬牸鍨嬪彿',
+ `supply_type` VARCHAR(20) DEFAULT NULL COMMENT '渚涘簲鏂瑰紡',
+ `originator_name` VARCHAR(100) DEFAULT NULL COMMENT '鎻愪氦浜哄鍚�',
+ `originator_org` VARCHAR(255) DEFAULT '瀹佸涓垱缁胯兘瀹炰笟闆嗗洟鏈夐檺鍏徃',
+ `form_instance_id` VARCHAR(100) DEFAULT NULL COMMENT '瀹滄惌琛ㄥ崟瀹炰緥ID',
+ `form_modified_time` DATETIME DEFAULT NULL COMMENT '瀹滄惌淇敼鏃堕棿',
+ `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP,
+ `update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ PRIMARY KEY (`id`),
+ KEY `idx_material_id` (`material_id`),
+ UNIQUE KEY `uk_material_spec` (`material_id`, `specification`),
+ CONSTRAINT `fk_material` FOREIGN KEY (`material_id`) REFERENCES `product_material` (`id`) ON DELETE CASCADE
+) ENGINE = INNODB
+ DEFAULT CHARSET = utf8mb4 COMMENT = '鐗╂枡瑙勬牸琛�';
-ALTER TABLE `production_plan`
- ADD COLUMN `product_material_id` int DEFAULT NULL COMMENT '鍏宠仈鐗╂枡淇℃伅琛↖D' AFTER `material_code`;
-
--- 寤鸿椤轰究鍔犱笂绱㈠紩锛屾彁鍗囧叧鑱旀煡璇㈤�熷害
-ALTER TABLE `production_plan`
- ADD INDEX `idx_product_material_id` (`product_material_id`);
\ No newline at end of file
+ALTER TABLE product_material_sku
+ DROP FOREIGN KEY fk_material;
\ No newline at end of file
--
Gitblit v1.9.3