✨ 新增异常关联维修记录:维修记录加 exception_id,异常详情内联记录并新增录入接口
This commit is contained in:
@@ -7,6 +7,7 @@ CREATE TABLE `blade_vehicle_maintenance_record` (
|
||||
`tenant_id` varchar(12) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '000000' COMMENT '租户ID',
|
||||
`vehicle_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '车船类型',
|
||||
`vehicle_no` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '车牌号/船号',
|
||||
`exception_id` bigint NULL DEFAULT NULL COMMENT '关联异常处置ID(小程序录入时写入)',
|
||||
`maintainer` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '维修人',
|
||||
`maintenance_time` datetime NOT NULL COMMENT '维修时间',
|
||||
`location` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '维修位置',
|
||||
@@ -29,5 +30,6 @@ CREATE TABLE `blade_vehicle_maintenance_record` (
|
||||
`is_deleted` int NULL DEFAULT 0 COMMENT '是否已删除',
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
INDEX `idx_vehicle_maintenance_record_no`(`vehicle_no`) USING BTREE,
|
||||
INDEX `idx_vehicle_maintenance_record_time`(`maintenance_time`) USING BTREE
|
||||
INDEX `idx_vehicle_maintenance_record_time`(`maintenance_time`) USING BTREE,
|
||||
UNIQUE INDEX `uk_vehicle_maintenance_record_exception`(`exception_id`) USING BTREE
|
||||
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '车辆维修记录';
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
-- 维修记录关联异常处置
|
||||
-- 日期:2026-10-29
|
||||
-- 小程序调度端在「车辆故障维修」类异常下录入维修记录,记录通过 exception_id 关联该条异常。
|
||||
-- 一条异常至多一条维修记录,故建唯一索引;唯一索引允许多个 NULL,PC 手工录入/导入的记录不受影响。
|
||||
|
||||
DELIMITER $$
|
||||
|
||||
DROP PROCEDURE IF EXISTS `upgrade_blade_vehicle_maintenance_record_exception_20261029`$$
|
||||
CREATE PROCEDURE `upgrade_blade_vehicle_maintenance_record_exception_20261029`()
|
||||
BEGIN
|
||||
DECLARE db_name varchar(128);
|
||||
SET db_name = DATABASE();
|
||||
|
||||
IF NOT EXISTS (SELECT 1 FROM information_schema.columns
|
||||
WHERE table_schema = db_name
|
||||
AND table_name = 'blade_vehicle_maintenance_record'
|
||||
AND column_name = 'exception_id') THEN
|
||||
ALTER TABLE `blade_vehicle_maintenance_record`
|
||||
ADD COLUMN `exception_id` bigint NULL DEFAULT NULL COMMENT '关联异常处置ID(小程序录入时写入)'
|
||||
AFTER `vehicle_no`;
|
||||
END IF;
|
||||
|
||||
IF NOT EXISTS (SELECT 1 FROM information_schema.statistics
|
||||
WHERE table_schema = db_name
|
||||
AND table_name = 'blade_vehicle_maintenance_record'
|
||||
AND index_name = 'uk_vehicle_maintenance_record_exception') THEN
|
||||
ALTER TABLE `blade_vehicle_maintenance_record`
|
||||
ADD UNIQUE INDEX `uk_vehicle_maintenance_record_exception`(`exception_id`) USING BTREE;
|
||||
END IF;
|
||||
END$$
|
||||
|
||||
CALL `upgrade_blade_vehicle_maintenance_record_exception_20261029`()$$
|
||||
DROP PROCEDURE `upgrade_blade_vehicle_maintenance_record_exception_20261029`$$
|
||||
|
||||
DELIMITER ;
|
||||
@@ -5620,6 +5620,7 @@ CREATE TABLE `blade_vehicle_maintenance_record` (
|
||||
`tenant_id` varchar(12) DEFAULT '000000' COMMENT '租户ID',
|
||||
`vehicle_type` varchar(20) NOT NULL COMMENT '车船类型',
|
||||
`vehicle_no` varchar(30) NOT NULL COMMENT '车牌号/船号',
|
||||
`exception_id` bigint(20) DEFAULT NULL COMMENT '关联异常处置ID(小程序录入时写入)',
|
||||
`maintainer` varchar(20) DEFAULT NULL COMMENT '维修人',
|
||||
`maintenance_time` datetime NOT NULL COMMENT '维修时间',
|
||||
`location` varchar(100) DEFAULT NULL COMMENT '维修位置',
|
||||
@@ -5642,7 +5643,8 @@ CREATE TABLE `blade_vehicle_maintenance_record` (
|
||||
`is_deleted` int(11) DEFAULT '0' COMMENT '是否已删除',
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
KEY `idx_vehicle_maintenance_record_no` (`vehicle_no`) USING BTREE,
|
||||
KEY `idx_vehicle_maintenance_record_time` (`maintenance_time`) USING BTREE
|
||||
KEY `idx_vehicle_maintenance_record_time` (`maintenance_time`) USING BTREE,
|
||||
UNIQUE KEY `uk_vehicle_maintenance_record_exception` (`exception_id`) USING BTREE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='车辆维修记录';
|
||||
|
||||
-- ----------------------------
|
||||
|
||||
Reference in New Issue
Block a user