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())