-- 合同管理补充表（合同被授权人、变更历史、附件、车辆服务项目）

-- 3. 合同被授权人表
CREATE TABLE IF NOT EXISTS `asset_contract_authorized` (
    `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `contract_id` BIGINT NOT NULL COMMENT '合同ID',
    `name` VARCHAR(100) NOT NULL COMMENT '姓名',
    `phone` VARCHAR(20) COMMENT '电话',
    `id_card` VARCHAR(30) 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`),
    KEY `idx_contract_id` (`contract_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='合同被授权人表';

-- 4. 合同变更历史表
CREATE TABLE IF NOT EXISTS `asset_contract_change_history` (
    `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `contract_id` BIGINT NOT NULL COMMENT '合同ID',
    `change_type` VARCHAR(50) NOT NULL COMMENT '变更类型',
    `change_content` TEXT COMMENT '变更内容',
    `operator` VARCHAR(64) COMMENT '操作人',
    `operate_time` DATETIME 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`),
    KEY `idx_contract_id` (`contract_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='合同变更历史表';

-- 5. 合同附件表
CREATE TABLE IF NOT EXISTS `asset_contract_attachment` (
    `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `contract_id` BIGINT NOT NULL COMMENT '合同ID',
    `attachment_type` INT COMMENT '附件类型（1=合同原件 2=盖章合同）',
    `file_id` BIGINT COMMENT '文件ID',
    `file_name` VARCHAR(255) COMMENT '文件名称',
    `file_url` VARCHAR(500) COMMENT '文件URL',
    `file_size` BIGINT COMMENT '文件大小（字节）',
    `upload_time` DATETIME COMMENT '上传时间',
    `uploader` VARCHAR(64) 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`),
    KEY `idx_contract_id` (`contract_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='合同附件表';

-- 6. 合同车辆服务项目表
CREATE TABLE IF NOT EXISTS `asset_contract_vehicle_service` (
    `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `contract_vehicle_id` BIGINT NOT NULL COMMENT '合同车辆ID',
    `service_name` VARCHAR(200) NOT NULL COMMENT '服务项目名称',
    `service_fee` DECIMAL(10,2) COMMENT '服务费用（元）',
    `effective_date` DATE 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`),
    KEY `idx_contract_vehicle_id` (`contract_vehicle_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='合同车辆服务项目表';
