Browse Source

1. 优化了 TaskService.wareHouseTask 的异常处理
2. 增加了 ReportGenerateController 通过http请求生成报表

lifuquan 1 year ago
parent
commit
4913e98152

+ 1 - 1
doc/部署环境/数据入库-部署环境.http

@@ -14,7 +14,7 @@ Content-Type: application/json
 POST http://192.168.10.7:22222/tsl_data/source/warehouse/high_quality_count
 Content-Type: application/json
 
-20231128
+20231202
 
 ### 删除 high_quality_count 数据
 POST http://192.168.10.7:22222/tsl_data/source/delete/high_quality_count

+ 7 - 0
src/main/java/com/nokia/tsl_data/controller/DataWarehouseController.java

@@ -29,6 +29,7 @@ public class DataWarehouseController {
             return R.ok().message(String.format("管理端详表 MobileComplaint 数据账期 %s 入库成功", day));
         } catch (Exception e) {
             log.error(e.getMessage());
+            e.printStackTrace();
             return R.error().message(String.format("管理端详表 MobileComplaint 数据账期 %s 入库失败: %s", day, e.getMessage()));
         }
     }
@@ -40,6 +41,7 @@ public class DataWarehouseController {
             return R.ok().message(String.format("管理端详表 MobileComplaint 数据账期 %s 删除 %s 条", day, count));
         } catch (Exception e) {
             log.error(e.getMessage());
+            e.printStackTrace();
             return R.error().message(String.format("管理端详表 MobileComplaint 数据账期 %s 删除失败: %s", day, e.getMessage()));
         }
     }
@@ -51,6 +53,7 @@ public class DataWarehouseController {
             return R.ok().message(String.format("客户端统计 HighQualityCount 数据账期 %s 入库成功", day));
         } catch (Exception e) {
             log.error(e.getMessage());
+            e.printStackTrace();
             return R.error().message(String.format("客户端统计 HighQualityCount 数据账期 %s 入库失败: %s", day, e.getMessage()));
         }
     }
@@ -62,6 +65,7 @@ public class DataWarehouseController {
             return R.ok().message(String.format("客户端统计 HighQualityCount 数据账期 %s 删除 %s 条", day, count));
         } catch (Exception e) {
             log.error(e.getMessage());
+            e.printStackTrace();
             return R.error().message(String.format("客户端统计 HighQualityCount 数据账期 %s 删除失败: %s", day, e.getMessage()));
         }
     }
@@ -73,6 +77,7 @@ public class DataWarehouseController {
             return R.ok().message(String.format("客户端详表 HighQualityList 数据账期 %s 入库成功", day));
         } catch (Exception e) {
             log.error(e.getMessage());
+            e.printStackTrace();
             return R.error().message(String.format("客户端详表 HighQualityList 数据账期 %s 入库失败: %s", day, e.getMessage()));
         }
     }
@@ -84,6 +89,7 @@ public class DataWarehouseController {
             return R.ok().message(String.format("客户端详表 HighQualityList 数据账期 %s 删除 %s 条", day, count));
         } catch (Exception e) {
             log.error(e.getMessage());
+            e.printStackTrace();
             return R.error().message(String.format("客户端详表 HighQualityList 数据账期 %s 删除失败: %s", day, e.getMessage()));
         }
     }
@@ -95,6 +101,7 @@ public class DataWarehouseController {
             return R.ok().message("工作流基础数据更新成功...");
         } catch (Exception e) {
             log.error(e.getMessage());
+            e.printStackTrace();
             return R.error().message(String.format("工作流基础数据更新失败: %s", e.getMessage()));
         }
     }

+ 33 - 0
src/main/java/com/nokia/tsl_data/controller/ReportGenerateController.java

@@ -0,0 +1,33 @@
+package com.nokia.tsl_data.controller;
+
+import com.nokia.common.http.vo.R;
+import com.nokia.tsl_data.service.TaskService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@Slf4j
+@RestController
+@RequestMapping("tsl_data/report")
+public class ReportGenerateController {
+
+    private final TaskService taskService;
+
+    public ReportGenerateController(TaskService taskService) {
+        this.taskService = taskService;
+    }
+
+    @PostMapping("generate")
+    public R generateReport(@RequestBody String day) {
+        try {
+            taskService.generateReport(day);
+            return R.ok().message(String.format("报表账期 %s 生成成功", day));
+        } catch (Exception e) {
+            log.error(e.getMessage());
+            e.printStackTrace();
+            return R.error().message(String.format("报表账期 %s 生成失败: %s", day, e.getMessage()));
+        }
+    }
+}

+ 19 - 8
src/main/java/com/nokia/tsl_data/service/TaskService.java

@@ -85,17 +85,28 @@ public class TaskService {
             // 调度任务
             schedulingService.add(task);
         } else {
-            // 执行入库任务
-            dataWarehouseService.wareHouse(day);
-            // 生成HighQualityData
-            highQualityDataService.generateHighQualityData(day);
-            // 生成报表
-            tslReportService.generateReport(day);
-            // 截图
-            tslReportService.screenShot(day);
+            try {
+                // 执行入库任务
+                dataWarehouseService.wareHouse(day);
+                // 生成HighQualityData
+                highQualityDataService.generateHighQualityData(day);
+                // 报表+截图
+                generateReport(day);
+            } catch (Exception e) {
+                messageService.error("指定日期任务失败:" + e.getMessage());
+                e.printStackTrace();
+                throw new RuntimeException("指定日期任务失败:" + e.getMessage());
+            }
         }
     }
 
+    public void generateReport(String day) {
+        // 生成报表
+        tslReportService.generateReport(day);
+        // 截图
+        tslReportService.screenShot(day);
+    }
+
     /**
      * 从工单系统定时更新数据
      * 调度周期每小时