wlzboy
2025-09-25 4648a3bee638e9a99d2d80b66f8833b261a2db91
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
-- 修复任务车辆关联表插入问题
-- 问题:assign_time 和 assign_by 字段为 NOT NULL,但插入时可能没有值
 
-- 1. 检查表结构
DESCRIBE sys_task_vehicle;
 
-- 2. 测试插入数据(模拟修复后的情况)
-- 注意:这些字段现在在 Service 层会自动设置
INSERT INTO sys_task_vehicle (task_id, vehicle_id, assign_time, assign_by, status, remark) 
VALUES (1, 1, NOW(), 'admin', 'ASSIGNED', '测试数据');
 
-- 3. 验证插入结果
SELECT * FROM sys_task_vehicle WHERE task_id = 1 AND vehicle_id = 1;
 
-- 4. 清理测试数据
DELETE FROM sys_task_vehicle WHERE task_id = 1 AND vehicle_id = 1;
 
-- 修复说明:
-- 1. 在 SysTaskVehicleServiceImpl.insertSysTaskVehicle() 方法中
--    自动设置 assign_time 为当前时间
--    自动设置 assign_by 为当前用户
--    自动设置 status 为 'ASSIGNED'(如果未设置)
--
-- 2. 在 SysTaskVehicleMapper.xml 中
--    assign_time 和 assign_by 字段总是被包含在插入语句中
--    不再使用条件判断,因为这些字段是必需的
--
-- 3. 这样确保了数据库约束得到满足,避免 "Field doesn't have a default value" 错误