-- =============================================
-- 验车模板与验车记录表
-- 创建时间: 2026-03-13
-- =============================================

-- 验车模板
CREATE TABLE IF NOT EXISTS `asset_inspection_template` (
    `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `code` varchar(50) NOT NULL COMMENT '模板编码',
    `name` varchar(100) NOT NULL COMMENT '模板名称',
    `biz_type` tinyint NOT NULL COMMENT '业务类型（1=备车 2=交车 3=还车）',
    `vehicle_type` varchar(50) DEFAULT NULL COMMENT '车辆类型',
    `status` tinyint DEFAULT 1 COMMENT '状态（0=禁用 1=启用）',
    `remark` varchar(500) DEFAULT NULL COMMENT '备注',
    `creator` varchar(64) DEFAULT '' COMMENT '创建者',
    `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `updater` varchar(64) DEFAULT '' COMMENT '更新者',
    `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
    `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='验车模板';

-- 验车模板检查项
CREATE TABLE IF NOT EXISTS `asset_inspection_template_item` (
    `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `template_id` bigint NOT NULL COMMENT '模板ID',
    `category` varchar(50) NOT NULL COMMENT '分类',
    `item_name` varchar(100) NOT NULL COMMENT '检查项名称',
    `item_code` varchar(50) NOT NULL COMMENT '检查项编码',
    `input_type` varchar(20) DEFAULT 'checkbox' COMMENT '输入类型',
    `sort` int DEFAULT 0 COMMENT '排序',
    `required` tinyint DEFAULT 1 COMMENT '是否必填（0=否 1=是）',
    `creator` varchar(64) DEFAULT '' COMMENT '创建者',
    `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `updater` varchar(64) DEFAULT '' COMMENT '更新者',
    `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
    `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
    PRIMARY KEY (`id`),
    INDEX `idx_template_id` (`template_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='验车模板检查项';

-- 验车记录
CREATE TABLE IF NOT EXISTS `asset_inspection_record` (
    `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `record_code` varchar(50) NOT NULL COMMENT '记录编码',
    `template_id` bigint NOT NULL COMMENT '模板ID',
    `source_type` tinyint NOT NULL COMMENT '来源类型（1=备车 2=交车 3=还车）',
    `source_id` bigint NOT NULL COMMENT '来源ID',
    `vehicle_id` bigint NOT NULL COMMENT '车辆ID',
    `inspector_name` varchar(50) DEFAULT NULL COMMENT '检查人',
    `inspection_time` datetime DEFAULT NULL COMMENT '检查时间',
    `status` tinyint DEFAULT 0 COMMENT '状态（0=待检 1=检查中 2=已完成）',
    `overall_result` tinyint DEFAULT NULL COMMENT '总体结果（1=通过 2=不通过 3=不适用）',
    `remark` varchar(500) DEFAULT NULL COMMENT '备注',
    `cloned_from_id` bigint DEFAULT NULL COMMENT '克隆来源记录ID',
    `creator` varchar(64) DEFAULT '' COMMENT '创建者',
    `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `updater` varchar(64) DEFAULT '' COMMENT '更新者',
    `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
    `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
    PRIMARY KEY (`id`),
    INDEX `idx_vehicle_source` (`vehicle_id`, `source_type`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='验车记录';

-- 验车记录检查项
CREATE TABLE IF NOT EXISTS `asset_inspection_record_item` (
    `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `record_id` bigint NOT NULL COMMENT '记录ID',
    `item_code` varchar(50) NOT NULL COMMENT '检查项编码',
    `category` varchar(50) NOT NULL COMMENT '分类',
    `item_name` varchar(100) NOT NULL COMMENT '检查项名称',
    `input_type` varchar(20) DEFAULT 'checkbox' COMMENT '输入类型',
    `result` tinyint DEFAULT NULL COMMENT '检查结果（1=通过 2=不通过 3=不适用）',
    `value` varchar(200) DEFAULT NULL COMMENT '检查值',
    `remark` varchar(500) DEFAULT NULL COMMENT '备注',
    `image_urls` varchar(2000) DEFAULT NULL COMMENT '图片URL列表',
    `creator` varchar(64) DEFAULT '' COMMENT '创建者',
    `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `updater` varchar(64) DEFAULT '' COMMENT '更新者',
    `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
    `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
    PRIMARY KEY (`id`),
    INDEX `idx_record_id` (`record_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='验车记录检查项';
