From a9f99d3f074472e1e16ec6109e5d819ca8dcf4d0 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期二, 31 十月 2023 15:51:15 +0800
Subject: [PATCH] 添加判断是否含有污染源的接口

---
 src/main/java/com/yssh/service/WarningAnalyseService.java |   63 ++++++++++++++++++++++++++-----
 1 files changed, 53 insertions(+), 10 deletions(-)

diff --git a/src/main/java/com/yssh/service/WarningAnalyseService.java b/src/main/java/com/yssh/service/WarningAnalyseService.java
index 5c524c1..9ff78a9 100644
--- a/src/main/java/com/yssh/service/WarningAnalyseService.java
+++ b/src/main/java/com/yssh/service/WarningAnalyseService.java
@@ -1,6 +1,5 @@
 package com.yssh.service;
 
-import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.concurrent.CountDownLatch;
 
@@ -26,25 +25,28 @@
     protected final Logger logger = LoggerFactory.getLogger(this.getClass());
 
     @Resource
-    private WarningDetailMapper warningDetailMapper;
+    WarningDetailMapper warningDetailMapper;
 
     @Resource
-    private CommonService commonService;
+    CommonService commonService;
 
     @Resource
-    private SuYuanMapper suYuanMapper;
+    SuYuanMapper suYuanMapper;
 
     @Resource
-    private DictRecordMapper dictRecordMapper;
+    DictRecordMapper dictRecordMapper;
 
     @Resource
-    private AsyncService asyncService;
+    AsyncService asyncService;
 
     @Resource
-    private QxshMapper qxshMapper;
+    QxshMapper qxshMapper;
 
     @Resource
-    private VocValsService vocValsService;
+    VocValsService vocValsService;
+
+    @Resource
+    SuYuanService suYuanService;
 
     private static HashMap<String, String> filterMap = new HashMap<>();
 
@@ -63,14 +65,18 @@
      * 鑾峰彇瀹炴椂鎶ヨ
      */
     public List<Qxsh> getRunTimeAlarmAnalyse(Integer start, Integer end) {
-        return qxshMapper.selectAlarmByBeginAndEnd(start, end);
+        List<Qxsh> list = qxshMapper.selectAlarmByBeginAndEnd(start, end);
+
+        return copeHasSuYuan(list);
     }
 
     /**
      * 鑾峰彇瀹炴椂棰勮
      */
     public List<Qxsh> getRunTimeWarningAnalyse(Integer start, Integer end) {
-        return qxshMapper.selectWarnByBeginAndEnd(start, end);
+        List<Qxsh> list = qxshMapper.selectWarnByBeginAndEnd(start, end);
+
+        return copeHasSuYuan(list);
     }
 
     /**
@@ -317,4 +323,41 @@
 
         return result;
     }
+
+    /**
+     * 澶勭悊鏄惁鍚湁婧簮淇℃伅
+     */
+    private List<Qxsh> copeHasSuYuan(List<Qxsh> list) {
+        if (null == list || list.isEmpty()) {
+            return null;
+        }
+
+        Map<String, Integer> tabs = new HashMap<>();
+        for (Qxsh qxsh : list) {
+            String tab = "su_yuan_" + qxsh.getTime();
+            if (!tabs.containsKey(tab)) {
+                tabs.put(tab, suYuanMapper.isTableExists(tab));
+            }
+
+            int rows = tabs.get(tab);
+            if (0 == rows) {
+                continue;
+            }
+
+            int isSuYuan = hasSuYuan(qxsh);
+            qxsh.setIsSuYuan(isSuYuan);
+        }
+
+        return list;
+    }
+
+    /**
+     * 鏌ヨ婧簮
+     */
+    private Integer hasSuYuan(Qxsh qxsh) {
+        String suYuanId = suYuanService.selectSuYuanIdByName(qxsh.getName());
+        String createTime = qxsh.getTime().substring(0, 4) + "-" + qxsh.getTime().substring(4, 6) + "-" + qxsh.getTime().substring(6, 8) + " " + qxsh.getTime().substring(8, 10) + ":00:00";
+
+        return qxshMapper.hasSuYuan(suYuanId, createTime);
+    }
 }

--
Gitblit v1.9.3