Files
backend/sql/mysql/asset.sql
时生亮 0a0a8a0b90 feat: 新增 yudao-module-asset 车辆管理模块(独立微服务)
- 10张数据表 DDL(vehicle/licence/insurance/equipment/ext/driver/device/type/model)
- 75个Java文件:DO/VO/Mapper/Service/Controller 完整实现
- AssetServerApplication 独立微服务启动类(端口48084)
- 车辆状态机、VIN/车牌唯一性校验、合同占用校验
- 导入/导出 Excel 功能
- 编译通过
2026-02-26 13:09:45 +08:00

390 lines
22 KiB
SQL
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- =============================================
-- 车辆资产管理模块 DDL
-- =============================================
-- 2.1 asset_vehicle — 车辆主表
DROP TABLE IF EXISTS `asset_vehicle`;
CREATE TABLE `asset_vehicle` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
-- 基本标识
`plate_number` varchar(20) NOT NULL COMMENT '车牌号',
`vin` varchar(50) DEFAULT NULL COMMENT '车架号VIN码',
`vehicle_code` varchar(64) DEFAULT NULL COMMENT '车辆编号',
-- 型号参数
`vehicle_type_id` bigint DEFAULT NULL COMMENT '车辆类型ID关联 asset_vehicle_type',
`vehicle_model_id` bigint DEFAULT NULL COMMENT '车辆型号ID关联 asset_vehicle_model',
`brand` varchar(64) DEFAULT NULL COMMENT '品牌',
`model` varchar(64) DEFAULT NULL COMMENT '型号',
`color` varchar(32) DEFAULT NULL COMMENT '车身颜色',
`engine_no` varchar(64) DEFAULT NULL COMMENT '发动机号/电机编号',
`energy_type` tinyint DEFAULT NULL COMMENT '能源类型',
`seat_count` int DEFAULT NULL COMMENT '座位数',
`load_capacity` decimal(10,2) DEFAULT NULL COMMENT '额定载重(吨)',
-- 运营归属
`province` varchar(32) DEFAULT NULL COMMENT '运营省份',
`city` varchar(32) DEFAULT NULL COMMENT '运营城市',
`parking_id` bigint DEFAULT NULL COMMENT '停车场ID关联 asset_parking',
`parking_position` varchar(128) DEFAULT NULL COMMENT '停车位置',
`owner_company` varchar(128) DEFAULT NULL COMMENT '登记所有权公司',
`ownership_type` tinyint DEFAULT NULL COMMENT '归属类型',
`dept_id` bigint DEFAULT NULL COMMENT '所属部门ID',
-- 采购信息
`purchase_date` date DEFAULT NULL COMMENT '采购入库日期',
`purchase_price` decimal(12,2) DEFAULT NULL COMMENT '购入价格(元)',
`manufacture_year` int DEFAULT NULL COMMENT '出厂年份',
`registration_date` date DEFAULT NULL COMMENT '注册登记日期',
`mandatory_scrap_date` date DEFAULT NULL COMMENT '强制报废期',
-- 里程
`mileage` decimal(12,2) DEFAULT 0.00 COMMENT '当前里程(公里)',
-- 多维状态
`rent_status` tinyint NOT NULL DEFAULT 0 COMMENT '租赁状态',
`operational_status` tinyint NOT NULL DEFAULT 0 COMMENT '运营状态',
`preparation_status` tinyint NOT NULL DEFAULT 0 COMMENT '整备状态',
`repair_status` tinyint NOT NULL DEFAULT 0 COMMENT '维修状态',
`license_status` tinyint NOT NULL DEFAULT 0 COMMENT '证照状态',
`scrap_status` tinyint NOT NULL DEFAULT 0 COMMENT '报废状态',
-- 业务关联(冗余字段加速查询)
`contract_id` bigint DEFAULT NULL COMMENT '当前合同ID',
`contract_no` varchar(64) DEFAULT NULL COMMENT '当前合同编号',
`customer_name` varchar(128) DEFAULT NULL COMMENT '当前客户名称',
-- 交还车快照
`last_delivery_time` datetime DEFAULT NULL COMMENT '最近交车时间',
`last_delivery_mileage` decimal(12,2) DEFAULT NULL COMMENT '最近交车里程',
`last_return_time` datetime DEFAULT NULL COMMENT '最近还车时间',
`last_return_mileage` decimal(12,2) DEFAULT NULL COMMENT '最近还车里程',
-- 评级
`resource_category` varchar(32) DEFAULT NULL COMMENT '资源分类',
`asset_rating` varchar(32) DEFAULT NULL COMMENT '资产评级',
`rating_time` date DEFAULT NULL COMMENT '评级时间',
-- GPS
`current_location` varchar(256) DEFAULT NULL COMMENT 'GPS当前位置',
`longitude` decimal(10,7) DEFAULT NULL COMMENT 'GPS经度',
`latitude` decimal(10,7) DEFAULT NULL COMMENT 'GPS纬度',
`gps_last_time` datetime DEFAULT NULL COMMENT 'GPS最后上报时间',
-- 通用
`status` tinyint NOT NULL DEFAULT 0 COMMENT '状态0正常 1停用',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
-- yudao 标准字段
`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`),
UNIQUE KEY `uk_plate_number` (`plate_number`, `tenant_id`),
UNIQUE KEY `uk_vin` (`vin`, `tenant_id`),
KEY `idx_vehicle_type_id` (`vehicle_type_id`),
KEY `idx_vehicle_model_id` (`vehicle_model_id`),
KEY `idx_rent_status` (`rent_status`),
KEY `idx_dept_id` (`dept_id`),
KEY `idx_parking_id` (`parking_id`),
KEY `idx_contract_id` (`contract_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='车辆主表';
-- 2.2 asset_vehicle_licence — 车辆证照表
DROP TABLE IF EXISTS `asset_vehicle_licence`;
CREATE TABLE `asset_vehicle_licence` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`vehicle_id` bigint NOT NULL COMMENT '车辆ID',
-- 行驶证
`driving_register_date` date DEFAULT NULL COMMENT '行驶证注册日期',
`driving_expire_date` date DEFAULT NULL COMMENT '行驶证有效期',
`driving_scrap_date` date DEFAULT NULL COMMENT '行驶证强制报废日期',
-- 营运证
`operation_num` varchar(64) DEFAULT NULL COMMENT '营运证编号',
`operation_register_date` date DEFAULT NULL COMMENT '营运证注册日期',
`operation_expire_date` date DEFAULT NULL COMMENT '营运证有效期',
`operation_verify_expire_date` date DEFAULT NULL COMMENT '营运证审验有效期',
-- 通行证
`pass_num` varchar(64) DEFAULT NULL COMMENT '通行证编号',
`pass_area` varchar(256) DEFAULT NULL COMMENT '通行区域',
`pass_expire_date` date DEFAULT NULL COMMENT '通行证有效期',
-- 加氢证
`hydrogen_num` varchar(64) DEFAULT NULL COMMENT '加氢证编码',
`hydrogen_check_date` date DEFAULT NULL COMMENT '加氢证检验日期',
`hydrogen_card_num` varchar(64) DEFAULT NULL COMMENT '加氢卡编码',
`hydrogen_expire_date` date DEFAULT NULL COMMENT '加氢证有效期',
-- 氢瓶/安全阀/压力表检验
`hydrogen_cylinder_factory` varchar(128) DEFAULT NULL COMMENT '氢气瓶厂家',
`hydrogen_cylinder_inspect_date` date DEFAULT NULL COMMENT '氢气瓶检验日期',
`hydrogen_cylinder_inspect_cycle` int DEFAULT NULL COMMENT '氢气瓶检验周期(月)',
`hydrogen_cylinder_expire_date` date DEFAULT NULL COMMENT '氢瓶检测有效期',
`safety_valve_inspect_date` date DEFAULT NULL COMMENT '安全阀检验日期',
`safety_valve_inspect_cycle` int DEFAULT NULL COMMENT '安全阀检验周期(月)',
`safety_valve_expire_date` date DEFAULT NULL COMMENT '安全阀检测有效期',
`pressure_gauge_inspect_date` date DEFAULT NULL COMMENT '压力表检验日期',
`pressure_gauge_inspect_cycle` int DEFAULT NULL COMMENT '压力表检验周期(月)',
`pressure_gauge_expire_date` date DEFAULT NULL COMMENT '压力表检测有效期',
-- 年审
`annual_review_expire_date` date DEFAULT NULL COMMENT '年审到期时间',
`rating_date` date DEFAULT NULL COMMENT '等评时间',
-- 附件
`attachment_urls` varchar(1024) DEFAULT NULL COMMENT '证照附件URLJSON数组',
-- yudao 标准字段
`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`),
UNIQUE KEY `uk_vehicle_id` (`vehicle_id`, `tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='车辆证照表';
-- 2.3 asset_vehicle_insurance — 车辆保险表
DROP TABLE IF EXISTS `asset_vehicle_insurance`;
CREATE TABLE `asset_vehicle_insurance` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`vehicle_id` bigint NOT NULL COMMENT '车辆ID',
`insurance_type` tinyint NOT NULL COMMENT '保险类型',
`insurance_company_id` bigint DEFAULT NULL COMMENT '保险公司ID关联 asset_insurance_company',
`insurance_company_name` varchar(128) DEFAULT NULL COMMENT '保险公司名称(冗余)',
`policy_no` varchar(128) DEFAULT NULL COMMENT '保单号',
`third_party_limit` decimal(14,2) DEFAULT NULL COMMENT '第三者责任额度(元)',
`premium` decimal(12,2) DEFAULT NULL COMMENT '保费(元)',
`cost_bearing_org` varchar(128) DEFAULT NULL COMMENT '保费承担公司',
`effective_date` date DEFAULT NULL COMMENT '保单生效日期',
`expire_date` date DEFAULT NULL COMMENT '保单到期日期',
`warranty_attachment` varchar(512) DEFAULT NULL COMMENT '保单附件URL',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
-- yudao 标准字段
`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_vehicle_id` (`vehicle_id`),
KEY `idx_expire_date` (`expire_date`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='车辆保险表';
-- 2.4 asset_vehicle_equipment — 后装设备表
DROP TABLE IF EXISTS `asset_vehicle_equipment`;
CREATE TABLE `asset_vehicle_equipment` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`vehicle_id` bigint NOT NULL COMMENT '车辆ID',
`equipment_type` tinyint NOT NULL COMMENT '设备类型',
`equipment_name` varchar(128) DEFAULT NULL COMMENT '设备名称',
`equipment_no` varchar(128) DEFAULT NULL COMMENT '设备编号',
`supplier_name` varchar(128) DEFAULT NULL COMMENT '供应商',
`install_date` date DEFAULT NULL COMMENT '安装日期',
`expire_date` date DEFAULT NULL COMMENT '到期日期',
`equipment_status` varchar(32) DEFAULT NULL COMMENT '设备状态',
-- 尾板专用字段
`tailboard_model` varchar(64) DEFAULT NULL COMMENT '尾板型号',
`tailboard_no` varchar(64) DEFAULT NULL COMMENT '尾板编号',
`tailboard_weight` decimal(10,2) DEFAULT NULL COMMENT '尾板自重kg',
`tailboard_rated_load` decimal(10,2) DEFAULT NULL COMMENT '尾板额定载荷t',
`tailboard_info` varchar(500) DEFAULT NULL COMMENT '尾板信息',
`certificate_attachment` varchar(512) DEFAULT NULL COMMENT '合格证附件URL',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
-- yudao 标准字段
`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_vehicle_id` (`vehicle_id`),
KEY `idx_equipment_type` (`equipment_type`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='车辆后装设备表';
-- 2.5 asset_vehicle_ext — 车辆扩展信息表
DROP TABLE IF EXISTS `asset_vehicle_ext`;
CREATE TABLE `asset_vehicle_ext` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`vehicle_id` bigint NOT NULL COMMENT '车辆ID',
-- 车身广告
`has_body_advertisement` tinyint DEFAULT 0 COMMENT '是否有车身广告0否 1是',
`advertisement_apply_date` date DEFAULT NULL COMMENT '广告喷涂时间',
`advertisement_remark` varchar(500) DEFAULT NULL COMMENT '广告备注',
`advertisement_photo_urls` varchar(1024) DEFAULT NULL COMMENT '广告照片URLJSON数组',
-- 氢能参数
`hydrogen_capacity` decimal(10,2) DEFAULT NULL COMMENT '氢瓶容量L',
`battery_capacity` decimal(10,2) DEFAULT NULL COMMENT '储电量kWh',
`battery_factory` varchar(128) DEFAULT NULL COMMENT '电池厂家',
`fuel_cell_factory` varchar(128) DEFAULT NULL COMMENT '电堆厂家',
`hydrogen_system_factory` varchar(128) DEFAULT NULL COMMENT '氢系统厂家',
`chiller_factory` varchar(128) DEFAULT NULL COMMENT '冷机厂家',
-- 轮胎
`tire_count` int DEFAULT NULL COMMENT '轮胎数量',
`tire_spec` varchar(64) DEFAULT NULL COMMENT '轮胎规格',
-- 车辆尺寸
`body_length` decimal(10,2) DEFAULT NULL COMMENT '车身长mm',
`body_width` decimal(10,2) DEFAULT NULL COMMENT '车身宽mm',
`body_height` decimal(10,2) DEFAULT NULL COMMENT '车身高mm',
-- 公告信息
`notice_model` varchar(128) DEFAULT NULL COMMENT '公告型号',
`dashboard_mode` varchar(64) DEFAULT NULL COMMENT '仪表盘模式',
-- 租赁来源
`rent_from_company` varchar(128) DEFAULT NULL COMMENT '租赁来源公司',
-- 车辆批次
`vehicle_batch` varchar(64) DEFAULT NULL COMMENT '车辆批次',
-- yudao 标准字段
`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`),
UNIQUE KEY `uk_vehicle_id` (`vehicle_id`, `tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='车辆扩展信息表';
-- 2.6 asset_driver — 司机表
DROP TABLE IF EXISTS `asset_driver`;
CREATE TABLE `asset_driver` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`user_id` bigint DEFAULT NULL COMMENT '关联系统用户ID',
`name` varchar(64) NOT NULL COMMENT '姓名',
`phone` varchar(20) DEFAULT NULL COMMENT '手机号',
`id_card_no` varchar(30) DEFAULT NULL COMMENT '身份证号',
`gender` tinyint DEFAULT NULL COMMENT '性别1男 2女',
`birth_date` date DEFAULT NULL COMMENT '出生日期',
`driver_license_no` varchar(64) DEFAULT NULL COMMENT '驾驶证号',
`driver_license_type` varchar(10) DEFAULT NULL COMMENT '驾驶证类型A1/A2/B1/B2/C1等',
`driver_license_expire` date DEFAULT NULL COMMENT '驾驶证到期日',
`qualification_cert_no` varchar(64) DEFAULT NULL COMMENT '从业资格证号',
`qualification_cert_expire` date DEFAULT NULL COMMENT '从业资格证到期日',
`entry_date` date DEFAULT NULL COMMENT '入职日期',
`leave_date` date DEFAULT NULL COMMENT '离职日期',
`monthly_pay` decimal(10,2) DEFAULT NULL COMMENT '月薪(元)',
`emergency_contact` varchar(64) DEFAULT NULL COMMENT '紧急联系人',
`emergency_phone` varchar(20) DEFAULT NULL COMMENT '紧急联系电话',
`status` tinyint NOT NULL DEFAULT 0 COMMENT '状态0正常 1停用',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
-- yudao 标准字段
`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_user_id` (`user_id`),
KEY `idx_phone` (`phone`),
KEY `idx_id_card_no` (`id_card_no`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='司机信息表';
-- 2.7 asset_driver_vehicle — 司机车辆绑定表
DROP TABLE IF EXISTS `asset_driver_vehicle`;
CREATE TABLE `asset_driver_vehicle` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`driver_id` bigint NOT NULL COMMENT '司机ID',
`vehicle_id` bigint NOT NULL COMMENT '车辆ID',
`plate_number` varchar(20) DEFAULT NULL COMMENT '车牌号(冗余)',
`driver_name` varchar(64) DEFAULT NULL COMMENT '司机姓名(冗余)',
`driver_phone` varchar(20) DEFAULT NULL COMMENT '司机电话(冗余)',
`bind_time` datetime DEFAULT NULL COMMENT '绑定时间',
`unbind_time` datetime DEFAULT NULL COMMENT '解绑时间',
`bind_status` tinyint NOT NULL DEFAULT 1 COMMENT '绑定状态0已解绑 1已绑定',
-- yudao 标准字段
`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_driver_id` (`driver_id`),
KEY `idx_vehicle_id` (`vehicle_id`),
KEY `idx_bind_status` (`bind_status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='司机车辆绑定表';
-- 2.8 asset_device — IoT设备表
DROP TABLE IF EXISTS `asset_device`;
CREATE TABLE `asset_device` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`imei` varchar(64) NOT NULL COMMENT '设备IMEI号',
`name` varchar(128) DEFAULT NULL COMMENT '设备名称',
`type` tinyint NOT NULL COMMENT '设备类型',
`brand` varchar(64) DEFAULT NULL COMMENT '品牌',
`model` varchar(64) DEFAULT NULL COMMENT '型号',
`sim_no` varchar(32) DEFAULT NULL COMMENT 'SIM卡号',
`bind_status` tinyint NOT NULL DEFAULT 0 COMMENT '绑定状态0未绑定 1已绑定',
`vehicle_id` bigint DEFAULT NULL COMMENT '当前绑定车辆ID',
`service_expire_time` date DEFAULT NULL COMMENT '服务到期时间',
`dept_id` bigint DEFAULT NULL COMMENT '所属部门ID',
`status` tinyint NOT NULL DEFAULT 0 COMMENT '状态0正常 1停用',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
-- yudao 标准字段
`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`),
UNIQUE KEY `uk_imei` (`imei`, `tenant_id`),
KEY `idx_type` (`type`),
KEY `idx_bind_status` (`bind_status`),
KEY `idx_vehicle_id` (`vehicle_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='IoT设备表';
-- 2.9 asset_vehicle_type — 车型表
DROP TABLE IF EXISTS `asset_vehicle_type`;
CREATE TABLE `asset_vehicle_type` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`code` varchar(64) NOT NULL COMMENT '类型编码',
`name` varchar(128) NOT NULL COMMENT '类型名称',
`group_name` varchar(128) DEFAULT NULL COMMENT '类型分组',
`sort` int NOT NULL DEFAULT 0 COMMENT '排序',
`status` tinyint NOT NULL DEFAULT 0 COMMENT '状态0正常 1停用',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
-- yudao 标准字段
`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`),
UNIQUE KEY `uk_code` (`code`, `tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='车辆类型表';
-- 2.10 asset_vehicle_model — 车辆型号参数表
DROP TABLE IF EXISTS `asset_vehicle_model`;
CREATE TABLE `asset_vehicle_model` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`brand_name` varchar(64) NOT NULL COMMENT '品牌名',
`model_name` varchar(64) NOT NULL COMMENT '型号名',
`vehicle_type` varchar(64) DEFAULT NULL COMMENT '车辆类型',
`fuel_type` varchar(32) DEFAULT NULL COMMENT '燃料种类',
`plate_color` tinyint DEFAULT NULL COMMENT '车牌颜色0绿 1黄 2黄绿',
-- 尺寸
`body_length` decimal(10,2) DEFAULT NULL COMMENT '车身长mm',
`body_width` decimal(10,2) DEFAULT NULL COMMENT '车身宽mm',
`body_height` decimal(10,2) DEFAULT NULL COMMENT '车身高mm',
-- 轮胎
`tire_count` int DEFAULT NULL COMMENT '轮胎数量',
`tire_spec` varchar(64) DEFAULT NULL COMMENT '轮胎规格',
-- 电池
`battery_type` tinyint DEFAULT NULL COMMENT '电池类型0磷酸铁锂 1三元锂',
`battery_maker` varchar(128) DEFAULT NULL COMMENT '电池厂家',
`battery_capacity` decimal(10,2) DEFAULT NULL COMMENT '储电量kWh',
`electric_range` decimal(10,2) DEFAULT NULL COMMENT '纯电续航KM',
-- 氢能
`hydrogen_capacity` decimal(10,2) DEFAULT NULL COMMENT '氢箱容量L',
`hydrogen_range` decimal(10,2) DEFAULT NULL COMMENT '氢续航KM',
`hydrogen_system_maker` varchar(128) DEFAULT NULL COMMENT '氢系统厂家',
`fuel_cell_maker` varchar(128) DEFAULT NULL COMMENT '电堆厂家',
-- 其他
`chiller_maker` varchar(128) DEFAULT NULL COMMENT '冷机厂家',
`dashboard_mode` varchar(64) DEFAULT NULL COMMENT '仪表盘模式',
`notice_model` varchar(128) DEFAULT NULL COMMENT '公告型号',
`status` tinyint NOT NULL DEFAULT 0 COMMENT '状态0正常 1停用',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
-- yudao 标准字段
`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_brand_model` (`brand_name`, `model_name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='车辆型号参数表';