From f3cf05b74840f57f632af858ee27aab1d937cab8 Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期六, 14 三月 2026 11:47:23 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_宁夏_中盛建材' into dev_宁夏_中盛建材

---
 doc/宁夏-中盛建材.sql |  207 ++++++++++++++++++++++++++++++++-------------------
 1 files changed, 129 insertions(+), 78 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..d4e3800 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"
@@ -39,54 +39,57 @@
 ) 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;
+    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 '涓嬪彂鏁伴噺';
@@ -98,12 +101,12 @@
 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 '涓嬪彂鏁伴噺',
+    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)
@@ -111,42 +114,90 @@
 
 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 = '鐗╂枡淇℃伅琛�';
+  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
-    ADD COLUMN form_instance_id   VARCHAR(100) DEFAULT NULL COMMENT '瀹滄惌琛ㄥ崟瀹炰緥ID',
-    ADD COLUMN form_modified_time DATETIME     DEFAULT NULL 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 PRIMARY KEY,
-    `config_type` varchar(50)  NOT NULL COMMENT '鍖哄垎绫诲瀷: MATERIAL_TYPE 鎴� INVENTORY_CAT',
-    `config_name` varchar(100) NOT NULL COMMENT '鏄剧ず鐨勫悕绉�'
-) ENGINE = InnoDB COMMENT ='鐗╂枡淇℃伅琛ㄩ厤缃〃';
+    `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;
 
-ALTER TABLE `production_plan`
-    ADD COLUMN `product_material_id` int DEFAULT NULL COMMENT '鍏宠仈鐗╂枡淇℃伅琛↖D' AFTER `material_code`;
+SET FOREIGN_KEY_CHECKS = 1;
 
--- 寤鸿椤轰究鍔犱笂绱㈠紩锛屾彁鍗囧叧鑱旀煡璇㈤�熷害
-ALTER TABLE `production_plan`
-    ADD INDEX `idx_product_material_id` (`product_material_id`);
\ No newline at end of file
+
+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`;
+CREATE TABLE `base_param`
+(
+    id            BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '涓婚敭ID',
+    param_key     VARCHAR(100) NOT NULL COMMENT '鍙傛暟鍞竴鏍囪瘑',
+    param_name    VARCHAR(100) NOT NULL COMMENT '鍙傛暟鍚嶇О',
+    param_type    TINYINT      NOT NULL COMMENT '鍙傛暟绫诲瀷(1鏁板瓧 2鏂囨湰)',
+    value_mode    TINYINT DEFAULT 1 COMMENT '鍊兼ā寮�(1鍗曞�� 2鍖洪棿)',
+    unit          VARCHAR(50) COMMENT '鍗曚綅',
+    default_value VARCHAR(200) COMMENT '榛樿鍊�(鍗曞�煎弬鏁�)',
+    default_min   DECIMAL(10, 2) COMMENT '榛樿鏈�灏忓��(鍖洪棿鍙傛暟)',
+    default_max   DECIMAL(10, 2) COMMENT '榛樿鏈�澶у��(鍖洪棿鍙傛暟)',
+    is_required   TINYINT DEFAULT 0 COMMENT '鏄惁蹇呭~(0鍚� 1鏄�)',
+    remark        VARCHAR(255) COMMENT '澶囨敞',
+    create_user   VARCHAR(64) COMMENT '鍒涘缓浜�',
+    create_time   DATETIME COMMENT '鍒涘缓鏃堕棿',
+    update_user   VARCHAR(64) COMMENT '淇敼浜�',
+    update_time   DATETIME COMMENT '淇敼鏃堕棿',
+    tenant_id     BIGINT       NOT NULL COMMENT '绉熸埛ID'
+) 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`;

--
Gitblit v1.9.3