xucaiqin há 10 horas atrás
pai
commit
3343ab89a2

+ 2 - 2
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/repository/KwfTruckRepository.java

@@ -1,7 +1,7 @@
 package com.sckw.fleet.repository;
 
+import cn.hutool.core.collection.CollUtil;
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -66,7 +66,7 @@ public class KwfTruckRepository extends ServiceImpl<KwfTruckMapper, KwfTruck> {
     public IPage<KwfTruck> queryByPage(int pageNum, int pageSize, List<Long> truckIds, Integer businessStatus, String truckNo) {
         return page(new Page<>(pageNum, pageSize), Wrappers.<KwfTruck>lambdaQuery()
                 .eq(BaseModel::getDelFlag,0)
-                .in(Objects.nonNull(truckIds),KwfTruck::getId, truckIds)
+                .in(CollUtil.isNotEmpty(truckIds),KwfTruck::getId, truckIds)
                 .like(StringUtils.isNotBlank(truckNo),KwfTruck::getTruckNo, truckNo)
                 .eq(Objects.nonNull(businessStatus),KwfTruck::getBusinessStatus, businessStatus)
                 .orderByDesc(KwfTruck::getId));

+ 18 - 14
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/service/KwfTruckService.java

@@ -1,5 +1,6 @@
 package com.sckw.fleet.service;
 
+import cn.hutool.core.collection.CollUtil;
 import com.alibaba.excel.EasyExcel;
 import com.alibaba.excel.ExcelReader;
 import com.alibaba.excel.read.metadata.ReadSheet;
@@ -1752,16 +1753,16 @@ public class KwfTruckService {
     private VehicleReturnData getVehicleReturnDataByOrderNo(String odrderNo) {
         VehicleDataDTO vehicleDataDTO = new VehicleDataDTO();
         vehicleDataDTO.setWOrderNo(odrderNo);
-        
+
         try {
             // 使用 Feign 调用查询实时位置
             BaseIotResult<VehicleReturnData> result = vehicleTraceClient.queryRealTimeLocation(vehicleDataDTO);
-            
+
             if (result == null || result.getCode() != "0" || result.getData() == null) {
                 log.warn("查询实时轨迹返回空数据, 运单号: {}", odrderNo);
                 return null;
             }
-            
+
             return result.getData();
         } catch (Exception e) {
             log.error("查询任务轨迹异常, 运单号: {}", odrderNo, e);
@@ -1772,16 +1773,16 @@ public class KwfTruckService {
     public VehicleReturnData getVehicleReturnData(String truckId) {
         VehicleDataDTO vehicleDataDTO = new VehicleDataDTO();
         vehicleDataDTO.setCarNo(truckId);
-        
+
         try {
             // 使用 Feign 调用查询实时位置
             BaseIotResult<VehicleReturnData> result = vehicleTraceClient.queryRealTimeLocation(vehicleDataDTO);
-            
+
             if (result == null || result.getCode() != "0" || result.getData() == null) {
                 log.warn("查询实时轨迹返回空数据, 车牌号: {}", truckId);
                 return null;
             }
-            
+
             return result.getData();
         } catch (Exception e) {
             log.error("查询任务轨迹异常, 车牌号: {}", truckId, e);
@@ -1955,6 +1956,9 @@ public class KwfTruckService {
                  Integer.parseInt(req.getBusinessStatus());
 
         List<Long> truckIds = findTruckIdListByEntIds(req.getEntId());
+        if(CollUtil.isEmpty(truckIds)){
+            return PageDataResult.empty(req.getPageNum(),req.getPageSize());
+        }
         IPage<KwfTruck> kwfTruckIPage = kwfTruckRepository.queryByPage(req.getPageNum(), req.getPageSize(), truckIds, businessStatus,
                 req.getTruckNo());
         List<KwfTruck> records = kwfTruckIPage.getRecords();
@@ -2000,14 +2004,14 @@ public class KwfTruckService {
         log.info("批量校验车牌号,请求参数:{}", JSON.toJSONString(req));
         Long entId = Objects.nonNull(req.getEntId()) ? req.getEntId() : LoginUserHolder.getEntId();
         List<TruckValidateVo> result = new ArrayList<>();
-        
+
         if (StringUtils.isBlank(req.getTruckNos())) {
             return result;
         }
 
         // 使用TruckNoUtils拆分车牌号字符串(支持中文逗号、英文逗号、空格、换行符等)
         List<String> truckNoList = TruckNoUtils.splitTruckNos(req.getTruckNos());
-        
+
         if (CollectionUtils.isEmpty(truckNoList)) {
             return result;
         }
@@ -2051,7 +2055,7 @@ public class KwfTruckService {
      * @param entMap 企业信息Map
      * @return 校验结果
      */
-    private TruckValidateVo validateSingleTruckNo(String originalTruckNo, 
+    private TruckValidateVo validateSingleTruckNo(String originalTruckNo,
                                                   Map<String, KwfTruck> truckMap,
                                                   EntCacheResDto ent) {
         TruckValidateVo.TruckValidateVoBuilder builder = TruckValidateVo.builder()
@@ -2198,7 +2202,7 @@ public class KwfTruckService {
 
         // 1. 获取当前用户的数据权限配置
         DataPermissionDTO perm = fetchDataPermissionForCurrentUser();
-        
+
         // 初始化结果集合,默认包含传入的基础企业ID
         Set<Long> entIds = Sets.newHashSet(entId);
 
@@ -2218,7 +2222,7 @@ public class KwfTruckService {
 
             // 获取用户可见的企业ID列表
             Set<Long> visibleEntIds = perm.getVisibleEntIds();
-            
+
             // 如果可见企业ID列表为空,说明该用户无权查看任何企业数据,返回空集合
             if (CollectionUtils.isEmpty(visibleEntIds)) {
                 log.warn("数据权限过滤:用户无可见企业权限,返回空集合。用户ID: {}", LoginUserHolder.getUserId());
@@ -2230,8 +2234,8 @@ public class KwfTruckService {
             // 如果业务意图是“仅保留基础entId且在可见范围内的”,则应使用 retainAll 或 intersection。
             // 此处保持原有代码逻辑不变,仅添加日志。
             result.addAll(visibleEntIds);
-            
-            log.debug("数据权限过滤完成。基础ID: {}, 可见ID数量: {}, 过滤后结果集大小: {}, 结果集内容: {}", 
+
+            log.debug("数据权限过滤完成。基础ID: {}, 可见ID数量: {}, 过滤后结果集大小: {}, 结果集内容: {}",
                     entId, visibleEntIds.size(), result.size(), result);
         }
 
@@ -2296,7 +2300,7 @@ public class KwfTruckService {
         if (param.getId() == null && (param.getTruckNo() == null || param.getTruckNo().trim().isEmpty())) {
             return new TruckDetailResp();
         }
-        
+
         KwfTruck truck = kwfTruckRepository.getOne(Wrappers.<KwfTruck>lambdaQuery()
                 .eq(param.getId() != null, KwfTruck::getId, param.getId())
                 .eq(param.getTruckNo() != null && !param.getTruckNo().trim().isEmpty(), KwfTruck::getTruckNo, param.getTruckNo())