From 32063e565deaf03a0cc8abf1fafd146cc4e4d421 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期二, 24 二月 2026 17:41:24 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpTaskServiceImpl.java |   37 +++++++++++++++++++++++++++++++++++++
 1 files changed, 37 insertions(+), 0 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 ff7f1b5..354cc49 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
@@ -82,6 +82,8 @@
 
     @Autowired
     private XpVehicleClient xpVehicleClient;
+    @Autowired
+    private XpTaskRuleMapper xpTaskRuleMapper;
     @Override
     public PageInfo<WorkBenchVO> workbench(WorkBenchQuery query) {
         PageInfo<WorkBenchVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
@@ -123,6 +125,12 @@
         }
         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());
+            });
+        }
         pageInfo.setRecords(list);
         return pageInfo;
     }
@@ -177,6 +185,8 @@
         res.setTaskCode(task.getTaskCode());
         res.setTaskCategory(task.getTaskCategory());
         res.setTaskTypeId(task.getTaskTypeId());
+        res.setVehicleLon(task.getVehicleLon());
+        res.setVehicleLat(task.getVehicleLat());
         Map<Long, List<XpErrorType>> errorType = errorTypeMapper.selectList(new LambdaQueryWrapper<XpErrorType>()
                         .in(XpErrorType::getId, Arrays.asList(task.getTaskTypeId().split(","))))
                 .stream().collect(Collectors.groupingBy(XpErrorType::getParentId));
@@ -188,6 +198,10 @@
         res.setStatus(task.getStatus());
         res.setTaskDescription(task.getTaskDescription());
         res.setTaskImage(task.getTaskImage());
+        XpTaskRule xpTaskRule = xpTaskRuleMapper.selectOne(new LambdaQueryWrapper<XpTaskRule>().last("limit 1"));
+        if (Objects.nonNull(xpTaskRule)) {
+            res.setCanArriveRange(xpTaskRule.getCanArriveRange());
+        }
         return R.ok(res);
     }
 
@@ -241,6 +255,9 @@
         res.setId(id);
         res.setTaskUrgencyLevel(task.getTaskUrgencyLevel());
         res.setEndTime(task.getEndTime());
+        res.setVehicleId(task.getVehicleId());
+        res.setVehicleLat(task.getVehicleLat());
+        res.setVehicleLon(task.getVehicleLon());
         res.setPlateNumber(vehicle.getPlateNumber());
         res.setVehicleColor(vehicle.getVehicleColor());
         res.setVehicleCode(vehicle.getVehicleCode());
@@ -253,6 +270,14 @@
         res.setStatus(task.getStatus());
         res.setTaskDescription(task.getTaskDescription());
         res.setTaskImage(task.getTaskImage());
+        res.setHandleUserId(task.getHandleUserId());
+        res.setHandleTime(task.getHandleTime());
+        if (Objects.nonNull(task.getHandleUserId())) {
+            XpOperationsUser data = xpOperationUserClient.queryById(task.getHandleUserId()).getData();
+            if (Objects.nonNull(data)) {
+                res.setHandleUserName(data.getNickName());
+            }
+        }
         return R.ok(res);
     }
 
@@ -697,4 +722,16 @@
     public void deleteTaskById(Long id) {
         removeById(id);
     }
+
+    @Override
+    public void updateTaskStatus(Long taskId, Integer status) {
+        if (Objects.nonNull(taskId)) {
+            XpTask task = this.getById(taskId);
+            if (Objects.nonNull(task)) {
+                task.setStatus(status);
+                this.updateById(task);
+            }
+        }
+    }
+
 }

--
Gitblit v1.7.1