-- 先删除旧表（如果存在）
DROP TABLE IF EXISTS fiih_general_data;
DROP TABLE IF EXISTS fiih_general_config;

-- =====================================================
-- 配置表（无必填项，48个通道）
-- =====================================================
CREATE TABLE fiih_general_config (
    id BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    fiih_object_name VARCHAR(50) DEFAULT NULL COMMENT '对象体名称',
    fiih_object_desc VARCHAR(255) DEFAULT NULL COMMENT '对象说明',
    fiih_link_id BIGINT DEFAULT NULL COMMENT '环节ID(单次环节/班次)',
    fiih_link_name VARCHAR(100) DEFAULT NULL COMMENT '环节名称',
    fiih_task_id BIGINT DEFAULT NULL COMMENT '任务ID(总体)',
    fiih_task_name VARCHAR(100) DEFAULT NULL COMMENT '任务名称',
    fiih_version VARCHAR(50) DEFAULT NULL COMMENT '任务版本号',
    fiih_process VARCHAR(50) DEFAULT NULL COMMENT '任务流程记录',
    fiih_status INT DEFAULT 1 COMMENT '任务状态（1进行中 2完成 3作废）',
    fiih_start_time VARCHAR(255) DEFAULT NULL COMMENT '启用期（时间段或文字描述）',
    fiih_end_time DATETIME DEFAULT NULL COMMENT '结束时间',
    fiih_leader_id BIGINT DEFAULT NULL COMMENT '负责人ID',
    fiih_leader_name VARCHAR(50) DEFAULT NULL COMMENT '负责人姓名',
    fiih_approve_id BIGINT DEFAULT NULL COMMENT '批准人ID',
    fiih_approve_name VARCHAR(50) DEFAULT NULL COMMENT '批准人姓名',
    fiih_qr_file VARCHAR(255) DEFAULT NULL COMMENT '二维码路径',
    fiih_overall_layout VARCHAR(255) DEFAULT NULL COMMENT '控件总体布局字符串',
    fiih_rich_text TEXT DEFAULT NULL COMMENT '说明富文本',
    fiih_info_json TEXT DEFAULT NULL COMMENT '信息属性JSON',
    fiih_query_json TEXT DEFAULT NULL COMMENT '查询属性JSON',
    fiih_check_standard TEXT DEFAULT NULL COMMENT '检测标准',
    fiih_check_agency VARCHAR(255) DEFAULT NULL COMMENT '检测机构',
    -- 48个配置通道
    fiih_config_ch0 TEXT DEFAULT NULL COMMENT '分项0属性(JSON)',
    fiih_config_ch1 TEXT DEFAULT NULL COMMENT '分项1属性(JSON)',
    fiih_config_ch2 TEXT DEFAULT NULL COMMENT '分项2属性(JSON)',
    fiih_config_ch3 TEXT DEFAULT NULL COMMENT '分项3属性(JSON)',
    fiih_config_ch4 TEXT DEFAULT NULL COMMENT '分项4属性(JSON)',
    fiih_config_ch5 TEXT DEFAULT NULL COMMENT '分项5属性(JSON)',
    fiih_config_ch6 TEXT DEFAULT NULL COMMENT '分项6属性(JSON)',
    fiih_config_ch7 TEXT DEFAULT NULL COMMENT '分项7属性(JSON)',
    fiih_config_ch8 TEXT DEFAULT NULL COMMENT '分项8属性(JSON)',
    fiih_config_ch9 TEXT DEFAULT NULL COMMENT '分项9属性(JSON)',
    fiih_config_ch10 TEXT DEFAULT NULL COMMENT '分项10属性(JSON)',
    fiih_config_ch11 TEXT DEFAULT NULL COMMENT '分项11属性(JSON)',
    fiih_config_ch12 TEXT DEFAULT NULL COMMENT '分项12属性(JSON)',
    fiih_config_ch13 TEXT DEFAULT NULL COMMENT '分项13属性(JSON)',
    fiih_config_ch14 TEXT DEFAULT NULL COMMENT '分项14属性(JSON)',
    fiih_config_ch15 TEXT DEFAULT NULL COMMENT '分项15属性(JSON)',
    fiih_config_ch16 TEXT DEFAULT NULL COMMENT '分项16属性(JSON)',
    fiih_config_ch17 TEXT DEFAULT NULL COMMENT '分项17属性(JSON)',
    fiih_config_ch18 TEXT DEFAULT NULL COMMENT '分项18属性(JSON)',
    fiih_config_ch19 TEXT DEFAULT NULL COMMENT '分项19属性(JSON)',
    fiih_config_ch20 TEXT DEFAULT NULL COMMENT '分项20属性(JSON)',
    fiih_config_ch21 TEXT DEFAULT NULL COMMENT '分项21属性(JSON)',
    fiih_config_ch22 TEXT DEFAULT NULL COMMENT '分项22属性(JSON)',
    fiih_config_ch23 TEXT DEFAULT NULL COMMENT '分项23属性(JSON)',
    fiih_config_ch24 TEXT DEFAULT NULL COMMENT '分项24属性(JSON)',
    fiih_config_ch25 TEXT DEFAULT NULL COMMENT '分项25属性(JSON)',
    fiih_config_ch26 TEXT DEFAULT NULL COMMENT '分项26属性(JSON)',
    fiih_config_ch27 TEXT DEFAULT NULL COMMENT '分项27属性(JSON)',
    fiih_config_ch28 TEXT DEFAULT NULL COMMENT '分项28属性(JSON)',
    fiih_config_ch29 TEXT DEFAULT NULL COMMENT '分项29属性(JSON)',
    fiih_config_ch30 TEXT DEFAULT NULL COMMENT '分项30属性(JSON)',
    fiih_config_ch31 TEXT DEFAULT NULL COMMENT '分项31属性(JSON)',
    fiih_config_ch32 TEXT DEFAULT NULL COMMENT '分项32属性(JSON)',
    fiih_config_ch33 TEXT DEFAULT NULL COMMENT '分项33属性(JSON)',
    fiih_config_ch34 TEXT DEFAULT NULL COMMENT '分项34属性(JSON)',
    fiih_config_ch35 TEXT DEFAULT NULL COMMENT '分项35属性(JSON)',
    fiih_config_ch36 TEXT DEFAULT NULL COMMENT '分项36属性(JSON)',
    fiih_config_ch37 TEXT DEFAULT NULL COMMENT '分项37属性(JSON)',
    fiih_config_ch38 TEXT DEFAULT NULL COMMENT '分项38属性(JSON)',
    fiih_config_ch39 TEXT DEFAULT NULL COMMENT '分项39属性(JSON)',
    fiih_config_ch40 TEXT DEFAULT NULL COMMENT '分项40属性(JSON)',
    fiih_config_ch41 TEXT DEFAULT NULL COMMENT '分项41属性(JSON)',
    fiih_config_ch42 TEXT DEFAULT NULL COMMENT '分项42属性(JSON)',
    fiih_config_ch43 TEXT DEFAULT NULL COMMENT '分项43属性(JSON)',
    fiih_config_ch44 TEXT DEFAULT NULL COMMENT '分项44属性(JSON)',
    fiih_config_ch45 TEXT DEFAULT NULL COMMENT '分项45属性(JSON)',
    fiih_config_ch46 TEXT DEFAULT NULL COMMENT '分项46属性(JSON)',
    fiih_config_ch47 TEXT DEFAULT NULL COMMENT '分项47属性(JSON)',
    -- 附件
    fiih_file1 VARCHAR(255) DEFAULT NULL COMMENT '附件1（检测依据，GB）',
    fiih_file2 VARCHAR(255) DEFAULT NULL COMMENT '附件2（检测工艺）',
    fiih_file3 VARCHAR(255) DEFAULT NULL COMMENT '附件3（公章）',
    fiih_file4 VARCHAR(255) DEFAULT NULL COMMENT '附件4（检测报告）',
    fiih_file5 VARCHAR(255) DEFAULT NULL COMMENT '附件5（声明或其他）',
    -- 系统字段
    create_by VARCHAR(64) DEFAULT NULL COMMENT '创建人',
    create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    update_by VARCHAR(64) DEFAULT NULL COMMENT '更新人',
    update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    tenant_id BIGINT DEFAULT 1 COMMENT '租户ID',
    PRIMARY KEY (id),
    KEY idx_task_id (fiih_task_id),
    KEY idx_link_id (fiih_link_id),
    KEY idx_tenant_id (tenant_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='FIIH通用质检配置表';

-- =====================================================
-- 数据表（无必填项，48个通道）
-- =====================================================
CREATE TABLE fiih_general_data (
    id BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    config_id BIGINT DEFAULT NULL COMMENT '关联配置ID',
    fiih_report_no VARCHAR(100) DEFAULT NULL COMMENT '报告编号',
    fiih_object_name VARCHAR(50) DEFAULT NULL COMMENT '对象体名称',
    fiih_object_spec VARCHAR(100) DEFAULT NULL COMMENT '对象体规格',
    fiih_link_id BIGINT DEFAULT NULL COMMENT '环节ID',
    fiih_link_name VARCHAR(100) DEFAULT NULL COMMENT '环节名称/工序名称',
    fiih_task_id BIGINT DEFAULT NULL COMMENT '任务ID',
    fiih_task_name VARCHAR(100) DEFAULT NULL COMMENT '任务名称',
    fiih_version VARCHAR(50) DEFAULT NULL COMMENT '任务版本号',
    fiih_process VARCHAR(50) DEFAULT NULL COMMENT '任务流程记录',
    fiih_status INT DEFAULT 1 COMMENT '任务状态（1进行中 2完成 3作废）',
    fiih_production_unit VARCHAR(100) DEFAULT NULL COMMENT '生产单位',
    fiih_sample_time DATETIME DEFAULT NULL COMMENT '取样时间',
    fiih_collect_time DATETIME DEFAULT NULL COMMENT '采集时间/日期',
    fiih_data_json TEXT DEFAULT NULL COMMENT '原始数据JSON',
    fiih_data_analysis TEXT DEFAULT NULL COMMENT '分析结果',
    fiih_data_complex TEXT DEFAULT NULL COMMENT '复杂数据',
    fiih_check_standard TEXT DEFAULT NULL COMMENT '检测标准/检验方法',
    fiih_check_agency VARCHAR(255) DEFAULT NULL COMMENT '检测机构',
    fiih_qc_result VARCHAR(50) DEFAULT NULL COMMENT '质检结论',
    fiih_bad_reason TEXT DEFAULT NULL COMMENT '不良原因/不合格处理方法',
    fiih_related_order_no VARCHAR(100) DEFAULT NULL COMMENT '关联单号',
    fiih_leader_name VARCHAR(50) DEFAULT NULL COMMENT '操作工/负责人姓名',
    -- 48个数据通道
    fiih_data_ch0 VARCHAR(255) DEFAULT NULL COMMENT '数据0(首检)',
    fiih_data_ch1 VARCHAR(255) DEFAULT NULL COMMENT '数据1(巡检第1次)',
    fiih_data_ch2 VARCHAR(255) DEFAULT NULL COMMENT '数据2(巡检第2次)',
    fiih_data_ch3 VARCHAR(255) DEFAULT NULL COMMENT '数据3(巡检第3次)',
    fiih_data_ch4 VARCHAR(255) DEFAULT NULL COMMENT '数据4',
    fiih_data_ch5 VARCHAR(255) DEFAULT NULL COMMENT '数据5',
    fiih_data_ch6 VARCHAR(255) DEFAULT NULL COMMENT '数据6',
    fiih_data_ch7 VARCHAR(255) DEFAULT NULL COMMENT '数据7',
    fiih_data_ch8 VARCHAR(255) DEFAULT NULL COMMENT '数据8',
    fiih_data_ch9 VARCHAR(255) DEFAULT NULL COMMENT '数据9',
    fiih_data_ch10 VARCHAR(255) DEFAULT NULL COMMENT '数据10',
    fiih_data_ch11 VARCHAR(255) DEFAULT NULL COMMENT '数据11',
    fiih_data_ch12 VARCHAR(255) DEFAULT NULL COMMENT '数据12',
    fiih_data_ch13 VARCHAR(255) DEFAULT NULL COMMENT '数据13',
    fiih_data_ch14 VARCHAR(255) DEFAULT NULL COMMENT '数据14',
    fiih_data_ch15 VARCHAR(255) DEFAULT NULL COMMENT '数据15',
    fiih_data_ch16 VARCHAR(255) DEFAULT NULL COMMENT '数据16',
    fiih_data_ch17 VARCHAR(255) DEFAULT NULL COMMENT '数据17',
    fiih_data_ch18 VARCHAR(255) DEFAULT NULL COMMENT '数据18',
    fiih_data_ch19 VARCHAR(255) DEFAULT NULL COMMENT '数据19',
    fiih_data_ch20 VARCHAR(255) DEFAULT NULL COMMENT '数据20',
    fiih_data_ch21 VARCHAR(255) DEFAULT NULL COMMENT '数据21',
    fiih_data_ch22 VARCHAR(255) DEFAULT NULL COMMENT '数据22',
    fiih_data_ch23 VARCHAR(255) DEFAULT NULL COMMENT '数据23',
    fiih_data_ch24 VARCHAR(255) DEFAULT NULL COMMENT '数据24',
    fiih_data_ch25 VARCHAR(255) DEFAULT NULL COMMENT '数据25',
    fiih_data_ch26 VARCHAR(255) DEFAULT NULL COMMENT '数据26',
    fiih_data_ch27 VARCHAR(255) DEFAULT NULL COMMENT '数据27',
    fiih_data_ch28 VARCHAR(255) DEFAULT NULL COMMENT '数据28',
    fiih_data_ch29 VARCHAR(255) DEFAULT NULL COMMENT '数据29',
    fiih_data_ch30 VARCHAR(255) DEFAULT NULL COMMENT '数据30',
    fiih_data_ch31 VARCHAR(255) DEFAULT NULL COMMENT '数据31',
    fiih_data_ch32 VARCHAR(255) DEFAULT NULL COMMENT '数据32',
    fiih_data_ch33 VARCHAR(255) DEFAULT NULL COMMENT '数据33',
    fiih_data_ch34 VARCHAR(255) DEFAULT NULL COMMENT '数据34',
    fiih_data_ch35 VARCHAR(255) DEFAULT NULL COMMENT '数据35',
    fiih_data_ch36 VARCHAR(255) DEFAULT NULL COMMENT '数据36',
    fiih_data_ch37 VARCHAR(255) DEFAULT NULL COMMENT '数据37',
    fiih_data_ch38 VARCHAR(255) DEFAULT NULL COMMENT '数据38',
    fiih_data_ch39 VARCHAR(255) DEFAULT NULL COMMENT '数据39',
    fiih_data_ch40 VARCHAR(255) DEFAULT NULL COMMENT '数据40',
    fiih_data_ch41 VARCHAR(255) DEFAULT NULL COMMENT '数据41',
    fiih_data_ch42 VARCHAR(255) DEFAULT NULL COMMENT '数据42',
    fiih_data_ch43 VARCHAR(255) DEFAULT NULL COMMENT '数据43',
    fiih_data_ch44 VARCHAR(255) DEFAULT NULL COMMENT '数据44',
    fiih_data_ch45 VARCHAR(255) DEFAULT NULL COMMENT '数据45',
    fiih_data_ch46 VARCHAR(255) DEFAULT NULL COMMENT '数据46',
    fiih_data_ch47 VARCHAR(255) DEFAULT NULL COMMENT '数据47',
    -- 其他字段
    fiih_related_report VARCHAR(255) DEFAULT NULL COMMENT '相关报告',
    -- 系统字段
    create_by VARCHAR(64) DEFAULT NULL COMMENT '创建人/检验人员',
    create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    update_by VARCHAR(64) DEFAULT NULL COMMENT '更新人',
    update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    audit_by VARCHAR(64) DEFAULT NULL COMMENT '审核人',
    audit_time DATETIME DEFAULT NULL COMMENT '审核时间',
    tenant_id BIGINT DEFAULT 1 COMMENT '租户ID',
    PRIMARY KEY (id),
    KEY idx_config_id (config_id),
    KEY idx_task_id (fiih_task_id),
    KEY idx_link_id (fiih_link_id),
    KEY idx_collect_time (fiih_collect_time),
    KEY idx_tenant_id (tenant_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='FIIH通用质检数据表';

-- =====================================================
-- 升级脚本（如果表已存在，添加config_id字段）
-- =====================================================
-- ALTER TABLE fiih_general_data ADD COLUMN config_id BIGINT DEFAULT NULL COMMENT '关联配置ID' AFTER id;
-- ALTER TABLE fiih_general_data ADD KEY idx_config_id (config_id);

-- =====================================================
-- 菜单配置
-- =====================================================
-- 插入FIIH通用父菜单（目录）
INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, query, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
VALUES ('FIIH通用', 0, 10, 'fiihgeneral', NULL, NULL, 1, 0, 'M', '0', '0', '', 'form', 'admin', NOW(), '', NULL, 'FIIH通用质检管理');

-- 获取父菜单ID
SET @fiihGeneralParentId = LAST_INSERT_ID();

-- 插入配置管理菜单
INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, query, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
VALUES ('配置管理', @fiihGeneralParentId, 1, 'config', 'mes/fiihgeneral/config', NULL, 1, 0, 'C', '0', '0', 'mes:fiihgeneral:config:list', 'edit', 'admin', NOW(), '', NULL, 'FIIH通用配置管理');

-- 获取配置管理菜单ID
SET @fiihGeneralConfigMenuId = LAST_INSERT_ID();

-- 插入数据页面菜单（隐藏，仅用于路由）
INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, query, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
VALUES ('数据页面', @fiihGeneralParentId, 2, 'data', 'mes/fiihgeneral/index', NULL, 1, 0, 'C', '1', '0', 'mes:fiihgeneral:data:list', 'table', 'admin', NOW(), '', NULL, 'FIIH通用数据页面（隐藏）');

-- 获取数据页面菜单ID
SET @fiihGeneralDataMenuId = LAST_INSERT_ID();

-- 插入配置管理按钮权限
INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, query, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
VALUES 
('配置查询', @fiihGeneralConfigMenuId, 1, '', NULL, NULL, 1, 0, 'F', '0', '0', 'mes:fiihgeneral:config:query', '#', 'admin', NOW(), '', NULL, ''),
('配置新增', @fiihGeneralConfigMenuId, 2, '', NULL, NULL, 1, 0, 'F', '0', '0', 'mes:fiihgeneral:config:add', '#', 'admin', NOW(), '', NULL, ''),
('配置修改', @fiihGeneralConfigMenuId, 3, '', NULL, NULL, 1, 0, 'F', '0', '0', 'mes:fiihgeneral:config:edit', '#', 'admin', NOW(), '', NULL, ''),
('配置删除', @fiihGeneralConfigMenuId, 4, '', NULL, NULL, 1, 0, 'F', '0', '0', 'mes:fiihgeneral:config:remove', '#', 'admin', NOW(), '', NULL, ''),
('配置导出', @fiihGeneralConfigMenuId, 5, '', NULL, NULL, 1, 0, 'F', '0', '0', 'mes:fiihgeneral:config:export', '#', 'admin', NOW(), '', NULL, ''),
('配置导入', @fiihGeneralConfigMenuId, 6, '', NULL, NULL, 1, 0, 'F', '0', '0', 'mes:fiihgeneral:config:import', '#', 'admin', NOW(), '', NULL, ''),
('查看数据', @fiihGeneralConfigMenuId, 7, '', NULL, NULL, 1, 0, 'F', '0', '0', 'mes:fiihgeneral:data:list', '#', 'admin', NOW(), '', NULL, '');

-- 插入数据页面按钮权限
INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, query, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
VALUES 
('数据新增', @fiihGeneralDataMenuId, 1, '', NULL, NULL, 1, 0, 'F', '0', '0', 'mes:fiihgeneral:data:add', '#', 'admin', NOW(), '', NULL, ''),
('数据修改', @fiihGeneralDataMenuId, 2, '', NULL, NULL, 1, 0, 'F', '0', '0', 'mes:fiihgeneral:data:edit', '#', 'admin', NOW(), '', NULL, ''),
('数据删除', @fiihGeneralDataMenuId, 3, '', NULL, NULL, 1, 0, 'F', '0', '0', 'mes:fiihgeneral:data:remove', '#', 'admin', NOW(), '', NULL, ''),
('数据导出', @fiihGeneralDataMenuId, 4, '', NULL, NULL, 1, 0, 'F', '0', '0', 'mes:fiihgeneral:data:export', '#', 'admin', NOW(), '', NULL, ''),
('数据导入', @fiihGeneralDataMenuId, 5, '', NULL, NULL, 1, 0, 'F', '0', '0', 'mes:fiihgeneral:data:import', '#', 'admin', NOW(), '', NULL, '');
