src/main/java/com/yssh/entity/Qxsh.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/yssh/mapper/QxshMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/yssh/service/SuYuanService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/yssh/service/WarningAnalyseService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/mapper/QxshMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/yssh/entity/Qxsh.java
@@ -30,7 +30,11 @@ @ApiModelProperty(value = "时间") private String time; @ApiModelProperty(value = "是否存在溯源") private Integer isSuYuan; public Qxsh() { this.isSuYuan = 0; } public Integer getId() { @@ -80,4 +84,12 @@ public void setTime(String time) { this.time = time; } public Integer getIsSuYuan() { return isSuYuan; } public void setIsSuYuan(Integer isSuYuan) { this.isSuYuan = isSuYuan; } } src/main/java/com/yssh/mapper/QxshMapper.java
@@ -34,6 +34,8 @@ public List<Map<String, Object>> count7DayForAlarm(@Param("start") Integer start, @Param("end") Integer end); public Integer hasSuYuan(@Param("suYuanId") String suYuanId, @Param("createTime") String createTime); public List<Qxsh> select3Hours(@Param("start") Integer start, @Param("end") Integer end); public Qxsh selectByTimeAndName(@Param("time") Integer time, @Param("name") String name); src/main/java/com/yssh/service/SuYuanService.java
@@ -47,6 +47,8 @@ @Resource private LocationService locService; private static HashMap<String, String> sites = new HashMap<>(); //@Transactional @Async("threadPoolTaskExecutor") public void insertSuYuanDatasAsync(List<SuYuan> lists, String time) throws Exception { @@ -321,9 +323,20 @@ } public String selectSuYuanIdByName(String name) { MonitorPointPosition mpp = commonService.select3dCheckPointByName(name); if (null == mpp) return null; if (sites.containsKey(name)) { return sites.get(name); } return mpp.getId().substring(0, mpp.getId().lastIndexOf("_") + 1) + "0"; MonitorPointPosition mpp = commonService.select3dCheckPointByName(name); if (null == mpp) { return null; } String suYuanId = mpp.getId().substring(0, mpp.getId().lastIndexOf("_") + 1) + "0"; if (!sites.containsKey(name)) { sites.put(name, suYuanId); } return suYuanId; } } 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); } } src/main/resources/mapper/QxshMapper.xml
@@ -91,6 +91,10 @@ select createTime, count(*) "num" from rs group by createTime order by createTime; </select> <select id="hasSuYuan" resultType="java.lang.Integer"> select count(*) from suyuan_46 where su_yuan_id=#{suYuanId} and create_time=#{createTime}; </select> <select id="select3Hours" resultType="com.yssh.entity.Qxsh"> select id, name, lon, lat, format(value, 2) "value", time from yssh_qxsh