SELECT segment_id, vehicle_id, vehicle_no, segment_start_time, segment_end_time,
start_longitude, start_latitude, end_longitude, end_latitude,
segment_distance, gps_point_count, gps_ids, task_id, task_code,
calculate_method, create_time, update_time
FROM tb_vehicle_gps_segment_mileage
INSERT INTO tb_vehicle_gps_segment_mileage
vehicle_id,
vehicle_no,
segment_start_time,
segment_end_time,
start_longitude,
start_latitude,
end_longitude,
end_latitude,
segment_distance,
gps_point_count,
gps_ids,
task_id,
task_code,
calculate_method,
#{vehicleId},
#{vehicleNo},
#{segmentStartTime},
#{segmentEndTime},
#{startLongitude},
#{startLatitude},
#{endLongitude},
#{endLatitude},
#{segmentDistance},
#{gpsPointCount},
#{gpsIds},
#{taskId},
#{taskCode},
#{calculateMethod},
ON DUPLICATE KEY UPDATE
vehicle_no = VALUES(vehicle_no),
segment_end_time = VALUES(segment_end_time),
start_longitude = VALUES(start_longitude),
start_latitude = VALUES(start_latitude),
end_longitude = VALUES(end_longitude),
end_latitude = VALUES(end_latitude),
segment_distance = VALUES(segment_distance),
gps_point_count = VALUES(gps_point_count),
gps_ids = VALUES(gps_ids),
task_id = VALUES(task_id),
task_code = VALUES(task_code),
calculate_method = VALUES(calculate_method),
update_time = NOW()
UPDATE tb_vehicle_gps_segment_mileage
vehicle_no = #{vehicleNo},
segment_end_time = #{segmentEndTime},
end_longitude = #{endLongitude},
end_latitude = #{endLatitude},
segment_distance = #{segmentDistance},
gps_point_count = #{gpsPointCount},
calculate_method = #{calculateMethod},
WHERE segment_id = #{segmentId}
DELETE FROM tb_vehicle_gps_segment_mileage WHERE segment_id = #{segmentId}
DELETE FROM tb_vehicle_gps_segment_mileage WHERE segment_id IN
#{segmentId}
INSERT INTO tb_vehicle_gps_calculated (gps_id, segment_id, vehicle_id, create_time)
VALUES (#{gpsId}, #{segmentId}, #{vehicleId}, NOW())