package com.ruoyi.system.mapper; import java.util.List; import org.apache.ibatis.annotations.Param; import com.ruoyi.system.domain.VehicleInfo; import com.ruoyi.system.domain.VehicleDept; /** * 车辆信息Mapper接口 */ public interface VehicleInfoMapper { /** * 查询车辆信息(包含多分公司关联) * * @param vehicleId 车辆信息主键 * @return 车辆信息(包含deptIds和deptNames) */ public VehicleInfo selectVehicleInfoWithDeptsById(Long vehicleId); /** * 查询车辆信息列表(包含多分公司关联) * * @param vehicleInfo 车辆信息 * @return 车辆信息集合(包含deptIds和deptNames) */ public List selectVehicleInfoListWithDepts(VehicleInfo vehicleInfo); /** * 查询车辆信息 * * @param vehicleId 车辆信息主键 * @return 车辆信息 */ public VehicleInfo selectVehicleInfoById(Long vehicleId); /** * 通过车牌号查询车辆信息 * * @param plateNumber 车牌号 * @return 车辆信息 */ public VehicleInfo selectVehicleInfoByPlateNumber(String plateNumber); /** * 通过车牌号查询车辆信息 * * @param vehicleNo 车牌号 * @return 车辆信息 */ public VehicleInfo selectVehicleInfoByVehicleNo(String vehicleNo); /** * 查询车辆信息列表 * * @param vehicleInfo 车辆信息 * @return 车辆信息集合 */ public List selectVehicleInfoList(VehicleInfo vehicleInfo); /** * 新增车辆信息 * * @param vehicleInfo 车辆信息 * @return 结果 */ public int insertVehicleInfo(VehicleInfo vehicleInfo); /** * 修改车辆信息 * * @param vehicleInfo 车辆信息 * @return 结果 */ public int updateVehicleInfo(VehicleInfo vehicleInfo); /** * 删除车辆信息 * * @param vehicleId 车辆信息主键 * @return 结果 */ public int deleteVehicleInfoById(Long vehicleId); /** * 批量删除车辆信息 * * @param vehicleIds 需要删除的数据主键集合 * @return 结果 */ public int deleteVehicleInfoByIds(Long[] vehicleIds); /** * 绑定车辆到用户 * * @param userId 用户ID * @param vehicleId 车辆ID * @param bindBy 绑定操作人 * @return 结果 */ public int bindVehicleToUser(@Param("userId") Long userId, @Param("vehicleId") Long vehicleId, @Param("bindBy") String bindBy); /** * 解绑用户车辆 * * @param userId 用户ID * @param vehicleId 车辆ID * @return 结果 */ public int unbindVehicleFromUser(@Param("userId") Long userId, @Param("vehicleId") Long vehicleId); /** * 解绑用户的所有车辆 * * @param userId 用户ID * @return 结果 */ public int unbindAllVehiclesFromUser(@Param("userId") Long userId); /** * 获取用户当前绑定的车辆 * * @param userId 用户ID * @return 车辆信息 */ public VehicleInfo getUserBoundVehicle(@Param("userId") Long userId); /** * 批量插入车辆-分公司关联 * * @param list 车辆-分公司关联列表 * @return 结果 */ public int batchInsertVehicleDept(@Param("list") List list); /** * 删除车辆的所有分公司关联 * * @param vehicleId 车辆ID * @return 结果 */ public int deleteVehicleDeptByVehicleId(@Param("vehicleId") Long vehicleId); }