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