wlzboy
3 天以前 40a8157440e3b906da8f52e07d939d78c3f4c313
ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysTaskMapper.java
@@ -1,12 +1,16 @@
package com.ruoyi.system.mapper;
import java.util.Date;
import java.util.List;
import java.util.Map;
import com.ruoyi.common.annotation.DataSource;
import com.ruoyi.common.enums.DataSourceType;
import com.ruoyi.system.domain.SysTask;
import com.ruoyi.system.domain.vo.TaskQueryVO;
import com.ruoyi.system.domain.vo.DeptOrderStatVO;
import com.ruoyi.system.domain.vo.TaskStatisticsVO;
import org.apache.ibatis.annotations.Param;
/**
 * 任务管理Mapper接口
@@ -127,4 +131,52 @@
     * @return 正在进行中的任务列表
     */
    public List<SysTask> selectActiveTasksByVehicleId(Long vehicleId);
    /**
     * 根据时间和车辆来查询该车辆是否正在任务中
     * @param vehicleId
     * @param startTime
     * @param endTime
     * @return
     */
    public List<SysTask> selectTaskByVehicleIdAndDate(@Param("vehicleId") Long vehicleId,
                                                      @Param("startTime") String startTime,
                                                      @Param("endTime") String endTime);
    /**
     * 根据联系人电话和创建日期查询任务数量
     *
     * @param phone 联系人电话
     * @param createDate 任务创建日期(格式:YYYY-MM-DD)
     * @return 任务数量
     */
    public int countTaskByPhoneAndDate(@Param("phone") String phone, @Param("createDate") String createDate);
    /**
     * 查询车辆在指定时间范围内的任务列表
     *
     * @param params 包含vehicleId、startTime、endTime的参数Map
     * @return 任务列表
     */
    public List<SysTask> selectVehicleTasksInTimeRange(Map<String, Object> params);
    /**
     * 优化的多码查询方法,关联sys_task_emergency表并计算dispatchCode和serviceCode
     *
     * @param queryVO 任务查询对象
     * @return 任务管理集合
     */
    public List<SysTask> selectSysTaskListByMultiCodeOptimized(TaskQueryVO queryVO);
    /**
     * 按分公司按天统计录单数量
     *
     * @param deptIds   分公司ID列表(为null时查全部)
     * @param startDate 开始日期,yyyy-MM-dd
     * @param endDate   结束日期,yyyy-MM-dd
     * @return 统计结果列表
     */
    List<DeptOrderStatVO> selectDeptOrderStat(
            @Param("deptIds") List<Long> deptIds,
            @Param("startDate") String startDate,
            @Param("endDate") String endDate);
}