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 功能
- 编译通过
This commit is contained in:
时生亮
2026-02-26 13:09:45 +08:00
parent b8a213849c
commit 0a0a8a0b90
83 changed files with 5045 additions and 0 deletions

389
sql/mysql/asset.sql Normal file
View File

@@ -0,0 +1,389 @@
-- =============================================
-- 车辆资产管理模块 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='车辆型号参数表';