wlzboy
2025-10-18 b46065a201c09ce69f111806f2bda4a5f476bc4e
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysTaskVehicleServiceImpl.java
@@ -3,13 +3,17 @@
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.system.mapper.SysTaskVehicleMapper;
import com.ruoyi.system.mapper.VehicleInfoMapper;
import com.ruoyi.system.domain.SysTaskVehicle;
import com.ruoyi.system.domain.VehicleInfo;
import com.ruoyi.system.service.ISysTaskVehicleService;
/**
@@ -21,8 +25,13 @@
@Service
public class SysTaskVehicleServiceImpl implements ISysTaskVehicleService {
    
    private static final Logger logger = LoggerFactory.getLogger(SysTaskVehicleServiceImpl.class);
    @Autowired
    private SysTaskVehicleMapper sysTaskVehicleMapper;
    @Autowired
    private VehicleInfoMapper vehicleInfoMapper;
    /**
     * 查询任务车辆关联
@@ -255,29 +264,30 @@
    @Override
    public List<SysTaskVehicle> getAvailableVehicles(Long deptId, String taskType) {
        // 查询指定部门下状态为正常的车辆
        // 这里需要根据实际的车辆信息表结构来实现
        // 暂时返回空列表,实际实现需要:
        // 1. 查询 tb_vehicle_info 表中 dept_id = deptId 且 vehicle_status = '0' 的车辆
        // 2. 排除已经分配给其他未完成任务且状态为 ACTIVE 的车辆
        // 3. 根据任务类型筛选合适的车辆类型
        List<SysTaskVehicle> availableVehicles = new ArrayList<>();
        
        // TODO: 实现具体的查询逻辑
        // 示例代码:
        // 1. 查询车辆信息
        // List<TbVehicleInfo> vehicles = vehicleInfoMapper.selectAvailableVehiclesByDept(deptId, taskType);
        //
        // 2. 转换为 SysTaskVehicle 对象
        // for (TbVehicleInfo vehicle : vehicles) {
        //     SysTaskVehicle taskVehicle = new SysTaskVehicle();
        //     taskVehicle.setVehicleId(vehicle.getVehicleId());
        //     taskVehicle.setVehicleNo(vehicle.getVehicleNo());
        //     taskVehicle.setVehicleType(vehicle.getVehicleType());
        //     taskVehicle.setVehicleBrand(vehicle.getVehicleBrand());
        //     taskVehicle.setVehicleModel(vehicle.getVehicleModel());
        //     availableVehicles.add(taskVehicle);
        // }
        try {
            // 查询车辆信息
            VehicleInfo queryParam = new VehicleInfo();
            queryParam.setDeptId(deptId);
            queryParam.setStatus("0"); // 0表示正常状态
            List<VehicleInfo> vehicles = vehicleInfoMapper.selectVehicleInfoList(queryParam);
            // 转换为 SysTaskVehicle 对象
            for (VehicleInfo vehicle : vehicles) {
                SysTaskVehicle taskVehicle = new SysTaskVehicle();
                taskVehicle.setVehicleId(vehicle.getVehicleId());
                taskVehicle.setVehicleNo(vehicle.getVehicleNo());
                taskVehicle.setVehicleType(vehicle.getVehicleType());
                taskVehicle.setVehicleBrand(vehicle.getVehicleBrand());
                taskVehicle.setVehicleModel(vehicle.getVehicleModel());
                taskVehicle.setStatus(vehicle.getStatus());
                availableVehicles.add(taskVehicle);
            }
        } catch (Exception e) {
            logger.error("查询可用车辆失败", e);
        }
        
        return availableVehicles;
    }