refactor(energy): 简化事件驱动系统(7个→3个)
- 删除旧事件:BillApprovedEvent, BillCreatedEvent, DeductionCompletedEvent, DetailAuditedEvent, DetailCreatedEvent, RecordMatchedEvent - 新增事件:BillAuditPassedEvent, DetailAuditPassedEvent - 保留事件:RecordImportedEvent - 更新监听器:AccountEventListener, BillEventListener, DetailEventListener - 清理代码中的旧事件引用和注释 优化原则:前端简单,后端健壮 事件流程:导入→匹配→生成明细→审核→扣款→生成账单→结算
This commit is contained in:
836
sql/rebuild/asset_ddl.sql
Normal file
836
sql/rebuild/asset_ddl.sql
Normal file
@@ -0,0 +1,836 @@
|
||||
-- ============================================================
|
||||
-- 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;
|
||||
236
sql/rebuild/energy_ddl.sql
Normal file
236
sql/rebuild/energy_ddl.sql
Normal file
@@ -0,0 +1,236 @@
|
||||
-- ============================================================
|
||||
-- Energy Module DDL - Generated from DO classes
|
||||
-- Database: oneos_energy
|
||||
-- Generated: 2026-03-16
|
||||
-- ============================================================
|
||||
|
||||
-- 1. energy_hydrogen_record (加氢记录)
|
||||
DROP TABLE IF EXISTS `energy_hydrogen_record`;
|
||||
CREATE TABLE `energy_hydrogen_record` (
|
||||
`id` bigint NOT NULL AUTO_INCREMENT,
|
||||
`tenant_id` bigint NOT NULL DEFAULT 1 COMMENT '租户编号',
|
||||
`station_id` bigint DEFAULT NULL COMMENT '加氢站ID',
|
||||
`plate_number` varchar(32) DEFAULT NULL COMMENT '车牌号',
|
||||
`hydrogen_date` date DEFAULT NULL COMMENT '加氢日期',
|
||||
`hydrogen_quantity` decimal(18,2) DEFAULT NULL COMMENT '加氢量(kg)',
|
||||
`unit_price` decimal(18,2) DEFAULT NULL COMMENT '单价',
|
||||
`amount` decimal(18,2) DEFAULT NULL COMMENT '金额',
|
||||
`mileage` decimal(18,2) DEFAULT NULL COMMENT '里程(km)',
|
||||
`source_type` int DEFAULT NULL COMMENT '来源类型',
|
||||
`match_status` int DEFAULT NULL COMMENT '匹配状态',
|
||||
`vehicle_id` bigint DEFAULT NULL COMMENT '车辆ID',
|
||||
`customer_id` bigint DEFAULT NULL COMMENT '客户ID',
|
||||
`upload_batch_no` 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='加氢记录';
|
||||
|
||||
-- 2. energy_hydrogen_detail (加氢明细)
|
||||
DROP TABLE IF EXISTS `energy_hydrogen_detail`;
|
||||
CREATE TABLE `energy_hydrogen_detail` (
|
||||
`id` bigint NOT NULL AUTO_INCREMENT,
|
||||
`tenant_id` bigint NOT NULL DEFAULT 1 COMMENT 租户编号,
|
||||
`record_id` bigint DEFAULT NULL COMMENT '加氢记录ID',
|
||||
`station_id` bigint DEFAULT NULL COMMENT '加氢站ID',
|
||||
`vehicle_id` bigint DEFAULT NULL COMMENT '车辆ID',
|
||||
`plate_number` varchar(32) DEFAULT NULL COMMENT '车牌号',
|
||||
`hydrogen_date` date DEFAULT NULL COMMENT '加氢日期',
|
||||
`hydrogen_quantity` decimal(18,2) DEFAULT NULL COMMENT '加氢量(kg)',
|
||||
`cost_price` decimal(18,2) DEFAULT NULL COMMENT '成本价',
|
||||
`cost_amount` decimal(18,2) DEFAULT NULL COMMENT '成本金额',
|
||||
`customer_price` decimal(18,2) DEFAULT NULL COMMENT '客户价',
|
||||
`customer_amount` decimal(18,2) DEFAULT NULL COMMENT '客户金额',
|
||||
`contract_id` bigint DEFAULT NULL COMMENT '合同ID',
|
||||
`customer_id` bigint DEFAULT NULL COMMENT '客户ID',
|
||||
`project_name` varchar(255) DEFAULT NULL COMMENT '项目名称',
|
||||
`cost_bearer` int DEFAULT NULL COMMENT '费用承担方',
|
||||
`pay_method` int DEFAULT NULL COMMENT '支付方式',
|
||||
`audit_status` int DEFAULT NULL COMMENT '审核状态',
|
||||
`audit_remark` varchar(500) DEFAULT NULL COMMENT '审核备注',
|
||||
`deduction_status` int DEFAULT NULL COMMENT '扣费状态',
|
||||
`settlement_status` int DEFAULT NULL COMMENT '结算状态',
|
||||
`bill_id` bigint 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='加氢明细';
|
||||
|
||||
-- 3. energy_bill (能源账单)
|
||||
DROP TABLE IF EXISTS `energy_bill`;
|
||||
CREATE TABLE `energy_bill` (
|
||||
`id` bigint NOT NULL AUTO_INCREMENT,
|
||||
`tenant_id` bigint NOT NULL DEFAULT 1 COMMENT 租户编号,
|
||||
`bill_code` varchar(64) DEFAULT NULL COMMENT '账单编号',
|
||||
`energy_type` int DEFAULT NULL COMMENT '能源类型',
|
||||
`customer_id` bigint DEFAULT NULL COMMENT '客户ID',
|
||||
`customer_name` varchar(255) DEFAULT NULL COMMENT '客户名称',
|
||||
`contract_id` bigint DEFAULT NULL COMMENT '合同ID',
|
||||
`station_id` bigint DEFAULT NULL COMMENT '站点ID',
|
||||
`station_name` varchar(255) DEFAULT NULL COMMENT '站点名称',
|
||||
`cooperation_type` int DEFAULT NULL COMMENT '合作模式(1=预充值 2=月结算)',
|
||||
`bill_period_start` date DEFAULT NULL COMMENT '账单周期开始',
|
||||
`bill_period_end` date DEFAULT NULL COMMENT '账单周期结束',
|
||||
`receivable_amount` decimal(18,2) DEFAULT NULL COMMENT '应收金额',
|
||||
`actual_amount` decimal(18,2) DEFAULT NULL COMMENT '实收金额',
|
||||
`adjustment_amount` decimal(18,2) DEFAULT NULL COMMENT '调整金额',
|
||||
`paid_amount` decimal(18,2) DEFAULT NULL COMMENT '已付金额',
|
||||
`total_quantity` decimal(18,2) DEFAULT NULL COMMENT '总用量',
|
||||
`detail_count` int DEFAULT NULL COMMENT '明细条数',
|
||||
`status` int DEFAULT NULL COMMENT '账单状态',
|
||||
`audit_status` int DEFAULT NULL COMMENT '审核状态',
|
||||
`submit_status` int DEFAULT NULL COMMENT '提交状态',
|
||||
`payment_status` int DEFAULT NULL COMMENT '付款状态',
|
||||
`auditor_id` bigint DEFAULT NULL COMMENT '审核人ID',
|
||||
`audit_time` datetime DEFAULT NULL COMMENT '审核时间',
|
||||
`audit_remark` varchar(500) DEFAULT NULL COMMENT '审核备注',
|
||||
`submit_time` datetime DEFAULT NULL COMMENT '提交时间',
|
||||
`generate_time` datetime DEFAULT NULL COMMENT '生成时间',
|
||||
`yos_bill_code` varchar(64) DEFAULT NULL COMMENT 'YOS账单编号',
|
||||
`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. energy_bill_adjustment (账单调整)
|
||||
DROP TABLE IF EXISTS `energy_bill_adjustment`;
|
||||
CREATE TABLE `energy_bill_adjustment` (
|
||||
`id` bigint NOT NULL AUTO_INCREMENT,
|
||||
`tenant_id` bigint NOT NULL DEFAULT 1 COMMENT 租户编号,
|
||||
`bill_id` bigint DEFAULT NULL COMMENT '账单ID',
|
||||
`detail_id` bigint DEFAULT NULL COMMENT '明细ID',
|
||||
`adjustment_type` int DEFAULT NULL COMMENT '调整类型',
|
||||
`amount` decimal(18,2) DEFAULT NULL COMMENT '调整金额',
|
||||
`reason` varchar(500) DEFAULT NULL COMMENT '调整原因',
|
||||
`attachment_urls` varchar(2000) DEFAULT NULL COMMENT '附件URLs',
|
||||
`operator_id` bigint DEFAULT NULL COMMENT '操作人ID',
|
||||
`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='账单调整';
|
||||
|
||||
-- 5. energy_station_config (站点配置)
|
||||
DROP TABLE IF EXISTS `energy_station_config`;
|
||||
CREATE TABLE `energy_station_config` (
|
||||
`id` bigint NOT NULL AUTO_INCREMENT,
|
||||
`tenant_id` bigint NOT NULL DEFAULT 1 COMMENT 租户编号,
|
||||
`station_id` bigint DEFAULT NULL COMMENT '站点ID',
|
||||
`auto_deduct` bit(1) DEFAULT NULL COMMENT '是否自动扣费',
|
||||
`cooperation_type` int DEFAULT NULL COMMENT '合作类型',
|
||||
`auto_match` bit(1) 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='站点配置';
|
||||
|
||||
-- 6. energy_station_price (站点价格)
|
||||
DROP TABLE IF EXISTS `energy_station_price`;
|
||||
CREATE TABLE `energy_station_price` (
|
||||
`id` bigint NOT NULL AUTO_INCREMENT,
|
||||
`tenant_id` bigint NOT NULL DEFAULT 1 COMMENT 租户编号,
|
||||
`station_id` bigint DEFAULT NULL COMMENT '站点ID',
|
||||
`customer_id` bigint DEFAULT NULL COMMENT '客户ID',
|
||||
`cost_price` decimal(18,2) DEFAULT NULL COMMENT '成本价',
|
||||
`customer_price` decimal(18,2) DEFAULT NULL COMMENT '客户价',
|
||||
`effective_date` date DEFAULT NULL COMMENT '生效日期',
|
||||
`expiry_date` date DEFAULT NULL COMMENT '失效日期',
|
||||
`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='站点价格';
|
||||
|
||||
-- 7. energy_account (能源账户)
|
||||
DROP TABLE IF EXISTS `energy_account`;
|
||||
CREATE TABLE `energy_account` (
|
||||
`id` bigint NOT NULL AUTO_INCREMENT,
|
||||
`tenant_id` bigint NOT NULL DEFAULT 1 COMMENT 租户编号,
|
||||
`customer_id` bigint DEFAULT NULL COMMENT '客户ID',
|
||||
`balance` decimal(18,2) DEFAULT NULL COMMENT '余额',
|
||||
`init_balance` decimal(18,2) DEFAULT NULL COMMENT '初始余额',
|
||||
`accumulated_recharge` decimal(18,2) DEFAULT NULL COMMENT '累计充值金额',
|
||||
`accumulated_hydrogen` decimal(18,2) DEFAULT NULL COMMENT '累计加氢金额',
|
||||
`accumulated_electric` decimal(18,2) DEFAULT NULL COMMENT '累计充电金额',
|
||||
`accumulated_consume` decimal(18,2) DEFAULT NULL COMMENT '累计消费金额',
|
||||
`reminder_threshold` decimal(18,2) DEFAULT NULL COMMENT '余额预警阈值',
|
||||
`account_status` int DEFAULT NULL COMMENT '账户状态',
|
||||
`last_recharge_date` date DEFAULT NULL COMMENT '最后充值日期',
|
||||
`version` int DEFAULT 0 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='能源账户';
|
||||
|
||||
-- 8. energy_project_account (项目账户)
|
||||
DROP TABLE IF EXISTS `energy_project_account`;
|
||||
CREATE TABLE `energy_project_account` (
|
||||
`id` bigint NOT NULL AUTO_INCREMENT,
|
||||
`tenant_id` bigint NOT NULL DEFAULT 1 COMMENT 租户编号,
|
||||
`account_id` bigint DEFAULT NULL COMMENT '账户ID',
|
||||
`contract_id` bigint DEFAULT NULL COMMENT '合同ID',
|
||||
`project_name` varchar(255) DEFAULT NULL COMMENT '项目名称',
|
||||
`project_balance` decimal(18,2) DEFAULT NULL COMMENT '项目余额',
|
||||
`project_remit_amount` decimal(18,2) DEFAULT NULL COMMENT '项目汇款总额',
|
||||
`project_hydrogen_amount` decimal(18,2) DEFAULT NULL COMMENT '项目加氢金额',
|
||||
`project_electric_amount` decimal(18,2) DEFAULT NULL COMMENT '项目充电金额',
|
||||
`project_consume_amount` decimal(18,2) DEFAULT NULL COMMENT '项目消费总额',
|
||||
`reminder_threshold` decimal(18,2) DEFAULT NULL COMMENT '余额预警阈值',
|
||||
`account_status` int DEFAULT NULL COMMENT '账户状态',
|
||||
`version` int DEFAULT 0 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. energy_account_flow (账户流水)
|
||||
DROP TABLE IF EXISTS `energy_account_flow`;
|
||||
CREATE TABLE `energy_account_flow` (
|
||||
`id` bigint NOT NULL AUTO_INCREMENT,
|
||||
`tenant_id` bigint NOT NULL DEFAULT 1 COMMENT 租户编号,
|
||||
`account_id` bigint DEFAULT NULL COMMENT '账户ID',
|
||||
`project_account_id` bigint DEFAULT NULL COMMENT '项目账户ID',
|
||||
`flow_type` int DEFAULT NULL COMMENT '流水类型',
|
||||
`amount` decimal(18,2) DEFAULT NULL COMMENT '金额',
|
||||
`balance_before` decimal(18,2) DEFAULT NULL COMMENT '变更前余额',
|
||||
`balance_after` decimal(18,2) DEFAULT NULL COMMENT '变更后余额',
|
||||
`project_balance_before` decimal(18,2) DEFAULT NULL COMMENT '变更前项目余额',
|
||||
`project_balance_after` decimal(18,2) DEFAULT NULL COMMENT '变更后项目余额',
|
||||
`biz_type` int DEFAULT NULL COMMENT '业务类型',
|
||||
`biz_id` bigint DEFAULT NULL COMMENT '业务ID',
|
||||
`biz_code` varchar(64) DEFAULT NULL COMMENT '业务编号',
|
||||
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
|
||||
`operator_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='账户流水';
|
||||
197
sql/rebuild/mock_data.sql
Normal file
197
sql/rebuild/mock_data.sql
Normal file
@@ -0,0 +1,197 @@
|
||||
-- ============================================================
|
||||
-- Mock Data for Asset & Energy Modules
|
||||
-- Part 1: Asset data → oneos_asset
|
||||
-- Part 2: Energy data → oneos_energy
|
||||
-- Generated: 2026-03-16
|
||||
-- ============================================================
|
||||
|
||||
-- ===================== PART 1: ASSET =====================
|
||||
|
||||
-- ---------- 停车场 ----------
|
||||
INSERT INTO `asset_parking` (`id`, `name`, `capacity`, `manager_name`, `manager_phone`, `contact_name`, `contact_phone`, `parked_amount`, `province`, `city`, `address`, `longitude`, `latitude`, `lease_start_date`, `lease_end_date`, `rent_fee`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES
|
||||
(1, '上海嘉定氢能停车场', 200, '张伟', '13800001001', '李敏', '13800001002', 45, '上海', '上海市', '嘉定区安亭镇曹安公路5555号', '121.1856', '31.3856', '2025-01-01', '2027-12-31', 50000.00, 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(2, '上海临港停车场', 150, '王强', '13800002001', '赵丽', '13800002002', 30, '上海', '上海市', '浦东新区临港大道888号', '121.9300', '30.8900', '2025-03-01', '2027-02-28', 40000.00, 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(3, '佛山南海停车场', 100, '陈刚', '13800003001', '周红', '13800003002', 20, '广东', '佛山市', '南海区桂城街道海五路28号', '113.1500', '23.0200', '2025-06-01', '2027-05-31', 30000.00, 'admin', NOW(), 'admin', NOW(), 0);
|
||||
|
||||
-- ---------- 车型参数 ----------
|
||||
INSERT INTO `asset_vehicle_model` (`id`, `brand`, `model`, `vehicle_type`, `model_label`, `fuel_type`, `plate_color`, `hydrogen_capacity`, `hydrogen_factory`, `hydrogen_unit`, `hydrogen_mileage`, `battery_type`, `battery_factory`, `reserve_electricity`, `electricity_mileage`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES
|
||||
(1, '飞驰', 'FCEV-C1', '冷藏车', '18吨氢能冷藏车', '氢燃料', '黄色', 30, '国鸿氢能', 'kg', 350, '磷酸铁锂', '宁德时代', 100.00, 200, 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(2, '东风', 'EQ5180', '厢式货车', '18吨氢能厢式货车', '氢燃料', '黄色', 25, '亿华通', 'kg', 300, '磷酸铁锂', '比亚迪', 80.00, 150, 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(3, '福田', 'BJ5120', '冷藏车', '12吨氢能冷藏车', '氢燃料', '黄色', 20, '国鸿氢能', 'kg', 280, '三元锂', '国轩高科', 60.00, 120, 'admin', NOW(), 'admin', NOW(), 0);
|
||||
|
||||
-- ---------- 车型保养项目 ----------
|
||||
INSERT INTO `asset_vehicle_model_maintain_item` (`id`, `vehicle_model_id`, `maintain_item`, `kilometer_cycle`, `time_cycle`, `hour_fee`, `material_fee`, `total_fee`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES
|
||||
(1, 1, '燃料电池系统检查', 10000, 3, 200.00, 500.00, 700.00, 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(2, 1, '储氢瓶检测', 20000, 6, 300.00, 0.00, 300.00, 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(3, 2, '燃料电池系统检查', 10000, 3, 200.00, 500.00, 700.00, 'admin', NOW(), 'admin', NOW(), 0);
|
||||
|
||||
-- ---------- 客户 ----------
|
||||
INSERT INTO `asset_customer` (`id`, `customer_code`, `coop_status`, `customer_name`, `province`, `city`, `address`, `region`, `contact`, `contact_mobile`, `email`, `credit_code_or_id`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES
|
||||
(1, 'CUS-2025-001', '合作中', '上海鲜生冷链物流有限公司', '上海', '上海市', '浦东新区张江路100号', '华东', '刘总', '13900001001', 'liu@xiansheng.com', '91310000MA1FY3XY23', '大客户', 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(2, 'CUS-2025-002', '合作中', '广州顺达运输有限公司', '广东', '广州市', '天河区天河路200号', '华南', '黄经理', '13900002001', 'huang@shunda.com', '91440100MA5CXKQR0L', NULL, 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(3, 'CUS-2025-003', '合作中', '深圳绿能科技有限公司', '广东', '深圳市', '南山区科技园南路50号', '华南', '郑总', '13900003001', 'zheng@lvneng.com', '91440300MA5FKP4Y28', '氢能源客户', 'admin', NOW(), 'admin', NOW(), 0);
|
||||
|
||||
-- ---------- 客户商务经理 ----------
|
||||
INSERT INTO `asset_customer_business_manager` (`id`, `customer_id`, `business_manager_name`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES
|
||||
(1, 1, '张三', 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(2, 2, '李四', 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(3, 3, '王五', 'admin', NOW(), 'admin', NOW(), 0);
|
||||
|
||||
-- ---------- 供应商 ----------
|
||||
INSERT INTO `asset_supplier` (`id`, `supplier_code`, `coop_status`, `supplier_name`, `type`, `province`, `city`, `address`, `contact`, `contact_mobile`, `credit_code_or_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES
|
||||
(1, 'SUP-2025-001', '合作中', '飞驰科技有限公司', '车辆供应商', '广东', '佛山市', '南海区狮山镇科技路1号', '孙总', '13800010001', '91440600MA4W9F1M0K', 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(2, 'SUP-2025-002', '合作中', '国鸿氢能科技有限公司', '配件供应商', '广东', '云浮市', '云城区工业园8号', '钱经理', '13800010002', '91445300MA4WFPQY0T', 'admin', NOW(), 'admin', NOW(), 0);
|
||||
|
||||
-- ---------- 车辆基础信息 (8辆) ----------
|
||||
INSERT INTO `asset_vehicle_base` (`id`, `vin`, `plate_no`, `vehicle_no`, `vehicle_model_id`, `region_province`, `region_city`, `engine_no`, `register_date`, `purchase_date`, `purchase_price`, `color`, `year`, `mileage`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES
|
||||
(1, 'LFCEV001202500001', '沪A12345', 'VH-2025-001', 1, '上海', '上海市', 'ENG001', '2025-01-15', '2025-01-10', 680000.00, '白色', '2025', 12000, 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(2, 'LFCEV001202500002', '沪A12346', 'VH-2025-002', 1, '上海', '上海市', 'ENG002', '2025-01-20', '2025-01-15', 680000.00, '白色', '2025', 15000, 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(3, 'LFCEV001202500003', '沪A12347', 'VH-2025-003', 2, '上海', '上海市', 'ENG003', '2025-02-10', '2025-02-05', 550000.00, '蓝色', '2025', 8000, 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(4, 'LFCEV001202500004', '粤B88001', 'VH-2025-004', 2, '广东', '广州市', 'ENG004', '2025-03-01', '2025-02-25', 550000.00, '白色', '2025', 20000, 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(5, 'LFCEV001202500005', '粤B88002', 'VH-2025-005', 3, '广东', '广州市', 'ENG005', '2025-03-15', '2025-03-10', 450000.00, '蓝色', '2025', 5000, 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(6, 'LFCEV001202500006', '粤B88003', 'VH-2025-006', 1, '广东', '深圳市', 'ENG006', '2025-04-01', '2025-03-25', 680000.00, '白色', '2025', 3000, 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(7, 'LFCEV001202500007', '沪A12348', 'VH-2025-007', 3, '上海', '上海市', 'ENG007', '2025-04-15', '2025-04-10', 450000.00, '白色', '2025', 1000, 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(8, 'LFCEV001202500008', '沪A12349', 'VH-2025-008', 2, '上海', '上海市', 'ENG008', '2025-05-01', '2025-04-25', 550000.00, '蓝色', '2025', 500, 'admin', NOW(), 'admin', NOW(), 0);
|
||||
|
||||
-- ---------- 车辆位置信息 ----------
|
||||
INSERT INTO `asset_vehicle_location` (`id`, `vehicle_id`, `parking_id`, `parking_name`, `parking_space`, `location`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES
|
||||
(1, 1, 1, '上海嘉定氢能停车场', 'A-001', '已交车-客户运营中', 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(2, 2, 1, '上海嘉定氢能停车场', 'A-002', '已交车-客户运营中', 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(3, 3, 1, '上海嘉定氢能停车场', 'B-001', '已交车-客户运营中', 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(4, 4, 3, '佛山南海停车场', 'C-001', '已交车-客户运营中', 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(5, 5, 3, '佛山南海停车场', 'C-002', '已交车-客户运营中', 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(6, 6, 2, '上海临港停车场', 'D-001', '待交车', 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(7, 7, 1, '上海嘉定氢能停车场', 'A-003', '库存待分配', 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(8, 8, 2, '上海临港停车场', 'D-002', '库存待分配', 'admin', NOW(), 'admin', NOW(), 0);
|
||||
|
||||
-- ---------- 车辆业务信息 ----------
|
||||
INSERT INTO `asset_vehicle_business` (`id`, `vehicle_id`, `customer_id`, `contract_id`, `ownership`, `delivery_date`, `monthly_rent`, `deposit`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES
|
||||
(1, 1, 1, 1, '公司自有', '2025-02-01', 15000.00, 30000.00, 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(2, 2, 1, 1, '公司自有', '2025-02-01', 15000.00, 30000.00, 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(3, 3, 1, 1, '公司自有', '2025-03-01', 12000.00, 25000.00, 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(4, 4, 2, 2, '公司自有', '2025-04-01', 12000.00, 25000.00, 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(5, 5, 2, 2, '公司自有', '2025-04-15', 10000.00, 20000.00, 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(6, 6, 3, 3, '公司自有', NULL, NULL, NULL, 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(7, 7, NULL, NULL, '公司自有', NULL, NULL, NULL, 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(8, 8, NULL, NULL, '公司自有', NULL, NULL, NULL, 'admin', NOW(), 'admin', NOW(), 0);
|
||||
|
||||
-- ---------- 车辆状态信息 ----------
|
||||
INSERT INTO `asset_vehicle_status` (`id`, `vehicle_id`, `status`, `operate_status`, `storage_status`, `is_prepared`, `is_delivered`, `is_returned`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES
|
||||
(1, 1, 1, 1, 2, 1, 1, 0, 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(2, 2, 1, 1, 2, 1, 1, 0, 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(3, 3, 1, 1, 2, 1, 1, 0, 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(4, 4, 1, 1, 2, 1, 1, 0, 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(5, 5, 1, 1, 2, 1, 1, 0, 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(6, 6, 1, 0, 1, 1, 0, 0, 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(7, 7, 0, 0, 1, 0, 0, 0, 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(8, 8, 0, 0, 1, 0, 0, 0, 'admin', NOW(), 'admin', NOW(), 0);
|
||||
|
||||
-- ---------- 合同 ----------
|
||||
INSERT INTO `asset_contract` (`id`, `contract_code`, `contract_type`, `project_name`, `start_date`, `end_date`, `payment_method`, `payment_cycle`, `signing_company`, `delivery_province`, `delivery_city`, `delivery_location`, `customer_id`, `customer_name`, `approval_status`, `contract_status`, `effective_time`, `hydrogen_bearer`, `hydrogen_payment_method`, `hydrogen_prepay`, `billing_method`, `main_vehicle_type`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES
|
||||
(1, 'HT-2025-001', 1, '上海鲜生冷链配送项目', '2025-02-01', '2027-01-31', '月付', '月', '辽宁新能源汽车有限公司', '上海', '上海市', '嘉定区安亭镇', 1, '上海鲜生冷链物流有限公司', 2, 1, '2025-02-01 00:00:00', '客户', '预充值', 100000.00, '按月计费', '冷藏车', 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(2, 'HT-2025-002', 1, '广州顺达城配项目', '2025-04-01', '2027-03-31', '月付', '月', '辽宁新能源汽车有限公司', '广东', '广州市', '天河区天河路', 2, '广州顺达运输有限公司', 2, 1, '2025-04-01 00:00:00', '公司', '月结算', NULL, '按月计费', '厢式货车', 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(3, 'HT-2025-003', 1, '深圳绿能示范项目', '2025-06-01', '2027-05-31', '月付', '月', '辽宁新能源汽车有限公司', '广东', '深圳市', '南山区科技园', 3, '深圳绿能科技有限公司', 1, 0, NULL, '客户', '预充值', 50000.00, '按月计费', '冷藏车', 'admin', NOW(), 'admin', NOW(), 0);
|
||||
|
||||
-- ---------- 合同车辆 ----------
|
||||
INSERT INTO `asset_contract_vehicle` (`id`, `contract_id`, `vehicle_id`, `brand`, `model`, `plate_no`, `vin`, `month_rent`, `deposit`, `vehicle_status`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES
|
||||
(1, 1, 1, '飞驰', 'FCEV-C1', '沪A12345', 'LFCEV001202500001', 15000.00, 30000.00, 1, 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(2, 1, 2, '飞驰', 'FCEV-C1', '沪A12346', 'LFCEV001202500002', 15000.00, 30000.00, 1, 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(3, 1, 3, '东风', 'EQ5180', '沪A12347', 'LFCEV001202500003', 12000.00, 25000.00, 1, 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(4, 2, 4, '东风', 'EQ5180', '粤B88001', 'LFCEV001202500004', 12000.00, 25000.00, 1, 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(5, 2, 5, '福田', 'BJ5120', '粤B88002', 'LFCEV001202500005', 10000.00, 20000.00, 1, 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(6, 3, 6, '飞驰', 'FCEV-C1', '粤B88003', 'LFCEV001202500006', 15000.00, 30000.00, 0, 'admin', NOW(), 'admin', NOW(), 0);
|
||||
|
||||
-- ---------- 合同授权人 ----------
|
||||
INSERT INTO `asset_contract_authorized` (`id`, `contract_id`, `name`, `phone`, `id_card`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES
|
||||
(1, 1, '刘志强', '13900001001', '310101199001011234', 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(2, 1, '王小明', '13900001002', '310101199205051234', 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(3, 2, '黄大成', '13900002001', '440103199501011234', 'admin', NOW(), 'admin', NOW(), 0);
|
||||
|
||||
-- ---------- 验车模板 ----------
|
||||
INSERT INTO `asset_inspection_template` (`id`, `code`, `name`, `biz_type`, `vehicle_type`, `status`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES
|
||||
(1, 'TPL-DELIVERY-001', '交车验车模板-冷藏车', 1, '冷藏车', 1, 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(2, 'TPL-RETURN-001', '还车验车模板-通用', 2, NULL, 1, 'admin', NOW(), 'admin', NOW(), 0);
|
||||
|
||||
-- ---------- 验车模板项 ----------
|
||||
INSERT INTO `asset_inspection_template_item` (`id`, `template_id`, `category`, `item_name`, `item_code`, `input_type`, `sort`, `required`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES
|
||||
(1, 1, '外观检查', '车身外观', 'BODY_APPEARANCE', 'radio', 1, 1, 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(2, 1, '外观检查', '车灯', 'LIGHTS', 'radio', 2, 1, 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(3, 1, '功能检查', '制动系统', 'BRAKE', 'radio', 3, 1, 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(4, 1, '功能检查', '氢系统', 'HYDROGEN_SYSTEM', 'radio', 4, 1, 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(5, 1, '功能检查', '冷机系统', 'REFRIGERATOR', 'radio', 5, 1, 'admin', NOW(), 'admin', NOW(), 0);
|
||||
|
||||
|
||||
-- ===================== PART 2: ENERGY =====================
|
||||
-- NOTE: This section runs against oneos_energy database
|
||||
|
||||
-- ---------- 站点配置 (加氢站) ----------
|
||||
INSERT INTO `energy_station_config` (`id`, `station_id`, `auto_deduct`, `cooperation_type`, `auto_match`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES
|
||||
(1, 1001, 1, 1, 1, '上海嘉定加氢站', 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(2, 1002, 1, 1, 1, '上海临港加氢站', 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(3, 1003, 0, 2, 1, '佛山南海加氢站', 'admin', NOW(), 'admin', NOW(), 0);
|
||||
|
||||
-- ---------- 站点价格 ----------
|
||||
INSERT INTO `energy_station_price` (`id`, `station_id`, `customer_id`, `cost_price`, `customer_price`, `effective_date`, `expiry_date`, `status`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES
|
||||
(1, 1001, 1, 25.00, 35.00, '2025-01-01', '2027-12-31', 1, 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(2, 1001, 2, 25.00, 38.00, '2025-01-01', '2027-12-31', 1, 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(3, 1002, 1, 28.00, 38.00, '2025-01-01', '2027-12-31', 1, 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(4, 1003, 2, 26.00, 36.00, '2025-04-01', '2027-03-31', 1, 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(5, 1003, 3, 26.00, 35.00, '2025-06-01', '2027-05-31', 1, 'admin', NOW(), 'admin', NOW(), 0);
|
||||
|
||||
-- ---------- 能源账户 ----------
|
||||
INSERT INTO `energy_account` (`id`, `customer_id`, `balance`, `init_balance`, `accumulated_recharge`, `accumulated_hydrogen`, `accumulated_electric`, `accumulated_consume`, `reminder_threshold`, `account_status`, `last_recharge_date`, `version`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES
|
||||
(1, 1, 52350.00, 0.00, 200000.00, 147650.00, 0.00, 147650.00, 10000.00, 1, '2026-02-15', 0, 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(2, 2, 0.00, 0.00, 0.00, 85600.00, 0.00, 85600.00, 5000.00, 1, NULL, 0, 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(3, 3, 35000.00, 0.00, 50000.00, 15000.00, 0.00, 15000.00, 5000.00, 1, '2026-01-10', 0, 'admin', NOW(), 'admin', NOW(), 0);
|
||||
|
||||
-- ---------- 项目账户 ----------
|
||||
INSERT INTO `energy_project_account` (`id`, `account_id`, `contract_id`, `project_name`, `project_balance`, `project_remit_amount`, `project_hydrogen_amount`, `project_electric_amount`, `project_consume_amount`, `reminder_threshold`, `account_status`, `version`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES
|
||||
(1, 1, 1, '上海鲜生冷链配送项目', 52350.00, 200000.00, 147650.00, 0.00, 147650.00, 10000.00, 1, 0, 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(2, 2, 2, '广州顺达城配项目', 0.00, 0.00, 85600.00, 0.00, 85600.00, 5000.00, 1, 0, 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(3, 3, 3, '深圳绿能示范项目', 35000.00, 50000.00, 15000.00, 0.00, 15000.00, 5000.00, 1, 0, 'admin', NOW(), 'admin', NOW(), 0);
|
||||
|
||||
-- ---------- 加氢记录 ----------
|
||||
INSERT INTO `energy_hydrogen_record` (`id`, `station_id`, `plate_number`, `hydrogen_date`, `hydrogen_quantity`, `unit_price`, `amount`, `mileage`, `source_type`, `match_status`, `vehicle_id`, `customer_id`, `upload_batch_no`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES
|
||||
(1, 1001, '沪A12345', '2026-03-01', 8.50, 35.00, 297.50, 12500, 1, 1, 1, 1, 'BATCH-20260301-001', 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(2, 1001, '沪A12346', '2026-03-01', 10.20, 35.00, 357.00, 15800, 1, 1, 2, 1, 'BATCH-20260301-001', 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(3, 1001, '沪A12347', '2026-03-02', 7.80, 35.00, 273.00, 8500, 1, 1, 3, 1, 'BATCH-20260302-001', 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(4, 1003, '粤B88001', '2026-03-02', 9.00, 36.00, 324.00, 20800, 1, 1, 4, 2, 'BATCH-20260302-002', 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(5, 1003, '粤B88002', '2026-03-03', 6.50, 36.00, 234.00, 5500, 1, 1, 5, 2, 'BATCH-20260303-001', 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(6, 1001, '沪A12345', '2026-03-05', 9.20, 35.00, 322.00, 12900, 1, 1, 1, 1, 'BATCH-20260305-001', 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(7, 1001, '沪A12346', '2026-03-06', 11.00, 35.00, 385.00, 16300, 1, 1, 2, 1, 'BATCH-20260306-001', 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(8, 1002, '沪A12345', '2026-03-08', 8.00, 38.00, 304.00, 13400, 1, 1, 1, 1, 'BATCH-20260308-001', 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(9, 1003, '粤B88001', '2026-03-08', 10.50, 36.00, 378.00, 21500, 1, 1, 4, 2, 'BATCH-20260308-002', 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(10, 1001, '沪A12347', '2026-03-10', 8.30, 35.00, 290.50, 9200, 1, 1, 3, 1, 'BATCH-20260310-001', 'admin', NOW(), 'admin', NOW(), 0),
|
||||
-- 未匹配记录
|
||||
(11, 1001, '沪C99999', '2026-03-10', 5.00, 35.00, 175.00, NULL, 1, 0, NULL, NULL, 'BATCH-20260310-001', 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(12, 1002, '粤Z11111', '2026-03-11', 7.00, 38.00, 266.00, NULL, 2, 0, NULL, NULL, 'BATCH-20260311-001', 'admin', NOW(), 'admin', NOW(), 0);
|
||||
|
||||
-- ---------- 加氢明细 ----------
|
||||
INSERT INTO `energy_hydrogen_detail` (`id`, `record_id`, `station_id`, `vehicle_id`, `plate_number`, `hydrogen_date`, `hydrogen_quantity`, `cost_price`, `cost_amount`, `customer_price`, `customer_amount`, `contract_id`, `customer_id`, `project_name`, `cost_bearer`, `pay_method`, `audit_status`, `deduction_status`, `settlement_status`, `bill_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES
|
||||
(1, 1, 1001, 1, '沪A12345', '2026-03-01', 8.50, 25.00, 212.50, 35.00, 297.50, 1, 1, '上海鲜生冷链配送项目', 1, 1, 1, 1, 1, 1, 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(2, 2, 1001, 2, '沪A12346', '2026-03-01', 10.20, 25.00, 255.00, 35.00, 357.00, 1, 1, '上海鲜生冷链配送项目', 1, 1, 1, 1, 1, 1, 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(3, 3, 1001, 3, '沪A12347', '2026-03-02', 7.80, 25.00, 195.00, 35.00, 273.00, 1, 1, '上海鲜生冷链配送项目', 1, 1, 1, 1, 1, 1, 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(4, 4, 1003, 4, '粤B88001', '2026-03-02', 9.00, 26.00, 234.00, 36.00, 324.00, 2, 2, '广州顺达城配项目', 2, 2, 1, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(5, 5, 1003, 5, '粤B88002', '2026-03-03', 6.50, 26.00, 169.00, 36.00, 234.00, 2, 2, '广州顺达城配项目', 2, 2, 1, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(6, 6, 1001, 1, '沪A12345', '2026-03-05', 9.20, 25.00, 230.00, 35.00, 322.00, 1, 1, '上海鲜生冷链配送项目', 1, 1, 1, 1, 1, 1, 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(7, 7, 1001, 2, '沪A12346', '2026-03-06', 11.00, 25.00, 275.00, 35.00, 385.00, 1, 1, '上海鲜生冷链配送项目', 1, 1, 1, 1, 1, 1, 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(8, 8, 1002, 1, '沪A12345', '2026-03-08', 8.00, 28.00, 224.00, 38.00, 304.00, 1, 1, '上海鲜生冷链配送项目', 1, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(9, 9, 1003, 4, '粤B88001', '2026-03-08', 10.50, 26.00, 273.00, 36.00, 378.00, 2, 2, '广州顺达城配项目', 2, 2, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(10, 10, 1001, 3, '沪A12347', '2026-03-10', 8.30, 25.00, 207.50, 35.00, 290.50, 1, 1, '上海鲜生冷链配送项目', 1, 1, 0, 0, 0, NULL, 'admin', NOW(), 'admin', NOW(), 0);
|
||||
|
||||
-- ---------- 能源账单 ----------
|
||||
INSERT INTO `energy_bill` (`id`, `bill_code`, `energy_type`, `customer_id`, `customer_name`, `contract_id`, `station_id`, `station_name`, `cooperation_type`, `bill_period_start`, `bill_period_end`, `receivable_amount`, `actual_amount`, `adjustment_amount`, `paid_amount`, `total_quantity`, `detail_count`, `status`, `audit_status`, `submit_status`, `payment_status`, `generate_time`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES
|
||||
(1, 'BILL-2026-03-001', 1, 1, '上海鲜生冷链物流有限公司', 1, 1001, '上海嘉定加氢站', 1, '2026-03-01', '2026-03-15', 1634.50, 1634.50, 0.00, 1634.50, 46.70, 5, 3, 1, 1, 1, '2026-03-16 00:00:00', 'admin', NOW(), 'admin', NOW(), 0),
|
||||
(2, 'BILL-2026-03-002', 1, 2, '广州顺达运输有限公司', 2, 1003, '佛山南海加氢站', 2, '2026-03-01', '2026-03-15', 936.00, NULL, 0.00, 0.00, 26.00, 3, 1, 0, 0, 0, '2026-03-16 00:00:00', 'admin', NOW(), 'admin', NOW(), 0);
|
||||
|
||||
-- ---------- 账单调整 ----------
|
||||
INSERT INTO `energy_bill_adjustment` (`id`, `bill_id`, `detail_id`, `adjustment_type`, `amount`, `reason`, `operator_id`, `operate_time`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES
|
||||
(1, 1, 1, 1, -10.00, '加氢站计量偏差修正', 1, '2026-03-15 10:00:00', 'admin', NOW(), 'admin', NOW(), 0);
|
||||
|
||||
-- ---------- 账户流水 ----------
|
||||
INSERT INTO `energy_account_flow` (`id`, `account_id`, `project_account_id`, `flow_type`, `amount`, `balance_before`, `balance_after`, `project_balance_before`, `project_balance_after`, `biz_type`, `biz_id`, `biz_code`, `remark`, `operator_id`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES
|
||||
(1, 1, 1, 1, 100000.00, 0.00, 100000.00, 0.00, 100000.00, 1, NULL, NULL, '首次充值', 1, 'admin', '2025-02-01 10:00:00', 'admin', '2025-02-01 10:00:00', 0),
|
||||
(2, 1, 1, 1, 100000.00, 100000.00, 200000.00, 100000.00, 200000.00, 1, NULL, NULL, '二次充值', 1, 'admin', '2026-02-15 10:00:00', 'admin', '2026-02-15 10:00:00', 0),
|
||||
(3, 1, 1, 2, -297.50, 200000.00, 199702.50, 200000.00, 199702.50, 2, 1, 'BILL-2026-03-001', '加氢扣费-沪A12345', NULL, 'admin', '2026-03-01 18:00:00', 'admin', '2026-03-01 18:00:00', 0),
|
||||
(4, 1, 1, 2, -357.00, 199702.50, 199345.50, 199702.50, 199345.50, 2, 1, 'BILL-2026-03-001', '加氢扣费-沪A12346', NULL, 'admin', '2026-03-01 18:05:00', 'admin', '2026-03-01 18:05:00', 0),
|
||||
(5, 3, 3, 1, 50000.00, 0.00, 50000.00, 0.00, 50000.00, 1, NULL, NULL, '首次充值', 1, 'admin', '2026-01-10 10:00:00', 'admin', '2026-01-10 10:00:00', 0);
|
||||
221
sql/rebuild/rebuild_all.py
Normal file
221
sql/rebuild/rebuild_all.py
Normal file
@@ -0,0 +1,221 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
重建 Asset 和 Energy 模块数据表并插入 Mock 数据
|
||||
- Asset 表 → oneos_asset 数据库
|
||||
- Energy 表 → oneos_energy 数据库
|
||||
- 使用 pymysql 连接远程 MySQL(规避本地 mysql 客户端 auth plugin 问题)
|
||||
"""
|
||||
|
||||
import os
|
||||
import sys
|
||||
import re
|
||||
|
||||
try:
|
||||
import pymysql
|
||||
except ImportError:
|
||||
print("pymysql 未安装,正在安装...")
|
||||
os.system(f"{sys.executable} -m pip install pymysql")
|
||||
import pymysql
|
||||
|
||||
# 数据库连接配置
|
||||
DB_CONFIG = {
|
||||
"host": "47.103.115.36",
|
||||
"port": 3306,
|
||||
"user": "root",
|
||||
"password": "Passw0rd2026",
|
||||
"charset": "utf8mb4",
|
||||
}
|
||||
|
||||
SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__))
|
||||
|
||||
|
||||
def read_sql_file(filename):
|
||||
"""读取 SQL 文件内容"""
|
||||
filepath = os.path.join(SCRIPT_DIR, filename)
|
||||
with open(filepath, "r", encoding="utf-8") as f:
|
||||
return f.read()
|
||||
|
||||
|
||||
def split_statements(sql_text):
|
||||
"""
|
||||
将 SQL 文本拆分为独立语句。
|
||||
处理 CREATE VIEW 等多行语句,跳过注释和空行。
|
||||
"""
|
||||
statements = []
|
||||
current = []
|
||||
for line in sql_text.split("\n"):
|
||||
stripped = line.strip()
|
||||
# 跳过纯注释行和空行(但保留语句中间的注释)
|
||||
if not stripped or stripped.startswith("--"):
|
||||
if current:
|
||||
# 如果当前语句已经开始,保留注释行(可能是语句内的注释)
|
||||
pass
|
||||
continue
|
||||
current.append(line)
|
||||
if stripped.endswith(";"):
|
||||
stmt = "\n".join(current).strip()
|
||||
if stmt:
|
||||
statements.append(stmt)
|
||||
current = []
|
||||
# 处理没有分号结尾的最后一条语句
|
||||
if current:
|
||||
stmt = "\n".join(current).strip()
|
||||
if stmt:
|
||||
statements.append(stmt)
|
||||
return statements
|
||||
|
||||
|
||||
def execute_sql(cursor, sql_text, label=""):
|
||||
"""执行一段 SQL(可包含多条语句)"""
|
||||
statements = split_statements(sql_text)
|
||||
success = 0
|
||||
errors = 0
|
||||
for i, stmt in enumerate(statements, 1):
|
||||
# 提取语句摘要用于日志
|
||||
first_line = stmt.split("\n")[0][:80]
|
||||
try:
|
||||
cursor.execute(stmt)
|
||||
success += 1
|
||||
except pymysql.err.OperationalError as e:
|
||||
code = e.args[0]
|
||||
# 1051: Unknown table (DROP 不存在的表) - 忽略
|
||||
if code == 1051:
|
||||
success += 1
|
||||
else:
|
||||
errors += 1
|
||||
print(f" ❌ [{label}] 语句 {i} 失败: {e}")
|
||||
print(f" SQL: {first_line}...")
|
||||
except Exception as e:
|
||||
errors += 1
|
||||
print(f" ❌ [{label}] 语句 {i} 失败: {e}")
|
||||
print(f" SQL: {first_line}...")
|
||||
return success, errors
|
||||
|
||||
|
||||
def main():
|
||||
print("=" * 60)
|
||||
print("ONE-OS 数据表重建工具")
|
||||
print("=" * 60)
|
||||
|
||||
# 读取 SQL 文件
|
||||
print("\n📄 读取 SQL 文件...")
|
||||
asset_ddl = read_sql_file("asset_ddl.sql")
|
||||
energy_ddl = read_sql_file("energy_ddl.sql")
|
||||
mock_data = read_sql_file("mock_data.sql")
|
||||
|
||||
# 拆分 mock_data 为 asset 和 energy 部分
|
||||
parts = mock_data.split("-- ===================== PART 2: ENERGY =====================")
|
||||
if len(parts) != 2:
|
||||
print("❌ mock_data.sql 格式错误:找不到 PART 2 分隔符")
|
||||
sys.exit(1)
|
||||
asset_mock = parts[0]
|
||||
energy_mock = parts[1]
|
||||
|
||||
# 从 asset_mock 中去掉文件头注释和 PART 1 标记
|
||||
# 保留实际的 INSERT 语句
|
||||
|
||||
total_success = 0
|
||||
total_errors = 0
|
||||
|
||||
# ========== 1. 处理 Asset 数据库 ==========
|
||||
print("\n" + "=" * 60)
|
||||
print("🔧 [1/3] 重建 oneos_asset 数据库表...")
|
||||
print("=" * 60)
|
||||
|
||||
conn_asset = pymysql.connect(**DB_CONFIG, database="oneos_asset")
|
||||
conn_asset.autocommit(True)
|
||||
cursor_asset = conn_asset.cursor()
|
||||
|
||||
# 创建 Asset 表
|
||||
print("\n📋 执行 Asset DDL(29张表 + 1个视图)...")
|
||||
s, e = execute_sql(cursor_asset, asset_ddl, "Asset DDL")
|
||||
total_success += s
|
||||
total_errors += e
|
||||
print(f" ✅ Asset DDL: {s} 成功, {e} 失败")
|
||||
|
||||
# 插入 Asset Mock 数据
|
||||
print("\n📋 插入 Asset Mock 数据...")
|
||||
s, e = execute_sql(cursor_asset, asset_mock, "Asset Mock")
|
||||
total_success += s
|
||||
total_errors += e
|
||||
print(f" ✅ Asset Mock: {s} 成功, {e} 失败")
|
||||
|
||||
cursor_asset.close()
|
||||
conn_asset.close()
|
||||
|
||||
# ========== 2. 处理 Energy 数据库 ==========
|
||||
print("\n" + "=" * 60)
|
||||
print("🔧 [2/3] 重建 oneos_energy 数据库表...")
|
||||
print("=" * 60)
|
||||
|
||||
# 先确保 oneos_energy 数据库存在
|
||||
conn_init = pymysql.connect(**DB_CONFIG)
|
||||
conn_init.autocommit(True)
|
||||
cursor_init = conn_init.cursor()
|
||||
cursor_init.execute("CREATE DATABASE IF NOT EXISTS `oneos_energy` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci")
|
||||
cursor_init.close()
|
||||
conn_init.close()
|
||||
|
||||
conn_energy = pymysql.connect(**DB_CONFIG, database="oneos_energy")
|
||||
conn_energy.autocommit(True)
|
||||
cursor_energy = conn_energy.cursor()
|
||||
|
||||
# 创建 Energy 表
|
||||
print("\n📋 执行 Energy DDL(9张表)...")
|
||||
s, e = execute_sql(cursor_energy, energy_ddl, "Energy DDL")
|
||||
total_success += s
|
||||
total_errors += e
|
||||
print(f" ✅ Energy DDL: {s} 成功, {e} 失败")
|
||||
|
||||
# 插入 Energy Mock 数据
|
||||
print("\n📋 插入 Energy Mock 数据...")
|
||||
s, e = execute_sql(cursor_energy, energy_mock, "Energy Mock")
|
||||
total_success += s
|
||||
total_errors += e
|
||||
print(f" ✅ Energy Mock: {s} 成功, {e} 失败")
|
||||
|
||||
cursor_energy.close()
|
||||
conn_energy.close()
|
||||
|
||||
# ========== 3. 验证 ==========
|
||||
print("\n" + "=" * 60)
|
||||
print("🔍 [3/3] 验证表结构和数据...")
|
||||
print("=" * 60)
|
||||
|
||||
# 验证 Asset
|
||||
conn_v = pymysql.connect(**DB_CONFIG, database="oneos_asset")
|
||||
cursor_v = conn_v.cursor()
|
||||
cursor_v.execute("SELECT TABLE_NAME, TABLE_ROWS FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'oneos_asset' AND TABLE_TYPE = 'BASE TABLE' ORDER BY TABLE_NAME")
|
||||
asset_tables = cursor_v.fetchall()
|
||||
print(f"\n📊 oneos_asset 数据库: {len(asset_tables)} 张表")
|
||||
for table_name, row_count in asset_tables:
|
||||
cursor_v.execute(f"SELECT COUNT(*) FROM `{table_name}`")
|
||||
actual_count = cursor_v.fetchone()[0]
|
||||
print(f" {table_name}: {actual_count} 行")
|
||||
cursor_v.close()
|
||||
conn_v.close()
|
||||
|
||||
# 验证 Energy
|
||||
conn_v2 = pymysql.connect(**DB_CONFIG, database="oneos_energy")
|
||||
cursor_v2 = conn_v2.cursor()
|
||||
cursor_v2.execute("SELECT TABLE_NAME, TABLE_ROWS FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'oneos_energy' AND TABLE_TYPE = 'BASE TABLE' ORDER BY TABLE_NAME")
|
||||
energy_tables = cursor_v2.fetchall()
|
||||
print(f"\n📊 oneos_energy 数据库: {len(energy_tables)} 张表")
|
||||
for table_name, row_count in energy_tables:
|
||||
cursor_v2.execute(f"SELECT COUNT(*) FROM `{table_name}`")
|
||||
actual_count = cursor_v2.fetchone()[0]
|
||||
print(f" {table_name}: {actual_count} 行")
|
||||
cursor_v2.close()
|
||||
conn_v2.close()
|
||||
|
||||
# ========== 总结 ==========
|
||||
print("\n" + "=" * 60)
|
||||
print(f"🎉 完成! 总计: {total_success} 成功, {total_errors} 失败")
|
||||
print("=" * 60)
|
||||
|
||||
if total_errors > 0:
|
||||
sys.exit(1)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user