From fe33646ee6e2d1e57f2b51812e94983a0e9efb04 Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期日, 14 十二月 2025 16:51:28 +0800
Subject: [PATCH] feat: 修复统计

---
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/VehicleInfoServiceImpl.java |   50 ++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 42 insertions(+), 8 deletions(-)

diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/VehicleInfoServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/VehicleInfoServiceImpl.java
index 1b4a58d..a04d09a 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/VehicleInfoServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/VehicleInfoServiceImpl.java
@@ -44,7 +44,23 @@
      */
     @Override
     public VehicleInfo selectVehicleInfoById(Long vehicleId) {
-        return vehicleInfoMapper.selectVehicleInfoById(vehicleId);
+        return vehicleInfoMapper.selectVehicleInfoWithDeptsById(vehicleId);
+    }
+
+    /**
+     * 鏌ヨ杞﹁締淇℃伅锛堝寘鍚鍒嗗叕鍙稿叧鑱旓級
+     * 
+     * @param vehicleId 杞﹁締淇℃伅涓婚敭
+     * @return 杞﹁締淇℃伅锛堝寘鍚玠eptIds鍜宒eptNames锛�
+     */
+    @Override
+    public VehicleInfo selectVehicleInfoWithDeptsById(Long vehicleId) {
+        VehicleInfo vehicle = vehicleInfoMapper.selectVehicleInfoWithDeptsById(vehicleId);
+        // 鍒濆鍖栧欢杩熷姞杞界殑灞炴�э紝閬垮厤搴忓垪鍖栭棶棰�
+        if (vehicle != null) {
+            vehicle.initializeLazyProperties();
+        }
+        return vehicle;
     }
 
     /**
@@ -66,7 +82,12 @@
      */
     @Override
     public List<VehicleInfo> selectVehicleInfoList(VehicleInfo vehicleInfo) {
-        return vehicleInfoMapper.selectVehicleInfoList(vehicleInfo);
+        List<VehicleInfo> list = vehicleInfoMapper.selectVehicleInfoListWithDepts(vehicleInfo);
+        // 鍒濆鍖栧欢杩熷姞杞界殑灞炴�э紝閬垮厤搴忓垪鍖栭棶棰�
+        for (VehicleInfo vehicle : list) {
+            vehicle.initializeLazyProperties();
+        }
+        return list;
     }
 
     /**
@@ -94,15 +115,28 @@
      * @param vehicleInfo 杞﹁締淇℃伅
      * @return 缁撴灉
      */
+    /**
+     * 淇敼杞﹁締淇℃伅
+     * 娉ㄦ剰:
+     * - 濡傛灉闇�瑕佹洿鏂伴儴闂ㄥ叧鑱�,璇疯缃� vehicleInfo.deptIds
+     * - 濡傛灉涓嶉渶瑕佹洿鏂伴儴闂ㄥ叧鑱�(浠呮洿鏂拌溅杈嗗熀鏈俊鎭�),璇蜂繚鎸� vehicleInfo.deptIds = null
+     * - 杩欐牱鍙互閬垮厤骞跺彂鍚屾鏃剁殑姝婚攣闂
+     * 
+     * @param vehicleInfo 杞﹁締淇℃伅
+     * @return 缁撴灉
+     */
     @Override
     @Transactional
     public int updateVehicleInfo(VehicleInfo vehicleInfo) {
-        // 鍏堝垹闄ゆ棫鐨勫叧鑱斿叧绯�
-        vehicleInfoMapper.deleteVehicleDeptByVehicleId(vehicleInfo.getVehicleId());
-        
-        // 濡傛灉閫夋嫨浜嗗涓垎鍏徃锛屼繚瀛樺埌鍏宠仈琛�
-        if (vehicleInfo.getDeptIds() != null && !vehicleInfo.getDeptIds().isEmpty()) {
-            insertVehicleDept(vehicleInfo);
+        // 鍙湁褰� deptIds 涓嶄负 null 鏃舵墠鏇存柊閮ㄩ棬鍏宠仈(閬垮厤涓嶅繀瑕佺殑閿佺珵浜�)
+        if (vehicleInfo.getDeptIds() != null) {
+            // 鍏堝垹闄ゆ棫鐨勫叧鑱斿叧绯�
+            vehicleInfoMapper.deleteVehicleDeptByVehicleId(vehicleInfo.getVehicleId());
+            
+            // 濡傛灉閫夋嫨浜嗗涓垎鍏徃,淇濆瓨鍒板叧鑱旇〃
+            if (!vehicleInfo.getDeptIds().isEmpty()) {
+                insertVehicleDept(vehicleInfo);
+            }
         }
         
         return vehicleInfoMapper.updateVehicleInfo(vehicleInfo);

--
Gitblit v1.9.1