From e56de5c2263a887631382b96e8ee35fe03257cc4 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期日, 01 三月 2026 00:25:19 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpTaskServiceImpl.java |   48 ++++++++++++++++++++++++++++++++----------------
 1 files changed, 32 insertions(+), 16 deletions(-)

diff --git a/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpTaskServiceImpl.java b/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpTaskServiceImpl.java
index e854aa8..0ffb655 100644
--- a/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpTaskServiceImpl.java
+++ b/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpTaskServiceImpl.java
@@ -157,11 +157,11 @@
         PageInfo<TaskPageListVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
         List<TaskPageListVO> list = this.baseMapper.pageList(pageInfo, query);
         XpTaskRule xpTaskRule = xpTaskRuleMapper.selectOne(new LambdaQueryWrapper<XpTaskRule>().last("limit 1"));
-        if (Objects.nonNull(xpTaskRule)) {
-            list.stream().filter(item -> item.getTaskCategory().equals(2)).forEach(item -> {
-                item.setCanArriveRange(xpTaskRule.getCanArriveRange());
-            });
-        }
+//        if (Objects.nonNull(xpTaskRule)) {
+//            list.stream().filter(item -> item.getTaskCategory().equals(2)).forEach(item -> {
+//                item.setCanArriveRange(xpTaskRule.getCanArriveRange());
+//            });
+//        }
         pageInfo.setRecords(list);
         return pageInfo;
     }
@@ -174,20 +174,35 @@
         String code = sdf.format(new Date()) + UUIDUtil.getNumberRandom(5);
         xpTask.setTaskCode(code);
         xpTask.setTaskCategory(2);
-        xpTask.setTaskTypeId(dto.getTaskTypeId());
+        String[] split = dto.getTaskTypeId().split(",");
+        List<String> typeIds = new ArrayList<>();
+        for (String s : split) {
+            typeIds.add(s.trim());
+        }
+        StringBuilder temp = new StringBuilder(dto.getTaskTypeId());
+        List<Long> children = typeIds.stream().map(Long::parseLong).collect(Collectors.toList());
+        List<Long> parentIds = errorTypeMapper.selectList(new LambdaQueryWrapper<XpErrorType>()
+                .in(XpErrorType::getId, children)).stream().map(XpErrorType::getParentId).distinct().collect(Collectors.toList());
+        for (Long parentId : parentIds) {
+            temp.append(",").append(parentId);
+        }
+        xpTask.setTaskTypeId(temp.toString());
         xpTask.setTaskUrgencyLevel(dto.getTaskUrgencyLevel());
         xpTask.setTaskDescription(dto.getTaskDescription());
         XpVehicle vehicle = xpVehicleClient.queryById(xpTask.getVehicleId()).getData();
-        if (vehicle!=null){
-            VehiclePosition vehiclePosition = mongoTemplate.findOne(new Query(Criteria.where("vin").is(vehicle.getVehicleVin())), VehiclePosition.class);
-            if (vehiclePosition != null) {
-                double x = vehiclePosition.getPoint().getX();
-                double y = vehiclePosition.getPoint().getY();
-                xpTask.setVehicleLon(new BigDecimal(x));
-                xpTask.setVehicleLat(new BigDecimal(y));
-            }
-        }
-
+//        if (vehicle!=null){
+//            VehiclePosition vehiclePosition = mongoTemplate.findOne(new Query(Criteria.where("vin").is(vehicle.getVehicleVin())), VehiclePosition.class);
+//            if (vehiclePosition != null) {
+//                double x = vehiclePosition.getPoint().getX();
+//                double y = vehiclePosition.getPoint().getY();
+//                xpTask.setVehicleLon(new BigDecimal(x));
+//                xpTask.setVehicleLat(new BigDecimal(y));
+//            }
+//        }
+// 临时处理
+        xpTask.setVehicleLon(new BigDecimal("104.055683"));
+        xpTask.setVehicleLat(new BigDecimal("30.585991"));
+        xpTask.setVehicleLocation("四川省成都市武侯区石羊街道天府新谷");
         xpTask.setVehicleId(dto.getId());
         xpTask.setReportUserId(xpOperationsUser.getId());
         xpTask.setReportTime(LocalDateTime.now());
@@ -731,6 +746,7 @@
 
             // 更新任务
             task.setStatus(1);
+            task.setVehicleId(null);
             task.setHandleUserId(userId.toString());
 
             this.updateById(task);

--
Gitblit v1.7.1