From b15ad90d858e5b6745f76921054b5d5a62b59627 Mon Sep 17 00:00:00 2001
From: 16639036659 <577530412@qq.com>
Date: 星期三, 10 四月 2024 14:06:18 +0800
Subject: [PATCH] 日报:添加C2H6,C3H8浓度曲线;删除流量无数据柱状图

---
 src/main/resources/template/dailyReportTemplate.docx                                     |    0 
 src/main/java/com/gkhy/fourierSpecialGasMonitor/service/impl/GasCategoryServiceImpl.java |    5 +++++
 src/main/java/com/gkhy/fourierSpecialGasMonitor/schedule/DailyReportSchedule.java        |   23 ++++++++++++++++++-----
 src/main/java/com/gkhy/fourierSpecialGasMonitor/service/GasCategoryService.java          |    2 ++
 src/main/java/com/gkhy/fourierSpecialGasMonitor/repository/GasCategoryRepository.java    |    6 ++++++
 src/main/resources/template/dailyReportTemplate_bak20240409.docx                         |    0 
 src/main/resources/template/dailyReportTemplate_bak20240410柱状图删减前.docx                   |    0 
 7 files changed, 31 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/gkhy/fourierSpecialGasMonitor/repository/GasCategoryRepository.java b/src/main/java/com/gkhy/fourierSpecialGasMonitor/repository/GasCategoryRepository.java
index bfd0075..7ba202a 100644
--- a/src/main/java/com/gkhy/fourierSpecialGasMonitor/repository/GasCategoryRepository.java
+++ b/src/main/java/com/gkhy/fourierSpecialGasMonitor/repository/GasCategoryRepository.java
@@ -5,10 +5,16 @@
 import com.gkhy.fourierSpecialGasMonitor.entity.GasFlux;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Query;
 import org.springframework.stereotype.Repository;
+
+import java.util.List;
 
 @Repository
 public interface GasCategoryRepository extends JpaRepository<GasCategory,Integer>, JpaSpecificationExecutor<GasCategory> {
 
     GasCategory findByMolecularFormula(String molecularFormula);
+
+    @Query(value = "select t from GasCategory t where t.id <= 3")
+    List<GasCategory> findGasCategoryForReport();
 }
diff --git a/src/main/java/com/gkhy/fourierSpecialGasMonitor/schedule/DailyReportSchedule.java b/src/main/java/com/gkhy/fourierSpecialGasMonitor/schedule/DailyReportSchedule.java
index a62934d..8ced11b 100644
--- a/src/main/java/com/gkhy/fourierSpecialGasMonitor/schedule/DailyReportSchedule.java
+++ b/src/main/java/com/gkhy/fourierSpecialGasMonitor/schedule/DailyReportSchedule.java
@@ -35,6 +35,7 @@
 import java.lang.reflect.Field;
 import java.time.LocalDateTime;
 import java.time.LocalTime;
+import java.time.Month;
 import java.time.format.DateTimeFormatter;
 import java.time.temporal.ChronoUnit;
 import java.util.*;
@@ -80,6 +81,9 @@
 
     @Autowired
     private MonitorDailyReportService monitorDailyReportService;
+
+    @Autowired
+    private GasCategoryService gasCategoryService;
 
     @Scheduled(cron = "0 0 2 * * ?") //每天两点执行一次
 //    @Scheduled(cron = "0 0/1 * * * ? ")    // 分钟
@@ -183,9 +187,10 @@
         }
         List<GasConcentration> gasConcentrations = gasConcentrationService.listDatabyTimeSlot(LocalDateTime.of(now.minusDays(1).toLocalDate(), LocalTime.MIN)
                 ,  LocalDateTime.of(now.minusDays(1).toLocalDate(), LocalTime.MAX));
+        // 绘制折线图
         if (!CollectionUtils.isEmpty(gasConcentrations)) {
-            //for (int i = 0; i < 30; i++) {
-            for (int i = 0; i < gasCategories.size(); i++) {
+            List<GasCategory> gasCategoryForReport = gasCategoryService.findGasCategoryForReport();
+            for (int i = 0; i < gasCategoryForReport.size(); i++) {
                 String series = gasCategories.get(i).getMolecularFormula() + "浓度观测结果";
                 String title = gasCategories.get(i).getMolecularFormula();
                 drawLineChart(gasConcentrations, fileurl, series, title, gasCategories.get(i).getMolecularFormula(), i);
@@ -200,16 +205,24 @@
             throw new BusinessException(this.getClass(), ResultCode.SYSTEM_ERROR_DATABASE_FAIL.getCode(),"区域信息为空");
         Map<Integer, String> regionMap = allRegion.stream()
                 .collect(Collectors.toMap(Region::getId, Region::getName));
+        // 绘制柱状图
         if (!CollectionUtils.isEmpty(gasFluxes)) {
-            for (int j = 0; j < gasCategories.size(); j++) {
+//            for (int j = 0; j < gasCategories.size(); j++) {
+//                for (int i = 1; i <= areaNum.size(); i++) {
+//                    //for (int j = 0; j < 20; j++) {
+//                    int finalI = i;
+//                    List<GasFlux> gasFluxesByArea = gasFluxes.stream().filter(gasFlux -> gasFlux.getAreaId() == finalI)
+//                            .collect(Collectors.toList());
+//                    drawBarChart(gasFluxesByArea, fileurl, regionMap.get(i), gasCategories.get(j).getMolecularFormula(), i, j + 1);
+//                }
+//            }
                 for (int i = 1; i <= areaNum.size(); i++) {
                     //for (int j = 0; j < 20; j++) {
                     int finalI = i;
                     List<GasFlux> gasFluxesByArea = gasFluxes.stream().filter(gasFlux -> gasFlux.getAreaId() == finalI)
                             .collect(Collectors.toList());
-                    drawBarChart(gasFluxesByArea, fileurl, regionMap.get(i), gasCategories.get(j).getMolecularFormula(), i, j + 1);
+                    drawBarChart(gasFluxesByArea, fileurl, regionMap.get(i), gasCategories.get(0).getMolecularFormula(), i, 1);
                 }
-            }
         }
         String endTime = LocalDateTime.now().format(execformatter);
         long execTime = ChronoUnit.SECONDS.between(now, LocalDateTime.now());
diff --git a/src/main/java/com/gkhy/fourierSpecialGasMonitor/service/GasCategoryService.java b/src/main/java/com/gkhy/fourierSpecialGasMonitor/service/GasCategoryService.java
index 914f9f4..5855e13 100644
--- a/src/main/java/com/gkhy/fourierSpecialGasMonitor/service/GasCategoryService.java
+++ b/src/main/java/com/gkhy/fourierSpecialGasMonitor/service/GasCategoryService.java
@@ -24,4 +24,6 @@
     Result findGasCategoryPage(PageQuery<FindGasCategoryPageQuery> pageQuery);
 
     GasCategory findById(Integer id);
+
+    List<GasCategory> findGasCategoryForReport();
 }
diff --git a/src/main/java/com/gkhy/fourierSpecialGasMonitor/service/impl/GasCategoryServiceImpl.java b/src/main/java/com/gkhy/fourierSpecialGasMonitor/service/impl/GasCategoryServiceImpl.java
index 40d8623..2364c7e 100644
--- a/src/main/java/com/gkhy/fourierSpecialGasMonitor/service/impl/GasCategoryServiceImpl.java
+++ b/src/main/java/com/gkhy/fourierSpecialGasMonitor/service/impl/GasCategoryServiceImpl.java
@@ -178,6 +178,11 @@
     }
 
     @Override
+    public List<GasCategory> findGasCategoryForReport() {
+        return gasCategoryRepository.findGasCategoryForReport();
+    }
+
+    @Override
     public Result gasCategoryList() {
         Result success = Result.success();
         RBucket<List<GasCategory>> bucket = redissonClient.getBucket(SystemCacheKeyEnum.KEY_GAS_CATEGORY.getKey());
diff --git a/src/main/resources/template/dailyReportTemplate.docx b/src/main/resources/template/dailyReportTemplate.docx
index d1efe6e..38ca601 100644
--- a/src/main/resources/template/dailyReportTemplate.docx
+++ b/src/main/resources/template/dailyReportTemplate.docx
Binary files differ
diff --git a/src/main/resources/template/dailyReportTemplate_bak20240409.docx b/src/main/resources/template/dailyReportTemplate_bak20240409.docx
new file mode 100644
index 0000000..5d4e25d
--- /dev/null
+++ b/src/main/resources/template/dailyReportTemplate_bak20240409.docx
Binary files differ
diff --git "a/src/main/resources/template/dailyReportTemplate_bak20240410\346\237\261\347\212\266\345\233\276\345\210\240\345\207\217\345\211\215.docx" "b/src/main/resources/template/dailyReportTemplate_bak20240410\346\237\261\347\212\266\345\233\276\345\210\240\345\207\217\345\211\215.docx"
new file mode 100644
index 0000000..d1efe6e
--- /dev/null
+++ "b/src/main/resources/template/dailyReportTemplate_bak20240410\346\237\261\347\212\266\345\233\276\345\210\240\345\207\217\345\211\215.docx"
Binary files differ

--
Gitblit v1.9.2