Files
yudao-asset-cloud/sql/asset-schema.sql

334 lines
17 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# -
##
### 1.1 (asset_truck)
```sql
CREATE TABLE `asset_truck` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`org_id` bigint NOT NULL COMMENT '所属机构',
`plate_number` varchar(20) NOT NULL COMMENT '车牌号',
`vin` varchar(50) NOT NULL COMMENT 'VIN码',
`brand` int NOT NULL COMMENT '品牌(字典)',
`model` int NOT NULL COMMENT '型号(字典)',
`color` varchar(20) DEFAULT NULL COMMENT '颜色',
`engine_num` varchar(50) DEFAULT NULL COMMENT '电机编号',
`hydrogen_capacity` int DEFAULT NULL COMMENT '氢瓶容量(L)',
`reserve_electricity` decimal(10,2) DEFAULT NULL COMMENT '储电量(kwh)',
`buy_time` datetime DEFAULT NULL COMMENT '采购时间',
`mileage` decimal(10,2) DEFAULT 0.00 COMMENT '里程数(KM)',
`truck_rent_status` int NOT NULL DEFAULT 0 COMMENT '租赁状态0-未备车,7-已备车,1-已交车,2-已还车',
`is_operation` tinyint NOT NULL DEFAULT 0 COMMENT '是否营运0-否,1-是',
`parking_id` bigint DEFAULT NULL COMMENT '停车场ID',
`stock_area` int DEFAULT NULL COMMENT '库存区域(字典)',
`remarks` 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 '是否删除',
`tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_vin` (`vin`,`deleted`,`tenant_id`),
KEY `idx_plate_number` (`plate_number`),
KEY `idx_org_id` (`org_id`),
KEY `idx_truck_rent_status` (`truck_rent_status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='车辆信息表';
```
### 1.2 (asset_customer)
```sql
CREATE TABLE `asset_customer` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`name` varchar(100) NOT NULL COMMENT '客户名称',
`credit_code` varchar(50) DEFAULT NULL COMMENT '统一信用代码',
`contact_name` varchar(50) DEFAULT NULL COMMENT '联系人',
`contact_phone` varchar(20) DEFAULT NULL COMMENT '联系电话',
`contact_address` varchar(200) DEFAULT NULL COMMENT '联系地址',
`contact_email` varchar(100) 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 '是否删除',
`tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
PRIMARY KEY (`id`),
KEY `idx_name` (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='客户信息表';
```
### 1.3 (asset_parking)
```sql
CREATE TABLE `asset_parking` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`name` varchar(100) NOT NULL COMMENT '停车场名称',
`address` varchar(200) DEFAULT NULL COMMENT '地址',
`capacity` 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 '是否删除',
`tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='停车场表';
```
##
### 2.1 (asset_check_item)
```sql
CREATE TABLE `asset_check_item` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`form_code` varchar(50) NOT NULL COMMENT '所属表单preparation-备车,take-交车,return-还车',
`category` varchar(50) NOT NULL COMMENT '检查项类别',
`code` varchar(50) NOT NULL COMMENT '检查项编码',
`name` varchar(100) NOT NULL COMMENT '检查项名称',
`data_type` int NOT NULL COMMENT '数据类型1-boolean,2-整数,3-小数,4-百分比,5-字符串,6-图片',
`sort` int NOT NULL DEFAULT 0 COMMENT '排序',
`required` tinyint NOT NULL DEFAULT 0 COMMENT '是否必填0-否,1-是',
`creator` varchar(64) DEFAULT '' COMMENT '创建者',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updater` varchar(64) DEFAULT '' COMMENT '更新者',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
`tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
PRIMARY KEY (`id`),
KEY `idx_form_code` (`form_code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='检查项配置表';
```
##
### 3.1 (asset_preparation)
```sql
CREATE TABLE `asset_preparation` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`truck_id` bigint NOT NULL COMMENT '车辆ID',
`status` int NOT NULL DEFAULT 0 COMMENT '状态0-待整备,1-整备中,2-已完成',
`parking_id` bigint DEFAULT NULL COMMENT '停车场ID',
`instrument_range` decimal(10,2) DEFAULT NULL COMMENT '仪表盘里程',
`left_hydrogen` decimal(10,2) DEFAULT NULL COMMENT '剩余氢量',
`hydrogen_unit` int DEFAULT NULL COMMENT '氢气单位(字典)',
`left_electricity` decimal(10,2) DEFAULT NULL COMMENT '剩余电量(%)',
`handler_id` bigint DEFAULT NULL COMMENT '负责人ID',
`completion_time` datetime DEFAULT NULL COMMENT '完成时间',
`next_check_date` datetime 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 '是否删除',
`tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
PRIMARY KEY (`id`),
KEY `idx_truck_id` (`truck_id`),
KEY `idx_status` (`status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='备车单表';
```
### 3.2 (asset_preparation_check_data)
```sql
CREATE TABLE `asset_preparation_check_data` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`preparation_id` bigint NOT NULL COMMENT '备车单ID',
`check_item_id` bigint NOT NULL COMMENT '检查项ID',
`category` varchar(50) NOT NULL COMMENT '检查项类别',
`code` varchar(50) NOT NULL COMMENT '检查项编码',
`name` varchar(100) NOT NULL COMMENT '检查项名称',
`data_type` int NOT NULL COMMENT '数据类型',
`value` varchar(500) DEFAULT NULL COMMENT '检查值',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`sort` int NOT NULL DEFAULT 0 COMMENT '排序',
`creator` varchar(64) DEFAULT '' COMMENT '创建者',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (`id`),
KEY `idx_preparation_id` (`preparation_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='备车检查项数据表';
```
##
### 4.1 (asset_contract)
```sql
CREATE TABLE `asset_contract` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`org_id` bigint NOT NULL COMMENT '签约机构',
`contract_no` varchar(50) NOT NULL COMMENT '合同编号',
`customer_id` bigint NOT NULL COMMENT '客户ID',
`project_name` varchar(200) NOT NULL COMMENT '项目名称',
`contract_type` int NOT NULL COMMENT '合同类型(字典)',
`signing_date` date NOT NULL COMMENT '生效日期',
`expire_date` date DEFAULT NULL COMMENT '结束日期',
`pay_way` int DEFAULT NULL COMMENT '付款方式(字典)',
`pay_period` int DEFAULT NULL COMMENT '付款周期(字典)',
`handover_address` varchar(200) DEFAULT NULL COMMENT '交车地点',
`bd` varchar(50) DEFAULT NULL COMMENT '业务经理',
`business_dept_id` bigint DEFAULT NULL COMMENT '业务部门ID',
`status` int NOT NULL DEFAULT 0 COMMENT '状态0-草稿,1-审批中,2-已通过,3-已拒绝,4-已作废',
`bpm_process_id` varchar(64) DEFAULT NULL COMMENT '审批流程ID',
`parent_id` bigint DEFAULT NULL COMMENT '父合同ID变更/续签)',
`is_alter` tinyint NOT NULL DEFAULT 0 COMMENT '是否变更合同0-否,1-是',
`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 '是否删除',
`tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_contract_no` (`contract_no`,`deleted`,`tenant_id`),
KEY `idx_customer_id` (`customer_id`),
KEY `idx_status` (`status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='合同表';
```
### 4.2 (asset_contract_truck)
```sql
CREATE TABLE `asset_contract_truck` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`contract_id` bigint NOT NULL COMMENT '合同ID',
`truck_id` bigint NOT NULL COMMENT '车辆ID',
`estimated_return_date` date DEFAULT NULL COMMENT '预计还车日期',
`creator` varchar(64) DEFAULT '' COMMENT '创建者',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (`id`),
KEY `idx_contract_id` (`contract_id`),
KEY `idx_truck_id` (`truck_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='合同车辆关联表';
```
##
### 5.1 (asset_rent_task)
```sql
CREATE TABLE `asset_rent_task` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`contract_id` bigint NOT NULL COMMENT '合同ID',
`contract_truck_id` bigint NOT NULL COMMENT '合同车辆ID',
`task_type` int NOT NULL COMMENT '任务类型1-交车,2-还车,3-替换车',
`task_status` int NOT NULL DEFAULT 0 COMMENT '任务状态0-进行中,1-已完成',
`parent_task_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 '是否删除',
`tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
PRIMARY KEY (`id`),
KEY `idx_contract_id` (`contract_id`),
KEY `idx_task_type` (`task_type`),
KEY `idx_task_status` (`task_status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='租赁任务表';
```
## //
### 6.1 (asset_take)
```sql
CREATE TABLE `asset_take` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`task_id` bigint NOT NULL COMMENT '任务ID',
`take_name` varchar(50) NOT NULL COMMENT '提车人姓名',
`take_phone` varchar(20) NOT NULL COMMENT '提车人电话',
`take_id_no` varchar(50) NOT NULL COMMENT '提车人身份证',
`handover_user_id` bigint NOT NULL COMMENT '交车人ID',
`handover_date` datetime NOT NULL COMMENT '交车时间',
`handover_address` varchar(200) NOT NULL COMMENT '交车地点',
`business_manager` varchar(50) DEFAULT NULL COMMENT '业务经理',
`take_mileage` decimal(10,2) DEFAULT NULL COMMENT '交车里程(KM)',
`hydrogen_measure` decimal(10,2) DEFAULT NULL COMMENT '氢SOC',
`hydrogen_unit` int DEFAULT NULL COMMENT '氢SOC单位字典',
`electricity` decimal(10,2) DEFAULT NULL COMMENT '电量百分比',
`dashboard_pic` varchar(500) DEFAULT NULL COMMENT '仪表盘照片',
`front_pic` varchar(500) DEFAULT NULL COMMENT '正面照片',
`left_front_pic` varchar(500) DEFAULT NULL COMMENT '左前方照片',
`right_front_pic` varchar(500) DEFAULT NULL COMMENT '右前方照片',
`left_rear_pic` varchar(500) DEFAULT NULL COMMENT '左后方照片',
`right_rear_pic` varchar(500) DEFAULT NULL COMMENT '右后方照片',
`is_driving_training` tinyint DEFAULT 0 COMMENT '是否驾驶培训0-否,1-是',
`authorizer` varchar(50) DEFAULT NULL COMMENT '授权人',
`authorizer_id_card` varchar(50) DEFAULT NULL COMMENT '授权人身份证',
`authorizer_phone` varchar(20) 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 '是否删除',
`tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
PRIMARY KEY (`id`),
KEY `idx_task_id` (`task_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='交车单表';
```
### 6.2 (asset_return)
```sql
CREATE TABLE `asset_return` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`task_id` bigint NOT NULL COMMENT '任务ID',
`return_date` datetime NOT NULL COMMENT '还车时间',
`return_mileage` decimal(10,2) DEFAULT NULL COMMENT '还车里程(KM)',
`hydrogen_measure` decimal(10,2) DEFAULT NULL COMMENT '氢SOC',
`hydrogen_unit` int DEFAULT NULL COMMENT '氢SOC单位字典',
`electricity` decimal(10,2) DEFAULT NULL COMMENT '电量百分比',
`return_driver` varchar(50) NOT NULL COMMENT '还车人',
`return_id_card` varchar(50) NOT NULL COMMENT '还车人身份证',
`return_phone` varchar(20) NOT NULL COMMENT '还车人电话',
`return_location_type` int DEFAULT NULL COMMENT '还车地点类型(字典)',
`return_location` varchar(200) NOT NULL COMMENT '还车地点',
`fee_amount_total` decimal(10,2) DEFAULT 0.00 COMMENT '费用金额总计',
`bill_status` int DEFAULT 0 COMMENT '账单状态0-未付款,1-已付款',
`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 '是否删除',
`tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
PRIMARY KEY (`id`),
KEY `idx_task_id` (`task_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='还车单表';
```
### 6.3 (asset_replace)
```sql
CREATE TABLE `asset_replace` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`contract_id` bigint NOT NULL COMMENT '合同ID',
`contract_truck_id` bigint NOT NULL COMMENT '合同车辆ID',
`old_task_id` bigint NOT NULL COMMENT '原交车任务ID',
`old_truck_id` bigint NOT NULL COMMENT '原车辆ID',
`new_truck_id` bigint NOT NULL COMMENT '新车辆ID',
`new_task_id` bigint DEFAULT NULL COMMENT '新交车任务ID',
`replace_type` int NOT NULL COMMENT '替换类型1-临时,2-永久',
`replace_reason_type` int DEFAULT NULL COMMENT '替换原因类型(字典)',
`replace_reason` varchar(500) DEFAULT NULL COMMENT '替换原因',
`status` int NOT NULL DEFAULT 0 COMMENT '状态0-草稿,1-审批中,2-已通过,3-已拒绝',
`bpm_process_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 '是否删除',
`tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
PRIMARY KEY (`id`),
KEY `idx_contract_id` (`contract_id`),
KEY `idx_old_truck_id` (`old_truck_id`),
KEY `idx_new_truck_id` (`new_truck_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='替换车表';
```