diff --git a/backend/src/main/java/com/yfd/platform/config/SecurityConfig.java b/backend/src/main/java/com/yfd/platform/config/SecurityConfig.java index 9cc53580..f8e9fd41 100644 --- a/backend/src/main/java/com/yfd/platform/config/SecurityConfig.java +++ b/backend/src/main/java/com/yfd/platform/config/SecurityConfig.java @@ -68,7 +68,8 @@ public class SecurityConfig { .requestMatchers("/dict/cache/**").permitAll() .requestMatchers("/sys/psbmodulelbb/**").permitAll() .requestMatchers("/base/operationLog/**").permitAll() - .requestMatchers("/system/**").permitAll() +// .requestMatchers("/system/**").permitAll() + .requestMatchers("/qgcExport/**").permitAll() // .requestMatchers("/eng/**").permitAll() // .requestMatchers("/eq/**").permitAll() // .requestMatchers("/env/**").permitAll() diff --git a/backend/src/main/java/com/yfd/platform/config/SwaggerConfig.java b/backend/src/main/java/com/yfd/platform/config/SwaggerConfig.java index 8e63f008..3007f7e6 100644 --- a/backend/src/main/java/com/yfd/platform/config/SwaggerConfig.java +++ b/backend/src/main/java/com/yfd/platform/config/SwaggerConfig.java @@ -299,4 +299,12 @@ public class SwaggerConfig { .packagesToScan("com.yfd.platform.qgc_lygk.along.controller") .build(); } + + @Bean + public GroupedOpenApi groupExportApi() { + return GroupedOpenApi.builder() + .group("7. 综合导出") + .packagesToScan("com.yfd.platform.qgc_export.controller") + .build(); + } } \ No newline at end of file diff --git a/backend/src/main/java/com/yfd/platform/qgc_export/controller/QgcExportController.java b/backend/src/main/java/com/yfd/platform/qgc_export/controller/QgcExportController.java new file mode 100644 index 00000000..f879110f --- /dev/null +++ b/backend/src/main/java/com/yfd/platform/qgc_export/controller/QgcExportController.java @@ -0,0 +1,77 @@ +package com.yfd.platform.qgc_export.controller; + +import cn.hutool.core.util.StrUtil; +import com.yfd.platform.annotation.Log; +import com.yfd.platform.qgc_export.service.IQgcExportService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import jakarta.servlet.http.HttpServletResponse; +import org.springframework.web.bind.annotation.*; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +/** + * 综合导出控制器 + *
+ * 前端传参示例: + *
{@code
+ * POST /qgcExport/exportData
+ * {
+ * "tmDimension": "month",
+ * "dataField": "v,q,z",
+ * "months": "2026-08,2026-07",
+ * "stcd": "00001,00002",
+ * "sysId": "qgc",
+ * "isDailyDimension": true,
+ * "isCalcQec": true
+ * }
+ * }
+ */
+@RestController
+@RequestMapping("/qgcExport")
+@Tag(name = "综合导出")
+public class QgcExportController {
+
+ @Resource
+ private IQgcExportService qgcExportService;
+
+ @PostMapping("/exportData")
+ @Operation(summary = "综合数据导出(ZIP 含多 Sheet Excel)")
+ public void exportData(@RequestParam(required = false) String tmDimension,
+ @RequestParam(required = false) String dataField,
+ @RequestParam(required = false) String months,
+ @RequestParam(required = false) String stcd,
+ @RequestParam(required = false) String sysId,
+ @RequestParam(defaultValue = "true") boolean isDailyDimension,
+ @RequestParam(defaultValue = "false") boolean isCalcQec,
+ HttpServletResponse response) {
+
+ // 解析逗号分隔参数
+ List