package com.ruoyi.system.service; import java.util.Date; import java.util.List; import com.ruoyi.system.domain.VehicleMileageStats; /** * 车辆里程统计Service接口 */ public interface IVehicleMileageStatsService { /** * 查询车辆里程统计 * * @param statsId 统计ID * @return 车辆里程统计 */ public VehicleMileageStats selectVehicleMileageStatsById(Long statsId); /** * 查询车辆里程统计列表 * * @param vehicleMileageStats 车辆里程统计 * @return 车辆里程统计集合 */ public List selectVehicleMileageStatsList(VehicleMileageStats vehicleMileageStats); /** * 新增车辆里程统计 * * @param vehicleMileageStats 车辆里程统计 * @return 结果 */ public int insertVehicleMileageStats(VehicleMileageStats vehicleMileageStats); /** * 修改车辆里程统计 * * @param vehicleMileageStats 车辆里程统计 * @return 结果 */ public int updateVehicleMileageStats(VehicleMileageStats vehicleMileageStats); /** * 批量删除车辆里程统计 * * @param statsIds 需要删除的数据ID * @return 结果 */ public int deleteVehicleMileageStatsByIds(Long[] statsIds); /** * 删除车辆里程统计信息 * * @param statsId 统计ID * @return 结果 */ public int deleteVehicleMileageStatsById(Long statsId); /** * 计算并保存指定车辆指定日期的里程统计 * * @param vehicleId 车辆ID * @param statDate 统计日期 * @return 统计结果 */ public VehicleMileageStats calculateAndSaveMileageStats(Long vehicleId, Date statDate); /** * 批量计算所有车辆指定日期的里程统计 * * @param statDate 统计日期 * @return 成功统计的车辆数量 */ public int batchCalculateMileageStats(Date statDate); /** * 从分段里程数据汇总生成按日统计 * * @param vehicleId 车辆ID * @param statDate 统计日期 * @return 统计结果 */ public VehicleMileageStats aggregateFromSegmentMileage(Long vehicleId, Date statDate); /** * 批量从分段里程汇总生成按日统计 * * @param statDate 统计日期 * @return 成功统计的车辆数量 */ public int batchAggregateFromSegmentMileage(Date statDate); }