From 4a82ac1bfb3e3cd04d6dd6c07aaee6c0d70df13e Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期四, 12 三月 2026 09:59:32 +0800
Subject: [PATCH] 主生产计划:产品信息改为关联查询

---
 doc/宁夏-中盛建材.sql |  153 ++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 120 insertions(+), 33 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 3407354..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"
@@ -1,37 +1,43 @@
-CREATE TABLE `production_plan`
+DROP TABLE IF EXISTS `production_plan`;
+
+CREATE TABLE production_plan
 (
-    `id`                  BIGINT      NOT NULL AUTO_INCREMENT COMMENT '鑷涓婚敭',
-    `form_instance_id`    VARCHAR(64) NOT NULL COMMENT '琛ㄥ崟瀹炰緥ID',
-    `serial_no`           VARCHAR(64)    DEFAULT NULL COMMENT '鍗曟嵁娴佹按鍙�',
-    `title`               VARCHAR(128)   DEFAULT NULL COMMENT '鍗曟嵁鏍囬',
-    `originator_user_id`  VARCHAR(64)    DEFAULT NULL COMMENT '鍙戣捣浜篒D',
-    `originator_name`     VARCHAR(64)    DEFAULT NULL COMMENT '鍙戣捣浜哄鍚�',
-    `biz_create_time`     DATETIME       DEFAULT NULL COMMENT '鍗曟嵁鍒涘缓鏃堕棿',
-    `project_name`        VARCHAR(128)   DEFAULT NULL COMMENT '椤圭洰鍚嶇О',
-    `batch_no`            VARCHAR(128)   DEFAULT NULL COMMENT '鎵规鍙�',
-    `contact_person`      VARCHAR(128)   DEFAULT NULL COMMENT '鑱旂郴浜�',
-    `ext_text1`           VARCHAR(128)   DEFAULT NULL COMMENT '棰勭暀1',
-    `ext_text2`           VARCHAR(128)   DEFAULT NULL COMMENT '棰勭暀2',
-    `material_code`       VARCHAR(64)    DEFAULT NULL COMMENT '鐗╂枡缂栫爜',
-    `material_category`   VARCHAR(64)    DEFAULT NULL COMMENT '鐗╂枡鍒嗙被',
-    `spec_desc`           VARCHAR(128)   DEFAULT NULL COMMENT '瑙勬牸鎻忚堪',
-    `grade_type`          VARCHAR(32)    DEFAULT NULL COMMENT '绛夌骇',
-    `length`              DECIMAL(10, 2) DEFAULT NULL COMMENT '闀垮害',
-    `width`               DECIMAL(10, 2) DEFAULT NULL COMMENT '瀹藉害',
-    `thickness`           DECIMAL(10, 2) DEFAULT NULL COMMENT '鍘氬害',
-    `quantity`            INT            DEFAULT NULL COMMENT '鏁伴噺',
-    `volume`              DECIMAL(10, 4) DEFAULT NULL COMMENT '鎬讳綋绉�',
-    `date_start`          DATETIME       DEFAULT NULL COMMENT '寮�濮嬫椂闂�',
-    `date_end`            DATETIME       DEFAULT NULL COMMENT '缁撴潫鏃堕棿',
-    `association_receipt` TEXT 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,
-    `update_time`         DATETIME       DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
-    PRIMARY KEY (`id`),
-    KEY `idx_form_instance_id` (`form_instance_id`)
-) ENGINE = INNODB
-  DEFAULT CHARSET = utf8mb4 COMMENT = '閿�鍞敓浜ч渶姹�';
+    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 '鏁版嵁搴撴洿鏂版椂闂�',
+
+    INDEX idx_apply_no (apply_no),
+    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 ='閿�鍞敓浜ц鍒�';
 
 CREATE TABLE `product-inventory-management-zsjc`.`energy`  (
     `id` int NOT NULL AUTO_INCREMENT,
@@ -63,3 +69,84 @@
     `update_user` bigint NULL DEFAULT NULL COMMENT '鏇存柊鑰�',
     PRIMARY KEY (`id`)
     ) COMMENT = '鑳芥簮绫诲瀷-鑳借�楁妱琛ㄦ槑缁�';
+
+CREATE TABLE `product-inventory-management-zsjc`.`energy_consumption_detail_file`  (
+    `id` int NOT NULL AUTO_INCREMENT,
+    `energy_consumption_detail_id` int NULL COMMENT '鍏宠仈澶栭敭鑳借�楁妱琛╥d',
+    `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
+    `url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
+    `file_size` double NULL DEFAULT NULL,
+    `create_time` timestamp(0) NULL DEFAULT NULL,
+    `create_user` int NULL DEFAULT NULL,
+    `update_time` timestamp(0) NULL DEFAULT NULL,
+    `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