-- ============================ -- 审计助手模块 - 数据库表结构 -- ============================ -- 数据库: new_ccpm -- 创建时间: 2026-10-22 -- ============================ -- ---------------------------- -- Table structure for audit_task -- ---------------------------- DROP TABLE IF EXISTS `audit_task`; CREATE TABLE `audit_task` ( `id` varchar(64) NOT NULL COMMENT '主键ID', `task_name` varchar(200) DEFAULT NULL COMMENT '任务名称', `project_type` varchar(50) DEFAULT '建设工程' COMMENT '项目类型: 建设工程/市政工程/供电工程/装修工程', `output_type` varchar(20) DEFAULT '审计报告' COMMENT '输出类型: 审计报告/审定单', `status` varchar(20) DEFAULT 'draft' COMMENT '状态: draft-草稿/pending-待处理/processing-处理中/completed-已完成/failed-失败/cancelled-已取消', -- 业务数据 `file_count` int(11) DEFAULT 0 COMMENT '文件数量', `selected_fields` text COMMENT '用户勾选的字段(JSON数组): ["project_name", "contract_amount"]', -- Dify集成 `dify_conversation_id` varchar(100) DEFAULT NULL COMMENT 'Dify会话ID(用于多轮对话)', `dify_user_id` varchar(100) DEFAULT NULL COMMENT 'Dify用户标识(使用当前登录用户名)', -- 结果文件 `result_file_url` varchar(500) DEFAULT NULL COMMENT '生成的报告OSS URL', `result_file_name` varchar(200) DEFAULT NULL COMMENT '报告文件名', -- 过程日志 `process_log` text COMMENT '处理日志(JSON数组)', `error_msg` text COMMENT '错误信息', -- 统计信息 `start_time` datetime DEFAULT NULL COMMENT '开始处理时间', `end_time` datetime DEFAULT NULL COMMENT '完成时间', `duration_seconds` int(11) DEFAULT NULL COMMENT '处理耗时(秒)', -- 权限控制 `office_id` varchar(64) DEFAULT NULL COMMENT '所属部门ID(sys_office.id)', -- JeePlus标准字段 `create_by` varchar(64) DEFAULT NULL COMMENT '创建人ID', `create_date` datetime DEFAULT NULL COMMENT '创建时间', `update_by` varchar(64) DEFAULT NULL COMMENT '更新人ID', `update_date` datetime DEFAULT NULL COMMENT '更新时间', `remarks` varchar(500) DEFAULT NULL COMMENT '备注', `del_flag` char(1) DEFAULT '0' COMMENT '删除标记: 0-正常/1-删除', PRIMARY KEY (`id`), KEY `idx_create_by` (`create_by`), KEY `idx_status` (`status`), KEY `idx_office` (`office_id`), KEY `idx_create_date` (`create_date`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='审计任务表'; -- ---------------------------- -- Table structure for audit_file_extract -- ---------------------------- DROP TABLE IF EXISTS `audit_file_extract`; CREATE TABLE `audit_file_extract` ( `id` varchar(64) NOT NULL COMMENT '主键ID', `task_id` varchar(64) NOT NULL COMMENT '关联任务ID(audit_task.id)', -- 文件元数据 `file_name` varchar(200) DEFAULT NULL COMMENT '原始文件名', `file_url` varchar(500) DEFAULT NULL COMMENT 'OSS文件URL', `file_size` bigint(20) DEFAULT NULL COMMENT '文件大小(字节)', `file_type` varchar(20) DEFAULT NULL COMMENT '文件类型: pdf/docx/xlsx/jpg/png', `file_version` int(11) DEFAULT 1 COMMENT '文件版本(每次替换+1)', `replaced_by` varchar(64) DEFAULT NULL COMMENT '被哪个版本替换(audit_file_extract.id)', -- Dify相关 `dify_file_id` varchar(100) DEFAULT NULL COMMENT 'Dify返回的文件ID', -- 提取结果 `extract_data` json DEFAULT NULL COMMENT '23个审计字段(JSON格式)', `extract_status` varchar(20) DEFAULT 'pending' COMMENT '提取状态: success-成功/failed-失败/pending-待处理', `extract_error` text COMMENT '提取失败原因', -- 编辑追踪 `edit_version` int(11) DEFAULT 1 COMMENT '编辑版本号(每次编辑+1)', `last_edit_by` varchar(64) DEFAULT NULL COMMENT '最后编辑人ID', `last_edit_time` datetime DEFAULT NULL COMMENT '最后编辑时间', -- JeePlus标准字段 `create_by` varchar(64) DEFAULT NULL, `create_date` datetime DEFAULT NULL, `update_by` varchar(64) DEFAULT NULL, `update_date` datetime DEFAULT NULL, `remarks` varchar(500) DEFAULT NULL, `del_flag` char(1) DEFAULT '0', PRIMARY KEY (`id`), KEY `idx_task_id` (`task_id`), KEY `idx_file_version` (`file_version`), KEY `idx_replaced_by` (`replaced_by`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='审计文件提取结果表';