车辆管理

背景

表结构

1. vehicle_info 车辆信息

-- 车辆信息
CREATE TABLE `vehicle_info` (
  `vehicle_info_id` bigint NOT NULL AUTO_INCREMENT COMMENT '车辆ID',
  `vehicle_code` varchar(50) NOT NULL DEFAULT '' COMMENT '车辆编码',
  `vehicle_type` tinyint NOT NULL DEFAULT '1' COMMENT '车型(1-小型货车;2-中型货车;3-大型货车)',
  `license_plate` varchar(50) NOT NULL DEFAULT '' COMMENT '车牌号',
  `driver_id` bigint NOT NULL DEFAULT '0' COMMENT '司机',
  `driver_name` varchar(32) NOT NULL DEFAULT '' COMMENT '司机名称',
  `max_load_capacity` decimal(24,3) NOT NULL DEFAULT '0.000' COMMENT '最大载重量',
  `max_volume` decimal(24,3) NOT NULL DEFAULT '0.000' COMMENT '最大体积',
  `max_load_capacity_unit` varchar(16) NOT NULL DEFAULT 'LB' COMMENT '最大载重量单位:LB',
  `max_volume_unit` varchar(16) NOT NULL DEFAULT 'in³' COMMENT '最大体积单位:in³',
  `site_id` bigint NOT NULL DEFAULT '0' COMMENT '网点ID',
  `site_code` varchar(32) NOT NULL COMMENT '网点代码',
  `vehicle_status` tinyint NOT NULL DEFAULT '1' COMMENT '启用状态:0-禁用,1-启用',
  `create_user` bigint NOT NULL COMMENT '创建人',
  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `update_user` bigint NOT NULL COMMENT '更新人',
  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `vehicle_attributes` tinyint NOT NULL DEFAULT '1' COMMENT '货物属性(1-全部;2-普货;3-特货)',
  PRIMARY KEY (`vehicle_info_id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

2. vehicle_info 按规范添加字段与索引

-- vehicle_info
-- 第一步先添加字段
ALTER TABLE `vehicle_info`
     ADD  COLUMN `remark` varchar(256) DEFAULT '' COMMENT '备注',
 ADD  COLUMN `over_flag` tinyint NOT NULL DEFAULT '0' COMMENT '完结标识 0-未完结,1-已完结';

-- 索引
ALTER TABLE `vehicle_info`
    ADD UNIQUE INDEX `uniq_vehicle_code`(`vehicle_code`),
    ADD INDEX `idx_create_time` (`create_time`),
    ADD INDEX `idx_update_time` (`update_time`);

3. 业务日志表dms_business_log,表结构见客户管理

business_source通过类型区分不同业务日志,车辆信息日志对应business_source==4

4. truck_info 干线卡车

CREATE TABLE `truck_info` (
  `truck_id` bigint NOT NULL AUTO_INCREMENT COMMENT '卡车ID',
  `truck_no` varchar(32) NOT NULL DEFAULT '' COMMENT '车牌号',
  `vehicle_registration` varchar(64) NOT NULL DEFAULT '' COMMENT '车辆登记vehicleRegistration',
  `vehicle_label` varchar(64) NOT NULL DEFAULT '' COMMENT '车辆标签vehicleLabel',
  `truck_contactor` varchar(32) NOT NULL DEFAULT '' COMMENT '联系人',
  `truck_phone` varchar(32) NOT NULL DEFAULT '' COMMENT '联系电话',
  `create_user_id` bigint NOT NULL DEFAULT '0' COMMENT '创建人ID',
  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  PRIMARY KEY (`truck_id`) USING BTREE,
  KEY `idx_truck_no` (`truck_no`)
) ENGINE=InnoDB AUTO_INCREMENT=2436 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='卡车信息表';

5. truck_info 按规范添加字段与索引

-- 干线卡车
-- 第一步先添加字段,存在create_time
ALTER TABLE truck_info
     ADD  COLUMN `remark` varchar(256) DEFAULT '' COMMENT '备注',
 ADD  COLUMN `over_flag` tinyint NOT NULL DEFAULT '0' COMMENT '完结标识 0-未完结,1-已完结',
 ADD  COLUMN `create_user` bigint DEFAULT NULL COMMENT '创建人',
 ADD  COLUMN `update_user` bigint DEFAULT NULL COMMENT '更新人',
 ADD  COLUMN `update_time` datetime DEFAULT NULL COMMENT '更新时间';

-- 第二步历史数据初始化,存在create_user_id,create_time
update truck_info set
                      create_user = create_user_id,
                      update_user = create_user_id,
                      update_time = create_time
where 1=1;

-- 第三步修改字段约束
ALTER TABLE truck_info
    MODIFY  COLUMN   `create_user` bigint NOT NULL COMMENT '创建人',
    MODIFY  COLUMN   `update_user` bigint DEFAULT NULL COMMENT '更新人',
    MODIFY  COLUMN   `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间';

-- 索引
ALTER TABLE truck_info
    ADD INDEX `idx_create_time` (`create_time`),
ADD INDEX `idx_update_time` (`update_time`);

-- 一个车牌存在重复数据,处理数据
ALTER TABLE truck_info ADD UNIQUE INDEX `uniq_truck_no`(`truck_no`);

-- create_user_id待弃用
ALTER TABLE truck_info
    MODIFY  COLUMN `create_user_id` bigint NOT NULL DEFAULT '0' COMMENT '创建人ID(待弃用)';

功能流程图

作者:陆飞  创建时间:2026-01-13 17:18
最后编辑:高美燕  更新时间:2026-03-03 10:08