From a1b2a3b6bbe322de47f26ded2e6d43985f4de6a4 Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Fri, 24 Apr 2026 14:12:49 +0800 Subject: [PATCH] =?UTF-8?q?feat(sql):=20=E6=9C=80=E6=96=B0=E7=9A=84klp?= =?UTF-8?q?=E8=A1=A8=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- script/sql/mysql/klp-oa.sql | 1293 ++++++++++++++++++++++++++++------- 1 file changed, 1027 insertions(+), 266 deletions(-) diff --git a/script/sql/mysql/klp-oa.sql b/script/sql/mysql/klp-oa.sql index 7876079f..72f67d76 100644 --- a/script/sql/mysql/klp-oa.sql +++ b/script/sql/mysql/klp-oa.sql @@ -11,12 +11,236 @@ Target Server Version : 80043 (8.0.43) File Encoding : 65001 - Date: 05/03/2026 15:28:21 + Date: 24/04/2026 14:08:18 */ SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS = 0; +-- ---------------------------- +-- Table structure for aps_plan_detail +-- ---------------------------- +DROP TABLE IF EXISTS `aps_plan_detail`; +CREATE TABLE `aps_plan_detail` ( + `plan_detail_id` bigint NOT NULL AUTO_INCREMENT COMMENT '排产明细主键ID', + `plan_sheet_id` bigint NOT NULL COMMENT '关联排产单ID', + `biz_seq_no` varchar(80) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '内容序号', + `order_id` bigint NULL DEFAULT NULL COMMENT '订单ID', + `order_code` varchar(80) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '销售内容:订单号', + `contract_code` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '销售内容:订单合同号', + `customer_name` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '销售内容:客户', + `salesman` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '销售内容:业务员', + `raw_manufacturer` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '原料信息:厂家', + `raw_material` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '原料信息:材质', + `raw_thick` decimal(18, 3) NULL DEFAULT NULL COMMENT '原料信息:厚度mm', + `raw_width` decimal(18, 3) NULL DEFAULT NULL COMMENT '原料信息:宽度mm', + `raw_material_id` bigint NULL DEFAULT NULL COMMENT '原料钢卷ID', + `raw_coil_nos` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '原料卷号', + `raw_location` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '钢卷位置', + `raw_packaging` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '包装要求', + `raw_edge_req` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '宽度要求', + `raw_coating_type` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '镀层种类', + `raw_net_weight` decimal(18, 3) NULL DEFAULT NULL COMMENT '原料净重', + `product_name` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '成品信息:成品名称', + `product_material` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '成品信息:材质', + `coating_g` decimal(18, 3) NULL DEFAULT NULL COMMENT '成品信息:镀层g', + `product_width` decimal(18, 3) NULL DEFAULT NULL COMMENT '成品信息:成品宽度', + `rolling_thick` decimal(18, 3) NULL DEFAULT NULL COMMENT '成品信息:轧制厚度', + `mark_coat_thick` decimal(18, 3) NULL DEFAULT NULL COMMENT '成品信息:标签厚度', + `ton_steel_length_range` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '成品信息:吨钢长度区间m', + `plan_qty` decimal(18, 3) NULL DEFAULT NULL COMMENT '成品信息:数量', + `plan_weight` decimal(18, 3) NULL DEFAULT NULL COMMENT '成品信息:重量', + `surface_treatment` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '成品信息:表面处理', + `width_req` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '成品信息:切边要求', + `product_packaging` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '成品信息:包装要求', + `product_edge_req` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '成品信息:宽度要求', + `usage_req` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '成品信息:用途', + `post_process` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '后处理', + `next_process` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '下工序', + `sample_req` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '取样', + `start_time` datetime NULL DEFAULT NULL COMMENT '生产开始时间', + `end_time` datetime NULL DEFAULT NULL COMMENT '生产结束时间', + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + `del_flag` tinyint NULL DEFAULT 0 COMMENT '删除标记(0正常 1删除)', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人', + `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + PRIMARY KEY (`plan_detail_id`) USING BTREE, + INDEX `idx_aps_plan_detail_plan_sheet_id`(`plan_sheet_id` ASC) USING BTREE, + INDEX `idx_aps_plan_detail_order_code`(`order_code` ASC) USING BTREE, + INDEX `idx_aps_plan_detail_customer_name`(`customer_name` ASC) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 2046049621158096898 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '排产单明细表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for aps_plan_sheet +-- ---------------------------- +DROP TABLE IF EXISTS `aps_plan_sheet`; +CREATE TABLE `aps_plan_sheet` ( + `plan_sheet_id` bigint NOT NULL AUTO_INCREMENT COMMENT '排产单主键ID', + `plan_date` date NOT NULL COMMENT '排产日期', + `line_id` bigint NULL DEFAULT NULL COMMENT '产线ID', + `line_name` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '产线名称', + `plan_code` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '排产单号', + `plan_type` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '排产类型', + `scheduler` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '排产人', + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + `del_flag` tinyint NULL DEFAULT 0 COMMENT '删除标记(0正常 1删除)', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人', + `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + PRIMARY KEY (`plan_sheet_id`) USING BTREE, + UNIQUE INDEX `uk_aps_plan_sheet_plan_code`(`plan_code` ASC) USING BTREE, + INDEX `idx_aps_plan_sheet_plan_date`(`plan_date` ASC) USING BTREE, + INDEX `idx_aps_plan_sheet_line_id`(`line_id` ASC) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 2045027469176832003 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '排产单主表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for aps_quick_sheet +-- ---------------------------- +DROP TABLE IF EXISTS `aps_quick_sheet`; +CREATE TABLE `aps_quick_sheet` ( + `quick_sheet_id` bigint NOT NULL AUTO_INCREMENT, + `plan_date` date NOT NULL COMMENT '排产日期', + `line_id` bigint NULL DEFAULT NULL COMMENT '产线ID', + `line_name` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '产线名称', + `plan_code` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '排产单号', + `plan_type` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '排产类型', + `scheduler` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '排产人', + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + `biz_seq_no` varchar(80) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '内容序号', + `order_code` varchar(80) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '销售内容/订单号', + `contract_code` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '订单合同号', + `customer_name` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '客户', + `salesman` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '业务员', + `product_name` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '成品名称', + `product_material` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '材质', + `coating_g` decimal(18, 3) NULL DEFAULT NULL COMMENT '镀层g', + `product_width` decimal(18, 3) NULL DEFAULT NULL COMMENT '成品宽度', + `rolling_thick` decimal(18, 3) NULL DEFAULT NULL COMMENT '轧制厚度', + `mark_coat_thick` decimal(18, 3) NULL DEFAULT NULL COMMENT '标丝厚度', + `ton_steel_length_range` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '吨钢长度区间m', + `plan_qty` decimal(18, 3) NULL DEFAULT NULL COMMENT '数量', + `plan_weight` decimal(18, 3) NULL DEFAULT NULL COMMENT '重量', + `surface_treatment` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '表面处理', + `width_req` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '切边要求', + `usage_req` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '用途', + `post_process` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '后处理', + `next_process` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '下工序', + `sample_req` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '取样', + `raw_manufacturer` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '厂家', + `raw_material` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '原料信息', + `raw_thick` decimal(18, 3) NULL DEFAULT NULL COMMENT '原料厚度mm', + `raw_width` decimal(18, 3) NULL DEFAULT NULL COMMENT '宽度mm', + `raw_material_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '原料钢卷', + `raw_coil_nos` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '原料卷号', + `raw_location` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '钢卷位置', + `raw_packaging` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '包装要求', + `raw_edge_req` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '宽度要求', + `raw_coating_type` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '镀层种类', + `raw_net_weight` decimal(18, 3) NULL DEFAULT NULL COMMENT '原料净重', + `start_time` datetime NULL DEFAULT NULL COMMENT '开始时间', + `end_time` datetime NULL DEFAULT NULL COMMENT '结束时间', + `del_flag` tinyint NULL DEFAULT 0 COMMENT '删除标记(0正常 1删除)', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, + `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP, + `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`quick_sheet_id`) USING BTREE, + INDEX `idx_aps_quick_sheet_plan_date`(`plan_date` ASC) USING BTREE, + INDEX `idx_aps_quick_sheet_line_id`(`line_id` ASC) USING BTREE, + INDEX `idx_aps_quick_sheet_plan_code`(`plan_code` ASC) USING BTREE, + INDEX `idx_aps_quick_sheet_customer_name`(`customer_name` ASC) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '快速排产表(Excel样式)' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for attendance_records +-- ---------------------------- +DROP TABLE IF EXISTS `attendance_records`; +CREATE TABLE `attendance_records` ( + `id` int NOT NULL, + `pin` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, + `ename` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, + `deptname` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, + `sn` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, + `checktime` datetime NULL DEFAULT NULL, + `verify` int NULL DEFAULT NULL, + `stateno` int NULL DEFAULT NULL, + `state` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, + `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP, + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for crm_contract +-- ---------------------------- +DROP TABLE IF EXISTS `crm_contract`; +CREATE TABLE `crm_contract` ( + `contract_id` bigint NOT NULL AUTO_INCREMENT COMMENT '合同主键ID', + `contract_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '合同名称', + `contract_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '合同编号', + `supplier` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '供方', + `customer` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '需方', + `customer_id` bigint NULL DEFAULT NULL COMMENT '客户ID', + `delivery_date` date NULL DEFAULT NULL COMMENT '交货时间', + `sign_time` datetime NULL DEFAULT NULL COMMENT '签订时间', + `sign_location` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '签订地点', + `product_content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '产品内容', + `contract_content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '合同内容', + `supplier_address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '供方地址', + `supplier_phone` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '供方电话', + `supplier_bank` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '供方开户行', + `supplier_account` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '供方账号', + `supplier_tax_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '供方税号', + `customer_address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '需方地址', + `customer_phone` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '需方电话', + `customer_bank` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '需方开户行', + `customer_account` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '需方账号', + `customer_tax_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '需方税号', + `tech_annex` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '技术附件', + `business_annex` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '商务附件', + `production_schedule` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '排产函', + `status` tinyint NOT NULL DEFAULT 0 COMMENT '合同状态 0=草稿 1=生效 2=作废 3=已完成', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `del_flag` tinyint NULL DEFAULT 0 COMMENT '删除标识 0正常 2删除', + PRIMARY KEY (`contract_id`) USING BTREE, + UNIQUE INDEX `uk_contract_no`(`contract_no` ASC) USING BTREE COMMENT '合同编号唯一', + INDEX `idx_status`(`status` ASC) USING BTREE, + INDEX `idx_del_flag`(`del_flag` ASC) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 2041756879183618050 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '合同信息表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for crm_contract_product +-- ---------------------------- +DROP TABLE IF EXISTS `crm_contract_product`; +CREATE TABLE `crm_contract_product` ( + `contract_product_id` bigint NOT NULL AUTO_INCREMENT COMMENT '合同产品主键ID', + `contract_id` bigint NOT NULL COMMENT '关联合同ID(绑定wms_contract表主键)', + `product_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '产品名称', + `spec_min` decimal(4, 1) NULL DEFAULT NULL COMMENT '规格最小值(mm)', + `spec_max` decimal(4, 1) NULL DEFAULT NULL COMMENT '规格最大值(mm)', + `material` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '材质', + `quantity` decimal(10, 2) NULL DEFAULT NULL COMMENT '数量(吨)', + `tax_inclusive_unit_price` decimal(10, 2) NULL DEFAULT NULL COMMENT '含税单价(元/吨)', + `ex_tax_unit_price` decimal(10, 2) NULL DEFAULT NULL COMMENT '不含税单价(元/吨)', + `tax_inclusive_amount` decimal(12, 2) NULL DEFAULT NULL COMMENT '含税总额(元)', + `del_flag` tinyint NOT NULL DEFAULT 0 COMMENT '删除标识 0正常 2删除', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`contract_product_id`) USING BTREE, + INDEX `idx_contract_id`(`contract_id` ASC) USING BTREE COMMENT '关联合同ID索引', + INDEX `idx_material`(`material` ASC) USING BTREE COMMENT '材质索引', + CONSTRAINT `fk_contract_product_contract` FOREIGN KEY (`contract_id`) REFERENCES `wms_contract` (`contract_id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '合同产品明细表' ROW_FORMAT = DYNAMIC; + -- ---------------------------- -- Table structure for crm_customer -- ---------------------------- @@ -31,6 +255,7 @@ CREATE TABLE `crm_customer` ( `customer_level` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '普通' COMMENT '客户等级(如:VIP/普通)', `address` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '客户地址(需权限查看)', `bank_info` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '银行信息(多条,需权限查看,JSON格式存储)', + `tax_number` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '纳税人识别号/税号', `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人', `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', @@ -40,7 +265,7 @@ CREATE TABLE `crm_customer` ( PRIMARY KEY (`customer_id`) USING BTREE, UNIQUE INDEX `uk_customer_code`(`customer_code` ASC) USING BTREE, INDEX `idx_company_name`(`company_name` ASC) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 2017968950019809283 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '客户信息表' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB AUTO_INCREMENT = 2017968950019809827 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '客户信息表' ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for crm_order @@ -48,10 +273,11 @@ CREATE TABLE `crm_customer` ( DROP TABLE IF EXISTS `crm_order`; CREATE TABLE `crm_order` ( `order_id` bigint UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '订单ID(主键)', - `order_code` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '订单编号', + `order_code` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '订单编号', `contract_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '合同号', + `contract_id` bigint UNSIGNED NULL DEFAULT NULL COMMENT '关联合同ID(wms_contract.contract_id)', `order_type` tinyint NOT NULL DEFAULT 0 COMMENT '订单类型:0-预订单,1-正式订单', - `customer_id` bigint UNSIGNED NOT NULL COMMENT '关联客户ID', + `customer_id` bigint UNSIGNED NULL DEFAULT NULL COMMENT '关联客户ID', `order_amount` decimal(18, 2) NOT NULL COMMENT '订单总金额', `salesman` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '销售员', `delivery_date` date NULL DEFAULT NULL COMMENT '交货日期', @@ -62,17 +288,44 @@ CREATE TABLE `crm_order` ( `finance_status` tinyint NOT NULL DEFAULT 0 COMMENT '财务状态', `unpaid_amount` decimal(18, 2) NOT NULL DEFAULT 0.00 COMMENT '未结款数额', `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + `annex_files` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '其他附件(多个文件URL用逗号分隔)', `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人', `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人', `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `del_flag` tinyint NULL DEFAULT 0 COMMENT '删除标识 0正常 2删除', + `contract_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '合同名称', + `supplier` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '供方', + `customer` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '需方', + `sign_time` datetime NULL DEFAULT NULL COMMENT '签订时间', + `sign_location` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '签订地点', + `product_content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '产品内容', + `contract_content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '合同内容', + `supplier_address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '供方地址', + `supplier_phone` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '供方电话', + `supplier_bank` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '供方开户行', + `supplier_account` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '供方账号', + `supplier_tax_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '供方税号', + `customer_address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '需方地址', + `customer_phone` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '需方电话', + `customer_bank` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '需方开户行', + `customer_account` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '需方账号', + `customer_tax_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '需方税号', + `tech_annex` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '技术附件', + `business_annex` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '商务附件', + `production_schedule` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '排产函', + `unit_price_remark` varchar(2048) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '算单价备注', + `deposit_payable` decimal(18, 2) NULL DEFAULT NULL COMMENT '应付定金(万元)', + `deposit_paid` decimal(18, 2) NULL DEFAULT NULL COMMENT '已付定金(万元)', + `deposit_ratio` decimal(5, 2) NULL DEFAULT NULL COMMENT '定金比例(%)', + `status` tinyint NOT NULL DEFAULT 0 COMMENT '合同状态 0=草稿 1=生效 2=作废 3=已完成', PRIMARY KEY (`order_id`) USING BTREE, UNIQUE INDEX `uk_order_code`(`order_code` ASC) USING BTREE, INDEX `idx_customer_id`(`customer_id` ASC) USING BTREE, INDEX `idx_order_status`(`order_status` ASC) USING BTREE, - INDEX `idx_finance_status`(`finance_status` ASC) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 2017969409073799171 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '正式订单主表' ROW_FORMAT = Dynamic; + INDEX `idx_finance_status`(`finance_status` ASC) USING BTREE, + INDEX `idx_contract_id`(`contract_id` ASC) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 2043618688547762746 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '正式订单主表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Table structure for crm_order_item @@ -82,7 +335,7 @@ CREATE TABLE `crm_order_item` ( `item_id` bigint UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '正式订单明细ID(主键)', `order_id` bigint UNSIGNED NOT NULL COMMENT '关联正式订单ID(外键)', `product_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '产品类型', - `raw_material_spec` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '原料规格', + `raw_material_spec` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '原料规格', `product_num` int NULL DEFAULT NULL COMMENT '产品数量', `special_require` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '特殊要求', `item_amount` decimal(18, 2) NULL DEFAULT NULL COMMENT '明细金额(单商品金额)', @@ -96,10 +349,18 @@ CREATE TABLE `crm_order_item` ( `material` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '材质', `grade` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '等级', `weight` decimal(10, 3) NULL DEFAULT NULL COMMENT '重量', + `width_tolerance` decimal(10, 3) NULL DEFAULT NULL COMMENT '宽度公差', + `thickness_tolerance` decimal(10, 3) NULL DEFAULT NULL COMMENT '厚度公差', `contract_price` decimal(18, 2) NULL DEFAULT NULL COMMENT '合同定价', `customizer` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '定制人', `shipper` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '发货人', `production_batch` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '排产批次', + `surface_treatment` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '表面处理', + `edge_cutting_req` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '切边要求', + `packaging_req` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '包装要求', + `width` decimal(10, 3) NULL DEFAULT NULL COMMENT '宽度', + `thickness` decimal(10, 3) NULL DEFAULT NULL COMMENT '厚度', + `purpose` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '用途', PRIMARY KEY (`item_id`) USING BTREE, INDEX `idx_order_id`(`order_id` ASC) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 2018189324112977922 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '正式订单明细表' ROW_FORMAT = Dynamic; @@ -126,7 +387,7 @@ CREATE TABLE `crm_order_operation_trace` ( PRIMARY KEY (`trace_id`) USING BTREE, INDEX `idx_order_id`(`order_id` ASC) USING BTREE, INDEX `idx_operation_time`(`operation_time` ASC) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 2018532634677567490 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '订单操作追溯表' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB AUTO_INCREMENT = 2041757096435982339 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '订单操作追溯表' ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for crm_sales_contract @@ -609,7 +870,7 @@ CREATE TABLE `ems_alarm_record` ( INDEX `idx_record_alarm_time`(`alarm_time` ASC) USING BTREE, INDEX `idx_record_handle_status`(`handle_status` ASC) USING BTREE, INDEX `idx_record_alarm_level`(`alarm_level` ASC) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 2029451845645287426 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '警报记录表' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB AUTO_INCREMENT = 2047556139430842370 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '警报记录表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Table structure for ems_alert @@ -694,6 +955,27 @@ CREATE TABLE `ems_energy_rate` ( CONSTRAINT `chk_tiered_pricing_flag` CHECK (`use_tiered_pricing` in (0,1)) ) ENGINE = InnoDB AUTO_INCREMENT = 1997223781889855490 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '能源费率(支持峰谷分时、阶梯电价)' ROW_FORMAT = DYNAMIC; +-- ---------------------------- +-- Table structure for ems_energy_record +-- ---------------------------- +DROP TABLE IF EXISTS `ems_energy_record`; +CREATE TABLE `ems_energy_record` ( + `energy_record_id` bigint NOT NULL AUTO_INCREMENT COMMENT '能耗记录主键ID', + `meter_id` bigint NOT NULL COMMENT '表计ID(关联计量设备表)', + `energy_id` bigint NOT NULL COMMENT '能源ID(关联能源类型表:电/水/气/暖等)', + `consumption` decimal(15, 2) NOT NULL COMMENT '消耗量', + `record_date` date NOT NULL COMMENT '统计日期(yyyy-MM-dd)', + `recorded_by` bigint NULL DEFAULT NULL COMMENT '记录人ID', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建者', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新者', + `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '删除标志(0=存在 2=删除)', + `remark` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '备注', + PRIMARY KEY (`energy_record_id`) USING BTREE, + INDEX `idx_energy_record_meter_energy_date`(`meter_id` ASC, `energy_id` ASC, `record_date` ASC) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 2046822792274550787 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '能源消耗记录表' ROW_FORMAT = DYNAMIC; + -- ---------------------------- -- Table structure for ems_energy_type -- ---------------------------- @@ -793,7 +1075,6 @@ CREATE TABLE `ems_meter` ( INDEX `idx_meter_energy_type`(`energy_type_id` ASC) USING BTREE, INDEX `idx_meter_location`(`location_id` ASC) USING BTREE, CONSTRAINT `fk_meter_energy_type` FOREIGN KEY (`energy_type_id`) REFERENCES `ems_energy_type` (`energy_type_id`) ON DELETE RESTRICT ON UPDATE RESTRICT, - CONSTRAINT `fk_meter_location` FOREIGN KEY (`location_id`) REFERENCES `ems_location` (`location_id`) ON DELETE RESTRICT ON UPDATE RESTRICT, CONSTRAINT `chk_meter_status` CHECK (`status` in (0,1,2)) ) ENGINE = InnoDB AUTO_INCREMENT = 1996773089685381122 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '计量设备(阈值移至此处)' ROW_FORMAT = DYNAMIC; @@ -930,6 +1211,7 @@ CREATE TABLE `eqp_auxiliary_material` ( `auxiliary_model` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '辅料型号', `unit` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '计量单位', `equipment_id` bigint NULL DEFAULT NULL COMMENT '关联设备ID(可为空,通用辅料)', + `unit_team` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '机组(如:1#机组、2#机组、公用机组等)', `quantity` int NULL DEFAULT 0 COMMENT '当前库存数量', `unit_price` decimal(18, 6) NULL DEFAULT 0.000000 COMMENT '当前移动加权平均单价', `total_amount` decimal(18, 2) NULL DEFAULT 0.00 COMMENT '当前库存总金额(可冗余,= quantity * unit_price)', @@ -941,7 +1223,7 @@ CREATE TABLE `eqp_auxiliary_material` ( `remark` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '备注', PRIMARY KEY (`auxiliary_id`) USING BTREE, INDEX `fk_auxiliary_equipment`(`equipment_id` ASC) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 2007691600657760258 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '辅料表' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB AUTO_INCREMENT = 2037805711684247555 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '辅料表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Table structure for eqp_auxiliary_material_change @@ -965,7 +1247,7 @@ CREATE TABLE `eqp_auxiliary_material_change` ( `remark` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '备注', PRIMARY KEY (`change_id`) USING BTREE, INDEX `fk_change_auxiliary`(`auxiliary_id` ASC) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 2007692247788535810 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '辅料变动记录表' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB AUTO_INCREMENT = 2039910831331557378 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '辅料变动记录表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Table structure for eqp_equipment_management @@ -1091,6 +1373,7 @@ CREATE TABLE `eqp_spare_part` ( `model` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备件型号', `unit` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '计量单位', `equipment_id` bigint NULL DEFAULT NULL COMMENT '关联设备ID(可为空,通用备件)', + `unit_team` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '机组(如:1#机组、2#机组、公用机组等)', `quantity` int NULL DEFAULT 0 COMMENT '当前库存数量', `unit_price` decimal(18, 6) NULL DEFAULT 0.000000 COMMENT '当前移动加权平均单价', `total_amount` decimal(18, 2) NULL DEFAULT 0.00 COMMENT '当前库存总金额(可冗余,= quantity * unit_price)', @@ -1102,7 +1385,7 @@ CREATE TABLE `eqp_spare_part` ( `remark` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '备注', PRIMARY KEY (`part_id`) USING BTREE, INDEX `fk_part_equipment`(`equipment_id` ASC) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 1979376133262389251 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '备品备件表' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB AUTO_INCREMENT = 2038420433802522627 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '备品备件表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Table structure for eqp_spare_parts_change @@ -1326,25 +1609,6 @@ CREATE TABLE `erp_supplier_price` ( PRIMARY KEY (`price_id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1991019561721081858 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '供应商价格表' ROW_FORMAT = Dynamic; --- ---------------------------- --- Table structure for flyway_schema_history --- ---------------------------- -DROP TABLE IF EXISTS `flyway_schema_history`; -CREATE TABLE `flyway_schema_history` ( - `installed_rank` int NOT NULL, - `version` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `description` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `script` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `checksum` int NULL DEFAULT NULL, - `installed_by` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `installed_on` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - `execution_time` int NOT NULL, - `success` tinyint(1) NOT NULL, - PRIMARY KEY (`installed_rank`) USING BTREE, - INDEX `flyway_schema_history_s_idx`(`success` ASC) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; - -- ---------------------------- -- Table structure for gen_table -- ---------------------------- @@ -1947,6 +2211,7 @@ CREATE TABLE `hrm_seal_req` ( `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人', `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `del_flag` tinyint NULL DEFAULT 0 COMMENT '删除标识 0正常 2删除', + `dept_id` bigint NULL DEFAULT NULL COMMENT '部门id', PRIMARY KEY (`biz_id`) USING BTREE, INDEX `idx_emp`(`emp_id` ASC) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '用印申请' ROW_FORMAT = Dynamic; @@ -2124,6 +2389,29 @@ CREATE TABLE `is_sample_inventory` ( CONSTRAINT `is_sample_inventory_ibfk_1` FOREIGN KEY (`commission_id`) REFERENCES `is_inspection_commission` (`commission_id`) ON DELETE RESTRICT ON UPDATE RESTRICT ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '样品库存表' ROW_FORMAT = DYNAMIC; +-- ---------------------------- +-- Table structure for report_export_file +-- ---------------------------- +DROP TABLE IF EXISTS `report_export_file`; +CREATE TABLE `report_export_file` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `report_title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '报表标题', + `report_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '报表名称(唯一)', + `report_params` json NULL COMMENT '报表查询参数(JSON格式)', + `production_line` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '相关产线', + `oss_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '附件的OSSID, 用于下载', + `attachment` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '附件(文件存储路径/URL)', + `report_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '报表类型(如:Excel/PDF/Word)', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + `del_flag` tinyint NOT NULL DEFAULT 0 COMMENT '删除标志 0-未删除 1-已删除', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `uk_report_name`(`report_name` ASC, `del_flag` ASC) USING BTREE COMMENT '报表名称唯一索引(逻辑删除下唯一)' +) ENGINE = InnoDB AUTO_INCREMENT = 2045306917889474563 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '报表导出文件表' ROW_FORMAT = DYNAMIC; + -- ---------------------------- -- Table structure for scan_result -- ---------------------------- @@ -2451,17 +2739,6 @@ CREATE TABLE `sys_user_role` ( PRIMARY KEY (`user_id`, `role_id`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户和角色关联表' ROW_FORMAT = DYNAMIC; --- ---------------------------- --- Table structure for test_flyway --- ---------------------------- -DROP TABLE IF EXISTS `test_flyway`; -CREATE TABLE `test_flyway` ( - `id` int NOT NULL AUTO_INCREMENT, - `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP, - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; - -- ---------------------------- -- Table structure for wf_category -- ---------------------------- @@ -2579,7 +2856,29 @@ CREATE TABLE `wms_actual_warehouse` ( `split_type` tinyint NULL DEFAULT 0 COMMENT '拆分类型(仅当split_status=1时有效):0=(1列拆2小库位)1=(1列拆3小库位)', PRIMARY KEY (`actual_warehouse_id`) USING BTREE, INDEX `idx_actual_wh_parent`(`parent_id` ASC) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 2011703158920552523 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '实际库区/库位自关联表' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB AUTO_INCREMENT = 2033746503029067894 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '实际库区/库位自关联表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for wms_anneal_operate_event +-- ---------------------------- +DROP TABLE IF EXISTS `wms_anneal_operate_event`; +CREATE TABLE `wms_anneal_operate_event` ( + `event_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `anneal_furnace_id` bigint NOT NULL COMMENT '退火炉ID', + `operate_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '操作类型 如:START/PAUSE/STOP/FEED/TAKE/RESET', + `operate_content` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '操作内容描述', + `coil_id` bigint NULL DEFAULT NULL COMMENT '钢卷ID(可选)', + `del_flag` tinyint(1) NOT NULL DEFAULT 0 COMMENT '删除标志(0=正常,1=已删除)', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人', + PRIMARY KEY (`event_id`) USING BTREE, + INDEX `idx_anneal_furnace`(`anneal_furnace_id` ASC) USING BTREE, + INDEX `idx_coil_id`(`coil_id` ASC) USING BTREE, + INDEX `idx_operate_type`(`operate_type` ASC) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 2047514104082722819 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '退火操作事件表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Table structure for wms_approval @@ -2607,7 +2906,7 @@ CREATE TABLE `wms_approval` ( INDEX `idx_approval_apply_type_apply_id`(`apply_type` ASC, `apply_id` ASC) USING BTREE, INDEX `idx_approval_approver_name`(`approver_name` ASC) USING BTREE, INDEX `idx_approval_approval_status`(`approval_status` ASC) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 2028653306204508162 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '通用审批表(支持请假/外出等申请的审批)' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB AUTO_INCREMENT = 2041725584244154371 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '通用审批表(支持请假/外出等申请的审批)' ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for wms_approval_task @@ -2630,7 +2929,7 @@ CREATE TABLE `wms_approval_task` ( PRIMARY KEY (`task_id`) USING BTREE, INDEX `idx_approval_id`(`approval_id` ASC) USING BTREE, INDEX `idx_approver_id`(`approver_id` ASC) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 2028653307110477827 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '审批任务表' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB AUTO_INCREMENT = 2041725584755859459 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '审批任务表' ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for wms_batch @@ -2673,7 +2972,7 @@ CREATE TABLE `wms_bom` ( `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', PRIMARY KEY (`bom_id`) USING BTREE, UNIQUE INDEX `uk_bom_code`(`bom_code` ASC) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 2029410774089383939 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = 'BOM 表头,关联产品或原材料' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB AUTO_INCREMENT = 2047528929630351363 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = 'BOM 表头,关联产品或原材料' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Table structure for wms_bom_item @@ -2695,7 +2994,51 @@ CREATE TABLE `wms_bom_item` ( INDEX `idx_item_bom`(`bom_id` ASC) USING BTREE, INDEX `idx_item_attr`(`attr_key` ASC) USING BTREE, CONSTRAINT `fk_item_bom` FOREIGN KEY (`bom_id`) REFERENCES `wms_bom` (`bom_id`) ON DELETE RESTRICT ON UPDATE RESTRICT -) ENGINE = InnoDB AUTO_INCREMENT = 2029410774676586498 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = 'BOM 明细表,存放属性–值' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB AUTO_INCREMENT = 2047528930318217219 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = 'BOM 明细表,存放属性–值' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for wms_calendar +-- ---------------------------- +DROP TABLE IF EXISTS `wms_calendar`; +CREATE TABLE `wms_calendar` ( + `calendar_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', + `calendar_date` date NOT NULL COMMENT '日期', + `calendar_type` tinyint NOT NULL DEFAULT 1 COMMENT '日历类型:1工作日 2周末 3法定假日 4停机日', + `factory_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT 'DEFAULT' COMMENT '工厂编码', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人', + PRIMARY KEY (`calendar_id`) USING BTREE, + UNIQUE INDEX `uk_calendar_date_factory`(`calendar_date` ASC, `factory_code` ASC) USING BTREE, + INDEX `idx_calendar_type`(`calendar_type` ASC) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 366 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '工厂日历' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for wms_calendar_shift +-- ---------------------------- +DROP TABLE IF EXISTS `wms_calendar_shift`; +CREATE TABLE `wms_calendar_shift` ( + `config_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', + `calendar_date` date NOT NULL COMMENT '日期', + `line_id` bigint NOT NULL COMMENT '产线ID', + `shift_id` bigint NOT NULL COMMENT '班次ID', + `planned_hours` decimal(8, 2) NOT NULL DEFAULT 8.00 COMMENT '计划工时', + `status` tinyint NOT NULL DEFAULT 1 COMMENT '状态:1可排产 2停机', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人', + `del_flag` int NULL DEFAULT 0 COMMENT '删除标志2删除', + PRIMARY KEY (`config_id`) USING BTREE, + UNIQUE INDEX `uk_calendar_shift`(`calendar_date` ASC, `line_id` ASC, `shift_id` ASC) USING BTREE, + INDEX `idx_cs_line_date`(`line_id` ASC, `calendar_date` ASC) USING BTREE, + INDEX `idx_cs_shift`(`shift_id` ASC) USING BTREE, + CONSTRAINT `fk_cs_line` FOREIGN KEY (`line_id`) REFERENCES `wms_production_line` (`line_id`) ON DELETE RESTRICT ON UPDATE RESTRICT, + CONSTRAINT `fk_cs_shift` FOREIGN KEY (`shift_id`) REFERENCES `wms_shift_template` (`shift_id`) ON DELETE RESTRICT ON UPDATE RESTRICT +) ENGINE = InnoDB AUTO_INCREMENT = 2191 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '日历班次配置' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Table structure for wms_camera_management @@ -2845,24 +3188,128 @@ DROP TABLE IF EXISTS `wms_coil_abnormal`; CREATE TABLE `wms_coil_abnormal` ( `abnormal_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID', `coil_id` bigint NOT NULL COMMENT '钢卷ID', + `production_line` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '产线名称', `position` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '位置(上下,操作侧,中间,驱动侧)', - `length_coord` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '长度坐标', + `length` decimal(10, 2) NULL DEFAULT NULL COMMENT '缺陷长度', + `start_position` decimal(10, 2) NULL DEFAULT NULL COMMENT '缺陷开始位置', + `end_position` decimal(10, 2) NULL DEFAULT NULL COMMENT '缺陷结束位置', `defect_code` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '缺陷代码(S=表面缺陷、E=边部问题、M=尺寸问题、G=收卷问题)', + `defect_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '缺陷类型(更详细的缺陷分类,如划痕、边裂、厚度超标等)', + `defect_rate` decimal(8, 4) NULL DEFAULT NULL COMMENT '缺陷率(百分比,如0.05表示5%)', + `defect_weight` decimal(10, 2) NULL DEFAULT NULL COMMENT '缺陷重量(单位:kg)', `degree` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '程度(轻微、重度、严重)', `judge_level` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '判级', `judge_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '判级人', `judge_time` datetime NULL DEFAULT NULL COMMENT '判级时间', + `main_mark` tinyint NULL DEFAULT NULL COMMENT '主标记(1=是,0=否)', + `whole_coil_mark` tinyint NULL DEFAULT NULL COMMENT '整卷标记(1=是,0=否)', `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', `del_flag` tinyint(1) NOT NULL DEFAULT 0 COMMENT '删除标志(0=正常,1=已删除)', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人', `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人', + `plate_surface` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '上下板面', PRIMARY KEY (`abnormal_id`) USING BTREE, INDEX `idx_coil_id`(`coil_id` ASC) USING BTREE COMMENT '钢卷ID索引', INDEX `idx_judge_time`(`judge_time` ASC) USING BTREE COMMENT '判级时间索引(可选,根据查询需求添加)', - INDEX `idx_ca_del_coil`(`del_flag` ASC, `coil_id` ASC) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 2026181531042410499 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '钢卷异常信息表' ROW_FORMAT = Dynamic; + INDEX `idx_ca_del_coil`(`del_flag` ASC, `coil_id` ASC) USING BTREE, + INDEX `idx_production_line`(`production_line` ASC) USING BTREE COMMENT '产线名称索引' +) ENGINE = InnoDB AUTO_INCREMENT = 2047558223836352514 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '钢卷异常信息表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for wms_coil_cache +-- ---------------------------- +DROP TABLE IF EXISTS `wms_coil_cache`; +CREATE TABLE `wms_coil_cache` ( + `cache_id` bigint NOT NULL AUTO_INCREMENT COMMENT '钢卷缓存主键ID', + `coil_id` bigint NOT NULL COMMENT '钢卷ID', + `coil_json` json NOT NULL COMMENT '钢卷JSON数据', + `del_flag` tinyint NOT NULL DEFAULT 0 COMMENT '删除标识 0正常 2删除', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`cache_id`) USING BTREE, + INDEX `idx_coil_id`(`coil_id` ASC) USING BTREE COMMENT '钢卷ID索引' +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '钢卷缓存表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for wms_coil_contract_rel +-- ---------------------------- +DROP TABLE IF EXISTS `wms_coil_contract_rel`; +CREATE TABLE `wms_coil_contract_rel` ( + `rel_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `coil_id` bigint NOT NULL COMMENT '钢卷ID', + `contract_id` bigint NOT NULL COMMENT '合同ID', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `del_flag` tinyint NULL DEFAULT 0 COMMENT '删除标识 0正常 2删除', + PRIMARY KEY (`rel_id`) USING BTREE, + INDEX `idx_coil_id`(`coil_id` ASC) USING BTREE, + INDEX `idx_contract_id`(`contract_id` ASC) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '钢卷与合同关联关系表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for wms_coil_packing_detail +-- ---------------------------- +DROP TABLE IF EXISTS `wms_coil_packing_detail`; +CREATE TABLE `wms_coil_packing_detail` ( + `detail_id` bigint NOT NULL AUTO_INCREMENT COMMENT '明细主键ID', + `packing_id` bigint NOT NULL COMMENT '关联打包主表ID', + `coil_id` bigint NOT NULL COMMENT '关联钢卷ID(wms_material_coil.coil_id)', + `from_warehouse_id` bigint NOT NULL COMMENT '该钢卷打包前的库区ID', + `to_warehouse_id` bigint NOT NULL COMMENT '该钢卷打包后的库区ID(打包待发区)', + `coil_gross_weight` decimal(10, 3) NOT NULL COMMENT '该钢卷的毛重', + `coil_net_weight` decimal(10, 3) NOT NULL COMMENT '该钢卷的净重', + `del_flag` tinyint(1) NOT NULL DEFAULT 0 COMMENT '删除标志(0=正常,1=已删除)', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '该钢卷的打包备注(如:库区A-钢卷1001)', + PRIMARY KEY (`detail_id`) USING BTREE, + INDEX `idx_detail_packing_id`(`packing_id` ASC) USING BTREE, + INDEX `idx_detail_coil_id`(`coil_id` ASC) USING BTREE, + INDEX `idx_detail_warehouse`(`from_warehouse_id` ASC, `to_warehouse_id` ASC) USING BTREE, + INDEX `idx_detail_del_flag`(`del_flag` ASC) USING BTREE, + CONSTRAINT `fk_packing_detail_coil_id` FOREIGN KEY (`coil_id`) REFERENCES `wms_material_coil` (`coil_id`) ON DELETE RESTRICT ON UPDATE RESTRICT, + CONSTRAINT `fk_packing_detail_packing_id` FOREIGN KEY (`packing_id`) REFERENCES `wms_coil_packing_record` (`packing_id`) ON DELETE CASCADE ON UPDATE RESTRICT +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '钢卷打包明细表(存储每个钢卷的库区/重量信息)' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for wms_coil_packing_record +-- ---------------------------- +DROP TABLE IF EXISTS `wms_coil_packing_record`; +CREATE TABLE `wms_coil_packing_record` ( + `packing_id` bigint NOT NULL AUTO_INCREMENT COMMENT '打包记录主键ID', + `packing_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '打包单号(自定义规则:年份后两位+月份+当日打包序号,如25100001)', + `coil_count` int NULL DEFAULT NULL COMMENT '打包钢卷数量(累计卷数,自动计算)', + `total_gross_weight` decimal(12, 3) NULL DEFAULT NULL COMMENT '打包总毛重(累计重量)', + `total_net_weight` decimal(12, 3) NULL DEFAULT NULL COMMENT '打包总净重(累计重量)', + `sale_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '销售人员姓名(冗余存储,避免关联查询)', + `batch_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '打包批次号(如第一批/第二批,或自定义编码:251001-01)', + `packing_status` tinyint(1) NOT NULL DEFAULT 0 COMMENT '打包状态(0=待打包,1=已打包完成,2=已取消)', + `packing_time` datetime NULL DEFAULT NULL COMMENT '打包完成时间', + `packing_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '打包操作人', + `warehouse_remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '库区操作备注(如移入打包待发区原因)', + `del_flag` tinyint(1) NOT NULL DEFAULT 0 COMMENT '删除标志(0=正常,1=已删除)', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '整体打包备注', + PRIMARY KEY (`packing_id`) USING BTREE, + INDEX `idx_packing_no`(`packing_no` ASC) USING BTREE, + INDEX `idx_sale_name`(`sale_name` ASC) USING BTREE, + INDEX `idx_batch_no`(`batch_no` ASC) USING BTREE, + INDEX `idx_packing_status`(`packing_status` ASC) USING BTREE, + INDEX `idx_del_flag_create`(`del_flag` ASC, `create_time` ASC) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '钢卷打包记录主表(打包待发区专用)' ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for wms_coil_pending_action @@ -2884,6 +3331,7 @@ CREATE TABLE `wms_coil_pending_action` ( `process_time` datetime NULL DEFAULT NULL COMMENT '处理时间', `complete_time` datetime NULL DEFAULT NULL COMMENT '完成时间', `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + `processed_coil_ids` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '加工后钢卷ID(多个以英文逗号分隔)', `del_flag` tinyint(1) NOT NULL DEFAULT 0 COMMENT '删除标志(0=正常,1=已删除)', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人', @@ -2895,7 +3343,48 @@ CREATE TABLE `wms_coil_pending_action` ( INDEX `idx_action_status`(`action_status` ASC) USING BTREE, INDEX `idx_scan_time`(`scan_time` ASC) USING BTREE, INDEX `idx_warehouse_id`(`warehouse_id` ASC) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 10230 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '钢卷待操作表' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB AUTO_INCREMENT = 43126 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '钢卷待操作表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for wms_coil_quality_rejudge +-- ---------------------------- +DROP TABLE IF EXISTS `wms_coil_quality_rejudge`; +CREATE TABLE `wms_coil_quality_rejudge` ( + `rejudge_id` bigint NOT NULL AUTO_INCREMENT COMMENT '改判记录主键ID', + `coil_id` bigint NOT NULL COMMENT '钢卷ID', + `before_quality` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '改判前质量状态', + `after_quality` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '改判后质量状态', + `rejudge_reason` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '改判原因', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建者', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新者', + `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '删除标志(0=存在 2=删除)', + `remark` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '备注', + PRIMARY KEY (`rejudge_id`) USING BTREE, + INDEX `idx_wms_coil_quality_rejudge_coil`(`coil_id` ASC) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 2047555388964999171 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '钢卷质量改判记录表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for wms_coil_statistics_summary +-- ---------------------------- +DROP TABLE IF EXISTS `wms_coil_statistics_summary`; +CREATE TABLE `wms_coil_statistics_summary` ( + `summary_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `title` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '统计标题(如:2026年3月冷硬卷切边统计、2026年一季度钢卷产量统计)', + `stat_type` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '统计类型(枚举:COIL_TRIM-切边统计、COIL_PRODUCTION-产量统计、COIL_STOCK-库存统计、COIL_QUALITY-质量统计等)', + `stat_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '统计结果JSON字符串(存储透视分析结果,支持大文本)', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + `attachment_info` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '附件信息(JSON格式,存储附件名称、路径、大小、类型等信息,支持多附件)', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `del_flag` tinyint NULL DEFAULT 0 COMMENT '删除标识 0正常 2删除', + PRIMARY KEY (`summary_id`) USING BTREE, + INDEX `idx_stat_type`(`stat_type` ASC) USING BTREE, + INDEX `idx_del_flag`(`del_flag` ASC) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '钢卷生产统计汇总表(数据透视结果持久化)' ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for wms_coil_warehouse_operation_log @@ -2917,7 +3406,7 @@ CREATE TABLE `wms_coil_warehouse_operation_log` ( INDEX `idx_coil_id_create_time`(`coil_id` ASC, `create_time` ASC) USING BTREE, INDEX `idx_actual_warehouse_id_operation_type`(`actual_warehouse_id` ASC, `operation_type` ASC) USING BTREE, INDEX `idx_in_out_type`(`in_out_type` ASC) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '钢卷库区操作记录表' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB AUTO_INCREMENT = 2047558249727791106 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '钢卷库区操作记录表' ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for wms_common_defect @@ -3065,7 +3554,7 @@ CREATE TABLE `wms_delivery_plan` ( PRIMARY KEY (`plan_id`) USING BTREE, UNIQUE INDEX `wms_delivery_plan_pk`(`plan_name` ASC) USING BTREE, INDEX `idx_create_by_time`(`create_by` ASC, `create_time` ASC) USING BTREE COMMENT '按创建人+时间查询索引' -) ENGINE = InnoDB AUTO_INCREMENT = 2029354014611775490 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '发货计划表' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB AUTO_INCREMENT = 2047477473048961027 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '发货计划表' ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for wms_delivery_plan_coil_operate @@ -3125,7 +3614,7 @@ CREATE TABLE `wms_delivery_waybill` ( `weighbridge` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '磅房', `sales_person` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '销售', `principal` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '负责人(司机/跟单员)', - `principal_phone` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '负责人电话(手机号/固话)', + `principal_phone` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '负责人电话(手机号/固话)', `status` tinyint NULL DEFAULT 0 COMMENT '完成状态(0=待发货,1=已发货,2=已完成,3=取消)', `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', `del_flag` tinyint(1) NOT NULL DEFAULT 0 COMMENT '删除标志(0=正常,1=已删除)', @@ -3140,7 +3629,7 @@ CREATE TABLE `wms_delivery_waybill` ( INDEX `idx_status_time`(`status` ASC, `create_time` ASC) USING BTREE COMMENT '状态+时间筛选索引', INDEX `idx_delivery_time`(`delivery_time` ASC) USING BTREE COMMENT '发货时间查询索引', INDEX `idx_sales_person`(`sales_person` ASC) USING BTREE COMMENT '销售负责人查询索引' -) ENGINE = InnoDB AUTO_INCREMENT = 2029381579724472322 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '发货单主表' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB AUTO_INCREMENT = 2047558481744105474 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '发货单主表' ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for wms_delivery_waybill_detail @@ -3170,7 +3659,7 @@ CREATE TABLE `wms_delivery_waybill_detail` ( PRIMARY KEY (`detail_id`) USING BTREE, INDEX `idx_waybill_id`(`waybill_id` ASC) USING BTREE COMMENT '关联发货单主表查询索引', INDEX `idx_coil_id`(`coil_id` ASC) USING BTREE COMMENT '关联钢卷表查询索引' -) ENGINE = InnoDB AUTO_INCREMENT = 2029383197425582083 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '发货单明细表' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB AUTO_INCREMENT = 2047553324432101379 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '发货单明细表' ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for wms_dept @@ -3195,6 +3684,29 @@ CREATE TABLE `wms_dept` ( INDEX `idx_wms_dept_status_del_flag`(`status` ASC, `del_flag` ASC) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'WMS系统部门表(树形结构)' ROW_FORMAT = DYNAMIC; +-- ---------------------------- +-- Table structure for wms_employee_change +-- ---------------------------- +DROP TABLE IF EXISTS `wms_employee_change`; +CREATE TABLE `wms_employee_change` ( + `change_id` bigint NOT NULL AUTO_INCREMENT COMMENT '异动记录主键ID', + `info_id` bigint NOT NULL COMMENT '关联员工信息表的主键ID', + `change_type` tinyint(1) NOT NULL COMMENT '异动类型:0=入职,1=离职,2=转正', + `change_time` date NOT NULL COMMENT '异动时间(入职/离职/转正时间)', + `change_reason` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '异动原因(离职必填,入职/转正可选)', + `change_handler` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '负责人', + `attachment` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '附件', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '创建人', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '更新人', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `del_flag` tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标识:0=正常,1=已删', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`change_id`) USING BTREE, + INDEX `idx_change_info_id`(`info_id` ASC) USING BTREE, + INDEX `idx_change_type`(`change_type` ASC) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 2047111284992942083 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '员工异动表(入职/离职/转正)' ROW_FORMAT = Dynamic; + -- ---------------------------- -- Table structure for wms_employee_info -- ---------------------------- @@ -3215,14 +3727,47 @@ CREATE TABLE `wms_employee_info` ( `emergency_contact` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '紧急联系人', `relationship` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '关系', `emergency_contact_phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '紧急联系人电话', + `social_insurance_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '社保类型(三险/五险)', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '创建人', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '更新人', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `del_flag` tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标识:0=正常,1=已删', + `is_leave` tinyint(1) NULL DEFAULT 0 COMMENT '是否离职:0=未离职(在职),1=已离职', + `leave_time` date NULL DEFAULT NULL COMMENT '离职时间', + `is_regular` tinyint(1) NULL DEFAULT 0 COMMENT '是否转正:0=未转正,1=已转正', + `regular_time` date NULL DEFAULT NULL COMMENT '转正时间', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`info_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 2047111284850335746 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '员工信息表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for wms_employee_transfer +-- ---------------------------- +DROP TABLE IF EXISTS `wms_employee_transfer`; +CREATE TABLE `wms_employee_transfer` ( + `transfer_id` bigint NOT NULL AUTO_INCREMENT COMMENT '转岗记录主键ID', + `info_id` bigint NOT NULL COMMENT '关联员工信息表的主键ID', + `old_dept` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '原部门', + `old_job_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '原岗位工种', + `new_dept` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '新部门', + `new_job_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '新岗位工种', + `transfer_time` date NOT NULL COMMENT '转岗生效时间', + `transfer_reason` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '转岗原因', + `transfer_handler` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '转岗经办人', + `approval_status` tinyint(1) NOT NULL DEFAULT 0 COMMENT '审批状态:0=待审批,1=已审批,2=已驳回', + `attachment` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '附件(如转岗审批单等)', `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '创建人', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '更新人', `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `del_flag` tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标识:0=正常,1=已删', `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', - PRIMARY KEY (`info_id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 2028648994011206225 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '员工信息表' ROW_FORMAT = Dynamic; + PRIMARY KEY (`transfer_id`) USING BTREE, + INDEX `idx_transfer_info_id`(`info_id` ASC) USING BTREE, + INDEX `idx_transfer_time`(`transfer_time` ASC) USING BTREE, + INDEX `idx_transfer_dept_job`(`old_dept` ASC, `old_job_type` ASC, `new_dept` ASC, `new_job_type` ASC) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '员工转岗记录表' ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for wms_energy_allocation_task @@ -3273,7 +3818,7 @@ CREATE TABLE `wms_energy_area_link` ( INDEX `idx_warehouse`(`warehouse_id` ASC) USING BTREE, INDEX `idx_actual_warehouse`(`actual_warehouse_id` ASC) USING BTREE, CONSTRAINT `fk_energy_link_warehouse` FOREIGN KEY (`warehouse_id`) REFERENCES `wms_warehouse` (`warehouse_id`) ON DELETE RESTRICT ON UPDATE RESTRICT -) ENGINE = InnoDB AUTO_INCREMENT = 1996759245223108633 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = 'EMS能源与库区映射关系表' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB AUTO_INCREMENT = 1996759245223108634 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = 'EMS能源与库区映射关系表' ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for wms_energy_coil_daily @@ -3375,6 +3920,70 @@ CREATE TABLE `wms_financial_document` ( INDEX `idx_wfd_related_order_id`(`related_order_id` ASC) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1955559888281001987 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '财务单据表' ROW_FORMAT = DYNAMIC; +-- ---------------------------- +-- Table structure for wms_furnace +-- ---------------------------- +DROP TABLE IF EXISTS `wms_furnace`; +CREATE TABLE `wms_furnace` ( + `furnace_id` bigint NOT NULL AUTO_INCREMENT, + `furnace_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '炉编号', + `furnace_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '名称', + `busy_flag` tinyint NULL DEFAULT 0 COMMENT '是否忙碌(0否1是)', + `status` tinyint NULL DEFAULT 1 COMMENT '状态(0停用1启用)', + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + `del_flag` tinyint NULL DEFAULT 0 COMMENT '删除标记(0正常 1删除)', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, + `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP, + `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`furnace_id`) USING BTREE, + UNIQUE INDEX `uk_wms_furnace_code`(`furnace_code` ASC) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 2046468444705222658 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '退火炉信息表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for wms_furnace_plan +-- ---------------------------- +DROP TABLE IF EXISTS `wms_furnace_plan`; +CREATE TABLE `wms_furnace_plan` ( + `plan_id` bigint NOT NULL AUTO_INCREMENT, + `plan_no` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '计划号', + `plan_start_time` datetime NULL DEFAULT NULL COMMENT '计划开始时间', + `actual_start_time` datetime NULL DEFAULT NULL COMMENT '实际开始时间', + `end_time` datetime NULL DEFAULT NULL COMMENT '结束时间', + `target_furnace_id` bigint NOT NULL COMMENT '目标炉子ID', + `status` tinyint NULL DEFAULT 0 COMMENT '计划状态(0未开始 1进行中 2已完成)', + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + `del_flag` tinyint NULL DEFAULT 0 COMMENT '删除标记(0正常 1删除)', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, + `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP, + `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`plan_id`) USING BTREE, + INDEX `idx_wms_furnace_plan_furnace`(`target_furnace_id` ASC) USING BTREE, + INDEX `idx_wms_furnace_plan_status`(`status` ASC) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 2047054285546627075 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '退火计划表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for wms_furnace_plan_coil +-- ---------------------------- +DROP TABLE IF EXISTS `wms_furnace_plan_coil`; +CREATE TABLE `wms_furnace_plan_coil` ( + `plan_coil_id` bigint NOT NULL AUTO_INCREMENT, + `plan_id` bigint NOT NULL COMMENT '计划ID', + `coil_id` bigint NOT NULL COMMENT '钢卷ID', + `logic_warehouse_id` bigint NULL DEFAULT NULL COMMENT '逻辑库区去向(钢卷退火后目标逻辑库区)', + `furnace_level` tinyint(1) NULL DEFAULT NULL COMMENT '炉火层级(1=一层,2=二层,3=三层)', + `del_flag` tinyint NULL DEFAULT 0 COMMENT '删除标记(0正常 1删除)', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, + `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP, + `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`plan_coil_id`) USING BTREE, + UNIQUE INDEX `uk_wms_furnace_plan_coil`(`plan_id` ASC, `coil_id` ASC) USING BTREE, + INDEX `idx_wms_furnace_plan_coil_plan`(`plan_id` ASC) USING BTREE, + INDEX `idx_wms_furnace_plan_coil_coil`(`coil_id` ASC) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 2047054643882795010 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '退火计划钢卷关系表' ROW_FORMAT = Dynamic; + -- ---------------------------- -- Table structure for wms_generate_record -- ---------------------------- @@ -3384,7 +3993,7 @@ CREATE TABLE `wms_generate_record` ( `qrcode_type` tinyint NOT NULL DEFAULT 0 COMMENT '二维码类型(字典,默认为0)', `content` json NOT NULL COMMENT '二维码内容(JSON格式)', `is_enabled` tinyint NOT NULL DEFAULT 0 COMMENT '是否启用(0:启用,1:禁用)', - `serial_number` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '编号', + `serial_number` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '编号', `size` int NULL DEFAULT 200 COMMENT '二维码尺寸(像素)', `status` tinyint NULL DEFAULT 0 COMMENT '状态(0,1,2)', `del_flag` tinyint(1) NOT NULL DEFAULT 0 COMMENT '删除标志(0=正常,1=已删除)', @@ -3394,7 +4003,7 @@ CREATE TABLE `wms_generate_record` ( `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人', PRIMARY KEY (`record_id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 2029459113900163074 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '二维码生成记录表' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB AUTO_INCREMENT = 2047557666325270531 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '二维码生成记录表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Table structure for wms_inspection_item_template @@ -3491,7 +4100,36 @@ CREATE TABLE `wms_leave_request` ( `del_flag` tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标识:0=正常,1=已删', `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', PRIMARY KEY (`leave_id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 2028653219944452098 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '员工请假申请表' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB AUTO_INCREMENT = 2041725583933775874 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '员工请假申请表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for wms_line_capability +-- ---------------------------- +DROP TABLE IF EXISTS `wms_line_capability`; +CREATE TABLE `wms_line_capability` ( + `capability_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', + `line_id` bigint NOT NULL COMMENT '产线ID', + `product_id` bigint NULL DEFAULT NULL COMMENT '产品ID,可空(按工序维度时可空)', + `process_id` bigint NULL DEFAULT NULL COMMENT '工序ID,可空(按产品维度时可空)', + `capacity_per_hour` decimal(18, 4) NOT NULL COMMENT '每小时产能', + `setup_minutes` int NOT NULL DEFAULT 0 COMMENT '换型准备时间(分钟)', + `priority` int NOT NULL DEFAULT 100 COMMENT '优先级(越小越优先)', + `is_enabled` tinyint NOT NULL DEFAULT 1 COMMENT '是否启用:0否 1是', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人', + `del_flag` int NULL DEFAULT 0 COMMENT '删除标志2删除', + PRIMARY KEY (`capability_id`) USING BTREE, + UNIQUE INDEX `uk_line_prod_proc`(`line_id` ASC, `product_id` ASC, `process_id` ASC) USING BTREE, + INDEX `idx_lc_line`(`line_id` ASC) USING BTREE, + INDEX `idx_lc_product`(`product_id` ASC) USING BTREE, + INDEX `idx_lc_process`(`process_id` ASC) USING BTREE, + CONSTRAINT `fk_lc_line` FOREIGN KEY (`line_id`) REFERENCES `wms_production_line` (`line_id`) ON DELETE RESTRICT ON UPDATE RESTRICT, + CONSTRAINT `fk_lc_process` FOREIGN KEY (`process_id`) REFERENCES `wms_processe` (`process_id`) ON DELETE RESTRICT ON UPDATE RESTRICT, + CONSTRAINT `fk_lc_product` FOREIGN KEY (`product_id`) REFERENCES `wms_product` (`product_id`) ON DELETE RESTRICT ON UPDATE RESTRICT +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '产线能力(产品/工序可生产关系)' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Table structure for wms_manufacturing_spec @@ -3533,8 +4171,8 @@ DROP TABLE IF EXISTS `wms_material_coil`; CREATE TABLE `wms_material_coil` ( `coil_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID', `parent_coil_id` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '父钢卷ID', - `enter_coil_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '入场钢卷号(年份后两位+月份+当月第几个,如25100001、25102422)', - `current_coil_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '当前钢卷号(入场钢卷号和当前钢卷号可能不同)', + `enter_coil_no` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '入场钢卷号(年份后两位+月份+当月第几个,如25100001、25102422)', + `current_coil_no` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '当前钢卷号(入场钢卷号和当前钢卷号可能不同)', `supplier_coil_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '厂家原料卷号', `data_type` tinyint(1) NOT NULL DEFAULT 1 COMMENT '数据类型(0=历史,1=现存)', `warehouse_id` bigint NULL DEFAULT NULL COMMENT '所在库区ID', @@ -3561,12 +4199,24 @@ CREATE TABLE `wms_material_coil` ( `net_weight` decimal(10, 3) NULL DEFAULT NULL COMMENT '毛重', `length` decimal(10, 3) NULL DEFAULT NULL COMMENT '钢卷长度(单位:米)', `trimming_requirement` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '切边要求', - `packing_status` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '打包状态(0=未打包,1=已打包)', + `packing_status` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '原料材质', `packaging_requirement` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '包装要求', `sale_id` bigint NULL DEFAULT NULL COMMENT '销售id', + `sale_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '销售人员姓名', `temper_grade` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '调制度(如T1、T2、T3、FH等)', + `business_purpose` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '业务用途(如:生产领用、销售发货、样品送检、内部调拨等)', + `is_related_to_order` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否与订单相关(0=否,1=是)', `coating_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '镀层种类(GI/GA/GL/ZAM/无镀层等)', - `exclusive_status` int NULL DEFAULT 0 COMMENT '独占状态(0=未独占,1=特殊分卷中)', + `exclusive_status` int NULL DEFAULT 0 COMMENT '独占状态(0=未独占,1=特殊分卷中,2退火中)', + `actual_length` decimal(10, 3) NULL DEFAULT NULL COMMENT '实测长度', + `actual_width` decimal(10, 3) NULL DEFAULT NULL COMMENT '实测宽度', + `actual_thickness` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '实测厚度(单位:毫米)', + `production_start_time` datetime NULL DEFAULT NULL COMMENT '生产开始时间', + `production_end_time` datetime NULL DEFAULT NULL COMMENT '生产结束时间', + `production_duration` decimal(8, 2) NULL DEFAULT NULL COMMENT '生产耗时(单位:分钟)', + `reserved_width` decimal(10, 3) NULL DEFAULT NULL COMMENT '预留宽度(单位:毫米)', + `coil_surface_treatment` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '钢卷表面处理', + `transfer_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '调拨类型', PRIMARY KEY (`coil_id`) USING BTREE, INDEX `fk_coil_next_warehouse`(`next_warehouse_id` ASC) USING BTREE, INDEX `fk_coil_qrcode`(`qrcode_record_id` ASC) USING BTREE, @@ -3588,7 +4238,7 @@ CREATE TABLE `wms_material_coil` ( INDEX `idx_mc_coil_id`(`coil_id` ASC) USING BTREE, CONSTRAINT `fk_coil_next_warehouse` FOREIGN KEY (`next_warehouse_id`) REFERENCES `wms_warehouse` (`warehouse_id`) ON DELETE RESTRICT ON UPDATE RESTRICT, CONSTRAINT `fk_coil_qrcode` FOREIGN KEY (`qrcode_record_id`) REFERENCES `wms_generate_record` (`record_id`) ON DELETE RESTRICT ON UPDATE RESTRICT -) ENGINE = InnoDB AUTO_INCREMENT = 2029459114210541571 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '钢卷物料表' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB AUTO_INCREMENT = 2047557666526597123 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '钢卷物料表' ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for wms_meal_report @@ -3612,9 +4262,8 @@ CREATE TABLE `wms_meal_report` ( `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `del_flag` tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标识:0=正常,1=已删', `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', - PRIMARY KEY (`report_id`) USING BTREE, - UNIQUE INDEX `uk_meal_unique`(`report_date` ASC, `meal_type` ASC, `dept_name` ASC) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 2013896950683627522 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '部门报餐主表' ROW_FORMAT = Dynamic; + PRIMARY KEY (`report_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 2047477082278240258 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '部门报餐主表' ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for wms_order @@ -3759,6 +4408,100 @@ CREATE TABLE `wms_payable` ( INDEX `idx_wp_due_status`(`due_date` ASC, `status` ASC) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1955477950484545538 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '应付款管理表(宽松版)' ROW_FORMAT = DYNAMIC; +-- ---------------------------- +-- Table structure for wms_process_plan +-- ---------------------------- +DROP TABLE IF EXISTS `wms_process_plan`; +CREATE TABLE `wms_process_plan` ( + `plan_id` bigint NOT NULL COMMENT '主键', + `version_id` bigint NOT NULL COMMENT '规程版本ID', + `segment_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '段类型(INLET/PROCESS/OUTLET)', + `segment_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '段名称', + `point_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '点位名称', + `point_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '点位编码', + `sort_order` int NOT NULL DEFAULT 0 COMMENT '排序', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `del_flag` tinyint NOT NULL DEFAULT 0 COMMENT '删除标志(0正常2删除)', + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`plan_id`) USING BTREE, + UNIQUE INDEX `uk_plan_version_point_code`(`version_id` ASC, `point_code` ASC) USING BTREE, + INDEX `idx_plan_version`(`version_id` ASC) USING BTREE, + INDEX `idx_plan_sort`(`version_id` ASC, `sort_order` ASC) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '方案点位表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for wms_process_plan_param +-- ---------------------------- +DROP TABLE IF EXISTS `wms_process_plan_param`; +CREATE TABLE `wms_process_plan_param` ( + `param_id` bigint NOT NULL COMMENT '主键', + `plan_id` bigint NOT NULL COMMENT '方案点位ID', + `param_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '参数编码', + `param_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '参数名称', + `target_value` decimal(24, 6) NULL DEFAULT NULL COMMENT '设定值', + `lower_limit` decimal(24, 6) NULL DEFAULT NULL COMMENT '下限', + `upper_limit` decimal(24, 6) NULL DEFAULT NULL COMMENT '上限', + `unit` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '单位', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `del_flag` tinyint NOT NULL DEFAULT 0 COMMENT '删除标志(0正常2删除)', + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`param_id`) USING BTREE, + UNIQUE INDEX `uk_plan_param_code`(`plan_id` ASC, `param_code` ASC) USING BTREE, + INDEX `idx_plan_param_plan`(`plan_id` ASC) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '方案参数表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for wms_process_spec +-- ---------------------------- +DROP TABLE IF EXISTS `wms_process_spec`; +CREATE TABLE `wms_process_spec` ( + `spec_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', + `spec_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '规程编号', + `spec_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '规程名称', + `spec_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT 'PROCESS' COMMENT '类型(PROCESS=工艺规程,STANDARD=标准)', + `line_id` bigint NOT NULL COMMENT '产线ID', + `product_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '产品类型', + `is_enabled` tinyint NOT NULL DEFAULT 1 COMMENT '是否启用(0否1是)', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `del_flag` tinyint NOT NULL DEFAULT 0 COMMENT '删除标志(0正常2删除,与全局逻辑删除配置一致)', + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`spec_id`) USING BTREE, + UNIQUE INDEX `uk_wms_process_spec_code`(`spec_code` ASC) USING BTREE, + INDEX `idx_wms_process_spec_line`(`line_id` ASC) USING BTREE, + INDEX `idx_wms_process_spec_type`(`spec_type` ASC) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '规程主表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for wms_process_spec_version +-- ---------------------------- +DROP TABLE IF EXISTS `wms_process_spec_version`; +CREATE TABLE `wms_process_spec_version` ( + `version_id` bigint NOT NULL COMMENT '主键', + `spec_id` bigint NOT NULL COMMENT '规程主表ID', + `version_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '版本号', + `is_active` tinyint NOT NULL DEFAULT 0 COMMENT '是否当前生效(0否1是)', + `status` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT 'DRAFT' COMMENT '状态(DRAFT草稿/PUBLISHED已发布/OBSOLETE作废等)', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `del_flag` tinyint NOT NULL DEFAULT 0 COMMENT '删除标志(0正常2删除)', + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`version_id`) USING BTREE, + UNIQUE INDEX `uk_spec_version_code`(`spec_id` ASC, `version_code` ASC) USING BTREE, + INDEX `idx_spec_version_spec`(`spec_id` ASC) USING BTREE, + INDEX `idx_spec_version_active`(`spec_id` ASC, `is_active` ASC) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '规程版本表' ROW_FORMAT = Dynamic; + -- ---------------------------- -- Table structure for wms_process_task -- ---------------------------- @@ -3807,8 +4550,8 @@ CREATE TABLE `wms_processe` ( DROP TABLE IF EXISTS `wms_product`; CREATE TABLE `wms_product` ( `product_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID', - `product_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '产品编号', - `product_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '产品名称', + `product_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '产品编号', + `product_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '产品名称', `owner` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '负责人', `base_material_id` bigint NULL DEFAULT NULL COMMENT '基础材质分类ID', `surface_treatment_id` bigint NULL DEFAULT NULL COMMENT '表面处理分类ID', @@ -3817,7 +4560,7 @@ CREATE TABLE `wms_product` ( `thickness` decimal(10, 2) NULL DEFAULT NULL COMMENT '厚度(mm)', `width` decimal(10, 2) NULL DEFAULT NULL COMMENT '宽度(mm)', `inner_diameter` decimal(10, 2) NULL DEFAULT NULL COMMENT '内径(mm)', - `unit` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '单位', + `unit` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '卷' COMMENT '单位', `specification` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '规格', `is_enabled` tinyint(1) NULL DEFAULT 1 COMMENT '是否启用(0=否,1=是)', `del_flag` tinyint(1) NOT NULL DEFAULT 0 COMMENT '删除标志(0=正常,1=已删除)', @@ -3849,7 +4592,7 @@ CREATE TABLE `wms_product` ( CONSTRAINT `fk_prod_cust_req` FOREIGN KEY (`customer_req_id`) REFERENCES `wms_category` (`category_id`) ON DELETE RESTRICT ON UPDATE RESTRICT, CONSTRAINT `fk_prod_packaging` FOREIGN KEY (`packaging_id`) REFERENCES `wms_category` (`category_id`) ON DELETE RESTRICT ON UPDATE RESTRICT, CONSTRAINT `fk_prod_surf_treat` FOREIGN KEY (`surface_treatment_id`) REFERENCES `wms_category` (`category_id`) ON DELETE RESTRICT ON UPDATE RESTRICT -) ENGINE = InnoDB AUTO_INCREMENT = 2029410774244573186 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '产品表' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB AUTO_INCREMENT = 2047528929777152003 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '产品表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Table structure for wms_product_processe @@ -3946,6 +4689,7 @@ CREATE TABLE `wms_production_line` ( `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人', `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人', + `del_flag` int NULL DEFAULT 0 COMMENT '删除标志2删除', PRIMARY KEY (`line_id`) USING BTREE, UNIQUE INDEX `uk_line_code`(`line_code` ASC) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1953348374098071554 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '产线表' ROW_FORMAT = DYNAMIC; @@ -4025,7 +4769,7 @@ CREATE TABLE `wms_raw_material` ( INDEX `idx_rm_zinc`(`zinc_layer` ASC) USING BTREE, FULLTEXT INDEX `idx_rm_ft_name`(`raw_material_name`), FULLTEXT INDEX `idx_rm_ft_specs`(`specification`) -) ENGINE = InnoDB AUTO_INCREMENT = 2029389483215077379 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '原材料表' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB AUTO_INCREMENT = 2047469344819159043 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '原材料表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Table structure for wms_receivable @@ -4073,6 +4817,26 @@ CREATE TABLE `wms_report_detail` ( PRIMARY KEY (`detail_id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1954858755527663618 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '设计项目汇报详情表' ROW_FORMAT = DYNAMIC; +-- ---------------------------- +-- Table structure for wms_report_result_storage +-- ---------------------------- +DROP TABLE IF EXISTS `wms_report_result_storage`; +CREATE TABLE `wms_report_result_storage` ( + `storage_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `report_date` date NOT NULL COMMENT '报表日期(横向对比用)', + `report_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '报表类型(横向对比用)', + `production_line` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '产线类型(横向对比用)', + `report_json` json NULL COMMENT '报表完整JSON数据', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + `del_flag` tinyint(1) NOT NULL DEFAULT 0 COMMENT '删除标志(0=正常,1=已删除)', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人', + PRIMARY KEY (`storage_id`) USING BTREE, + INDEX `idx_report_date_type_line`(`report_date` ASC, `report_type` ASC, `production_line` ASC) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '报表结果存储表(JSON+横向对比专用)' ROW_FORMAT = Dynamic; + -- ---------------------------- -- Table structure for wms_report_summary -- ---------------------------- @@ -4092,6 +4856,115 @@ CREATE TABLE `wms_report_summary` ( PRIMARY KEY (`summary_id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1960882697093197826 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '设计项目汇报概述表' ROW_FORMAT = DYNAMIC; +-- ---------------------------- +-- Table structure for wms_schedule_change_log +-- ---------------------------- +DROP TABLE IF EXISTS `wms_schedule_change_log`; +CREATE TABLE `wms_schedule_change_log` ( + `log_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', + `operation_id` bigint NOT NULL COMMENT '工序排程ID', + `change_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '变更类型:CREATE/UPDATE/DELETE/RESCHEDULE/LOCK/UNLOCK', + `before_value` json NULL COMMENT '变更前快照', + `after_value` json NULL COMMENT '变更后快照', + `change_reason` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '变更原因', + `change_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '变更时间', + `change_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '变更人', + PRIMARY KEY (`log_id`) USING BTREE, + INDEX `idx_scl_operation`(`operation_id` ASC) USING BTREE, + INDEX `idx_scl_time`(`change_time` ASC) USING BTREE, + CONSTRAINT `fk_scl_operation` FOREIGN KEY (`operation_id`) REFERENCES `wms_schedule_operation` (`operation_id`) ON DELETE RESTRICT ON UPDATE RESTRICT +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '排产变更日志' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for wms_schedule_lock +-- ---------------------------- +DROP TABLE IF EXISTS `wms_schedule_lock`; +CREATE TABLE `wms_schedule_lock` ( + `lock_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', + `lock_type` tinyint NOT NULL COMMENT '锁定类型:1计划 2产线+时间窗 3工序记录', + `plan_id` bigint NULL DEFAULT NULL COMMENT '计划ID', + `line_id` bigint NULL DEFAULT NULL COMMENT '产线ID', + `operation_id` bigint NULL DEFAULT NULL COMMENT '工序排程ID', + `lock_start_time` datetime NULL DEFAULT NULL COMMENT '锁定开始时间', + `lock_end_time` datetime NULL DEFAULT NULL COMMENT '锁定结束时间', + `lock_reason` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '锁定原因', + `status` tinyint NOT NULL DEFAULT 1 COMMENT '状态:1生效 0失效', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人', + PRIMARY KEY (`lock_id`) USING BTREE, + INDEX `idx_sl_plan`(`plan_id` ASC) USING BTREE, + INDEX `idx_sl_line_time`(`line_id` ASC, `lock_start_time` ASC, `lock_end_time` ASC) USING BTREE, + INDEX `idx_sl_operation`(`operation_id` ASC) USING BTREE, + CONSTRAINT `fk_sl_line` FOREIGN KEY (`line_id`) REFERENCES `wms_production_line` (`line_id`) ON DELETE RESTRICT ON UPDATE RESTRICT, + CONSTRAINT `fk_sl_operation` FOREIGN KEY (`operation_id`) REFERENCES `wms_schedule_operation` (`operation_id`) ON DELETE RESTRICT ON UPDATE RESTRICT, + CONSTRAINT `fk_sl_plan` FOREIGN KEY (`plan_id`) REFERENCES `wms_schedule_plan` (`plan_id`) ON DELETE RESTRICT ON UPDATE RESTRICT +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '排产锁定表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for wms_schedule_operation +-- ---------------------------- +DROP TABLE IF EXISTS `wms_schedule_operation`; +CREATE TABLE `wms_schedule_operation` ( + `operation_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', + `plan_id` bigint NOT NULL COMMENT '排产计划ID', + `detail_id` bigint NULL DEFAULT NULL COMMENT '排产明细ID', + `order_id` bigint NOT NULL COMMENT '订单ID', + `order_detail_id` bigint NOT NULL COMMENT '订单明细ID', + `product_id` bigint NOT NULL COMMENT '产品ID', + `process_id` bigint NULL DEFAULT NULL COMMENT '工序ID', + `line_id` bigint NOT NULL COMMENT '产线ID', + `sequence_no` int NOT NULL COMMENT '工序顺序', + `plan_qty` decimal(18, 4) NOT NULL COMMENT '计划数量', + `start_time` datetime NOT NULL COMMENT '计划开始时间', + `end_time` datetime NOT NULL COMMENT '计划结束时间', + `setup_minutes` int NOT NULL DEFAULT 0 COMMENT '换型时长', + `status` tinyint NOT NULL DEFAULT 0 COMMENT '状态:0待执行 1执行中 2已完成 3已锁定 4取消', + `locked_flag` tinyint NOT NULL DEFAULT 0 COMMENT '是否锁定:0否 1是', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人', + PRIMARY KEY (`operation_id`) USING BTREE, + INDEX `idx_so_plan`(`plan_id` ASC) USING BTREE, + INDEX `idx_so_line_time`(`line_id` ASC, `start_time` ASC, `end_time` ASC) USING BTREE, + INDEX `idx_so_order_detail`(`order_detail_id` ASC) USING BTREE, + INDEX `idx_so_process`(`process_id` ASC) USING BTREE, + INDEX `fk_so_detail`(`detail_id` ASC) USING BTREE, + INDEX `fk_so_order`(`order_id` ASC) USING BTREE, + INDEX `fk_so_product`(`product_id` ASC) USING BTREE, + CONSTRAINT `fk_so_detail` FOREIGN KEY (`detail_id`) REFERENCES `wms_schedule_plan_detail` (`detail_id`) ON DELETE RESTRICT ON UPDATE RESTRICT, + CONSTRAINT `fk_so_line` FOREIGN KEY (`line_id`) REFERENCES `wms_production_line` (`line_id`) ON DELETE RESTRICT ON UPDATE RESTRICT, + CONSTRAINT `fk_so_order` FOREIGN KEY (`order_id`) REFERENCES `wms_order` (`order_id`) ON DELETE RESTRICT ON UPDATE RESTRICT, + CONSTRAINT `fk_so_order_detail` FOREIGN KEY (`order_detail_id`) REFERENCES `wms_order_detail` (`detail_id`) ON DELETE RESTRICT ON UPDATE RESTRICT, + CONSTRAINT `fk_so_plan` FOREIGN KEY (`plan_id`) REFERENCES `wms_schedule_plan` (`plan_id`) ON DELETE RESTRICT ON UPDATE RESTRICT, + CONSTRAINT `fk_so_process` FOREIGN KEY (`process_id`) REFERENCES `wms_processe` (`process_id`) ON DELETE RESTRICT ON UPDATE RESTRICT, + CONSTRAINT `fk_so_product` FOREIGN KEY (`product_id`) REFERENCES `wms_product` (`product_id`) ON DELETE RESTRICT ON UPDATE RESTRICT +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '工序级排产记录' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for wms_schedule_operation_coil +-- ---------------------------- +DROP TABLE IF EXISTS `wms_schedule_operation_coil`; +CREATE TABLE `wms_schedule_operation_coil` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', + `operation_id` bigint NOT NULL COMMENT '工序排程ID(关联 wms_schedule_operation.operation_id)', + `coil_id` bigint NOT NULL COMMENT '钢卷ID(关联 wms_material_coil.coil_id)', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人', + `del_flag` tinyint(1) NOT NULL DEFAULT 0 COMMENT '删除标志(0=正常,1=已删除)', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_soc_operation`(`operation_id` ASC) USING BTREE, + INDEX `idx_soc_coil`(`coil_id` ASC) USING BTREE, + CONSTRAINT `fk_soc_coil` FOREIGN KEY (`coil_id`) REFERENCES `wms_material_coil` (`coil_id`) ON DELETE RESTRICT ON UPDATE RESTRICT, + CONSTRAINT `fk_soc_operation` FOREIGN KEY (`operation_id`) REFERENCES `wms_schedule_operation` (`operation_id`) ON DELETE RESTRICT ON UPDATE RESTRICT +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '工序排程钢卷关系表' ROW_FORMAT = DYNAMIC; + -- ---------------------------- -- Table structure for wms_schedule_plan -- ---------------------------- @@ -4145,6 +5018,29 @@ CREATE TABLE `wms_schedule_plan_detail` ( CONSTRAINT `fk_schedule_detail_plan` FOREIGN KEY (`plan_id`) REFERENCES `wms_schedule_plan` (`plan_id`) ON DELETE RESTRICT ON UPDATE RESTRICT ) ENGINE = InnoDB AUTO_INCREMENT = 1960266841070575618 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '排产计划明细表' ROW_FORMAT = DYNAMIC; +-- ---------------------------- +-- Table structure for wms_shift_template +-- ---------------------------- +DROP TABLE IF EXISTS `wms_shift_template`; +CREATE TABLE `wms_shift_template` ( + `shift_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', + `shift_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '班次编码', + `shift_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '班次名称', + `start_time` time NOT NULL COMMENT '开始时间', + `end_time` time NOT NULL COMMENT '结束时间', + `cross_day` tinyint NOT NULL DEFAULT 0 COMMENT '是否跨天:0否 1是', + `efficiency_rate` decimal(6, 4) NOT NULL DEFAULT 1.0000 COMMENT '班次效率系数', + `is_enabled` tinyint NOT NULL DEFAULT 1 COMMENT '是否启用:0否 1是', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人', + `del_flag` int NULL DEFAULT 0 COMMENT '删除标志2删除', + PRIMARY KEY (`shift_id`) USING BTREE, + UNIQUE INDEX `uk_shift_code`(`shift_code` ASC) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '班次模板' ROW_FORMAT = DYNAMIC; + -- ---------------------------- -- Table structure for wms_stock -- ---------------------------- @@ -4161,7 +5057,7 @@ CREATE TABLE `wms_stock` ( `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人', PRIMARY KEY (`stock_id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 2029025401261727746 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '库存表:原材料-钢卷-库区的存放关系' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB AUTO_INCREMENT = 2047414866564784130 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '库存表:原材料-钢卷-库区的存放关系' ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for wms_supplier @@ -4182,6 +5078,56 @@ CREATE TABLE `wms_supplier` ( PRIMARY KEY (`supplier_id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1955139407119724547 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '供应商信息表' ROW_FORMAT = DYNAMIC; +-- ---------------------------- +-- Table structure for wms_transfer_order +-- ---------------------------- +DROP TABLE IF EXISTS `wms_transfer_order`; +CREATE TABLE `wms_transfer_order` ( + `order_id` bigint NOT NULL AUTO_INCREMENT COMMENT '调拨单主键ID', + `transfer_no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '调拨单号(唯一,格式:DB+年月日+流水号)', + `transfer_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '调拨单名称', + `transfer_status` tinyint NOT NULL DEFAULT 0 COMMENT '调拨状态 0-待审核 1-已完成 2-已取消', + `transfer_time` datetime NULL DEFAULT NULL COMMENT '实际调拨时间', + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + `del_flag` tinyint NULL DEFAULT 0 COMMENT '删除标记(0正常 1删除)', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人', + `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `transfer_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '调拨类型', + `approve_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '审批人', + `approve_time` datetime NULL DEFAULT NULL COMMENT '审批时间', + `approve_status` tinyint NOT NULL DEFAULT 0 COMMENT '审批状态 0-待审批 1-已通过 2-已驳回', + PRIMARY KEY (`order_id`) USING BTREE, + UNIQUE INDEX `uk_transfer_no`(`transfer_no` ASC) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 2047468857667526658 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '调拨单主表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for wms_transfer_order_item +-- ---------------------------- +DROP TABLE IF EXISTS `wms_transfer_order_item`; +CREATE TABLE `wms_transfer_order_item` ( + `order_item_id` bigint NOT NULL AUTO_INCREMENT COMMENT '调拨明细主键ID', + `transfer_id` bigint NOT NULL COMMENT '关联调拨单ID', + `coil_id` bigint NULL DEFAULT NULL COMMENT '钢卷id', + `item_id_before` bigint NULL DEFAULT NULL COMMENT '调拨前itemId', + `item_id_after` bigint NULL DEFAULT NULL COMMENT '调拨后itemId', + `material_type_before` tinyint NULL DEFAULT NULL COMMENT '修改前物料类型 1-原料 2-成品', + `material_type_after` tinyint NULL DEFAULT NULL COMMENT '修改后物料类型 1-原料 2-成品', + `warehouse_id_before` bigint NULL DEFAULT NULL COMMENT '调拨前逻辑库区ID', + `warehouse_id_after` bigint NULL DEFAULT NULL COMMENT '调拨后逻辑库区ID', + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + `del_flag` tinyint NULL DEFAULT 0 COMMENT '删除标记(0正常 1删除)', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人', + `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `is_transferred` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否已经调拨 0-未调拨 1-已调拨', + PRIMARY KEY (`order_item_id`) USING BTREE, + INDEX `idx_transfer_id`(`transfer_id` ASC) USING BTREE, + INDEX `idx_coil_id`(`coil_id` ASC) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 2047469169971208195 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '调拨单明细表' ROW_FORMAT = Dynamic; + -- ---------------------------- -- Table structure for wms_warehouse -- ---------------------------- @@ -4193,6 +5139,7 @@ CREATE TABLE `wms_warehouse` ( `warehouse_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '仓库/库区名称', `warehouse_type` tinyint NOT NULL DEFAULT 0 COMMENT '类型:0=仓库,1=库区,2=库位,…', `sort_no` int NULL DEFAULT NULL COMMENT '同级排序号', + `use_count` int NOT NULL DEFAULT 0 COMMENT '使用次数(用于排序:使用越多越靠前)', `is_enabled` tinyint(1) NOT NULL DEFAULT 1 COMMENT '是否启用(0=否,1=是)', `del_flag` tinyint(1) NOT NULL DEFAULT 0 COMMENT '删除标志(0=正常,1=已删除)', `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', @@ -4201,8 +5148,9 @@ CREATE TABLE `wms_warehouse` ( `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人', PRIMARY KEY (`warehouse_id`) USING BTREE, - INDEX `idx_wms_wh_parent`(`parent_id` ASC) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 2027614132626063362 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '仓库/库区/库位自关联表' ROW_FORMAT = DYNAMIC; + INDEX `idx_wms_wh_parent`(`parent_id` ASC) USING BTREE, + INDEX `idx_use_count`(`use_count` ASC) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 2035892198703349762 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '仓库/库区/库位自关联表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Table structure for xxl_job_group @@ -4342,191 +5290,4 @@ CREATE TABLE `xxl_job_user` ( UNIQUE INDEX `i_username`(`username` ASC) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC; --- ============================= --- APS 排产补充表(wms_*) --- ============================= - --- 1) 工厂日历 -DROP TABLE IF EXISTS `wms_calendar`; -CREATE TABLE `wms_calendar` ( - `calendar_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', - `calendar_date` date NOT NULL COMMENT '日期', - `calendar_type` tinyint NOT NULL DEFAULT 1 COMMENT '日历类型:1工作日 2周末 3法定假日 4停机日', - `factory_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT 'DEFAULT' COMMENT '工厂编码', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '备注', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '创建人', - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '更新人', - PRIMARY KEY (`calendar_id`) USING BTREE, - UNIQUE KEY `uk_calendar_date_factory` (`calendar_date`,`factory_code`) USING BTREE, - KEY `idx_calendar_type` (`calendar_type`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='工厂日历' ROW_FORMAT=Dynamic; - --- 2) 班次模板 -DROP TABLE IF EXISTS `wms_shift_template`; -CREATE TABLE `wms_shift_template` ( - `shift_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', - `shift_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '班次编码', - `shift_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '班次名称', - `start_time` time NOT NULL COMMENT '开始时间', - `end_time` time NOT NULL COMMENT '结束时间', - `cross_day` tinyint NOT NULL DEFAULT 0 COMMENT '是否跨天:0否 1是', - `efficiency_rate` decimal(6,4) NOT NULL DEFAULT 1.0000 COMMENT '班次效率系数', - `is_enabled` tinyint NOT NULL DEFAULT 1 COMMENT '是否启用:0否 1是', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '备注', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '创建人', - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '更新人', - PRIMARY KEY (`shift_id`) USING BTREE, - UNIQUE KEY `uk_shift_code` (`shift_code`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='班次模板' ROW_FORMAT=Dynamic; - --- 3) 日历班次配置(某天 + 某产线 + 某班次) -DROP TABLE IF EXISTS `wms_calendar_shift`; -CREATE TABLE `wms_calendar_shift` ( - `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', - `calendar_date` date NOT NULL COMMENT '日期', - `line_id` bigint NOT NULL COMMENT '产线ID', - `shift_id` bigint NOT NULL COMMENT '班次ID', - `planned_hours` decimal(8,2) NOT NULL DEFAULT 8.00 COMMENT '计划工时', - `status` tinyint NOT NULL DEFAULT 1 COMMENT '状态:1可排产 2停机', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '备注', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '创建人', - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '更新人', - PRIMARY KEY (`id`) USING BTREE, - UNIQUE KEY `uk_calendar_shift` (`calendar_date`,`line_id`,`shift_id`) USING BTREE, - KEY `idx_cs_line_date` (`line_id`,`calendar_date`) USING BTREE, - KEY `idx_cs_shift` (`shift_id`) USING BTREE, - CONSTRAINT `fk_cs_line` FOREIGN KEY (`line_id`) REFERENCES `wms_production_line` (`line_id`) ON DELETE RESTRICT ON UPDATE RESTRICT, - CONSTRAINT `fk_cs_shift` FOREIGN KEY (`shift_id`) REFERENCES `wms_shift_template` (`shift_id`) ON DELETE RESTRICT ON UPDATE RESTRICT -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='日历班次配置' ROW_FORMAT=Dynamic; - --- 4) 产线能力(支持产品维度 / 工序维度) -DROP TABLE IF EXISTS `wms_line_capability`; -CREATE TABLE `wms_line_capability` ( - `capability_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', - `line_id` bigint NOT NULL COMMENT '产线ID', - `product_id` bigint DEFAULT NULL COMMENT '产品ID,可空(按工序维度时可空)', - `process_id` bigint DEFAULT NULL COMMENT '工序ID,可空(按产品维度时可空)', - `capacity_per_hour` decimal(18,4) NOT NULL COMMENT '每小时产能', - `setup_minutes` int NOT NULL DEFAULT 0 COMMENT '换型准备时间(分钟)', - `priority` int NOT NULL DEFAULT 100 COMMENT '优先级(越小越优先)', - `is_enabled` tinyint NOT NULL DEFAULT 1 COMMENT '是否启用:0否 1是', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '备注', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '创建人', - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '更新人', - PRIMARY KEY (`capability_id`) USING BTREE, - UNIQUE KEY `uk_line_prod_proc` (`line_id`,`product_id`,`process_id`) USING BTREE, - KEY `idx_lc_line` (`line_id`) USING BTREE, - KEY `idx_lc_product` (`product_id`) USING BTREE, - KEY `idx_lc_process` (`process_id`) USING BTREE, - CONSTRAINT `fk_lc_line` FOREIGN KEY (`line_id`) REFERENCES `wms_production_line` (`line_id`) ON DELETE RESTRICT ON UPDATE RESTRICT, - CONSTRAINT `fk_lc_product` FOREIGN KEY (`product_id`) REFERENCES `wms_product` (`product_id`) ON DELETE RESTRICT ON UPDATE RESTRICT, - CONSTRAINT `fk_lc_process` FOREIGN KEY (`process_id`) REFERENCES `wms_processe` (`process_id`) ON DELETE RESTRICT ON UPDATE RESTRICT -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='产线能力(产品/工序可生产关系)' ROW_FORMAT=Dynamic; - --- 5) 工序级排程记录(核心) -DROP TABLE IF EXISTS `wms_schedule_operation`; -CREATE TABLE `wms_schedule_operation` ( - `operation_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', - `plan_id` bigint NOT NULL COMMENT '排产计划ID', - `detail_id` bigint DEFAULT NULL COMMENT '排产明细ID', - `order_id` bigint NOT NULL COMMENT '订单ID', - `order_detail_id` bigint NOT NULL COMMENT '订单明细ID', - `product_id` bigint NOT NULL COMMENT '产品ID', - `process_id` bigint NOT NULL COMMENT '工序ID', - `line_id` bigint NOT NULL COMMENT '产线ID', - `sequence_no` int NOT NULL COMMENT '工序顺序', - `plan_qty` decimal(18,4) NOT NULL COMMENT '计划数量', - `start_time` datetime NOT NULL COMMENT '计划开始时间', - `end_time` datetime NOT NULL COMMENT '计划结束时间', - `setup_minutes` int NOT NULL DEFAULT 0 COMMENT '换型时长', - `status` tinyint NOT NULL DEFAULT 0 COMMENT '状态:0待执行 1执行中 2已完成 3已锁定 4取消', - `locked_flag` tinyint NOT NULL DEFAULT 0 COMMENT '是否锁定:0否 1是', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '备注', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '创建人', - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '更新人', - PRIMARY KEY (`operation_id`) USING BTREE, - KEY `idx_so_plan` (`plan_id`) USING BTREE, - KEY `idx_so_line_time` (`line_id`,`start_time`,`end_time`) USING BTREE, - KEY `idx_so_order_detail` (`order_detail_id`) USING BTREE, - KEY `idx_so_process` (`process_id`) USING BTREE, - CONSTRAINT `fk_so_plan` FOREIGN KEY (`plan_id`) REFERENCES `wms_schedule_plan` (`plan_id`) ON DELETE RESTRICT ON UPDATE RESTRICT, - CONSTRAINT `fk_so_detail` FOREIGN KEY (`detail_id`) REFERENCES `wms_schedule_plan_detail` (`detail_id`) ON DELETE RESTRICT ON UPDATE RESTRICT, - CONSTRAINT `fk_so_order` FOREIGN KEY (`order_id`) REFERENCES `wms_order` (`order_id`) ON DELETE RESTRICT ON UPDATE RESTRICT, - CONSTRAINT `fk_so_order_detail` FOREIGN KEY (`order_detail_id`) REFERENCES `wms_order_detail` (`detail_id`) ON DELETE RESTRICT ON UPDATE RESTRICT, - CONSTRAINT `fk_so_product` FOREIGN KEY (`product_id`) REFERENCES `wms_product` (`product_id`) ON DELETE RESTRICT ON UPDATE RESTRICT, - CONSTRAINT `fk_so_process` FOREIGN KEY (`process_id`) REFERENCES `wms_processe` (`process_id`) ON DELETE RESTRICT ON UPDATE RESTRICT, - CONSTRAINT `fk_so_line` FOREIGN KEY (`line_id`) REFERENCES `wms_production_line` (`line_id`) ON DELETE RESTRICT ON UPDATE RESTRICT -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='工序级排产记录' ROW_FORMAT=Dynamic; - --- 5b) 工序级排程-钢卷关系 -DROP TABLE IF EXISTS `wms_schedule_operation_coil`; -CREATE TABLE `wms_schedule_operation_coil` ( - `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', - `operation_id` bigint NOT NULL COMMENT '工序排程ID(关联 wms_schedule_operation.operation_id)', - `coil_id` bigint NOT NULL COMMENT '钢卷ID(关联 wms_material_coil.coil_id)', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '备注', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '创建人', - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '更新人', - `del_flag` tinyint(1) NOT NULL DEFAULT 0 COMMENT '删除标志(0=正常,1=已删除)', - PRIMARY KEY (`id`) USING BTREE, - KEY `idx_soc_operation` (`operation_id`) USING BTREE, - KEY `idx_soc_coil` (`coil_id`) USING BTREE, - CONSTRAINT `fk_soc_operation` FOREIGN KEY (`operation_id`) REFERENCES `wms_schedule_operation` (`operation_id`) ON DELETE RESTRICT ON UPDATE RESTRICT, - CONSTRAINT `fk_soc_coil` FOREIGN KEY (`coil_id`) REFERENCES `wms_material_coil` (`coil_id`) ON DELETE RESTRICT ON UPDATE RESTRICT -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='工序排程钢卷关系表' ROW_FORMAT=Dynamic; - --- 6) 排产锁定(冻结机制) -DROP TABLE IF EXISTS `wms_schedule_lock`; -CREATE TABLE `wms_schedule_lock` ( - `lock_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', - `lock_type` tinyint NOT NULL COMMENT '锁定类型:1计划 2产线+时间窗 3工序记录', - `plan_id` bigint DEFAULT NULL COMMENT '计划ID', - `line_id` bigint DEFAULT NULL COMMENT '产线ID', - `operation_id` bigint DEFAULT NULL COMMENT '工序排程ID', - `lock_start_time` datetime DEFAULT NULL COMMENT '锁定开始时间', - `lock_end_time` datetime DEFAULT NULL COMMENT '锁定结束时间', - `lock_reason` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '锁定原因', - `status` tinyint NOT NULL DEFAULT 1 COMMENT '状态:1生效 0失效', - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '创建人', - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '更新人', - PRIMARY KEY (`lock_id`) USING BTREE, - KEY `idx_sl_plan` (`plan_id`) USING BTREE, - KEY `idx_sl_line_time` (`line_id`,`lock_start_time`,`lock_end_time`) USING BTREE, - KEY `idx_sl_operation` (`operation_id`) USING BTREE, - CONSTRAINT `fk_sl_plan` FOREIGN KEY (`plan_id`) REFERENCES `wms_schedule_plan` (`plan_id`) ON DELETE RESTRICT ON UPDATE RESTRICT, - CONSTRAINT `fk_sl_line` FOREIGN KEY (`line_id`) REFERENCES `wms_production_line` (`line_id`) ON DELETE RESTRICT ON UPDATE RESTRICT, - CONSTRAINT `fk_sl_operation` FOREIGN KEY (`operation_id`) REFERENCES `wms_schedule_operation` (`operation_id`) ON DELETE RESTRICT ON UPDATE RESTRICT -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='排产锁定表' ROW_FORMAT=Dynamic; - --- 7) 排程变更日志 -DROP TABLE IF EXISTS `wms_schedule_change_log`; -CREATE TABLE `wms_schedule_change_log` ( - `log_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', - `operation_id` bigint NOT NULL COMMENT '工序排程ID', - `change_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '变更类型:CREATE/UPDATE/DELETE/RESCHEDULE/LOCK/UNLOCK', - `before_value` json DEFAULT NULL COMMENT '变更前快照', - `after_value` json DEFAULT NULL COMMENT '变更后快照', - `change_reason` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '变更原因', - `change_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '变更时间', - `change_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '变更人', - PRIMARY KEY (`log_id`) USING BTREE, - KEY `idx_scl_operation` (`operation_id`) USING BTREE, - KEY `idx_scl_time` (`change_time`) USING BTREE, - CONSTRAINT `fk_scl_operation` FOREIGN KEY (`operation_id`) REFERENCES `wms_schedule_operation` (`operation_id`) ON DELETE RESTRICT ON UPDATE RESTRICT -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='排产变更日志' ROW_FORMAT=Dynamic; - SET FOREIGN_KEY_CHECKS = 1;