wlzboy
2025-12-06 5d75fcaea0a3774052b7484a4ffe755258502363
ruoyi-admin/src/main/java/com/ruoyi/web/controller/task/SysTaskVehicleController.java
@@ -1,6 +1,8 @@
package com.ruoyi.web.controller.task;
import java.util.List;
import com.ruoyi.common.utils.SecurityUtils;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
@@ -16,7 +18,9 @@
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.system.domain.SysTaskVehicle;
import com.ruoyi.system.domain.VehicleInfo;
import com.ruoyi.system.service.ISysTaskService;
import com.ruoyi.system.service.IVehicleInfoService;
/**
 * 任务车辆关联Controller
@@ -30,6 +34,9 @@
    
    @Autowired
    private ISysTaskService sysTaskService;
    @Autowired
    private IVehicleInfoService vehicleInfoService;
    /**
     * 查询任务关联的车辆列表
@@ -41,12 +48,20 @@
    }
    /**
     * 查询可用车辆列表
     * 查询可用车辆列表(根据用户权限)
     * 根据用户所在的分公司,通过车辆-分公司关联表查询所有可用车辆
     *
     * @param deptId 部门ID(可选,如果不传则使用当前用户的deptId)
     * @param taskType 任务类型(可选)
     * @return 车辆列表
     */
    @GetMapping("/available")
    public AjaxResult getAvailableVehicles(@RequestParam Long deptId, @RequestParam(required = false) String taskType) {
        List<SysTaskVehicle> list = sysTaskService.getAvailableVehicles(deptId, taskType);
        return success(list);
    public AjaxResult getAvailableVehicles(
            @RequestParam(required = false) Long deptId,
            @RequestParam(required = false) String taskType) {
        // 如果没有传deptId,使用当前用户的userId查询
        List<VehicleInfo> vehicles = vehicleInfoService.selectAvailableVehiclesByUser(getUserId());
        return success(vehicles);
    }
    /**
@@ -56,7 +71,9 @@
    @PostMapping("/assign/{taskId}")
    public AjaxResult assignVehicle(@PathVariable("taskId") Long taskId, @RequestBody AssignVehicleRequest request) {
        try {
            int result = sysTaskService.assignVehicleToTask(taskId, request.getVehicleId(), request.getRemark());
            Long userId= SecurityUtils.getUserId();
            String username = SecurityUtils.getUsername();
            int result = sysTaskService.assignVehicleToTask(taskId, request.getVehicleId(), request.getRemark(), userId, username);
            if (result > 0) {
                return success("分配成功");
            } else {
@@ -76,7 +93,9 @@
        try {
            // 设置请求对象中的taskId,确保参数一致性
            request.setTaskId(taskId);
            int result = sysTaskService.assignMultipleVehiclesToTask(request.getTaskId(), request.getVehicleIds(), request.getRemark());
            Long userId= SecurityUtils.getUserId();
            String username = SecurityUtils.getUsername();
            int result = sysTaskService.assignMultipleVehiclesToTask(request.getTaskId(), request.getVehicleIds(), request.getRemark(), userId, username);
            if (result > 0) {
                return success("批量分配成功,共分配 " + result + " 辆车");
            } else {