-- 定时自动完成功能 - 数据库表创建脚本 -- 创建日期: 2025-11-01 -- 功能说明: 为工序执行情况表添加定时自动完成功能 -- ============================================= -- 1. 创建定时自动完成配置表 CREATE TABLE IF NOT EXISTS `sys_timed_complete_config` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID', `module_name` varchar(50) NOT NULL COMMENT '模块名称(sale_order/work_order等)', `enabled` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否启用(0=关闭,1=开启)', `day_threshold` int(11) NOT NULL DEFAULT '30' COMMENT '天数阈值', `last_check_time` datetime DEFAULT NULL COMMENT '最后检查时间', `last_execute_time` datetime DEFAULT NULL COMMENT '最后执行时间', `last_execute_count` int(11) DEFAULT '0' COMMENT '最后执行处理数量', `create_by` varchar(64) DEFAULT NULL COMMENT '创建者', `create_time` datetime DEFAULT NULL COMMENT '创建时间', `update_by` varchar(64) DEFAULT NULL COMMENT '更新者', `update_time` datetime DEFAULT NULL COMMENT '更新时间', `remark` varchar(500) DEFAULT NULL COMMENT '备注', PRIMARY KEY (`id`), UNIQUE KEY `uk_module_name` (`module_name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='定时自动完成配置表'; -- 2. 创建定时自动完成执行日志表 CREATE TABLE IF NOT EXISTS `sys_timed_complete_log` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID', `config_id` bigint(20) NOT NULL COMMENT '配置ID', `execute_time` datetime NOT NULL COMMENT '执行时间', `execute_type` varchar(20) NOT NULL COMMENT '执行类型(AUTO=自动, MANUAL=手动)', `total_count` int(11) NOT NULL COMMENT '检查订单总数', `success_count` int(11) NOT NULL COMMENT '成功数量', `fail_count` int(11) NOT NULL COMMENT '失败数量', `execute_duration` int(11) DEFAULT NULL COMMENT '执行耗时(秒)', `execute_result` text COMMENT '执行结果详情(JSON)', `create_by` varchar(64) DEFAULT NULL COMMENT '创建者', `create_time` datetime DEFAULT NULL COMMENT '创建时间', PRIMARY KEY (`id`), KEY `idx_config_id` (`config_id`), KEY `idx_execute_time` (`execute_time`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='定时自动完成执行日志表'; -- 3. 插入默认配置数据(销售订单模块) INSERT INTO `sys_timed_complete_config` (`module_name`, `enabled`, `day_threshold`, `create_by`, `create_time`, `remark`) VALUES ('sale_order', 0, 30, 'admin', NOW(), '销售订单定时自动完成配置(默认关闭)') ON DUPLICATE KEY UPDATE `update_by` = 'admin', `update_time` = NOW(); -- 4. 查询验证 SELECT * FROM sys_timed_complete_config WHERE module_name = 'sale_order'; SELECT COUNT(*) as table_count FROM information_schema.tables WHERE table_schema = DATABASE() AND table_name IN ('sys_timed_complete_config', 'sys_timed_complete_log'); -- ============================================= -- 执行完成提示 -- ============================================= -- 请在MySQL中执行此脚本 -- 执行成功后应该看到: -- 1. sys_timed_complete_config 表已创建 -- 2. sys_timed_complete_log 表已创建 -- 3. 插入了1条默认配置数据 -- =============================================