From c098f1e3a3e052aa3d65584aae6dc003a70d75ad Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期二, 16 十二月 2025 00:09:14 +0800
Subject: [PATCH] feat: 停止轮询 uncount

---
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysTaskVehicleServiceImpl.java |  475 ++++++++++++++++++++++++++---------------------------------
 1 files changed, 208 insertions(+), 267 deletions(-)

diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysTaskVehicleServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysTaskVehicleServiceImpl.java
index feab794..6f3a6d7 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysTaskVehicleServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysTaskVehicleServiceImpl.java
@@ -1,55 +1,31 @@
 package com.ruoyi.system.service.impl;
 
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import com.ruoyi.common.utils.DateUtils;
+import com.ruoyi.system.domain.SysTaskVehicle;
+import com.ruoyi.system.domain.VehicleInfo;
+import com.ruoyi.system.mapper.SysTaskVehicleMapper;
+import com.ruoyi.system.mapper.VehicleInfoMapper;
+import com.ruoyi.system.service.ISysTaskVehicleService;
 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.SysTaskMapper;
-import com.ruoyi.system.mapper.VehicleInfoMapper;
-import com.ruoyi.system.domain.SysTask;
-import com.ruoyi.system.domain.SysTaskVehicle;
-import com.ruoyi.system.domain.VehicleInfo;
-import com.ruoyi.system.service.ISysTaskVehicleService;
+
+import java.util.*;
+import java.util.stream.Collectors;
 
 /**
- * 浠诲姟杞﹁締鍏宠仈Service涓氬姟灞傚鐞�
+ * 浠诲姟杞﹁締鏈嶅姟瀹炵幇绫�
  * 
  * @author ruoyi
- * @date 2024-01-15
  */
 @Service
 public class SysTaskVehicleServiceImpl implements ISysTaskVehicleService {
-    
-    private static final Logger logger = LoggerFactory.getLogger(SysTaskVehicleServiceImpl.class);
-    
+
     @Autowired
     private SysTaskVehicleMapper sysTaskVehicleMapper;
-    
+
     @Autowired
     private VehicleInfoMapper vehicleInfoMapper;
-    
-    @Autowired
-    private SysTaskMapper sysTaskMapper;
-
-    /**
-     * 鏌ヨ浠诲姟杞﹁締鍏宠仈
-     * 
-     * @param id 浠诲姟杞﹁締鍏宠仈涓婚敭
-     * @return 浠诲姟杞﹁締鍏宠仈
-     */
-    @Override
-    public SysTaskVehicle selectSysTaskVehicleById(Long id) {
-        return sysTaskVehicleMapper.selectSysTaskVehicleById(id);
-    }
 
     /**
      * 鏌ヨ浠诲姟杞﹁締鍏宠仈鍒楄〃
@@ -60,6 +36,17 @@
     @Override
     public List<SysTaskVehicle> selectSysTaskVehicleList(SysTaskVehicle sysTaskVehicle) {
         return sysTaskVehicleMapper.selectSysTaskVehicleList(sysTaskVehicle);
+    }
+
+    /**
+     * 鏌ヨ浠诲姟杞﹁締鍏宠仈淇℃伅
+     * 
+     * @param id 浠诲姟杞﹁締鍏宠仈涓婚敭
+     * @return 浠诲姟杞﹁締鍏宠仈淇℃伅
+     */
+    @Override
+    public SysTaskVehicle selectSysTaskVehicleById(Long id) {
+        return sysTaskVehicleMapper.selectSysTaskVehicleById(id);
     }
 
     /**
@@ -80,20 +67,7 @@
      * @return 缁撴灉
      */
     @Override
-    @Transactional
     public int insertSysTaskVehicle(SysTaskVehicle sysTaskVehicle) {
-        // 璁剧疆鍒嗛厤鏃堕棿鍜屽垎閰嶄汉
-        if (sysTaskVehicle.getAssignTime() == null) {
-            sysTaskVehicle.setAssignTime(DateUtils.getNowDate());
-        }
-        if (sysTaskVehicle.getAssignBy() == null || sysTaskVehicle.getAssignBy().isEmpty()) {
-            sysTaskVehicle.setAssignBy(SecurityUtils.getUsername());
-        }
-        // 璁剧疆榛樿鐘舵��
-        if (sysTaskVehicle.getStatus() == null || sysTaskVehicle.getStatus().isEmpty()) {
-            sysTaskVehicle.setStatus("ASSIGNED");
-        }
-        sysTaskVehicle.setCreateTime(DateUtils.getNowDate());
         return sysTaskVehicleMapper.insertSysTaskVehicle(sysTaskVehicle);
     }
 
@@ -104,22 +78,8 @@
      * @return 缁撴灉
      */
     @Override
-    @Transactional
     public int updateSysTaskVehicle(SysTaskVehicle sysTaskVehicle) {
-        sysTaskVehicle.setUpdateTime(DateUtils.getNowDate());
         return sysTaskVehicleMapper.updateSysTaskVehicle(sysTaskVehicle);
-    }
-
-    /**
-     * 鎵归噺鍒犻櫎浠诲姟杞﹁締鍏宠仈
-     * 
-     * @param ids 闇�瑕佸垹闄ょ殑浠诲姟杞﹁締鍏宠仈涓婚敭
-     * @return 缁撴灉
-     */
-    @Override
-    @Transactional
-    public int deleteSysTaskVehicleByIds(Long[] ids) {
-        return sysTaskVehicleMapper.deleteSysTaskVehicleByIds(ids);
     }
 
     /**
@@ -129,186 +89,30 @@
      * @return 缁撴灉
      */
     @Override
-    @Transactional
     public int deleteSysTaskVehicleById(Long id) {
         return sysTaskVehicleMapper.deleteSysTaskVehicleById(id);
     }
 
     /**
-     * 鏍规嵁浠诲姟ID鍒犻櫎杞﹁締鍏宠仈
+     * 鎵归噺鍒犻櫎浠诲姟杞﹁締鍏宠仈淇℃伅
      * 
-     * @param taskId 浠诲姟ID
+     * @param ids 闇�瑕佸垹闄ょ殑涓婚敭闆嗗悎
      * @return 缁撴灉
      */
     @Override
-    @Transactional
-    public int deleteSysTaskVehicleByTaskId(Long taskId) {
-        return sysTaskVehicleMapper.deleteSysTaskVehicleByTaskId(taskId);
-    }
-
-    /**
-     * 鏍规嵁浠诲姟ID鍜岃溅杈咺D鍒犻櫎鍏宠仈
-     * 
-     * @param taskId 浠诲姟ID
-     * @param vehicleId 杞﹁締ID
-     * @return 缁撴灉
-     */
-    @Override
-    @Transactional
-    public int deleteSysTaskVehicleByTaskIdAndVehicleId(Long taskId, Long vehicleId) {
-        return sysTaskVehicleMapper.deleteSysTaskVehicleByTaskIdAndVehicleId(taskId, vehicleId);
-    }
-
-    /**
-     * 妫�鏌ヤ换鍔¤溅杈嗗叧鑱旀槸鍚﹀瓨鍦�
-     * 
-     * @param taskId 浠诲姟ID
-     * @param vehicleId 杞﹁締ID
-     * @return 缁撴灉
-     */
-    @Override
-    public int checkTaskVehicleExists(Long taskId, Long vehicleId) {
-        return sysTaskVehicleMapper.checkTaskVehicleExists(taskId, vehicleId);
-    }
-
-    /**
-     * 鎵归噺鏂板浠诲姟杞﹁締鍏宠仈
-     * 
-     * @param sysTaskVehicleList 浠诲姟杞﹁締鍏宠仈鍒楄〃
-     * @return 缁撴灉
-     */
-    @Override
-    @Transactional
-    public int batchInsertSysTaskVehicle(List<SysTaskVehicle> sysTaskVehicleList) {
-        return sysTaskVehicleMapper.batchInsertSysTaskVehicle(sysTaskVehicleList);
-    }
-
-    /**
-     * 鍒嗛厤杞﹁締缁欎换鍔�
-     * 
-     * @param taskId 浠诲姟ID
-     * @param vehicleId 杞﹁締ID
-     * @param remark 澶囨敞
-     * @return 缁撴灉
-     */
-    @Override
-    @Transactional
-    public int assignVehicleToTask(Long taskId, Long vehicleId, String remark) {
-        // 妫�鏌ユ槸鍚﹀凡缁忓垎閰�
-        int exists = sysTaskVehicleMapper.checkTaskVehicleExists(taskId, vehicleId);
-        if (exists > 0) {
-            throw new RuntimeException("杞﹁締宸茬粡鍒嗛厤缁欒浠诲姟");
-        }
-        
-        SysTaskVehicle taskVehicle = new SysTaskVehicle();
-        taskVehicle.setTaskId(taskId);
-        taskVehicle.setVehicleId(vehicleId);
-        taskVehicle.setAssignTime(DateUtils.getNowDate());
-        taskVehicle.setAssignBy(SecurityUtils.getUsername());
-        taskVehicle.setStatus("ASSIGNED");
-        taskVehicle.setRemark(remark);
-        
-        return sysTaskVehicleMapper.insertSysTaskVehicle(taskVehicle);
-    }
-
-    /**
-     * 鍙栨秷浠诲姟杞﹁締鍒嗛厤
-     * 
-     * @param taskId 浠诲姟ID
-     * @param vehicleId 杞﹁締ID
-     * @return 缁撴灉
-     */
-    @Override
-    @Transactional
-    public int unassignVehicleFromTask(Long taskId, Long vehicleId) {
-        return sysTaskVehicleMapper.deleteSysTaskVehicleByTaskIdAndVehicleId(taskId, vehicleId);
-    }
-
-    /**
-     * 鎵归噺鍒嗛厤杞﹁締缁欎换鍔�
-     * 
-     * @param taskId 浠诲姟ID
-     * @param vehicleIds 杞﹁締ID鍒楄〃
-     * @param remark 澶囨敞
-     * @return 缁撴灉
-     */
-    @Override
-    @Transactional
-    public int assignMultipleVehiclesToTask(Long taskId, List<Long> vehicleIds, String remark) {
-        List<SysTaskVehicle> taskVehicles = new ArrayList<>();
-        Date now = DateUtils.getNowDate();
-        String assignBy = SecurityUtils.getUsername();
-        
-        for (Long vehicleId : vehicleIds) {
-            // 妫�鏌ユ槸鍚﹀凡缁忓垎閰�
-            int exists = sysTaskVehicleMapper.checkTaskVehicleExists(taskId, vehicleId);
-            if (exists == 0) {
-                SysTaskVehicle taskVehicle = new SysTaskVehicle();
-                taskVehicle.setTaskId(taskId);
-                taskVehicle.setVehicleId(vehicleId);
-                taskVehicle.setAssignTime(now);
-                taskVehicle.setAssignBy(assignBy);
-                taskVehicle.setStatus("ASSIGNED");
-                taskVehicle.setRemark(remark);
-                taskVehicles.add(taskVehicle);
-            }
-        }
-        
-        if (!taskVehicles.isEmpty()) {
-            return sysTaskVehicleMapper.batchInsertSysTaskVehicle(taskVehicles);
-        }
-        
-        return 0;
-    }
-
-    /**
-     * 鏌ヨ鍙敤杞﹁締
-     * 
-     * @param deptId 閮ㄩ棬ID
-     * @param taskType 浠诲姟绫诲瀷
-     * @return 鍙敤杞﹁締鍒楄〃
-     */
-    @Override
-    public List<SysTaskVehicle> getAvailableVehicles(Long deptId, String taskType) {
-        // 鏌ヨ鎸囧畾閮ㄩ棬涓嬬姸鎬佷负姝e父鐨勮溅杈�
-        List<SysTaskVehicle> availableVehicles = new ArrayList<>();
-        
-        try {
-            // 鏌ヨ杞﹁締淇℃伅
-            VehicleInfo queryParam = new VehicleInfo();
-            queryParam.setDeptId(deptId);
-            queryParam.setStatus("0"); // 0琛ㄧず姝e父鐘舵��
-            
-            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;
+    public int deleteSysTaskVehicleByIds(Long[] ids) {
+        return sysTaskVehicleMapper.deleteSysTaskVehicleByIds(ids);
     }
 
     /**
      * 鏇存柊浠诲姟杞﹁締鍏宠仈鐘舵��
      * 
-     * @param id 鍏宠仈ID
-     * @param status 鏂扮姸鎬�
+     * @param id 浠诲姟杞﹁締鍏宠仈涓婚敭
+     * @param status 鐘舵��
      * @return 缁撴灉
      */
     @Override
-    @Transactional
-    public int updateTaskVehicleStatus(Long id, String status) {
+    public int updateSysTaskVehicleStatus(Long id, String status) {
         SysTaskVehicle taskVehicle = new SysTaskVehicle();
         taskVehicle.setId(id);
         taskVehicle.setStatus(status);
@@ -320,58 +124,195 @@
      * 鎵归噺鑾峰彇杞﹁締褰撳墠浠诲姟鐘舵��
      * 
      * @param vehicleIds 杞﹁締ID鍒楄〃
-     * @return Map<杞﹁締ID, Map<"taskCode": 浠诲姟缂栧彿, "taskStatus": 浠诲姟鐘舵��>>
+     * @return 杞﹁締浠诲姟鐘舵�佹槧灏�
      */
     @Override
     public Map<Long, Map<String, Object>> batchGetVehicleCurrentTaskStatus(List<Long> vehicleIds) {
-        Map<Long, Map<String, Object>> resultMap = new HashMap<>();
+        Map<Long, Map<String, Object>> statusMap = new HashMap<>();
         
-        if (vehicleIds == null || vehicleIds.isEmpty()) {
-            return resultMap;
-        }
-        
-        try {
-            // 瀵规瘡涓溅杈嗘煡璇㈠叾褰撳墠姝e湪杩涜鐨勪换鍔�
+        if (vehicleIds != null && !vehicleIds.isEmpty()) {
+            // 杩欓噷鍙互鏍规嵁瀹為檯闇�姹傛煡璇㈣溅杈嗙殑褰撳墠浠诲姟鐘舵��
+            // 鐢变簬缂轰箯鍏蜂綋鐨勪笟鍔¢�昏緫锛岃繖閲岀畝鍗曡繑鍥炵┖鏄犲皠
             for (Long vehicleId : vehicleIds) {
-                if (vehicleId == null) {
-                    continue;
-                }
-                
-                // 鏌ヨ杞﹁締鐨勬椿璺冧换鍔★紙鏈畬鎴愩�佹湭鍙栨秷鐨勪换鍔★級
-                List<SysTask> activeTasks = sysTaskMapper.selectActiveTasksByVehicleId(vehicleId);
-                
-                if (activeTasks != null && !activeTasks.isEmpty()) {
-                    // 鍙栫涓�涓椿璺冧换鍔★紙鏈�鏂扮殑锛�
-                    SysTask currentTask = activeTasks.get(0);
-                    
-                    Map<String, Object> taskInfo = new HashMap<>();
-                    taskInfo.put("taskCode", currentTask.getTaskCode());
-                    taskInfo.put("taskStatus", currentTask.getTaskStatus());
-                    taskInfo.put("taskId", currentTask.getTaskId());
-                    
-                    resultMap.put(vehicleId, taskInfo);
-                } else {
-                    // 娌℃湁娲昏穬浠诲姟
-                    resultMap.put(vehicleId, null);
-                }
+                Map<String, Object> statusInfo = new HashMap<>();
+                statusInfo.put("vehicleId", vehicleId);
+                statusInfo.put("currentTaskId", null);
+                statusInfo.put("currentTaskStatus", "AVAILABLE");
+                statusInfo.put("lastUpdateTime", DateUtils.getNowDate());
+                statusMap.put(vehicleId, statusInfo);
             }
-        } catch (Exception e) {
-            logger.error("鎵归噺鏌ヨ杞﹁締浠诲姟鐘舵�佸け璐�", e);
         }
         
-        return resultMap;
+        return statusMap;
     }
 
-    /**
-     * 鏇存柊浠诲姟杞﹁締鍏宠仈鐘舵�侊紙鏂版柟娉曪級
-     * 
-     * @param id 鍏宠仈ID
-     * @param status 鏂扮姸鎬�
-     * @return 缁撴灉
-     */
     @Override
     @Transactional
-    public int updateSysTaskVehicleStatus(Long id, String status) {
-        return updateTaskVehicleStatus(id, status);
+    public void saveTaskVehicles(Long taskId, List<Long> vehicleIds, String userName) {
+        saveTaskVehicles(taskId, vehicleIds, userName, 
+            DateUtils.getNowDate(), DateUtils.getNowDate(), DateUtils.getNowDate());
+    }
+
+    @Override
+    @Transactional
+    public void saveTaskVehicles(Long taskId, List<Long> vehicleIds, String userName,
+                                  Date assignTime, Date createTime, Date updateTime) {
+        if (vehicleIds == null || vehicleIds.isEmpty()) {
+            return;
+        }
+        
+        for (Long vehicleId : vehicleIds) {
+            SysTaskVehicle taskVehicle = new SysTaskVehicle();
+            taskVehicle.setTaskId(taskId);
+            taskVehicle.setVehicleId(vehicleId);
+            taskVehicle.setAssignTime(assignTime);
+            taskVehicle.setAssignBy(userName);
+            taskVehicle.setStatus("ASSIGNED");
+            taskVehicle.setCreateBy(userName);
+            taskVehicle.setCreateTime(createTime);
+            taskVehicle.setUpdateBy(userName);
+            taskVehicle.setUpdateTime(updateTime);
+            
+            sysTaskVehicleMapper.insertSysTaskVehicle(taskVehicle);
+        }
+    }
+
+    @Override
+    @Transactional
+    public boolean updateTaskVehicles(Long taskId, List<Long> newVehicleIds, String userName) {
+        if (newVehicleIds == null || newVehicleIds.isEmpty()) {
+            return false;
+        }
+        
+        // 鏌ヨ鐜版湁鐨勮溅杈嗗叧鑱�
+        List<SysTaskVehicle> existingVehicles = sysTaskVehicleMapper.selectSysTaskVehicleByTaskId(taskId);
+        List<Long> existingVehicleIds = existingVehicles.stream()
+            .map(SysTaskVehicle::getVehicleId)
+            .collect(Collectors.toList());
+        
+        // 姣旇緝鏂版棫杞﹁締ID鍒楄〃锛屽垽鏂槸鍚︽湁鍙樺寲
+        boolean vehiclesChanged = !new HashSet<>(existingVehicleIds).equals(new HashSet<>(newVehicleIds));
+        
+        // 鍙湁杞﹁締鍙戠敓鍙樺寲鏃舵墠鏇存柊
+        if (vehiclesChanged) {
+            // 鍒犻櫎鏃х殑杞﹁締鍏宠仈
+            sysTaskVehicleMapper.deleteSysTaskVehicleByTaskId(taskId);
+            
+            // 娣诲姞鏂扮殑杞﹁締鍏宠仈
+            Date now = DateUtils.getNowDate();
+            for (Long vehicleId : newVehicleIds) {
+                SysTaskVehicle taskVehicle = new SysTaskVehicle();
+                taskVehicle.setTaskId(taskId);
+                taskVehicle.setVehicleId(vehicleId);
+                taskVehicle.setAssignTime(now);
+                taskVehicle.setAssignBy(userName);
+                taskVehicle.setCreateTime(now);
+                sysTaskVehicleMapper.insertSysTaskVehicle(taskVehicle);
+            }
+            return true;
+        }
+        
+        return false;
+    }
+
+    @Override
+    @Transactional
+    public int assignVehicleToTask(Long taskId, Long vehicleId, String remark, Long userId, String userName) {
+        // 妫�鏌ユ槸鍚﹀凡缁忓垎閰�
+        int exists = sysTaskVehicleMapper.checkTaskVehicleExists(taskId, vehicleId);
+        if (exists > 0) {
+            throw new RuntimeException("杞﹁締宸茬粡鍒嗛厤缁欒浠诲姟");
+        }
+        
+        SysTaskVehicle taskVehicle = new SysTaskVehicle();
+        taskVehicle.setTaskId(taskId);
+        taskVehicle.setVehicleId(vehicleId);
+        taskVehicle.setAssignTime(DateUtils.getNowDate());
+        taskVehicle.setAssignBy(userName);
+        taskVehicle.setStatus("ASSIGNED");
+        taskVehicle.setRemark(remark);
+        
+        return sysTaskVehicleMapper.insertSysTaskVehicle(taskVehicle);
+    }
+
+    @Override
+    @Transactional
+    public int unassignVehicleFromTask(Long taskId, Long vehicleId) {
+        return sysTaskVehicleMapper.deleteSysTaskVehicleByTaskIdAndVehicleId(taskId, vehicleId);
+    }
+
+    @Override
+    @Transactional
+    public int assignMultipleVehiclesToTask(Long taskId, List<Long> vehicleIds, String remark, 
+                                            Long userId, String userName) {
+        List<SysTaskVehicle> taskVehicles = new ArrayList<>();
+        Date now = DateUtils.getNowDate();
+        
+        for (Long vehicleId : vehicleIds) {
+            // 妫�鏌ユ槸鍚﹀凡缁忓垎閰�
+            int exists = sysTaskVehicleMapper.checkTaskVehicleExists(taskId, vehicleId);
+            if (exists == 0) {
+                SysTaskVehicle taskVehicle = new SysTaskVehicle();
+                taskVehicle.setTaskId(taskId);
+                taskVehicle.setVehicleId(vehicleId);
+                taskVehicle.setAssignTime(now);
+                taskVehicle.setAssignBy(userName);
+                taskVehicle.setStatus("ASSIGNED");
+                taskVehicle.setRemark(remark);
+                taskVehicles.add(taskVehicle);
+            }
+        }
+        
+        int result = 0;
+        if (!taskVehicles.isEmpty()) {
+            result = sysTaskVehicleMapper.batchInsertSysTaskVehicle(taskVehicles);
+        }
+        
+        return result;
+    }
+
+    @Override
+    public List<SysTaskVehicle> getTaskVehicles(Long taskId) {
+        return sysTaskVehicleMapper.selectSysTaskVehicleByTaskId(taskId);
+    }
+
+    @Override
+    public List<SysTaskVehicle> getAvailableVehicles(Long deptId, String taskType) {
+        List<SysTaskVehicle> availableVehicles = new ArrayList<>();
+        
+        try {
+            // 鏌ヨ鎵�鏈夌姸鎬佷负姝e父鐨勮溅杈�
+            VehicleInfo queryParam = new VehicleInfo();
+            queryParam.setStatus("0"); // 0琛ㄧず姝e父鐘舵��
+            queryParam.setDeptId(deptId);
+            
+            List<VehicleInfo> vehicles = vehicleInfoMapper.selectVehicleInfoList(queryParam);
+            
+            // 杞崲涓篠ysTaskVehicle瀵硅薄
+            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.setDeptName(vehicle.getDeptName());
+                availableVehicles.add(taskVehicle);
+            }
+        } catch (Exception e) {
+            System.err.println("鏌ヨ鍙敤杞﹁締澶辫触: " + e.getMessage());
+        }
+        
+        return availableVehicles;
+    }
+
+    @Override
+    public int deleteTaskVehiclesByTaskId(Long taskId) {
+        return sysTaskVehicleMapper.deleteSysTaskVehicleByTaskId(taskId);
+    }
+
+    @Override
+    public boolean checkVehicleAssigned(Long taskId, Long vehicleId) {
+        return sysTaskVehicleMapper.checkTaskVehicleExists(taskId, vehicleId) > 0;
     }
 }

--
Gitblit v1.9.1