-- @SAFE -- ============================================================ -- MES2 文件管理工位升级补丁 -- 日期:2026-07-12 -- -- 新增 document_manage 工位: -- - 管理员可以上传/删除文件、打开文件 -- - 操作员只能查看和打开文件 -- ============================================================ -- ============================================================ -- 第1步:确保 document 表存在 -- ============================================================ CREATE TABLE IF NOT EXISTS `DGZXY_document` ( `id` INT AUTO_INCREMENT PRIMARY KEY, `title` VARCHAR(200) NOT NULL COMMENT '文档标题', `doc_no` VARCHAR(100) DEFAULT NULL COMMENT '文档编号', `category` VARCHAR(100) DEFAULT '' COMMENT '分类', `version` VARCHAR(50) DEFAULT '1.0' COMMENT '版本号', `author` VARCHAR(100) DEFAULT '' COMMENT '作者', `department` VARCHAR(100) DEFAULT '' COMMENT '部门', `status` VARCHAR(50) DEFAULT 'active' COMMENT '状态(active/archived)', `keywords` VARCHAR(500) DEFAULT '' COMMENT '关键词', `description` TEXT COMMENT '描述', `file_name` VARCHAR(255) DEFAULT NULL COMMENT '原始文件名', `file_path` VARCHAR(500) DEFAULT NULL COMMENT '文件存储路径', `file_size` BIGINT DEFAULT 0 COMMENT '文件大小(字节)', `file_type` VARCHAR(20) DEFAULT NULL COMMENT '文件扩展名', `operator` VARCHAR(100) DEFAULT '' COMMENT '上传人', `created_at` DATETIME DEFAULT CURRENT_TIMESTAMP, `updated_at` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, INDEX `idx_category` (`category`), INDEX `idx_status` (`status`), INDEX `idx_created_at` (`created_at`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='文档管理表'; -- ============================================================ -- 第2步:在 station_definitions 注册 document_manage 工位 -- ============================================================ INSERT INTO `DGZXY_station_definitions` (`station_type`, `db_table`, `time_column`, `has_product_type`, `has_product_model`, `filter_enabled`, `show_today_count`, `show_total_count`, `extra_config`) VALUES ('document_manage', 'document', 'created_at', 0, 0, 0, 0, 0, '{"is_document_station":true}') ON DUPLICATE KEY UPDATE `db_table`=VALUES(`db_table`), `time_column`=VALUES(`time_column`), `extra_config`=VALUES(`extra_config`); -- ============================================================ -- 第3步:在 workstation 表注册工位(如果尚未存在) -- ============================================================ -- 确保 workstation 表存在 CREATE TABLE IF NOT EXISTS `DGZXY_workstation` ( `id` INT AUTO_INCREMENT PRIMARY KEY, `station_name` VARCHAR(100) NOT NULL COMMENT '工位名称', `station_code` VARCHAR(50) NOT NULL COMMENT '工位编码', `station_type` VARCHAR(50) NOT NULL UNIQUE COMMENT '工位类型标识', `sort_order` INT DEFAULT 0 COMMENT '排序', `status` TINYINT(1) DEFAULT 1 COMMENT '状态(1启用/0禁用)', `fields_config` TEXT COMMENT '字段配置(JSON)', `created_at` DATETIME DEFAULT CURRENT_TIMESTAMP, `updated_at` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, INDEX `idx_station_type` (`station_type`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='工位表'; -- 插入 document_manage 工位 INSERT INTO `DGZXY_workstation` (`station_name`, `station_code`, `station_type`, `sort_order`, `status`, `fields_config`) VALUES ('文件管理', 'DOC', 'document_manage', 8, 1, '[]') ON DUPLICATE KEY UPDATE `station_name`=VALUES(`station_name`), `station_code`=VALUES(`station_code`), `sort_order`=VALUES(`sort_order`);