diff --git a/mh-admin/pom.xml b/mh-admin/pom.xml
index 9b63aa2..fc66bfb 100644
--- a/mh-admin/pom.xml
+++ b/mh-admin/pom.xml
@@ -75,6 +75,28 @@
mh-generator
+
+
+ org.springframework.retry
+ spring-retry
+
+
+
+
+ org.springframework.ai
+ spring-ai-starter-model-openai
+
+
+ org.springframework.boot
+ spring-boot-starter-jackson
+
+
+ org.springframework.boot
+ spring-boot-jackson
+
+
+
+
diff --git a/mh-admin/src/main/java/com/mh/web/controller/ai/AsyncReportController.java b/mh-admin/src/main/java/com/mh/web/controller/ai/AsyncReportController.java
new file mode 100644
index 0000000..50172a8
--- /dev/null
+++ b/mh-admin/src/main/java/com/mh/web/controller/ai/AsyncReportController.java
@@ -0,0 +1,47 @@
+package com.mh.web.controller.ai;
+
+import com.mh.common.core.domain.dto.AsyncTaskDTO;
+import com.mh.system.service.ai.impl.AsyncReportServiceImpl;
+import com.mh.system.service.ai.impl.TaskStoreService;
+import org.springframework.http.MediaType;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.servlet.mvc.method.annotation.SseEmitter;
+
+import java.util.Map;
+
+/**
+ * @author LJF
+ * @version 1.0
+ * @project EEMCS
+ * @description 一步报表controller
+ * @date 2026-02-27 11:36:57
+ */
+@RestController
+@RequestMapping("/api/reports/async")
+public class AsyncReportController {
+ private final AsyncReportServiceImpl asyncReportService;
+ private final TaskStoreService taskStore;
+
+ public AsyncReportController(AsyncReportServiceImpl asyncReportService, TaskStoreService taskStore) {
+ this.asyncReportService = asyncReportService;
+ this.taskStore = taskStore;
+ }
+
+ @PostMapping
+ public ResponseEntity