From 8c343b74262c86fe0cb4c79ce59f91eb45e00d33 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期三, 25 二月 2026 18:08:15 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/Robotaxi

---
 xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpTaskServiceImpl.java |  226 ++++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 194 insertions(+), 32 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 a2f59d0..596b60a 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
@@ -744,7 +744,11 @@
         pageInfo.setRecords(list);
         return pageInfo;
     }
-
+    @Override
+    public List<TaskManagementPageListVO> exportList(TaskManagementPageListQuery query) {
+        List<TaskManagementPageListVO> list = this.baseMapper.exportList(query);
+        return list;
+    }
     @Override
     public R assigneeTask(Long id, Long handlerUserId,Long assigneeUserId) {
         XpTask task = this.getById(id);
@@ -758,18 +762,33 @@
     @Override
     public void saveTask(SaveErrorTaskDto dto, Long reportUserId) {
 
-        XpTask task = new XpTask();
-        BeanUtils.copyProperties(dto, task);
-        task.setReportTime(LocalDateTime.now());
-        task.setStatus(0);
-        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
-        String code = sdf.format(new Date()) + UUIDUtil.getNumberRandom(5);
-        task.setTaskCode(code);
-        // 查询规则
-        XpTaskRule taskRule = xpTaskRuleMapper.selectOne(null);
-        if (taskRule != null){
-            task.setEndTime(LocalDateTime.now().plusMinutes(taskRule.getProcessingTimeLimit()));
+        List<XpTask> saveTask = new ArrayList<>();
+        for (Long vehicleId : dto.getVehicleIds()) {
+            XpTask task = new XpTask();
+            BeanUtils.copyProperties(dto, task);
+            task.setReportTime(LocalDateTime.now());
+            task.setStatus(0);
+            SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
+            String code = sdf.format(new Date()) + UUIDUtil.getNumberRandom(5);
+            task.setTaskCode(code);
+            // 查询规则
+            XpTaskRule taskRule = xpTaskRuleMapper.selectOne(null);
+            if (taskRule != null){
+                task.setEndTime(LocalDateTime.now().plusMinutes(taskRule.getProcessingTimeLimit()));
+            }
+            task.setTaskCategory(2);
+            task.setTaskTypeId(dto.getTaskTypeId());
+            task.setTaskUrgencyLevel(dto.getTaskUrgencyLevel());
+            task.setTaskDescription(dto.getTaskDescription());
+            task.setTaskImage(dto.getTaskImage());
+            task.setVehicleId(vehicleId);
+            task.setVehicleLocation(dto.getVehicleLocation());
+            task.setVehicleLon(dto.getVehicleLon());
+            task.setVehicleLat(dto.getVehicleLat());
+            task.setReportUserId(reportUserId);
+            task.setReportTime(LocalDateTime.now());
         }
+        this.saveBatch(saveTask);
 
     }
 
@@ -807,42 +826,181 @@
                         taskManagementDetectionDetailVO.setVehicleVin(vehicle.getVehicleVin());
                         taskManagementDetectionDetailVO.setVehicleLocation(task.getVehicleLocation());
                         taskManagementDetectionDetailVO.setTaskCode(task.getTaskCode());
-//                        taskManagementDetectionDetailVO.setNetworkDetection();
-//                        taskManagementDetectionDetailVO.setVersionVerification();
-//                        taskManagementDetectionDetailVO.setCommunicationSelfCheck();
-//                        taskManagementDetectionDetailVO.setRemoteSelfCheck();
-//                        taskManagementDetectionDetailVO.setCollisionPrevention();
-//                        taskManagementDetectionDetailVO.setSensorSelfCheck();
-//                        taskManagementDetectionDetailVO.setSensorCleaning();
-//                        taskManagementDetectionDetailVO.setSensorCleaningPicture();
-//                        taskManagementDetectionDetailVO.setInteractiveScreen();
-//                        taskManagementDetectionDetailVO.setInteractiveScreenPicture();
-//                        taskManagementDetectionDetailVO.setHelpButton();
-//                        taskManagementDetectionDetailVO.setHelpButtonPicture();
-//                        taskManagementDetectionDetailVO.setPaymentFunction();
-//                        taskManagementDetectionDetailVO.setPaymentFunctionPicture();
-//                        taskManagementDetectionDetailVO.setSystemCheck();
-//                        taskManagementDetectionDetailVO.setSystemCheckPicture();
-//                        taskManagementDetectionDetailVO.setOperationsUserId();
-//                        taskManagementDetectionDetailVO.setOperationsUserName();
-//                        taskManagementDetectionDetailVO.setCheckTime();
-
+                        XpVehicleDetection vehicleDetection = vehicleDetectionMapper.selectOne(new LambdaQueryWrapper<XpVehicleDetection>()
+                                .eq(XpVehicleDetection::getTaskId, id).last("limit 1"));
+                        if (vehicleDetection != null){
+                            taskManagementDetectionDetailVO.setNetworkDetection(vehicleDetection.getNetworkDetection());
+                            taskManagementDetectionDetailVO.setVersionVerification(vehicleDetection.getVersionVerification());
+                            taskManagementDetectionDetailVO.setCommunicationSelfCheck(vehicleDetection.getCommunicationSelfCheck());
+                            taskManagementDetectionDetailVO.setRemoteSelfCheck(vehicleDetection.getRemoteSelfCheck());
+                            taskManagementDetectionDetailVO.setCollisionPrevention(vehicleDetection.getCollisionPrevention());
+                            taskManagementDetectionDetailVO.setSensorSelfCheck(vehicleDetection.getSensorSelfCheck());
+                            taskManagementDetectionDetailVO.setSensorCleaning(vehicleDetection.getSensorCleaning());
+                            taskManagementDetectionDetailVO.setSensorCleaningPicture(vehicleDetection.getSensorCleaningPicture());
+                            taskManagementDetectionDetailVO.setInteractiveScreen(vehicleDetection.getInteractiveScreen());
+                            taskManagementDetectionDetailVO.setInteractiveScreenPicture(vehicleDetection.getInteractiveScreenPicture());
+                            taskManagementDetectionDetailVO.setHelpButton(vehicleDetection.getHelpButton());
+                            taskManagementDetectionDetailVO.setHelpButtonPicture(vehicleDetection.getHelpButtonPicture());
+                            taskManagementDetectionDetailVO.setPaymentFunction(vehicleDetection.getPaymentFunction());
+                            taskManagementDetectionDetailVO.setPaymentFunctionPicture(vehicleDetection.getPaymentFunctionPicture());
+                            taskManagementDetectionDetailVO.setSystemCheck(vehicleDetection.getSystemCheck());
+                            taskManagementDetectionDetailVO.setSystemCheckPicture(vehicleDetection.getSystemCheckPicture());
+                            taskManagementDetectionDetailVO.setCheckTime(vehicleDetection.getCheckTime());
+                            taskManagementDetectionDetailVO.setOperationsUserId(vehicleDetection.getOperationsUserId());
+                            if (vehicleDetection.getOperationsUserId() != null){
+                                XpOperationsUser operationsUser = xpOperationUserClient.queryById(vehicleDetection.getOperationsUserId()).getData();
+                                if (operationsUser != null){
+                                    taskManagementDetectionDetailVO.setOperationsUserName(operationsUser.getNickName());
+                                }
+                            }
+                        }
+                        managementDetailVO.setDetectionDetailVO(taskManagementDetectionDetailVO);
                         break;
                     case "2":
                         // 充电
                         TaskManagementChargingDetailVO taskManagementChargingDetailVO = new TaskManagementChargingDetailVO();
+                        taskManagementChargingDetailVO.setId(task.getId());
+                        taskManagementChargingDetailVO.setVehicleId(vehicle.getId());
+                        taskManagementChargingDetailVO.setTaskUrgencyLevel(task.getTaskUrgencyLevel());
+                        taskManagementChargingDetailVO.setPlateNumber(vehicle.getPlateNumber());
+                        taskManagementChargingDetailVO.setVehicleColor(vehicle.getVehicleColor());
+                        taskManagementChargingDetailVO.setVehicleCode(vehicle.getVehicleCode());
+                        taskManagementChargingDetailVO.setVehicleVin(vehicle.getVehicleVin());
+                        taskManagementChargingDetailVO.setVehicleLocation(task.getVehicleLocation());
+                        taskManagementChargingDetailVO.setTaskCode(task.getTaskCode());
+                        XpChargingRecord chargingRecord = chargingRecordMapper.selectOne(new LambdaQueryWrapper<XpChargingRecord>()
+                                .eq(XpChargingRecord::getTaskId, id).last("limit 1"));
+                        if (chargingRecord != null){
+                            taskManagementChargingDetailVO.setStartRemainingBattery(chargingRecord.getStartRemainingBattery());
+                            taskManagementChargingDetailVO.setStartChargingPicture(chargingRecord.getStartChargingPicture());
+                            taskManagementChargingDetailVO.setStartTime(chargingRecord.getStartTime());
+                            taskManagementChargingDetailVO.setEndRemainingBattery(chargingRecord.getEndRemainingBattery());
+                            taskManagementChargingDetailVO.setEndChargingPicture(chargingRecord.getEndChargingPicture());
+                            taskManagementChargingDetailVO.setEndTime(chargingRecord.getEndTime());
+                            taskManagementChargingDetailVO.setStartOperationsUserId(chargingRecord.getStartOperationsUserId());
+                            taskManagementChargingDetailVO.setEndOperationsUserId(chargingRecord.getEndOperationsUserId());
+                            if (chargingRecord.getStartOperationsUserId() != null){
+                                XpOperationsUser operationsUser = xpOperationUserClient.queryById(chargingRecord.getStartOperationsUserId()).getData();
+                                if (operationsUser != null){
+                                    taskManagementChargingDetailVO.setStartOperationsUserName(operationsUser.getNickName());
+                                }
+                            }
+                            if (chargingRecord.getEndOperationsUserId() != null){
+                                XpOperationsUser operationsUser = xpOperationUserClient.queryById(chargingRecord.getEndOperationsUserId()).getData();
+                                if (operationsUser != null){
+                                    taskManagementChargingDetailVO.setEndOperationsUserName(operationsUser.getNickName());
+                                }
+                            }
+                        }
+                        managementDetailVO.setChargingDetailVO(taskManagementChargingDetailVO);
+
                         break;
                     case "3":
                         // 整备
                         TaskManagementPreparationDetailVO taskManagementPreparationDetailVO = new TaskManagementPreparationDetailVO();
+                        taskManagementPreparationDetailVO.setId(task.getId());
+                        taskManagementPreparationDetailVO.setVehicleId(vehicle.getId());
+                        taskManagementPreparationDetailVO.setTaskUrgencyLevel(task.getTaskUrgencyLevel());
+                        taskManagementPreparationDetailVO.setPlateNumber(vehicle.getPlateNumber());
+                        taskManagementPreparationDetailVO.setVehicleColor(vehicle.getVehicleColor());
+                        taskManagementPreparationDetailVO.setVehicleCode(vehicle.getVehicleCode());
+                        taskManagementPreparationDetailVO.setVehicleVin(vehicle.getVehicleVin());
+                        taskManagementPreparationDetailVO.setVehicleLocation(task.getVehicleLocation());
+                        taskManagementPreparationDetailVO.setTaskCode(task.getTaskCode());
+                        XpVehiclePreparation vehiclePreparation = vehiclePreparationMapper.selectOne(new LambdaQueryWrapper<XpVehiclePreparation>()
+                                .eq(XpVehiclePreparation::getTaskId, id).last("limit 1"));
+                        if (vehiclePreparation != null){
+                            taskManagementPreparationDetailVO.setLeftFrontWheel(vehiclePreparation.getLeftFrontWheel());
+                            taskManagementPreparationDetailVO.setRightFrontWheel(vehiclePreparation.getRightFrontWheel());
+                            taskManagementPreparationDetailVO.setLeftRearWheel(vehiclePreparation.getLeftRearWheel());
+                            taskManagementPreparationDetailVO.setRightRearWheel(vehiclePreparation.getRightRearWheel());
+                            taskManagementPreparationDetailVO.setHeadLight(vehiclePreparation.getHeadLight());
+                            taskManagementPreparationDetailVO.setTurnSignal(vehiclePreparation.getTurnSignal());
+                            taskManagementPreparationDetailVO.setBrakeLight(vehiclePreparation.getBrakeLight());
+                            taskManagementPreparationDetailVO.setFogLight(vehiclePreparation.getFogLight());
+                            taskManagementPreparationDetailVO.setBodyEmblem(vehiclePreparation.getBodyEmblem());
+                            taskManagementPreparationDetailVO.setCabinCleaning(vehiclePreparation.getCabinCleaning());
+                            taskManagementPreparationDetailVO.setLostItems(vehiclePreparation.getLostItems());
+                            taskManagementPreparationDetailVO.setRemarks(vehiclePreparation.getRemarks());
+                            taskManagementPreparationDetailVO.setOperationsUserId(vehiclePreparation.getOperationsUserId());
+                            taskManagementPreparationDetailVO.setOperationsTime(vehiclePreparation.getCreateTime());
+                            if (vehiclePreparation.getOperationsUserId() != null){
+                                XpOperationsUser operationsUser = xpOperationUserClient.queryById(vehiclePreparation.getOperationsUserId()).getData();
+                                if (operationsUser != null){
+                                    taskManagementPreparationDetailVO.setOperationsUserName(operationsUser.getNickName());
+                                }
+                            }
+                        }
+                        managementDetailVO.setPreparationDetailVO(taskManagementPreparationDetailVO);
+
                         break;
                     case "4":
                         // 洗车
                         TaskManagementCleanDetailVO taskManagementCleanDetailVO = new TaskManagementCleanDetailVO();
+                        taskManagementCleanDetailVO.setId(task.getId());
+                        taskManagementCleanDetailVO.setVehicleId(vehicle.getId());
+                        taskManagementCleanDetailVO.setTaskUrgencyLevel(task.getTaskUrgencyLevel());
+                        taskManagementCleanDetailVO.setPlateNumber(vehicle.getPlateNumber());
+                        taskManagementCleanDetailVO.setVehicleColor(vehicle.getVehicleColor());
+                        taskManagementCleanDetailVO.setVehicleCode(vehicle.getVehicleCode());
+                        taskManagementCleanDetailVO.setVehicleVin(vehicle.getVehicleVin());
+                        taskManagementCleanDetailVO.setVehicleLocation(task.getVehicleLocation());
+                        taskManagementCleanDetailVO.setTaskCode(task.getTaskCode());
+                        XpVehicleClean vehicleClean = vehicleCleanMapper.selectOne(new LambdaQueryWrapper<XpVehicleClean>()
+                                .eq(XpVehicleClean::getTaskId, id).last("limit 1"));
+                        if (vehicleClean != null){
+                            taskManagementCleanDetailVO.setTaskImage(vehicleClean.getTaskImage());
+                            taskManagementCleanDetailVO.setOperationUserId(vehicleClean.getOperationsUserId());
+                            if (vehicleClean.getOperationsUserId() != null){
+                                XpOperationsUser operationsUser = xpOperationUserClient.queryById(vehicleClean.getOperationsUserId()).getData();
+                                if (operationsUser != null){
+                                    taskManagementCleanDetailVO.setOperationsUserName(operationsUser.getNickName());
+                                }
+                            }
+                        }
+                        managementDetailVO.setCleanDetailVO(taskManagementCleanDetailVO);
+
                         break;
                     case "5":
                         // 维修
                         TaskManagementRepairDetailVO taskManagementRepairDetailVO = new TaskManagementRepairDetailVO();
+                        taskManagementRepairDetailVO.setId(task.getId());
+                        taskManagementRepairDetailVO.setVehicleId(vehicle.getId());
+                        taskManagementRepairDetailVO.setTaskUrgencyLevel(task.getTaskUrgencyLevel());
+                        taskManagementRepairDetailVO.setPlateNumber(vehicle.getPlateNumber());
+                        taskManagementRepairDetailVO.setVehicleColor(vehicle.getVehicleColor());
+                        taskManagementRepairDetailVO.setVehicleCode(vehicle.getVehicleCode());
+                        taskManagementRepairDetailVO.setVehicleVin(vehicle.getVehicleVin());
+                        taskManagementRepairDetailVO.setVehicleLocation(task.getVehicleLocation());
+                        taskManagementRepairDetailVO.setTaskCode(task.getTaskCode());
+                        XpVehicleRepair vehicleRepair = vehicleRepairMapper.selectOne(new LambdaQueryWrapper<XpVehicleRepair>()
+                                .eq(XpVehicleRepair::getTaskId, id).last("limit 1"));
+                        if (vehicleRepair != null){
+                            taskManagementRepairDetailVO.setStartTime(vehicleRepair.getStartTime());
+                            taskManagementRepairDetailVO.setEndTime(vehicleRepair.getEndTime());
+                            taskManagementRepairDetailVO.setRepairReason(vehicleRepair.getRepairReason());
+                            taskManagementRepairDetailVO.setStartRepairPicture(vehicleRepair.getStartRepairPicture());
+                            taskManagementRepairDetailVO.setRepairMoney(vehicleRepair.getRepairMoney());
+                            taskManagementRepairDetailVO.setRepairMoneyDetail(vehicleRepair.getRepairMoneyDetail());
+                            taskManagementRepairDetailVO.setSendUserId(vehicleRepair.getSendUserId());
+                            taskManagementRepairDetailVO.setSendTime(vehicleRepair.getSendTime());
+                            taskManagementRepairDetailVO.setReturnUserId(vehicleRepair.getReturnUserId());
+                            taskManagementRepairDetailVO.setReturnTime(vehicleRepair.getReturnTime());
+                            if (vehicleRepair.getReturnUserId() != null){
+                                XpOperationsUser operationsUser = xpOperationUserClient.queryById(vehicleRepair.getReturnUserId()).getData();
+                                if (operationsUser != null){
+                                    taskManagementRepairDetailVO.setReturnUserName(operationsUser.getNickName());
+                                }
+                            }
+                            if (vehicleRepair.getSendUserId() != null){
+                                XpOperationsUser operationsUser = xpOperationUserClient.queryById(vehicleRepair.getSendUserId()).getData();
+                                if (operationsUser != null){
+                                    taskManagementRepairDetailVO.setSendUserName(operationsUser.getNickName());
+                                }
+                            }
+                        }
+                        managementDetailVO.setRepairDetailVO(taskManagementRepairDetailVO);
+
                         break;
                     default:
                         // 保养、年检、保险、营运资质
@@ -876,6 +1034,8 @@
                         res.setVehicleCode(vehicle.getVehicleCode());
                         res.setVehicleLocation(task.getVehicleLocation());
                         res.setVehicleVin(vehicle.getVehicleVin());
+                        managementDetailVO.setRoutineDetailVO(res);
+
                         break;
                 }
 
@@ -937,4 +1097,6 @@
         return R.ok(managementDetailVO);
     }
 
+
+
 }

--
Gitblit v1.7.1