From 7d253993d7d9fe2fdfa287a6cec76e32bf0754c7 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期一, 16 三月 2026 13:37:11 +0800
Subject: [PATCH] bom添加产品编码

---
 doc/宁夏-中盛建材.sql |  251 +++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 199 insertions(+), 52 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..cf511bf 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,50 +36,209 @@
     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,
-    `energy_tyep` varchar(255) NULL COMMENT '鑳芥簮绫诲瀷',
-    `energy_name` varchar(255) NULL COMMENT '鑳芥簮鍚嶇О',
-    `unit` varchar(255) NULL COMMENT '鍗曚綅',
-    `unit_price` decimal(10, 2) NULL COMMENT '鍗曚环',
-    `remark` varchar(255) NULL COMMENT '澶囨敞',
-    `create_time` datetime(0) NULL DEFAULT NULL COMMENT '鍒涘缓鏃堕棿',
-    `update_time` datetime(0) NULL DEFAULT NULL COMMENT '鏇存柊鏃堕棿',
-    `create_user` bigint NULL DEFAULT NULL COMMENT '鍒涘缓鑰�',
-    `update_user` bigint NULL DEFAULT NULL COMMENT '鏇存柊鑰�',
+CREATE TABLE `product-inventory-management-zsjc`.`energy`
+(
+    `id`          int            NOT NULL AUTO_INCREMENT,
+    `energy_tyep` varchar(255)   NULL COMMENT '鑳芥簮绫诲瀷',
+    `energy_name` varchar(255)   NULL COMMENT '鑳芥簮鍚嶇О',
+    `unit`        varchar(255)   NULL COMMENT '鍗曚綅',
+    `unit_price`  decimal(10, 2) NULL COMMENT '鍗曚环',
+    `remark`      varchar(255)   NULL COMMENT '澶囨敞',
+    `create_time` datetime(0)    NULL DEFAULT NULL COMMENT '鍒涘缓鏃堕棿',
+    `update_time` datetime(0)    NULL DEFAULT NULL COMMENT '鏇存柊鏃堕棿',
+    `create_user` bigint         NULL DEFAULT NULL COMMENT '鍒涘缓鑰�',
+    `update_user` bigint         NULL DEFAULT NULL COMMENT '鏇存柊鑰�',
     PRIMARY KEY (`id`)
-    ) COMMENT = '鑳芥簮绫诲瀷';
+) COMMENT = '鑳芥簮绫诲瀷';
 
-CREATE TABLE `product-inventory-management-zsjc`.`energy_consumption_detail`  (
-    `id` int NOT NULL AUTO_INCREMENT,
-    `energy_id` int NULL COMMENT '澶栨鍏宠仈鑳芥簮绫诲瀷id',
-    `type` varchar(255) NULL COMMENT '鍔炲叕/鐢熶骇',
-    `meter_reading_location` varchar(255) NULL COMMENT '鎶勮〃浣嶇疆',
-    `meter_reading_date` date NULL COMMENT '鎶勮〃鏃ユ湡',
-    `start_code` decimal(10, 2) NULL COMMENT '璧风爜',
-    `stop_code` decimal(10, 2) NULL COMMENT '姝㈢爜',
-    `dosage` decimal(10, 2) NULL COMMENT '鐢ㄩ噺',
-    `remark` varchar(255) NULL COMMENT '澶囨敞',
-    `create_time` datetime(0) NULL DEFAULT NULL COMMENT '鍒涘缓鏃堕棿',
-    `update_time` datetime(0) NULL DEFAULT NULL COMMENT '鏇存柊鏃堕棿',
-    `create_user` bigint NULL DEFAULT NULL COMMENT '鍒涘缓鑰�',
-    `update_user` bigint NULL DEFAULT NULL COMMENT '鏇存柊鑰�',
+CREATE TABLE `product-inventory-management-zsjc`.`energy_consumption_detail`
+(
+    `id`                     int            NOT NULL AUTO_INCREMENT,
+    `energy_id`              int            NULL COMMENT '澶栨鍏宠仈鑳芥簮绫诲瀷id',
+    `type`                   varchar(255)   NULL COMMENT '鍔炲叕/鐢熶骇',
+    `meter_reading_location` varchar(255)   NULL COMMENT '鎶勮〃浣嶇疆',
+    `meter_reading_date`     date           NULL COMMENT '鎶勮〃鏃ユ湡',
+    `start_code`             decimal(10, 2) NULL COMMENT '璧风爜',
+    `stop_code`              decimal(10, 2) NULL COMMENT '姝㈢爜',
+    `dosage`                 decimal(10, 2) NULL COMMENT '鐢ㄩ噺',
+    `remark`                 varchar(255)   NULL COMMENT '澶囨敞',
+    `create_time`            datetime(0)    NULL DEFAULT NULL COMMENT '鍒涘缓鏃堕棿',
+    `update_time`            datetime(0)    NULL DEFAULT NULL COMMENT '鏇存柊鏃堕棿',
+    `create_user`            bigint         NULL DEFAULT NULL COMMENT '鍒涘缓鑰�',
+    `update_user`            bigint         NULL DEFAULT NULL COMMENT '鏇存柊鑰�',
     PRIMARY KEY (`id`)
-    ) COMMENT = '鑳芥簮绫诲瀷-鑳借�楁妱琛ㄦ槑缁�';
+) 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,
+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 = '鑳芥簮绫诲瀷-鑳借�楁妱琛ㄦ槑缁哶闄勪欢';
+) 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`                    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,
+    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 = '鐗╂枡涓昏〃';
+CREATE TABLE `product_material_sku`
+(
+    `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 product_material_sku
+    DROP FOREIGN KEY fk_material;
+
+DROP TABLE IF EXISTS `product_material_config`;
+CREATE TABLE `product_material_config`
+(
+    `id`          int                                                           NOT NULL AUTO_INCREMENT,
+    `config_type` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci  NOT NULL COMMENT '鍖哄垎绫诲瀷: MATERIAL_TYPE 鎴� INVENTORY_CAT',
+    `config_name` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '鏄剧ず鐨勫悕绉�',
+    PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB
+  AUTO_INCREMENT = 39
+  CHARACTER SET = utf8mb3
+  COLLATE = utf8mb3_general_ci COMMENT = '鐗╂枡淇℃伅琛ㄩ厤缃〃'
+  ROW_FORMAT = Dynamic;
+
+SET FOREIGN_KEY_CHECKS = 1;
+
+
+alter table production_plan
+    add status tinyint default 0 not null comment '鐘舵�� 0鏈笅鍙� 1宸蹭笅鍙�';
+
+
+ALTER TABLE `product-inventory-management-zsjc`.`production_plan`
+    DROP COLUMN `data_sync_type`,
+    MODIFY COLUMN `data_source_type` tinyint NULL DEFAULT 1 COMMENT '鏁版嵁鏉ユ簮绫诲瀷锛�1=閽夐拤鍚屾 2=鎵嬪姩鏂板' AFTER `form_modified_time`;
+
+-- 鍒犻櫎鏃ц〃
+DROP TABLE IF EXISTS `base_param`;
+DROP TABLE IF EXISTS `product_process_param`;
+
+CREATE TABLE `base_param`
+(
+    `id`           bigint                                                        NOT NULL AUTO_INCREMENT COMMENT '涓婚敭ID',
+    `param_key`    varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '鍙傛暟鍞竴鏍囪瘑',
+    `param_name`   varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '鍙傛暟鍚嶇О',
+    `param_type`   tinyint                                                       NOT NULL COMMENT '鍙傛暟绫诲瀷(1鏁板瓧 2鏂囨湰 3涓嬫媺閫夋嫨 4鏃堕棿)',
+    `param_format` varchar(255)                                                  DEFAULT NULL COMMENT '鍙傛暟鏍煎紡',
+    `value_mode`   tinyint                                                       DEFAULT '1' COMMENT '鍊兼ā寮�(1鍗曞�� 2鍖洪棿)',
+    `unit`         varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci  DEFAULT NULL COMMENT '鍗曚綅',
+    `is_required`  tinyint                                                       DEFAULT '0' COMMENT '鏄惁蹇呭~',
+    `remark`       varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '澶囨敞',
+    `create_user`  varchar(64)                                                   DEFAULT NULL COMMENT '鍒涘缓浜�',
+    `create_time`  datetime                                                      DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+    `update_user`  varchar(64)                                                   DEFAULT NULL COMMENT '淇敼浜�',
+    `update_time`  datetime                                                      DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '淇敼鏃堕棿',
+    `tenant_id`    bigint                                                        DEFAULT NULL COMMENT '绉熸埛ID',
+    PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB
+  AUTO_INCREMENT = 10
+  DEFAULT CHARSET = utf8mb4
+  COLLATE = utf8mb4_0900_ai_ci COMMENT ='鍩虹鍙傛暟瀹氫箟琛�';
+
+CREATE TABLE `product_process_param`
+(
+    `id`             bigint  NOT NULL AUTO_INCREMENT COMMENT '涓婚敭ID',
+    `process_id`     bigint  NOT NULL COMMENT '鎵�灞炲伐搴廔D (product_process.id)',
+    `param_id`       bigint  NOT NULL COMMENT '鍏宠仈鍩虹鍙傛暟ID (base_param.id)',
+    `standard_value` varchar(200)     DEFAULT NULL COMMENT '鍦ㄦ宸ュ簭璁惧畾鐨勬爣鍑嗗��(鍗曞�兼ā寮�)',
+    `min_value`      decimal(10, 2)   DEFAULT NULL COMMENT '鍦ㄦ宸ュ簭璁惧畾鐨勬爣鍑嗘渶灏忓��(鍖洪棿妯″紡)',
+    `max_value`      decimal(10, 2)   DEFAULT NULL COMMENT '鍦ㄦ宸ュ簭璁惧畾鐨勬爣鍑嗘渶澶у��(鍖洪棿妯″紡)',
+    `is_required`    tinyint NOT NULL DEFAULT '0' COMMENT '鍦ㄦ宸ュ簭涓槸鍚﹀繀濉�(0-鍚�, 1-鏄�)',
+    `sort`           int     NOT NULL DEFAULT '0' COMMENT '鎺掑簭鍙�',
+    `tenant_id`      bigint           DEFAULT NULL COMMENT '绉熸埛ID',
+    `create_time`    datetime         DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+    `update_time`    datetime         DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+    PRIMARY KEY (`id`) USING BTREE,
+    KEY `idx_process_id` (`process_id`) USING BTREE,
+    KEY `idx_param_id` (`param_id`) USING BTREE
+) ENGINE = InnoDB
+  AUTO_INCREMENT = 1
+  DEFAULT CHARSET = utf8mb4
+  COLLATE = utf8mb4_0900_ai_ci COMMENT ='宸ュ簭缁戝畾鍙傛暟琛�';
+
+ALTER TABLE `product_process` MODIFY COLUMN `name` varchar(255) COMMENT '宸ュ簭鍚嶇О';
+ALTER TABLE `product_process` MODIFY COLUMN `no` varchar(255) COMMENT '宸ュ簭缂栧彿';
+ALTER TABLE `product_process` ADD COLUMN `status` tinyint(1) DEFAULT '1' COMMENT '鐘舵�侊細0-鍋滅敤锛�1-鍚敤' AFTER `no`;
+ALTER TABLE `product_process` MODIFY COLUMN `type` bigint COMMENT '绫诲瀷锛�0-璁℃椂锛�1-璁′欢';
+ALTER TABLE `product_process` MODIFY COLUMN `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿';
+ALTER TABLE `product_process` MODIFY COLUMN `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '淇敼鏃堕棿';
+
+ALTER TABLE `product-inventory-management-zsjc`.`customer`
+    ADD COLUMN `form_instance_id` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '瀹滄惌琛ㄥ崟瀹炰緥ID' AFTER `customer_type`,
+    ADD COLUMN `form_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '瀹滄惌淇敼鏃堕棿' AFTER `form_instance_id`;
+
+
+ALTER TABLE `product-inventory-management-zsjc`.`quality_inspect`
+    ADD COLUMN `inspect_nature` varchar(255) NULL COMMENT '妫�娴嬫�ц川' AFTER `test_standard_id`,
+ADD COLUMN `sample_code` varchar(255) NULL COMMENT '璇曟牱缂栧彿' AFTER `inspect_nature`,
+ADD COLUMN `sample_state` varchar(255) NULL COMMENT '璇曟牱鐘舵��' AFTER `sample_code`,
+ADD COLUMN `sample_time` date NULL COMMENT '鍙栨牱鏃ユ湡' AFTER `sample_state`,
+ADD COLUMN `license_plate_number` varchar(255) NULL COMMENT '杞︾墝鍙�' AFTER `sample_time`;

--
Gitblit v1.9.3