From 423ac2a5e7e451248d8cdfc2cda3f32dba0ec8f8 Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期三, 11 三月 2026 17:59:52 +0800
Subject: [PATCH] feat: 生产计划关联物料信息表
---
doc/宁夏-中盛建材.sql | 83 ++++++++++++++++++++++++++++++++++-------
1 files changed, 69 insertions(+), 14 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 4ce10ba..9c16abe 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"
@@ -3,44 +3,32 @@
CREATE TABLE production_plan
(
id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '涓婚敭',
-
form_instance_id VARCHAR(64) COMMENT '琛ㄥ崟瀹炰緥ID',
serial_no VARCHAR(50) COMMENT '娴佹按鍙�',
-
apply_no VARCHAR(100) COMMENT '鐢宠鍗曠紪鍙�',
customer_name VARCHAR(200) COMMENT '瀹㈡埛鍚嶇О',
-
material_code VARCHAR(100) COMMENT '鐗╂枡缂栫爜',
product_name VARCHAR(200) COMMENT '浜у搧鍚嶇О',
product_spec VARCHAR(200) COMMENT '浜у搧瑙勬牸',
-
length INT COMMENT '闀�',
width INT COMMENT '瀹�',
height INT COMMENT '楂�',
-
quantity INT COMMENT '鍧楁暟',
+ total_count INT COMMENT '姝ゆ缁熻鏁伴噺',
volume DECIMAL(10, 4) COMMENT '鏂规暟',
-
strength VARCHAR(50) COMMENT '寮哄害',
-
start_date DATETIME COMMENT '寮�濮嬫棩鏈�',
end_date DATETIME COMMENT '缁撴潫鏃ユ湡',
-
submitter VARCHAR(100) COMMENT '鎻愪氦浜�',
submit_org VARCHAR(200) COMMENT '鎻愪氦浜虹粍缁�',
-
remark_one TEXT COMMENT '澶囨敞1',
remark_two TEXT COMMENT '澶囨敞2',
-
creator_name VARCHAR(100) COMMENT '鍒涘缓浜�',
modifier_name VARCHAR(100) COMMENT '淇敼浜�',
-
form_created_time DATETIME COMMENT '琛ㄥ崟鍒涘缓鏃堕棿',
form_modified_time DATETIME COMMENT '琛ㄥ崟淇敼鏃堕棿',
-
data_sync_type TINYINT DEFAULT 1 COMMENT '鏁版嵁鍚屾绫诲瀷锛�1=鎵嬪姩 2=瀹氭椂浠诲姟',
data_source_type TINYINT DEFAULT 1 COMMENT '鏁版嵁鏉ユ簮绫诲瀷锛�1=閿�鍞鍗� 2=閿�鍞娴�',
-
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '鏁版嵁搴撳垱寤烘椂闂�',
update_time DATETIME COMMENT '鏁版嵁搴撴洿鏂版椂闂�',
@@ -48,7 +36,6 @@
INDEX idx_serial_no (serial_no),
INDEX idx_form_instance_id (form_instance_id),
INDEX idx_material_code (material_code)
-
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4 COMMENT ='閿�鍞敓浜ц鍒�';
@@ -95,3 +82,71 @@
`update_user` int NULL DEFAULT NULL,
PRIMARY KEY (`id`)
) COMMENT = '鑳芥簮绫诲瀷-鑳借�楁妱琛ㄦ槑缁哶闄勪欢';
+
+alter table product_order
+drop column sales_ledger_id,
+drop column sale_ledger_product_id,
+drop column product_model_id;
+
+alter table production_plan
+ add assigned_quantity DECIMAL(10, 4) default 0 not null COMMENT '涓嬪彂鏁伴噺';
+
+alter table product_order
+ add plan_complete_time date NULL DEFAULT NULL COMMENT '璁″垝瀹屾垚鏃堕棿';
+
+# 鐢熶骇璁㈠崟涓庣敓浜ц鍒掑叧鑱旇〃
+drop table if exists product_order_plan;
+create table product_order_plan
+(
+ id bigint auto_increment primary key,
+ product_order_id bigint not null default 0 comment '鐢熶骇璁㈠崟id',
+ production_plan_id bigint not null default 0 comment '鐢熶骇璁″垝id',
+ create_time datetime null comment '褰曞叆鏃堕棿',
+ update_time datetime null comment '鏇存柊鏃堕棿',
+ assigned_quantity DECIMAL(10, 4) default 0 not null comment '涓嬪彂鏁伴噺',
+ index idx_product_order_id (product_order_id),
+ index idx_production_plan_id (production_plan_id),
+ unique idx_product_order_production_plan (product_order_id, production_plan_id)
+);
+
+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 '瀹佸涓垱缁胯兘瀹炰笟闆嗗洟鏈夐檺鍏徃',
+ `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`)
+) 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`
+(
+ `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 ='鐗╂枡淇℃伅琛ㄩ厤缃〃';
+
+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
--
Gitblit v1.9.3