Files
oneos-backend/sql/rebuild/asset_ddl.sql
kkfluous 2f38a703f9 refactor(energy): 简化事件驱动系统(7个→3个)
- 删除旧事件:BillApprovedEvent, BillCreatedEvent, DeductionCompletedEvent, DetailAuditedEvent, DetailCreatedEvent, RecordMatchedEvent
- 新增事件:BillAuditPassedEvent, DetailAuditPassedEvent
- 保留事件:RecordImportedEvent
- 更新监听器:AccountEventListener, BillEventListener, DetailEventListener
- 清理代码中的旧事件引用和注释

优化原则:前端简单,后端健壮
事件流程:导入→匹配→生成明细→审核→扣款→生成账单→结算
2026-03-16 12:53:14 +08:00

837 lines
48 KiB
SQL

-- ============================================================
-- Asset Module DDL - Generated from DO classes
-- Database: oneos_asset
-- Generated: 2026-03-16
-- ============================================================
-- 1. asset_parking (停车场)
DROP TABLE IF EXISTS `asset_parking`;
CREATE TABLE `asset_parking` (
`id` bigint NOT NULL AUTO_INCREMENT,
`tenant_id` bigint NOT NULL DEFAULT 1 COMMENT ,
`name` varchar(255) DEFAULT NULL COMMENT '停车场名称',
`capacity` int DEFAULT NULL COMMENT '容量',
`manager_name` varchar(255) DEFAULT NULL COMMENT '管理员姓名',
`manager_phone` varchar(64) DEFAULT NULL COMMENT '管理员电话',
`contact_name` varchar(255) DEFAULT NULL COMMENT '联系人姓名',
`contact_phone` varchar(64) DEFAULT NULL COMMENT '联系人电话',
`parked_amount` int DEFAULT NULL COMMENT '已停数量',
`province` varchar(64) DEFAULT NULL COMMENT '省份',
`city` varchar(64) DEFAULT NULL COMMENT '城市',
`address` varchar(500) DEFAULT NULL COMMENT '详细地址',
`longitude` varchar(32) DEFAULT NULL COMMENT '经度',
`latitude` varchar(32) DEFAULT NULL COMMENT '纬度',
`lease_start_date` date DEFAULT NULL COMMENT '租赁开始日期',
`lease_end_date` date DEFAULT NULL COMMENT '租赁结束日期',
`rent_fee` decimal(18,2) DEFAULT NULL COMMENT '租金',
`contract_file_url` varchar(500) 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 '是否删除',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='停车场';
-- 2. asset_vehicle_model (车型参数)
DROP TABLE IF EXISTS `asset_vehicle_model`;
CREATE TABLE `asset_vehicle_model` (
`id` bigint NOT NULL AUTO_INCREMENT,
`tenant_id` bigint NOT NULL DEFAULT 1 COMMENT ,
`brand` varchar(128) DEFAULT NULL COMMENT '品牌',
`model` varchar(128) DEFAULT NULL COMMENT '型号',
`vehicle_type` varchar(64) DEFAULT NULL COMMENT '车辆类型',
`model_label` varchar(128) DEFAULT NULL COMMENT '车型标签',
`fuel_type` varchar(64) DEFAULT NULL COMMENT '燃料类型',
`plate_color` varchar(32) DEFAULT NULL COMMENT '车牌颜色',
`truck_size_x` varchar(32) DEFAULT NULL COMMENT '货箱尺寸X',
`truck_size_y` varchar(32) DEFAULT NULL COMMENT '货箱尺寸Y',
`truck_size_z` varchar(32) DEFAULT NULL COMMENT '货箱尺寸Z',
`tire_size` varchar(64) DEFAULT NULL COMMENT '轮胎尺寸',
`tire_number` int DEFAULT NULL COMMENT '轮胎数量',
`battery_type` varchar(64) DEFAULT NULL COMMENT '电池类型',
`battery_factory` varchar(128) DEFAULT NULL COMMENT '电池厂家',
`reserve_electricity` decimal(18,2) DEFAULT NULL COMMENT '储备电量',
`electricity_mileage` int DEFAULT NULL COMMENT '纯电续航里程',
`hydrogen_capacity` int DEFAULT NULL COMMENT '储氢容量',
`hydrogen_factory` varchar(128) DEFAULT NULL COMMENT '氢系统厂家',
`hydrogen_unit` varchar(32) DEFAULT NULL COMMENT '氢气单位',
`hydrogen_mileage` int DEFAULT NULL COMMENT '氢续航里程',
`refrigerator_factory` varchar(128) DEFAULT NULL COMMENT '冷机厂家',
`online_spread_enterprise` varchar(255) 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 '是否删除',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='车型参数';
-- 3. asset_vehicle_model_maintain_item (车型保养项目)
DROP TABLE IF EXISTS `asset_vehicle_model_maintain_item`;
CREATE TABLE `asset_vehicle_model_maintain_item` (
`id` bigint NOT NULL AUTO_INCREMENT,
`tenant_id` bigint NOT NULL DEFAULT 1 COMMENT ,
`vehicle_model_id` bigint DEFAULT NULL COMMENT '车型ID',
`maintain_item` varchar(255) DEFAULT NULL COMMENT '保养项目',
`kilometer_cycle` int DEFAULT NULL COMMENT '公里周期',
`time_cycle` int DEFAULT NULL COMMENT '时间周期(月)',
`hour_fee` decimal(18,2) DEFAULT NULL COMMENT '工时费',
`material_fee` decimal(18,2) DEFAULT NULL COMMENT '材料费',
`total_fee` decimal(18,2) 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 '是否删除',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='车型保养项目';
-- 4. asset_vehicle_base (车辆基础信息)
DROP TABLE IF EXISTS `asset_vehicle_base`;
CREATE TABLE `asset_vehicle_base` (
`id` bigint NOT NULL AUTO_INCREMENT,
`tenant_id` bigint NOT NULL DEFAULT 1 COMMENT ,
`vin` varchar(64) DEFAULT NULL COMMENT 'VIN码',
`plate_no` varchar(32) DEFAULT NULL COMMENT '车牌号',
`vehicle_no` varchar(64) DEFAULT NULL COMMENT '车辆编号',
`vehicle_model_id` bigint DEFAULT NULL COMMENT '车型ID',
`region_province` varchar(64) DEFAULT NULL COMMENT '所属省份',
`region_city` varchar(64) DEFAULT NULL COMMENT '所属城市',
`engine_no` varchar(64) DEFAULT NULL COMMENT '发动机号',
`register_date` date DEFAULT NULL COMMENT '注册日期',
`purchase_date` date DEFAULT NULL COMMENT '购买日期',
`purchase_price` decimal(18,2) DEFAULT NULL COMMENT '购买价格',
`color` varchar(32) DEFAULT NULL COMMENT '颜色',
`year` varchar(16) DEFAULT NULL COMMENT '年款',
`mileage` int DEFAULT NULL COMMENT '里程数',
`inspect_expire` varchar(32) DEFAULT NULL COMMENT '年检到期',
`scrap_date` date 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 '是否删除',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_vin` (`vin`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='车辆基础信息';
-- 5. asset_vehicle_location (车辆位置信息)
DROP TABLE IF EXISTS `asset_vehicle_location`;
CREATE TABLE `asset_vehicle_location` (
`id` bigint NOT NULL AUTO_INCREMENT,
`tenant_id` bigint NOT NULL DEFAULT 1 COMMENT ,
`vehicle_id` bigint DEFAULT NULL COMMENT '车辆ID',
`parking_id` bigint DEFAULT NULL COMMENT '停车场ID',
`parking_name` varchar(255) DEFAULT NULL COMMENT '停车场名称',
`parking_space` varchar(64) DEFAULT NULL COMMENT '车位号',
`location` varchar(500) DEFAULT NULL COMMENT '位置描述',
`latitude` decimal(18,8) DEFAULT NULL COMMENT '纬度',
`longitude` decimal(18,8) DEFAULT NULL COMMENT '经度',
`gps_time` datetime DEFAULT NULL COMMENT 'GPS时间',
`entry_time` datetime DEFAULT NULL COMMENT '进场时间',
`exit_time` datetime 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 '是否删除',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_vehicle_id` (`vehicle_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='车辆位置信息';
-- 6. asset_vehicle_business (车辆业务信息)
DROP TABLE IF EXISTS `asset_vehicle_business`;
CREATE TABLE `asset_vehicle_business` (
`id` bigint NOT NULL AUTO_INCREMENT,
`tenant_id` bigint NOT NULL DEFAULT 1 COMMENT ,
`vehicle_id` bigint DEFAULT NULL COMMENT '车辆ID',
`customer_id` bigint DEFAULT NULL COMMENT '客户ID',
`department_id` bigint DEFAULT NULL COMMENT '部门ID',
`manager_id` bigint DEFAULT NULL COMMENT '管理人ID',
`contract_id` bigint DEFAULT NULL COMMENT '合同ID',
`ownership` varchar(64) DEFAULT NULL COMMENT '产权归属',
`delivery_date` date DEFAULT NULL COMMENT '交车日期',
`return_date` date DEFAULT NULL COMMENT '还车日期',
`monthly_rent` decimal(18,2) DEFAULT NULL COMMENT '月租金',
`deposit` decimal(18,2) 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 '是否删除',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_vehicle_id` (`vehicle_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='车辆业务信息';
-- 7. asset_vehicle_status (车辆状态信息)
DROP TABLE IF EXISTS `asset_vehicle_status`;
CREATE TABLE `asset_vehicle_status` (
`id` bigint NOT NULL AUTO_INCREMENT,
`tenant_id` bigint NOT NULL DEFAULT 1 COMMENT ,
`vehicle_id` bigint DEFAULT NULL COMMENT '车辆ID',
`status` int DEFAULT NULL COMMENT '车辆状态',
`operate_status` int DEFAULT NULL COMMENT '运营状态',
`storage_status` int DEFAULT NULL COMMENT '仓储状态',
`out_status` int DEFAULT NULL COMMENT '出库状态',
`preempt_status` int DEFAULT NULL COMMENT '占用状态',
`prepare_status` int DEFAULT NULL COMMENT '备车状态',
`transfer_status` int DEFAULT NULL COMMENT '调拨状态',
`repair_status` int DEFAULT NULL COMMENT '维修状态',
`license_status` int DEFAULT NULL COMMENT '牌照状态',
`scrap_status` int DEFAULT NULL COMMENT '报废状态',
`online_status` int DEFAULT NULL COMMENT '在线状态',
`is_prepared` bit(1) DEFAULT NULL COMMENT '是否已备车',
`is_delivered` bit(1) DEFAULT NULL COMMENT '是否已交车',
`is_returned` bit(1) DEFAULT NULL COMMENT '是否已还车',
`last_maintain_date` date DEFAULT NULL COMMENT '上次保养日期',
`next_maintain_date` date DEFAULT NULL COMMENT '下次保养日期',
`last_inspect_date` date DEFAULT NULL COMMENT '上次年检日期',
`next_inspect_date` date DEFAULT NULL COMMENT '下次年检日期',
`insurance_expire_date` date 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 '是否删除',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_vehicle_id` (`vehicle_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='车辆状态信息';
-- 8. asset_customer (客户)
DROP TABLE IF EXISTS `asset_customer`;
CREATE TABLE `asset_customer` (
`id` bigint NOT NULL AUTO_INCREMENT,
`tenant_id` bigint NOT NULL DEFAULT 1 COMMENT ,
`customer_code` varchar(64) DEFAULT NULL COMMENT '客户编码',
`coop_status` varchar(32) DEFAULT NULL COMMENT '合作状态',
`customer_name` varchar(255) DEFAULT NULL COMMENT '客户名称',
`province` varchar(64) DEFAULT NULL COMMENT '省份',
`city` varchar(64) DEFAULT NULL COMMENT '城市',
`address` varchar(500) DEFAULT NULL COMMENT '地址',
`region` varchar(64) DEFAULT NULL COMMENT '区域',
`contact` varchar(64) DEFAULT NULL COMMENT '联系人',
`contact_mobile` varchar(32) DEFAULT NULL COMMENT '联系手机',
`contact_phone` varchar(32) DEFAULT NULL COMMENT '联系电话',
`email` varchar(128) DEFAULT NULL COMMENT '邮箱',
`credit_code_or_id` varchar(64) DEFAULT NULL COMMENT '统一社会信用代码/身份证',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`tax_id` varchar(64) DEFAULT NULL COMMENT '税号',
`invoice_address` varchar(500) DEFAULT NULL COMMENT '开票地址',
`invoice_phone` varchar(32) DEFAULT NULL COMMENT '开票电话',
`account` varchar(64) DEFAULT NULL COMMENT '银行账号',
`opening_bank` varchar(255) DEFAULT NULL COMMENT '开户行',
`mailing_address` 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 '是否删除',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='客户';
-- 9. asset_customer_business_manager (客户商务经理)
DROP TABLE IF EXISTS `asset_customer_business_manager`;
CREATE TABLE `asset_customer_business_manager` (
`id` bigint NOT NULL AUTO_INCREMENT,
`tenant_id` bigint NOT NULL DEFAULT 1 COMMENT ,
`customer_id` bigint DEFAULT NULL COMMENT '客户ID',
`business_manager_name` varchar(64) 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 '是否删除',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='客户商务经理';
-- 10. asset_supplier (供应商)
DROP TABLE IF EXISTS `asset_supplier`;
CREATE TABLE `asset_supplier` (
`id` bigint NOT NULL AUTO_INCREMENT,
`tenant_id` bigint NOT NULL DEFAULT 1 COMMENT ,
`supplier_code` varchar(64) DEFAULT NULL COMMENT '供应商编码',
`coop_status` varchar(32) DEFAULT NULL COMMENT '合作状态',
`supplier_name` varchar(255) DEFAULT NULL COMMENT '供应商名称',
`type` varchar(64) DEFAULT NULL COMMENT '类型',
`province` varchar(64) DEFAULT NULL COMMENT '省份',
`city` varchar(64) DEFAULT NULL COMMENT '城市',
`address` varchar(500) DEFAULT NULL COMMENT '地址',
`region` varchar(64) DEFAULT NULL COMMENT '区域',
`contact` varchar(64) DEFAULT NULL COMMENT '联系人',
`contact_mobile` varchar(32) DEFAULT NULL COMMENT '联系手机',
`contact_phone` varchar(32) DEFAULT NULL COMMENT '联系电话',
`email` varchar(128) DEFAULT NULL COMMENT '邮箱',
`credit_code_or_id` varchar(64) DEFAULT NULL COMMENT '统一社会信用代码',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`tax_id` varchar(64) DEFAULT NULL COMMENT '税号',
`invoice_address` varchar(500) DEFAULT NULL COMMENT '开票地址',
`invoice_phone` varchar(32) DEFAULT NULL COMMENT '开票电话',
`account` varchar(64) DEFAULT NULL COMMENT '银行账号',
`opening_bank` varchar(255) DEFAULT NULL COMMENT '开户行',
`mailing_address` 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 '是否删除',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='供应商';
-- 11. asset_vehicle_registration (车辆行驶证)
DROP TABLE IF EXISTS `asset_vehicle_registration`;
CREATE TABLE `asset_vehicle_registration` (
`id` bigint NOT NULL AUTO_INCREMENT,
`tenant_id` bigint NOT NULL DEFAULT 1 COMMENT ,
`vehicle_id` bigint DEFAULT NULL COMMENT '车辆ID',
`vin` varchar(64) DEFAULT NULL COMMENT 'VIN码',
`plate_no` varchar(32) DEFAULT NULL COMMENT '车牌号',
`plate_date` date DEFAULT NULL COMMENT '上牌日期',
`operator` varchar(64) DEFAULT NULL COMMENT '经办人',
`recognized_brand` varchar(128) DEFAULT NULL COMMENT '识别品牌',
`recognized_model` varchar(128) DEFAULT NULL COMMENT '识别型号',
`vehicle_type` varchar(64) DEFAULT NULL COMMENT '车辆类型',
`owner` varchar(255) DEFAULT NULL COMMENT '所有人',
`use_character` varchar(64) DEFAULT NULL COMMENT '使用性质',
`engine_no` varchar(64) DEFAULT NULL COMMENT '发动机号',
`register_date` date DEFAULT NULL COMMENT '注册日期',
`issue_date` date DEFAULT NULL COMMENT '发证日期',
`inspection_record` varchar(500) DEFAULT NULL COMMENT '检验记录',
`scrap_date` date DEFAULT NULL COMMENT '报废日期',
`curb_weight` varchar(32) DEFAULT NULL COMMENT '整备质量',
`total_mass` varchar(32) DEFAULT NULL COMMENT '总质量',
`approved_passenger_capacity` varchar(32) DEFAULT NULL COMMENT '核定载客',
`vehicle_model_id` bigint DEFAULT NULL COMMENT '车型ID',
`match_confidence` decimal(5,2) DEFAULT NULL COMMENT '匹配置信度',
`match_method` varchar(32) DEFAULT NULL COMMENT '匹配方式',
`photo_url` varchar(500) DEFAULT NULL COMMENT '照片URL',
`photo_size` int DEFAULT NULL COMMENT '照片大小',
`ocr_provider` varchar(64) DEFAULT NULL COMMENT 'OCR提供商',
`ocr_cost_time` int DEFAULT NULL COMMENT 'OCR耗时(ms)',
`ocr_raw_result` text COMMENT 'OCR原始结果',
`status` int DEFAULT NULL COMMENT '状态',
`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 '是否删除',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='车辆行驶证';
-- 12. asset_contract (合同)
DROP TABLE IF EXISTS `asset_contract`;
CREATE TABLE `asset_contract` (
`id` bigint NOT NULL AUTO_INCREMENT,
`tenant_id` bigint NOT NULL DEFAULT 1 COMMENT ,
`contract_code` varchar(64) DEFAULT NULL COMMENT '合同编号',
`contract_type` int DEFAULT NULL COMMENT '合同类型',
`project_name` varchar(255) DEFAULT NULL COMMENT '项目名称',
`start_date` date DEFAULT NULL COMMENT '开始日期',
`end_date` date DEFAULT NULL COMMENT '结束日期',
`payment_method` varchar(64) DEFAULT NULL COMMENT '付款方式',
`payment_cycle` varchar(64) DEFAULT NULL COMMENT '付款周期',
`signing_company` varchar(255) DEFAULT NULL COMMENT '签约公司',
`delivery_province` varchar(64) DEFAULT NULL COMMENT '交付省份',
`delivery_city` varchar(64) DEFAULT NULL COMMENT '交付城市',
`delivery_location` varchar(500) DEFAULT NULL COMMENT '交付地点',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`customer_id` bigint DEFAULT NULL COMMENT '客户ID',
`customer_name` varchar(255) DEFAULT NULL COMMENT '客户名称',
`third_party_enabled` bit(1) DEFAULT NULL COMMENT '是否启用第三方',
`third_party_customer_id` bigint DEFAULT NULL COMMENT '第三方客户ID',
`third_party_name` varchar(255) DEFAULT NULL COMMENT '第三方名称',
`business_dept_id` bigint DEFAULT NULL COMMENT '商务部门ID',
`business_manager_id` bigint DEFAULT NULL COMMENT '商务经理ID',
`approval_status` int DEFAULT NULL COMMENT '审批状态',
`bpm_instance_id` varchar(64) DEFAULT NULL COMMENT '流程实例ID',
`contract_status` int DEFAULT NULL COMMENT '合同状态',
`effective_time` datetime DEFAULT NULL COMMENT '生效时间',
`terminate_time` datetime DEFAULT NULL COMMENT '终止时间',
`terminate_reason` varchar(500) DEFAULT NULL COMMENT '终止原因',
`renewed_contract_id` bigint DEFAULT NULL COMMENT '续约合同ID',
`original_contract_id` bigint DEFAULT NULL COMMENT '原始合同ID',
`hydrogen_bearer` varchar(64) DEFAULT NULL COMMENT '氢费承担方',
`hydrogen_payment_method` varchar(64) DEFAULT NULL COMMENT '氢费支付方式',
`hydrogen_prepay` decimal(18,2) DEFAULT NULL COMMENT '氢费预付金额',
`hydrogen_return_price` decimal(18,2) DEFAULT NULL COMMENT '氢费返还单价',
`billing_method` varchar(64) DEFAULT NULL COMMENT '计费方式',
`main_vehicle_type` varchar(64) 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 '是否删除',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='合同';
-- 13. asset_contract_vehicle (合同车辆)
DROP TABLE IF EXISTS `asset_contract_vehicle`;
CREATE TABLE `asset_contract_vehicle` (
`id` bigint NOT NULL AUTO_INCREMENT,
`tenant_id` bigint NOT NULL DEFAULT 1 COMMENT ,
`contract_id` bigint DEFAULT NULL COMMENT '合同ID',
`vehicle_id` bigint DEFAULT NULL COMMENT '车辆ID',
`brand` varchar(128) DEFAULT NULL COMMENT '品牌',
`model` varchar(128) DEFAULT NULL COMMENT '型号',
`plate_no` varchar(32) DEFAULT NULL COMMENT '车牌号',
`vin` varchar(64) DEFAULT NULL COMMENT 'VIN码',
`month_rent` decimal(18,2) DEFAULT NULL COMMENT '月租金',
`deposit` decimal(18,2) DEFAULT NULL COMMENT '押金',
`vehicle_status` int DEFAULT NULL COMMENT '车辆状态',
`actual_delivery_time` datetime DEFAULT NULL COMMENT '实际交付时间',
`delivery_person` varchar(64) DEFAULT NULL COMMENT '交付人',
`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 '是否删除',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='合同车辆';
-- 14. asset_contract_vehicle_service (合同车辆服务)
DROP TABLE IF EXISTS `asset_contract_vehicle_service`;
CREATE TABLE `asset_contract_vehicle_service` (
`id` bigint NOT NULL AUTO_INCREMENT,
`tenant_id` bigint NOT NULL DEFAULT 1 COMMENT ,
`contract_vehicle_id` bigint DEFAULT NULL COMMENT '合同车辆ID',
`service_name` varchar(255) DEFAULT NULL COMMENT '服务名称',
`service_fee` decimal(18,2) DEFAULT NULL COMMENT '服务费',
`effective_date` date 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 '是否删除',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='合同车辆服务';
-- 15. asset_contract_authorized (合同授权人)
DROP TABLE IF EXISTS `asset_contract_authorized`;
CREATE TABLE `asset_contract_authorized` (
`id` bigint NOT NULL AUTO_INCREMENT,
`tenant_id` bigint NOT NULL DEFAULT 1 COMMENT ,
`contract_id` bigint DEFAULT NULL COMMENT '合同ID',
`name` varchar(64) DEFAULT NULL COMMENT '姓名',
`phone` varchar(32) DEFAULT NULL COMMENT '电话',
`id_card` varchar(32) 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 '是否删除',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='合同授权人';
-- 16. asset_contract_attachment (合同附件)
DROP TABLE IF EXISTS `asset_contract_attachment`;
CREATE TABLE `asset_contract_attachment` (
`id` bigint NOT NULL AUTO_INCREMENT,
`tenant_id` bigint NOT NULL DEFAULT 1 COMMENT ,
`contract_id` bigint DEFAULT NULL COMMENT '合同ID',
`attachment_type` int DEFAULT NULL COMMENT '附件类型',
`file_id` bigint DEFAULT NULL COMMENT '文件ID',
`file_name` varchar(255) DEFAULT NULL COMMENT '文件名',
`file_url` varchar(500) DEFAULT NULL COMMENT '文件URL',
`file_size` bigint DEFAULT NULL COMMENT '文件大小',
`upload_time` datetime DEFAULT NULL COMMENT '上传时间',
`uploader` varchar(64) 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 '是否删除',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='合同附件';
-- 17. asset_contract_change_history (合同变更历史)
DROP TABLE IF EXISTS `asset_contract_change_history`;
CREATE TABLE `asset_contract_change_history` (
`id` bigint NOT NULL AUTO_INCREMENT,
`tenant_id` bigint NOT NULL DEFAULT 1 COMMENT ,
`contract_id` bigint DEFAULT NULL COMMENT '合同ID',
`change_type` varchar(64) DEFAULT NULL COMMENT '变更类型',
`change_content` text COMMENT '变更内容',
`operator` varchar(64) DEFAULT NULL COMMENT '操作人',
`operate_time` datetime 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 '是否删除',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='合同变更历史';
-- 18. asset_inspection_template (验车模板)
DROP TABLE IF EXISTS `asset_inspection_template`;
CREATE TABLE `asset_inspection_template` (
`id` bigint NOT NULL AUTO_INCREMENT,
`tenant_id` bigint NOT NULL DEFAULT 1 COMMENT ,
`code` varchar(64) DEFAULT NULL COMMENT '模板编码',
`name` varchar(255) DEFAULT NULL COMMENT '模板名称',
`biz_type` int DEFAULT NULL COMMENT '业务类型',
`vehicle_type` varchar(64) DEFAULT NULL COMMENT '车辆类型',
`status` int DEFAULT NULL COMMENT '状态',
`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 '是否删除',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='验车模板';
-- 19. asset_inspection_template_item (验车模板项)
DROP TABLE IF EXISTS `asset_inspection_template_item`;
CREATE TABLE `asset_inspection_template_item` (
`id` bigint NOT NULL AUTO_INCREMENT,
`tenant_id` bigint NOT NULL DEFAULT 1 COMMENT ,
`template_id` bigint DEFAULT NULL COMMENT '模板ID',
`category` varchar(64) DEFAULT NULL COMMENT '分类',
`item_name` varchar(255) DEFAULT NULL COMMENT '项目名称',
`item_code` varchar(64) DEFAULT NULL COMMENT '项目编码',
`input_type` varchar(32) DEFAULT NULL COMMENT '输入类型',
`sort` int DEFAULT NULL COMMENT '排序',
`required` int 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 '是否删除',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='验车模板项';
-- 20. asset_inspection_record (验车记录)
DROP TABLE IF EXISTS `asset_inspection_record`;
CREATE TABLE `asset_inspection_record` (
`id` bigint NOT NULL AUTO_INCREMENT,
`tenant_id` bigint NOT NULL DEFAULT 1 COMMENT ,
`record_code` varchar(64) DEFAULT NULL COMMENT '记录编码',
`template_id` bigint DEFAULT NULL COMMENT '模板ID',
`source_type` int DEFAULT NULL COMMENT '来源类型',
`source_id` bigint DEFAULT NULL COMMENT '来源ID',
`vehicle_id` bigint DEFAULT NULL COMMENT '车辆ID',
`inspector_name` varchar(64) DEFAULT NULL COMMENT '检查人',
`inspection_time` datetime DEFAULT NULL COMMENT '检查时间',
`status` int DEFAULT NULL COMMENT '状态',
`overall_result` int DEFAULT NULL COMMENT '总体结果',
`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 '是否删除',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='验车记录';
-- 21. asset_inspection_record_item (验车记录项)
DROP TABLE IF EXISTS `asset_inspection_record_item`;
CREATE TABLE `asset_inspection_record_item` (
`id` bigint NOT NULL AUTO_INCREMENT,
`tenant_id` bigint NOT NULL DEFAULT 1 COMMENT ,
`record_id` bigint DEFAULT NULL COMMENT '记录ID',
`item_code` varchar(64) DEFAULT NULL COMMENT '项目编码',
`category` varchar(64) DEFAULT NULL COMMENT '分类',
`item_name` varchar(255) DEFAULT NULL COMMENT '项目名称',
`input_type` varchar(32) DEFAULT NULL COMMENT '输入类型',
`result` int DEFAULT NULL COMMENT '结果',
`value` varchar(500) 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 '是否删除',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='验车记录项';
-- 22. asset_vehicle_prepare (备车)
DROP TABLE IF EXISTS `asset_vehicle_prepare`;
CREATE TABLE `asset_vehicle_prepare` (
`id` bigint NOT NULL AUTO_INCREMENT,
`tenant_id` bigint NOT NULL DEFAULT 1 COMMENT ,
`vehicle_id` bigint DEFAULT NULL COMMENT '车辆ID',
`plate_no` varchar(32) DEFAULT NULL COMMENT '车牌号',
`vin` varchar(64) DEFAULT NULL COMMENT 'VIN码',
`vehicle_model_id` bigint DEFAULT NULL COMMENT '车型ID',
`brand` varchar(128) DEFAULT NULL COMMENT '品牌',
`model` varchar(128) DEFAULT NULL COMMENT '型号',
`vehicle_type` varchar(64) DEFAULT NULL COMMENT '车辆类型',
`parking_lot` varchar(255) DEFAULT NULL COMMENT '停车场',
`contract_id` bigint DEFAULT NULL COMMENT '合同ID',
`contract_code` varchar(64) DEFAULT NULL COMMENT '合同编号',
`preparation_type` varchar(64) DEFAULT NULL COMMENT '备车类型',
`mileage` int DEFAULT NULL COMMENT '里程',
`hydrogen_remaining` decimal(18,2) DEFAULT NULL COMMENT '剩余氢量',
`hydrogen_unit` varchar(32) DEFAULT NULL COMMENT '氢气单位',
`battery_remaining` decimal(18,2) DEFAULT NULL COMMENT '剩余电量',
`has_body_ad` bit(1) DEFAULT NULL COMMENT '是否有车身广告',
`body_ad_photos` varchar(2000) DEFAULT NULL COMMENT '车身广告照片',
`enlarged_text_photo` varchar(500) DEFAULT NULL COMMENT '放大字照片',
`has_tail_lift` bit(1) DEFAULT NULL COMMENT '是否有尾板',
`spare_tire_depth` decimal(18,2) DEFAULT NULL COMMENT '备胎花纹深度',
`spare_tire_photo` varchar(500) DEFAULT NULL COMMENT '备胎照片',
`trailer_plate_no` varchar(32) DEFAULT NULL COMMENT '挂车牌号',
`defect_photos` varchar(2000) DEFAULT NULL COMMENT '缺陷照片',
`inspection_record_id` bigint DEFAULT NULL COMMENT '验车记录ID',
`check_list` text COMMENT '检查清单JSON',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`status` int DEFAULT NULL COMMENT '状态',
`complete_time` datetime 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 '是否删除',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='备车';
-- 23. asset_delivery_task (交车任务)
DROP TABLE IF EXISTS `asset_delivery_task`;
CREATE TABLE `asset_delivery_task` (
`id` bigint NOT NULL AUTO_INCREMENT,
`tenant_id` bigint NOT NULL DEFAULT 1 COMMENT ,
`task_code` varchar(64) DEFAULT NULL COMMENT '任务编码',
`contract_id` bigint DEFAULT NULL COMMENT '合同ID',
`contract_code` varchar(64) DEFAULT NULL COMMENT '合同编号',
`project_name` varchar(255) DEFAULT NULL COMMENT '项目名称',
`customer_id` bigint DEFAULT NULL COMMENT '客户ID',
`customer_name` varchar(255) DEFAULT NULL COMMENT '客户名称',
`expected_delivery_date_start` date DEFAULT NULL COMMENT '预计交付开始日期',
`expected_delivery_date_end` date DEFAULT NULL COMMENT '预计交付结束日期',
`billing_start_date` date DEFAULT NULL COMMENT '计费开始日期',
`delivery_province` varchar(64) DEFAULT NULL COMMENT '交付省份',
`delivery_city` varchar(64) DEFAULT NULL COMMENT '交付城市',
`delivery_location` varchar(500) DEFAULT NULL COMMENT '交付地点',
`vehicle_count` int DEFAULT NULL COMMENT '车辆数量',
`task_status` int DEFAULT NULL COMMENT '任务状态',
`delivery_status` int DEFAULT NULL COMMENT '交付状态',
`need_return` bit(1) 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 '是否删除',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='交车任务';
-- 24. asset_delivery_task_vehicle (交车任务车辆)
DROP TABLE IF EXISTS `asset_delivery_task_vehicle`;
CREATE TABLE `asset_delivery_task_vehicle` (
`id` bigint NOT NULL AUTO_INCREMENT,
`tenant_id` bigint NOT NULL DEFAULT 1 COMMENT ,
`task_id` bigint DEFAULT NULL COMMENT '任务ID',
`contract_vehicle_id` bigint DEFAULT NULL COMMENT '合同车辆ID',
`vehicle_id` bigint DEFAULT NULL COMMENT '车辆ID',
`plate_no` varchar(32) DEFAULT NULL COMMENT '车牌号',
`vin` varchar(64) DEFAULT NULL COMMENT 'VIN码',
`brand` varchar(128) DEFAULT NULL COMMENT '品牌',
`model` varchar(128) DEFAULT NULL COMMENT '型号',
`month_rent` decimal(18,2) DEFAULT NULL COMMENT '月租金',
`deposit` decimal(18,2) DEFAULT NULL COMMENT '押金',
`actual_delivery_date` datetime DEFAULT NULL COMMENT '实际交付日期',
`delivery_person` varchar(64) DEFAULT NULL COMMENT '交付人',
`is_delivered` bit(1) 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 '是否删除',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='交车任务车辆';
-- 25. asset_delivery_order (交车单)
DROP TABLE IF EXISTS `asset_delivery_order`;
CREATE TABLE `asset_delivery_order` (
`id` bigint NOT NULL AUTO_INCREMENT,
`tenant_id` bigint NOT NULL DEFAULT 1 COMMENT ,
`order_code` varchar(64) DEFAULT NULL COMMENT '交车单号',
`task_id` bigint DEFAULT NULL COMMENT '任务ID',
`task_code` varchar(64) DEFAULT NULL COMMENT '任务编码',
`contract_id` bigint DEFAULT NULL COMMENT '合同ID',
`contract_code` varchar(64) DEFAULT NULL COMMENT '合同编号',
`project_name` varchar(255) DEFAULT NULL COMMENT '项目名称',
`customer_id` bigint DEFAULT NULL COMMENT '客户ID',
`customer_name` varchar(255) DEFAULT NULL COMMENT '客户名称',
`delivery_date` datetime DEFAULT NULL COMMENT '交车日期',
`delivery_person` varchar(64) DEFAULT NULL COMMENT '交车人',
`delivery_location` varchar(500) DEFAULT NULL COMMENT '交车地点',
`authorized_person_id` bigint DEFAULT NULL COMMENT '授权人ID',
`authorized_person_name` varchar(64) DEFAULT NULL COMMENT '授权人姓名',
`authorized_person_phone` varchar(32) DEFAULT NULL COMMENT '授权人电话',
`authorized_person_id_card` varchar(32) DEFAULT NULL COMMENT '授权人身份证',
`esign_flow_id` varchar(128) DEFAULT NULL COMMENT '电子签章流程ID',
`esign_status` int DEFAULT NULL COMMENT '电子签章状态',
`delivery_photos` varchar(2000) DEFAULT NULL COMMENT '交车照片',
`driver_name` varchar(64) DEFAULT NULL COMMENT '司机姓名',
`driver_id_card` varchar(32) DEFAULT NULL COMMENT '司机身份证',
`driver_phone` varchar(32) DEFAULT NULL COMMENT '司机电话',
`inspection_data` text COMMENT '验车数据JSON',
`cost_list` text COMMENT '费用清单JSON',
`inspection_record_id` bigint DEFAULT NULL COMMENT '验车记录ID',
`status` int 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 '是否删除',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='交车单';
-- 26. asset_delivery_order_vehicle (交车单车辆)
DROP TABLE IF EXISTS `asset_delivery_order_vehicle`;
CREATE TABLE `asset_delivery_order_vehicle` (
`id` bigint NOT NULL AUTO_INCREMENT,
`tenant_id` bigint NOT NULL DEFAULT 1 COMMENT ,
`order_id` bigint DEFAULT NULL COMMENT '交车单ID',
`task_vehicle_id` bigint DEFAULT NULL COMMENT '任务车辆ID',
`vehicle_id` bigint DEFAULT NULL COMMENT '车辆ID',
`plate_no` varchar(32) DEFAULT NULL COMMENT '车牌号',
`vin` varchar(64) DEFAULT NULL COMMENT 'VIN码',
`brand` varchar(128) DEFAULT NULL COMMENT '品牌',
`model` varchar(128) DEFAULT NULL COMMENT '型号',
`mileage` int DEFAULT NULL COMMENT '里程',
`hydrogen_level` decimal(18,2) DEFAULT NULL COMMENT '氢量',
`battery_level` decimal(18,2) 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 '是否删除',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='交车单车辆';
-- 27. asset_vehicle_replacement (替换车)
DROP TABLE IF EXISTS `asset_vehicle_replacement`;
CREATE TABLE `asset_vehicle_replacement` (
`id` bigint NOT NULL AUTO_INCREMENT,
`tenant_id` bigint NOT NULL DEFAULT 1 COMMENT ,
`replacement_code` varchar(64) DEFAULT NULL COMMENT '替换编号',
`replacement_type` int DEFAULT NULL COMMENT '替换类型',
`contract_id` bigint DEFAULT NULL COMMENT '合同ID',
`contract_code` varchar(64) DEFAULT NULL COMMENT '合同编号',
`customer_id` bigint DEFAULT NULL COMMENT '客户ID',
`customer_name` varchar(255) DEFAULT NULL COMMENT '客户名称',
`delivery_order_id` bigint DEFAULT NULL COMMENT '交车单ID',
`original_vehicle_id` bigint DEFAULT NULL COMMENT '原车辆ID',
`original_plate_no` varchar(32) DEFAULT NULL COMMENT '原车牌号',
`original_vin` varchar(64) DEFAULT NULL COMMENT '原VIN码',
`new_vehicle_id` bigint DEFAULT NULL COMMENT '新车辆ID',
`new_plate_no` varchar(32) DEFAULT NULL COMMENT '新车牌号',
`new_vin` varchar(64) DEFAULT NULL COMMENT '新VIN码',
`replacement_reason` varchar(500) DEFAULT NULL COMMENT '替换原因',
`expected_date` date DEFAULT NULL COMMENT '预计替换日期',
`actual_date` date DEFAULT NULL COMMENT '实际替换日期',
`return_date` date DEFAULT NULL COMMENT '预计归还日期',
`actual_return_date` date DEFAULT NULL COMMENT '实际归还日期',
`status` int DEFAULT NULL COMMENT '状态',
`approval_status` int DEFAULT NULL COMMENT '审批状态',
`bpm_instance_id` varchar(64) DEFAULT NULL COMMENT '流程实例ID',
`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 '是否删除',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='替换车';
-- 28. asset_return_order (还车单)
DROP TABLE IF EXISTS `asset_return_order`;
CREATE TABLE `asset_return_order` (
`id` bigint NOT NULL AUTO_INCREMENT,
`tenant_id` bigint NOT NULL DEFAULT 1 COMMENT ,
`order_code` varchar(64) DEFAULT NULL COMMENT '还车单号',
`contract_id` bigint DEFAULT NULL COMMENT '合同ID',
`contract_code` varchar(64) DEFAULT NULL COMMENT '合同编号',
`project_name` varchar(255) DEFAULT NULL COMMENT '项目名称',
`customer_id` bigint DEFAULT NULL COMMENT '客户ID',
`customer_name` varchar(255) DEFAULT NULL COMMENT '客户名称',
`return_date` datetime DEFAULT NULL COMMENT '还车日期',
`return_person` varchar(64) DEFAULT NULL COMMENT '还车人',
`return_location` varchar(500) DEFAULT NULL COMMENT '还车地点',
`return_reason` varchar(64) DEFAULT NULL COMMENT '还车原因',
`return_reason_desc` varchar(500) DEFAULT NULL COMMENT '还车原因描述',
`total_refund_amount` decimal(18,2) DEFAULT NULL COMMENT '退款总额',
`deposit_refund` decimal(18,2) DEFAULT NULL COMMENT '押金退款',
`hydrogen_refund` decimal(18,2) DEFAULT NULL COMMENT '氢费退款',
`other_charges` decimal(18,2) DEFAULT NULL COMMENT '其他费用',
`return_photos` varchar(2000) DEFAULT NULL COMMENT '还车照片',
`status` int DEFAULT NULL COMMENT '状态',
`approval_status` int DEFAULT NULL COMMENT '审批状态',
`bpm_instance_id` varchar(64) DEFAULT NULL COMMENT '流程实例ID',
`source_type` int DEFAULT NULL COMMENT '来源类型',
`source_id` bigint DEFAULT NULL COMMENT '来源ID',
`delivery_order_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 '是否删除',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='还车单';
-- 29. asset_return_order_vehicle (还车单车辆)
DROP TABLE IF EXISTS `asset_return_order_vehicle`;
CREATE TABLE `asset_return_order_vehicle` (
`id` bigint NOT NULL AUTO_INCREMENT,
`tenant_id` bigint NOT NULL DEFAULT 1 COMMENT ,
`return_order_id` bigint DEFAULT NULL COMMENT '还车单ID',
`vehicle_id` bigint DEFAULT NULL COMMENT '车辆ID',
`plate_no` varchar(32) DEFAULT NULL COMMENT '车牌号',
`vin` varchar(64) DEFAULT NULL COMMENT 'VIN码',
`brand` varchar(128) DEFAULT NULL COMMENT '品牌',
`model` varchar(128) DEFAULT NULL COMMENT '型号',
`return_mileage` int DEFAULT NULL COMMENT '还车里程',
`return_hydrogen_level` decimal(18,2) DEFAULT NULL COMMENT '还车氢量',
`delivery_hydrogen_level` decimal(18,2) DEFAULT NULL COMMENT '交车氢量',
`hydrogen_diff` decimal(18,2) DEFAULT NULL COMMENT '氢量差值',
`hydrogen_unit_price` decimal(18,2) DEFAULT NULL COMMENT '氢单价',
`hydrogen_refund_amount` decimal(18,2) DEFAULT NULL COMMENT '氢费退款金额',
`check_list` text COMMENT '检查清单JSON',
`defect_photos` varchar(2000) DEFAULT NULL COMMENT '缺陷照片',
`vehicle_damage_fee` decimal(18,2) DEFAULT NULL COMMENT '车辆损坏费',
`tool_damage_fee` decimal(18,2) DEFAULT NULL COMMENT '工具损坏费',
`unpaid_maintenance_fee` decimal(18,2) DEFAULT NULL COMMENT '未付保养费',
`unpaid_repair_fee` decimal(18,2) DEFAULT NULL COMMENT '未付维修费',
`violation_fee` decimal(18,2) DEFAULT NULL COMMENT '违章费',
`other_fee` decimal(18,2) DEFAULT NULL COMMENT '其他费用',
`inspection_record_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 '是否删除',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='还车单车辆';
-- ============================================================
-- 车辆全量视图 (view)
-- ============================================================
DROP VIEW IF EXISTS `v_asset_vehicle_full`;
CREATE VIEW `v_asset_vehicle_full` AS
SELECT
b.id, b.vin, b.plate_no, b.vehicle_no, b.vehicle_model_id,
b.region_province, b.region_city, b.engine_no, b.register_date,
b.purchase_date, b.purchase_price, b.color, b.year, b.mileage,
b.inspect_expire, b.scrap_date,
b.creator, b.create_time, b.updater, b.update_time, b.deleted,
l.parking_id, l.parking_name, l.parking_space, l.location,
l.latitude, l.longitude, l.gps_time, l.entry_time, l.exit_time,
biz.customer_id, biz.department_id, biz.manager_id, biz.contract_id,
biz.ownership, biz.delivery_date, biz.return_date, biz.monthly_rent, biz.deposit,
s.status, s.operate_status, s.storage_status, s.out_status,
s.preempt_status, s.prepare_status, s.transfer_status,
s.repair_status, s.license_status, s.scrap_status, s.online_status,
s.is_prepared, s.is_delivered, s.is_returned,
s.last_maintain_date, s.next_maintain_date,
s.last_inspect_date, s.next_inspect_date, s.insurance_expire_date
FROM asset_vehicle_base b
LEFT JOIN asset_vehicle_location l ON b.id = l.vehicle_id AND l.deleted = 0
LEFT JOIN asset_vehicle_business biz ON b.id = biz.vehicle_id AND biz.deleted = 0
LEFT JOIN asset_vehicle_status s ON b.id = s.vehicle_id AND s.deleted = 0
WHERE b.deleted = 0;