From 48959b0b908dd57bf9dd991b75756ac2698f2b4d Mon Sep 17 00:00:00 2001
From: zmc <zmc_li@foxmail.com>
Date: 星期四, 12 十月 2023 10:48:11 +0800
Subject: [PATCH] 修改了数据排名清单的sql语句

---
 src/main/java/com/job/zsc/mapper/dustexception/OnlineAnalysisMapper.java            |   15 +
 src/main/java/com/job/zsc/dustexceptionanalysis/database/DustRepository.java        |   21 ++
 src/main/java/com/job/zsc/dustexceptionanalysis/dataprocess/DataProcess.java        |   14 +
 src/main/java/com/job/zsc/scheduledtasks/ScheduledTaskController.java               |   13 +
 src/main/java/com/job/zsc/pojo/DustExceptionSetting.java                            |   49 ++++++
 src/main/java/com/job/zsc/service/dustexception/impl/onlineAnalysisServiceImpl.java |    7 
 src/main/java/com/job/zsc/scheduledtasks/BaseTimingTask.kt                          |   27 +++
 /dev/null                                                                           |    8 -
 src/main/java/com/job/zsc/scheduledtasks/TaskController.kt                          |  105 +++++++++++++
 src/main/java/com/job/zsc/dustexceptionanalysis/ExceptionAnalysis.java              |   36 ++++
 src/main/java/com/job/zsc/pojo/DustSiteData.java                                    |   13 +
 src/main/resources/com/job/zsc/mapper/FugitiveDustMapper.xml                        |   32 ++-
 src/main/java/com/job/zsc/dustexceptionanalysis/analysis/Exceeding.java             |   38 ++++
 src/main/java/com/job/zsc/QianduanApplication.java                                  |   12 +
 src/main/resources/application.yml                                                  |   12 
 src/test/java/com/job/zsc/QianduanApplicationTests.java                             |   37 ++++
 16 files changed, 406 insertions(+), 33 deletions(-)

diff --git a/src/main/java/com/job/zsc/QianduanApplication.java b/src/main/java/com/job/zsc/QianduanApplication.java
index 415cb2d..6a42320 100644
--- a/src/main/java/com/job/zsc/QianduanApplication.java
+++ b/src/main/java/com/job/zsc/QianduanApplication.java
@@ -1,13 +1,25 @@
 package com.job.zsc;
 
+import com.job.zsc.scheduledtasks.TaskController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.ApplicationArguments;
+import org.springframework.boot.ApplicationRunner;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.context.annotation.Bean;
 
 @SpringBootApplication
 public class QianduanApplication {
+    @Autowired
+    private TaskController taskController;
 
+    @Bean
+    public ApplicationRunner runner() {
+         return args -> taskController.run();
+    }
     public static void main(String[] args) {
         SpringApplication.run(QianduanApplication.class, args);
+
     }
 
 }
diff --git a/src/main/java/com/job/zsc/dustexceptionanalysis/ExceptionAnalysis.java b/src/main/java/com/job/zsc/dustexceptionanalysis/ExceptionAnalysis.java
new file mode 100644
index 0000000..c1696bd
--- /dev/null
+++ b/src/main/java/com/job/zsc/dustexceptionanalysis/ExceptionAnalysis.java
@@ -0,0 +1,36 @@
+package com.job.zsc.dustexceptionanalysis;
+
+import com.job.zsc.pojo.DustExceptionSetting;
+import com.job.zsc.pojo.DustSiteData;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Controller
+public class ExceptionAnalysis {
+
+
+    public static List<DustSiteData> isDustValueExceeding(List<DustSiteData> siteDataList) {
+        List<DustSiteData> result = new ArrayList<>();
+        DustExceptionSetting dustExceptionSetting = new DustExceptionSetting();
+        /*鎵皹瓒呮爣鍒ゆ柇*/
+//        for (DustSiteData item : siteDataList) {
+//            if (item.getDustValue() >= dustExceptionSetting.getExceedingStandard()  ) {
+//                result.add(item);
+//            }
+//        }
+        return result;
+    }
+
+    public static int main(List<DustSiteData> siteDataList) {
+        List<DustSiteData> r1 = isDustValueExceeding(siteDataList);
+
+//        if (!r1.isEmpty()) {
+//            Repository repository = new Repository();
+//            repository.valueExceedingWriteExceptionTable(r1);
+//        }
+        return r1.size();
+    }
+}
diff --git a/src/main/java/com/job/zsc/dustexceptionanalysis/analysis/Exceeding.java b/src/main/java/com/job/zsc/dustexceptionanalysis/analysis/Exceeding.java
new file mode 100644
index 0000000..846d22f
--- /dev/null
+++ b/src/main/java/com/job/zsc/dustexceptionanalysis/analysis/Exceeding.java
@@ -0,0 +1,38 @@
+package com.job.zsc.dustexceptionanalysis.analysis;
+
+import com.job.zsc.pojo.DustExceptionSetting;
+import com.job.zsc.pojo.DustSiteData;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class Exceeding {
+    public static List<DustSiteData> isDustValueExceeding(List<DustSiteData> siteDataList) {
+        List<DustSiteData> result = new ArrayList<>();
+
+        DustExceptionSetting dustExceptionSetting = new DustExceptionSetting();
+
+
+        /*鎵皹瓒呮爣鍒ゆ柇*/
+//        for (DustSiteData item : siteDataList) {
+//            if (item.getDustValue() >= dustExceptionSetting.getExceedingStandard()  ) {
+//                result.add(item);
+//            }
+//        }
+        return result;
+    }
+
+
+    public static int main(List<DustSiteData> siteDataList) {
+        List<DustSiteData> exceedingData = isDustValueExceeding(siteDataList);
+
+//        if (!r1.isEmpty()) {
+//            Repository repository = new Repository();
+//            repository.valueExceedingWriteExceptionTable(r1);
+//        }
+
+        return exceedingData.size();
+    }
+
+
+}
diff --git a/src/main/java/com/job/zsc/dustexceptionanalysis/database/DustRepository.java b/src/main/java/com/job/zsc/dustexceptionanalysis/database/DustRepository.java
new file mode 100644
index 0000000..0ffd703
--- /dev/null
+++ b/src/main/java/com/job/zsc/dustexceptionanalysis/database/DustRepository.java
@@ -0,0 +1,21 @@
+package com.job.zsc.dustexceptionanalysis.database;
+
+import com.job.zsc.pojo.DustExceptionSetting;
+import com.job.zsc.pojo.DustSiteData;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
+
+@Mapper
+public interface DustRepository {
+
+
+
+    /*璇诲彇鎸囧畾鏃堕棿娈电殑鎵皹鏁版嵁*/
+    @Select("select * from ja_t_dust_site_data_info where lst between #{beginTime} and #{endTime}")
+    public List<DustSiteData> getDustData(String beginTime, String endTime);
+
+    @Select("select * from dust_exception_setting order by update_time desc limit 1")
+    public List<DustExceptionSetting> readExceptionSetting();
+}
diff --git a/src/main/java/com/job/zsc/dustexceptionanalysis/dataprocess/DataProcess.java b/src/main/java/com/job/zsc/dustexceptionanalysis/dataprocess/DataProcess.java
new file mode 100644
index 0000000..a50783c
--- /dev/null
+++ b/src/main/java/com/job/zsc/dustexceptionanalysis/dataprocess/DataProcess.java
@@ -0,0 +1,14 @@
+package com.job.zsc.dustexceptionanalysis.dataprocess;
+
+import com.job.zsc.pojo.DustExceptionSetting;
+
+import java.util.List;
+
+public class DataProcess {
+    public void giveValues(List<DustExceptionSetting> data){
+        DustExceptionSetting dustExceptionSetting = new DustExceptionSetting();
+
+
+
+    }
+}
diff --git a/src/main/java/com/job/zsc/mapper/dustexception/OnlineAnalysisMapper.java b/src/main/java/com/job/zsc/mapper/dustexception/OnlineAnalysisMapper.java
new file mode 100644
index 0000000..8b2541a
--- /dev/null
+++ b/src/main/java/com/job/zsc/mapper/dustexception/OnlineAnalysisMapper.java
@@ -0,0 +1,15 @@
+package com.job.zsc.mapper.dustexception;
+
+
+import com.job.zsc.pojo.DustSiteData;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
+
+@Mapper
+public interface OnlineAnalysisMapper {
+    /*璇诲彇鎸囧畾鏃堕棿娈电殑鏁版嵁*/
+    @Select("select * from ja_t_dust_site_data_info where lst between #{beginTime} and #{endTime}")
+    public List<DustSiteData> getDustData(String beginTime,String endTime);
+}
diff --git a/src/main/java/com/job/zsc/mapper/dustexception/onlineAnalysisMapper.java b/src/main/java/com/job/zsc/mapper/dustexception/onlineAnalysisMapper.java
deleted file mode 100644
index bf06eeb..0000000
--- a/src/main/java/com/job/zsc/mapper/dustexception/onlineAnalysisMapper.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package com.job.zsc.mapper.dustexception;
-
-
-import org.apache.ibatis.annotations.Mapper;
-
-@Mapper
-public class onlineAnalysisMapper {
-}
diff --git a/src/main/java/com/job/zsc/pojo/DustExceptionSetting.java b/src/main/java/com/job/zsc/pojo/DustExceptionSetting.java
new file mode 100644
index 0000000..c1a8b1c
--- /dev/null
+++ b/src/main/java/com/job/zsc/pojo/DustExceptionSetting.java
@@ -0,0 +1,49 @@
+package com.job.zsc.pojo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.time.LocalDateTime;
+
+@Data
+@AllArgsConstructor
+//@NoArgsConstructor
+public class DustExceptionSetting {
+    private static int id;
+    private static String user;
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private static LocalDateTime updateTime;  //寮�濮嬫椂闂�
+
+    private static String version;
+
+    private static int missDataMinutes;
+    private static float dataLow;
+    private static int longTimeNoChange;
+    private static int mutationNum;
+    private static float mutationRate;
+    private static float nearExceedLowValue;
+    private static float nearExceedHighValue;
+    private static int nearExceedNum;
+    private static int dayExceedBorderlineLowNum;
+    private static int dayExceedBorderlineHighNum;
+    private static int changeTrendGroup;
+    private static int changeTrendInterval;
+    private static int changeTrendRate;
+    private static int exceedingStandard;
+
+    private static DustExceptionSetting instance;
+
+
+    public static DustExceptionSetting getInstance() {
+
+        if (instance == null) {
+            instance = new DustExceptionSetting();
+        }
+        return instance;
+    }
+
+
+}
diff --git a/src/main/java/com/job/zsc/pojo/DustSiteData.java b/src/main/java/com/job/zsc/pojo/DustSiteData.java
index f75ede3..7b338e0 100644
--- a/src/main/java/com/job/zsc/pojo/DustSiteData.java
+++ b/src/main/java/com/job/zsc/pojo/DustSiteData.java
@@ -1,8 +1,11 @@
 package com.job.zsc.pojo;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
+
+import java.time.LocalDateTime;
 
 // 鐩戞祴鐐�
 @Data
@@ -17,9 +20,13 @@
 
     private String mnCode;
     private String typeName;
-    private String dustValue;
-    private String noiseValue;
-    private String lst;
+    private double dustValue;
+    private double noiseValue;
+
+//    private String lst;
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime lst;
+
     private String quality;
     private String groupName;
 }
diff --git a/src/main/java/com/job/zsc/scheduledtasks/BaseTimingTask.kt b/src/main/java/com/job/zsc/scheduledtasks/BaseTimingTask.kt
new file mode 100644
index 0000000..85a343b
--- /dev/null
+++ b/src/main/java/com/job/zsc/scheduledtasks/BaseTimingTask.kt
@@ -0,0 +1,27 @@
+package cn.flightfeather.supervision.timingtask
+
+import java.time.LocalDateTime
+import java.util.concurrent.ExecutorService
+import java.util.concurrent.Executors
+
+/**
+ * 瀹氭椂浠诲姟鍩虹被
+ */
+abstract class BaseTimingTask {
+
+    // 璁板綍涓婃浠诲姟鎵ц鐨勬椂闂寸偣锛屽崟浣嶏細姣
+    private var lastTime: LocalDateTime = LocalDateTime.MIN
+
+    // 浠诲姟鎵ц鍛ㄦ湡锛屽崟浣嶏細鍒嗛挓
+    abstract val period: Long
+
+    open fun execute(localtime:LocalDateTime) {
+        val now = LocalDateTime.now()
+        if (now.minusSeconds(period * 60 - 5) >= lastTime) {
+            lastTime = now
+            doTask(localtime)
+        }
+    }
+
+    abstract fun doTask(localtime:LocalDateTime)
+}
\ No newline at end of file
diff --git a/src/main/java/com/job/zsc/scheduledtasks/ScheduledTaskController.java b/src/main/java/com/job/zsc/scheduledtasks/ScheduledTaskController.java
new file mode 100644
index 0000000..5af0520
--- /dev/null
+++ b/src/main/java/com/job/zsc/scheduledtasks/ScheduledTaskController.java
@@ -0,0 +1,13 @@
+package com.job.zsc.scheduledtasks;
+
+import java.util.concurrent.Executors;
+import java.util.concurrent.ScheduledExecutorService;
+
+public class ScheduledTaskController {
+
+    /*绾跨▼姹�*/
+    private ScheduledExecutorService scheduledExecutorService = Executors.newSingleThreadScheduledExecutor();
+    public void run(){
+    
+    }
+}
diff --git a/src/main/java/com/job/zsc/scheduledtasks/TaskController.kt b/src/main/java/com/job/zsc/scheduledtasks/TaskController.kt
new file mode 100644
index 0000000..dfed9a4
--- /dev/null
+++ b/src/main/java/com/job/zsc/scheduledtasks/TaskController.kt
@@ -0,0 +1,105 @@
+package com.job.zsc.scheduledtasks
+
+import cn.flightfeather.supervision.timingtask.BaseTimingTask
+import org.slf4j.LoggerFactory
+import org.springframework.stereotype.Component
+import java.time.LocalDateTime
+import java.time.LocalTime
+import java.util.*
+import java.util.concurrent.Executors
+import java.util.concurrent.ScheduledExecutorService
+import java.util.concurrent.TimeUnit
+
+/**
+ * 鏁版嵁鑾峰彇鎺у埗鍣�
+ */
+@Component
+class TaskController(
+        /*瀹炰緥鍚� 绫诲悕*/
+//    fetchVOC: TaskFetchVOC,
+//    pushFume: TaskPushFume,
+//    ledgerCopy: TaskLedgerCopy,
+//    ledgerRemind: TaskLedgerRemind,
+//    taskJinAnLampEnterBaseInfo: TaskJinAnLampEnterBaseInfo,
+//    taskJinAnLampDeviceData: TaskJinAnLampDeviceData,
+//    taskJinAnConstructionSiteInfo: TaskJinAnConstructionSiteInfo,
+//    taskJinAnHourlyDustData: TaskJinAnHourlyDustData
+) {
+
+    companion object {
+        private const val FETCH_PERIOD_MIN = 1L * 60
+        private const val MAINTAIN_PERIOD_MIN = 5L * 60
+        val LOGGER = LoggerFactory.getLogger(TaskController::class.java)
+    }
+
+    private val timeTask = mutableListOf<BaseTimingTask>()
+    private var schedule = Executors.newScheduledThreadPool(1)
+    private var maintainSchedule = Executors.newScheduledThreadPool(1)
+    private var taskTime: Date = Date()
+    private var maintainTime: Date = Date()
+
+    init {
+        LOGGER.info("娣诲姞瀹氭椂浠诲姟")
+        timeTask.clear()
+
+       /*鍋氱殑瀹氭椂浠诲姟鍔犺繘鏉�*/
+
+
+        LOGGER.info("娣诲姞瀹氭椂浠诲姟瀹屾垚锛屼换鍔℃�昏${timeTask.size}涓�")
+    }
+
+    fun run() {
+        fetchTask(true)
+        maintainTask(true)
+    }
+
+    private fun fetchTask(isFirst: Boolean = false) {
+        val cal = Calendar.getInstance()
+        val time = LocalTime.now()
+        val sec = time.second
+        val delay = 60L - sec
+//        var localtime = LocalDateTime.of(2021, 4, 16, 9, 0)
+        if (!isFirst) {
+            schedule = closeThread(schedule)
+        }
+        schedule.scheduleAtFixedRate({
+            taskTime = Date()
+            if (Date().time - maintainTime.time > (MAINTAIN_PERIOD_MIN + 1) * 60 * 1000) {
+                maintainTask()
+            }
+
+            val localtime = LocalDateTime.now()
+//            LOGGER.info("瀹氭椂浠诲姟鎵ц锛屽畾鏃朵换鍔℃暟锛�${timeTask.size}")
+            timeTask.forEach {
+//                LOGGER.info("瀹氭椂浠诲姟锛�${it.javaClass.name}")
+                it.execute(localtime)
+            }
+//            localtime = localtime.plusMinutes(1)
+        }, delay, FETCH_PERIOD_MIN, TimeUnit.SECONDS)
+    }
+
+    private fun maintainTask(isFirst: Boolean = false) {
+        if (!isFirst) {
+            maintainSchedule = closeThread(maintainSchedule)
+        }
+        maintainSchedule.scheduleAtFixedRate({
+            maintainTime = Date()
+            if (Date().time - taskTime.time > (FETCH_PERIOD_MIN + 1) * 60 * 1000) {
+                fetchTask()
+            }
+        }, 0, MAINTAIN_PERIOD_MIN, TimeUnit.SECONDS)
+    }
+
+    private fun closeThread(s: ScheduledExecutorService): ScheduledExecutorService {
+        try {
+            s.shutdown()
+            if (s.awaitTermination(10, TimeUnit.SECONDS)) {
+                s.shutdownNow()
+            }
+        } catch (e: InterruptedException) {
+            e.printStackTrace()
+            s.shutdownNow()
+        }
+        return Executors.newScheduledThreadPool(1)
+    }
+}
\ No newline at end of file
diff --git a/src/main/java/com/job/zsc/service/dustexception/impl/onlineAnalysisServiceImpl.java b/src/main/java/com/job/zsc/service/dustexception/impl/onlineAnalysisServiceImpl.java
new file mode 100644
index 0000000..b85dabd
--- /dev/null
+++ b/src/main/java/com/job/zsc/service/dustexception/impl/onlineAnalysisServiceImpl.java
@@ -0,0 +1,7 @@
+package com.job.zsc.service.dustexception.impl;
+
+import com.job.zsc.service.dustexception.onlineAnalysisService;
+
+public class onlineAnalysisServiceImpl implements onlineAnalysisService {
+        /*閫昏緫澶勭悊*/
+}
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 2dd5e0b..b9c85fe 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -1,13 +1,13 @@
 spring:
   datasource:
      driver-class-name: com.mysql.cj.jdbc.Driver
-     url: jdbc:mysql://localhost:3306/fume
-     username: fume
-     password: fume_feiyu2023
+#     url: jdbc:mysql://localhost:3306/fume
+#     username: fume
+#     password: fume_feiyu2023
 
-#     url: jdbc:mysql://localhost:3306/qianduan_sql
-#     username: root
-#     password: 1234
+     url: jdbc:mysql://localhost:3306/qianduan_sql
+     username: root
+     password: 1234
 
 mybatis:
   configuration:
diff --git a/src/main/resources/com/job/zsc/mapper/FugitiveDustMapper.xml b/src/main/resources/com/job/zsc/mapper/FugitiveDustMapper.xml
index 0938dff..34bb6f7 100644
--- a/src/main/resources/com/job/zsc/mapper/FugitiveDustMapper.xml
+++ b/src/main/resources/com/job/zsc/mapper/FugitiveDustMapper.xml
@@ -73,29 +73,33 @@
     <select id="analysisByTime" resultType="com.job.zsc.pojo.AnalysisDustData">
         select  c.name,d.*
         from ja_t_dust_site_info as c  join
-        (select
-        a.mn_code as mn_code,
-        DATE(a.lst) as lst,
-        ROUND(AVG(a.dust_value),3)  as day_avg,
-        min(a.dust_value) as min,
-        max(a.dust_value) as max,
+        (
+        select
+        mn_code as mn_code,
+        DATE(lst) as lst,
+        ROUND(AVG(dust_value),3)  as day_avg,
+        min(dust_value) as min,
+        max(dust_value) as max,
         CONCAT(ROUND(COUNT(*)/96*100, 2), '%')  as day_online,
-        CONCAT(ROUND(SUM(CASE WHEN a.dust_value >0 THEN 1 ELSE 0 END)/96 *100, 2), '%') as day_valid,
-        CONCAT(ROUND(SUM(CASE WHEN a.dust_value >= 1  THEN 1 ELSE 0 END)/96*100,2),'%') as  day_exceeding
-        from ja_t_dust_site_data_info as a join ja_t_dust_site_info as b on a.mn_code = b.mn_code
+        CONCAT(ROUND(SUM(CASE WHEN dust_value >0 THEN 1 ELSE 0 END)/96 *100, 2), '%') as day_valid,
+        CONCAT(ROUND(SUM(CASE WHEN dust_value >= 1  THEN 1 ELSE 0 END)/96*100,2),'%') as  day_exceeding
+        from ja_t_dust_site_data_info
         <where>
-            <if test="siteName !=null and siteName != ''">
-                b.name = #{siteName}
-            </if>
+<!--            <if test="siteName !=null and siteName != ''">-->
+<!--                b.name = #{siteName}-->
+<!--            </if>-->
 
             <if test="beginTime != null and endTime != null">
-                and  a.lst between #{beginTime} and #{endTime}
+                lst between #{beginTime} and #{endTime}
             </if>
+
         </where>
-        GROUP BY a.mn_code,DATE(a.lst)
+        GROUP BY mn_code,DATE(lst)
         order by lst asc ) as d  on c.mn_code = d.mn_code
     </select>
 
+
+
     <!--鏉′欢鏌ヨ寮傚父鏁版嵁  鍔犱笂浜嗗璁′俊鎭�-->
     <select id="getExceptionData" resultType="com.job.zsc.pojo.DustExceptionData">
         select *
diff --git a/src/test/java/com/job/zsc/QianduanApplicationTests.java b/src/test/java/com/job/zsc/QianduanApplicationTests.java
index 44ed527..ea4cea2 100644
--- a/src/test/java/com/job/zsc/QianduanApplicationTests.java
+++ b/src/test/java/com/job/zsc/QianduanApplicationTests.java
@@ -1,12 +1,19 @@
 package com.job.zsc;
 
+import com.job.zsc.dustexceptionanalysis.analysis.Exceeding;
+import com.job.zsc.dustexceptionanalysis.database.DustRepository;
+import com.job.zsc.mapper.dustexception.OnlineAnalysisMapper;
+import com.job.zsc.pojo.DustExceptionSetting;
+import com.job.zsc.pojo.DustSiteData;
 import org.junit.jupiter.api.Test;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
 
+import java.sql.SQLOutput;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.Locale;
+import java.util.*;
+
 @SpringBootTest
 class QianduanApplicationTests {
 
@@ -28,5 +35,31 @@
             //return df2.format(date1);
 
     }
+    @Autowired
+    private DustRepository dustRepository;
+    @Test
+    void readSiteData(){
+//        DustExceptionSetting dustExceptionSetting = DustExceptionSetting.getInstance();
+//        璇诲彇寮傚父鍒嗘瀽鍒ゅ畾鐨勯厤缃�
+        List<DustExceptionSetting> list= dustRepository.readExceptionSetting();
+        System.out.println("11111");
+
+        System.out.println(list.size());
+        System.out.println(list.get(0));
+
+
+//        List<DustSiteData> dustData = dustRepository.getDustData("2023-10-01 00:00:00","2023-10-01 01:00:00");
+////      System.out.println(dustData.get(0).getMnCode());
+//        int a  = Exceeding.main(dustData);
+//        System.out.println(a);
+
+
+    }
+
+
+//    @Test
+//    void exceeding(){
+//
+//    }
 
 }

--
Gitblit v1.9.3