package com.stylefeng.guns.modular.system.dao; import com.baomidou.mybatisplus.mapper.BaseMapper; import com.stylefeng.guns.modular.system.model.LineShiftDriver; import org.apache.ibatis.annotations.Param; import java.util.Date; import java.util.List; import java.util.Map; public interface LineShiftDriverMapper extends BaseMapper { /** * 获取预约数据 * @param lineShiftId * @param driverId * @param time * @return */ List query(@Param("lineShiftId") Integer lineShiftId, @Param("driverId") Integer driverId, @Param("time") Date time) ; /** * 获取没有预约给定日期班次的司机 * @param lineShiftId * @param time * @return */ List> queryNotInLineShiftDriver(@Param("lineShiftId") Integer lineShiftId, @Param("time") Date time); /** * 获取线路指定月份排班统计 */ List> getMonthScheduleStats(@Param("lineId") Integer lineId, @Param("monthStart") String monthStart, @Param("monthEnd") String monthEnd, @Param("companyId") Integer companyId, @Param("companyType") Integer companyType); /** * 获取线路指定日期班次排班数据 */ List> getDayShiftSchedule(@Param("lineId") Integer lineId, @Param("day") String day, @Param("companyId") Integer companyId, @Param("companyType") Integer companyType); /** * 获取班次在某天已排司机 */ List> getDayShiftDrivers(@Param("lineShiftId") Integer lineShiftId, @Param("day") String day, @Param("companyId") Integer companyId, @Param("companyType") Integer companyType); /** * 获取可排班司机列表 */ List> getAvailableDrivers(@Param("lineId") Integer lineId, @Param("lineShiftId") Integer lineShiftId, @Param("day") String day, @Param("companyId") Integer companyId, @Param("companyType") Integer companyType); /** * 获取复制源的手动排班记录 */ List getManualSchedulesForCopy(@Param("lineId") Integer lineId, @Param("sourceStart") String sourceStart, @Param("sourceEnd") String sourceEnd, @Param("companyId") Integer companyId, @Param("companyType") Integer companyType); /** * 统计某天某班次某司机是否已有排班 */ Integer countExistsSchedule(@Param("lineShiftId") Integer lineShiftId, @Param("driverId") Integer driverId, @Param("day") String day); }