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<LineShiftDriver> {
|
|
/**
|
* 获取预约数据
|
* @param lineShiftId
|
* @param driverId
|
* @param time
|
* @return
|
*/
|
List<LineShiftDriver> query(@Param("lineShiftId") Integer lineShiftId, @Param("driverId") Integer driverId,
|
@Param("time") Date time) ;
|
|
|
/**
|
* 获取没有预约给定日期班次的司机
|
* @param lineShiftId
|
* @param time
|
* @return
|
*/
|
List<Map<String, Object>> queryNotInLineShiftDriver(@Param("lineShiftId") Integer lineShiftId, @Param("time") Date time);
|
|
/**
|
* 获取线路指定月份排班统计
|
*/
|
List<Map<String, Object>> getMonthScheduleStats(@Param("lineId") Integer lineId,
|
@Param("monthStart") String monthStart,
|
@Param("monthEnd") String monthEnd,
|
@Param("companyId") Integer companyId,
|
@Param("companyType") Integer companyType);
|
|
/**
|
* 获取线路指定日期班次排班数据
|
*/
|
List<Map<String, Object>> getDayShiftSchedule(@Param("lineId") Integer lineId,
|
@Param("day") String day,
|
@Param("companyId") Integer companyId,
|
@Param("companyType") Integer companyType);
|
|
/**
|
* 获取班次在某天已排司机
|
*/
|
List<Map<String, Object>> getDayShiftDrivers(@Param("lineShiftId") Integer lineShiftId,
|
@Param("day") String day,
|
@Param("companyId") Integer companyId,
|
@Param("companyType") Integer companyType);
|
|
/**
|
* 获取可排班司机列表
|
*/
|
List<Map<String, Object>> getAvailableDrivers(@Param("lineId") Integer lineId,
|
@Param("lineShiftId") Integer lineShiftId,
|
@Param("day") String day,
|
@Param("companyId") Integer companyId,
|
@Param("companyType") Integer companyType);
|
|
/**
|
* 获取复制源的手动排班记录
|
*/
|
List<LineShiftDriver> 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);
|
}
|