puzhibing
2026-04-28 37c87f161b418e0e5d0b03aedb302fbba5156e50
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpTaskController.java
@@ -100,6 +100,12 @@
    @Resource
    private AccidentTaskQuartzScheduler accidentTaskQuartzScheduler;
    @Resource
    private XpOperationUserClient operationUserClient;
    @Resource
    XpFleetClient xpFleetClient;
    @ApiOperation(value = "事故类型列表", response = XpErrorType.class, tags = "运维APP-任务中心")
    @GetMapping("/maintenance-app/api/v1/task/errorTypeList")
    public R<List<XpErrorType>> errorTypeList() {
@@ -298,7 +304,8 @@
                if (Objects.isNull(jsonObject)) {
                    continue;
                }
                String downloadUrl = jsonObject.getString("url");;
                String downloadUrl = jsonObject.getString("url");
                ;
                try {
                    downloadUrl = aliOssService.getDownloadUrl(jsonObject.getString("id"), jsonObject.getString("name"), true);
                } catch (UnsupportedEncodingException e) {
@@ -320,7 +327,7 @@
    @ApiOperation(value = "待改派的工单导出", tags = {"管理后台-运维执行-任务工单-待改派工单"})
    @PostMapping("/api/v1/task/reassign/export")
    public R<?> export(@RequestBody TaskPageListQuery query, HttpServletResponse response) {
        List<XpTaskVO> list= xpTaskService.exportList(query);
        List<XpTaskVO> list = xpTaskService.exportList(query);
        Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams(), XpCruiseCheckInRecordVO.class, list);
        response.setContentType("application/vnd.ms-excel");
        response.setCharacterEncoding("utf-8");
@@ -348,8 +355,6 @@
        return R.ok();
    }
    @Resource
    XpFleetClient xpFleetClient;
    @ApiOperation(value = "可改派的运维人员列表", tags = {"管理后台-运维执行-任务工单-待改派工单"})
    @PostMapping("/api/v1/task/reassign/availableUsers")
@@ -357,12 +362,12 @@
        XpTask task = xpTaskService.getById(query.getTaskId());
        GeoJsonPoint point =
            new GeoJsonPoint(
                task.getVehicleLon().doubleValue(),
                task.getVehicleLat().doubleValue()
            );
                new GeoJsonPoint(
                        task.getVehicleLon().doubleValue(),
                        task.getVehicleLat().doubleValue()
                );
        Query q = new Query(Criteria.where("location").near(point)
            .maxDistance(new Distance(10, Metrics.KILOMETERS).getNormalizedValue()));
                .maxDistance(new Distance(10, Metrics.KILOMETERS).getNormalizedValue()));
        q.with(Sort.by(Sort.Direction.ASC, "dis"));
        List<XpOperationsUserPositionDTO> up = mongoTemplate.find(q, XpOperationsUserPositionDTO.class);
@@ -389,8 +394,6 @@
        return R.ok(ret);
    }
    @Resource
    private XpOperationUserClient operationUserClient;
    @ApiOperation(value = "改派详情", tags = {"管理后台-运维执行-任务工单-待改派工单"})
    @GetMapping("/api/v1/task/detail")
@@ -404,4 +407,12 @@
        insuranceInspectionScheduleTask.executeInsuranceInspectionTask();
        return R.ok();
    }
    @ApiOperation(value = "运营后台改派工单", tags = {"管理后台-运维执行-任务工单-待改派工单"})
    @PostMapping("/api/v1/task/reassign/taskReassignment")
    public R<?> taskReassignment(@RequestBody TaskReassignmentVo vo){
        xpTaskService.taskReassignment(vo);
        return R.ok();
    }
}